More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 1,938 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Safe Transfer Fr... | 21193747 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193746 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193744 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193743 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193743 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193741 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193737 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193734 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193734 | 115 days ago | IN | 0 ETH | 0.0017214 | ||||
Safe Transfer Fr... | 21193734 | 115 days ago | IN | 0 ETH | 0.0012768 | ||||
Safe Transfer Fr... | 21193707 | 115 days ago | IN | 0 ETH | 0.0018444 | ||||
Set Approval For... | 19952094 | 289 days ago | IN | 0 ETH | 0.00014767 | ||||
Set Approval For... | 19067137 | 413 days ago | IN | 0 ETH | 0.00043534 | ||||
Set Approval For... | 18208312 | 533 days ago | IN | 0 ETH | 0.00032958 | ||||
Set Approval For... | 16878320 | 720 days ago | IN | 0 ETH | 0.00084492 | ||||
Set Approval For... | 16670493 | 749 days ago | IN | 0 ETH | 0.00119737 | ||||
Safe Batch Trans... | 16505460 | 772 days ago | IN | 0 ETH | 0.00075404 | ||||
Wrap | 16505456 | 772 days ago | IN | 0 ETH | 0.00194127 | ||||
Safe Batch Trans... | 16505438 | 772 days ago | IN | 0 ETH | 0.00105045 | ||||
Wrap | 16505433 | 772 days ago | IN | 0 ETH | 0.00161169 | ||||
Set Approval For... | 15869307 | 861 days ago | IN | 0 ETH | 0.00115199 | ||||
Set Approval For... | 15784341 | 873 days ago | IN | 0 ETH | 0.00085786 | ||||
Set Approval For... | 15591970 | 900 days ago | IN | 0 ETH | 0.00087935 | ||||
Set Approval For... | 15577948 | 902 days ago | IN | 0 ETH | 0.00034922 | ||||
Set Approval For... | 15555000 | 905 days ago | IN | 0 ETH | 0.00035277 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
- | 14739939 | 1037 days ago | 0.005 ETH | ||||
- | 14739939 | 1037 days ago | 0.005 ETH | ||||
- | 14190798 | 1123 days ago | 0.05 ETH | ||||
- | 14190798 | 1123 days ago | 0.05 ETH | ||||
- | 14190798 | 1123 days ago | 0.05 ETH | ||||
- | 14190798 | 1123 days ago | 0.05 ETH | ||||
- | 14190798 | 1123 days ago | 0.05 ETH | ||||
- | 14190798 | 1123 days ago | 0.05 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190795 | 1123 days ago | 0.005 ETH | ||||
- | 14190787 | 1123 days ago | 0.005 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DigitalArtCollectibleERC1155Wrapper
Compiler Version
v0.5.0+commit.1d4f565a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526pragma solidity ^0.5.0;import "./AbstractWrapper.sol";contract DigitalArtCollectibleERC1155Wrapper is AbstractWrapper {function initialize() internal {create(1, 1, "ipfs://QmWAP5TQokmAXWw7mYFapCdDa9piYZE2kVJiqP53NqoQD2");create(4, 50, "ipfs://Qmf3UT9mmzPZwgf3cSQDEa7ZBji8ntZskrLDBEN1gVscpp");create(6, 10, "ipfs://QmToz4QuznqSFkb9h4K9soKJ7aMsr9nREnFmYqLCSe3RdH");create(7, 100, "ipfs://QmRFtHmyQnmXJ75Zxcq9Jb6XPgFyVK9iNdJWwepYx9Eire");create(8, 10, "ipfs://QmcbfX6GYWTXYw9y6GEWwiuco4cXDZJTnfK88SFuXzfurk");create(9, 100, "ipfs://QmRWB53RU2YkRDpytq4wrDf7AVvwD65vLKQxjUeAswHU66");create(10, 100, "ipfs://QmTKR3GjmRqxWaw6QJph7pRnrnfYf23WSMjfAGbeDvt9bA");create(11, 100, "ipfs://QmVddaQPEX7kREHNq7q7yEBxWcf5WoDHKqiCb7cLvtNZrg");create(12, 50, "ipfs://QmbaR52MFHjN2hQi9uJGoYX8GNhtLQPPuokBPwJ4ok32W5");create(13, 50, "ipfs://QmTsy7cSX7UijWndeEsqZb1VKzecyKbosqYrHuEu3Apevh");create(14, 100, "ipfs://QmZg5DNNBV1wZ8jX5ZMXPLguBxDMQt5DUpyvwVwNiEcR7G");create(15, 200, "ipfs://QmUMXZTDLQcsB222MYsSSt8TncANDkamnNwhUF7pD6QLCk");create(16, 50, "ipfs://QmehKVW9PueWFaaaxZ2rHmVJPEKfyjGVCZMgiFYxwVJZAv");create(17, 100, "ipfs://QmUH2Mf5UdRfL1UeRnJmBNUX1T5L3qGSP7vD5apsu4cp9i");create(18, 200, "ipfs://QmULb4tuKQHXTro5N9U3jVxxNiLdoGYyippzwacExbTDkW");create(19, 50, "ipfs://QmYU8WttFNtNmncbxwfcrgay6y25NPNU86PDTWHth4Y7Bs");create(20, 50, "ipfs://QmW6vr9cmAakVQWxaojo6inFub7QgSGBfBS18fZRNNFmpX");create(21, 100, "ipfs://QmQ537xkrPNr9wVVF1Lh9Wbf4rZmBQQzxTpCa3tjjBwj9N");create(22, 200, "ipfs://QmcXtodSRshYVih4VPiHRogg4ysGEwTQEuegx4S9eqStgM");
1234567891011121314151617181920212223242526pragma solidity ^0.5.0;import "./ERC1155.sol";import "./IDigitalArtCollectible.sol";import "./IProxyRegistry.sol";import "./SafeMath.sol";import "./Address.sol";contract AbstractWrapper is ERC1155 {using SafeMath for uint256;using Address for address;IDigitalArtCollectible public _DigitalArtCollectibleContract;// OpenSea's Proxy RegistryIProxyRegistry public proxyRegistry;// Standard attributesstring public name;string public symbol;// starts as allowedbool isExecutionAllowed = true;address private _owner;
1234567891011121314151617181920212223242526pragma solidity ^0.5.0;import "./SafeMath.sol";import "./Address.sol";import "./Common.sol";import "./IERC1155TokenReceiver.sol";import "./IERC1155.sol";// A sample implementation of core ERC1155 function.contract ERC1155 is IERC1155, ERC165, CommonConstants{using SafeMath for uint256;using Address for address;// id => (owner => balance)mapping (uint256 => mapping(address => uint256)) internal balances;// owner => (operator => approved)mapping (address => mapping(address => bool)) internal operatorApproval;/////////////////////////////////////////// ERC165 ///////////////////////////////////////////////*bytes4(keccak256('supportsInterface(bytes4)'));*/bytes4 constant private INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7;
123456789pragma solidity ^0.5.0;// DigitalArtCollectible is not quite ERC-20 compliantinterface IDigitalArtCollectible {function transfer(address to, uint drawingId, uint printIndex) external returns (bool success);function DrawingPrintToAddress(uint print) external returns (address _address);function buyCollectible(uint drawingId, uint printIndex) external payable;function alt_buyCollectible(uint drawingId, uint printIndex) external payable;}
12345pragma solidity ^0.5.0;interface IProxyRegistry {function proxies(address) external view returns (address);}
1234567891011121314151617181920212223242526pragma solidity ^0.5.0;/*** @title SafeMath* @dev Math operations with safety checks that throw on error*/library SafeMath {/*** @dev Multiplies two numbers, throws on overflow.*/function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {// Gas optimization: this is cheaper than asserting 'a' not being zero, but the// benefit is lost if 'b' is also tested.// See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522if (a == 0) {return 0;}c = a * b;assert(c / a == b);return c;}/**
1234567891011121314151617181920212223242526pragma solidity ^0.5.0;/*** Utility library of inline functions on addresses*/library Address {/*** Returns whether the target address is a contract* @dev This function will return false if invoked during the constructor of a contract,* as the code is not actually created until after the constructor finishes.* @param account address of the account to check* @return whether the target address is a contract*/function isContract(address account) internal view returns (bool) {uint256 size;// XXX Currently there is no better way to check if there is a contract in an address// than to check the size of the code at that address.// See https://ethereum.stackexchange.com/a/14016/36603// for more details about how this works.// TODO Check this again before the Serenity release, because all addresses will be// contracts then.// solium-disable-next-line security/no-inline-assemblyassembly { size := extcodesize(account) }return size > 0;
12345678910pragma solidity ^0.5.0;/**Note: Simple contract to use as base for const vals*/contract CommonConstants {bytes4 constant internal ERC1155_ACCEPTED = 0xf23a6e61; // bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))bytes4 constant internal ERC1155_BATCH_ACCEPTED = 0xbc197c81; // bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))}
123456789101112131415161718192021222324pragma solidity ^0.5.0;/**Note: The ERC-165 identifier for this interface is 0x4e2312e0.*/interface ERC1155TokenReceiver {/**@notice Handle the receipt of a single ERC1155 token type.@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after thebalance has been updated.This function MUST return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` (i.e. 0xf23a6e61) if it accepts thetransfer.This function MUST revert if it rejects the transfer.Return of any other value than the prescribed keccak256 generated value MUST result in the transaction being reverted by the caller.@param _operator The address which initiated the transfer (i.e. msg.sender)@param _from The address which previously owned the token@param _id The ID of the token being transferred@param _value The amount of tokens being transferred@param _data Additional data with no specified format@return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`*/function onERC1155Received(address _operator, address _from, uint256 _id, uint256 _value, bytes calldata _data) external returns(bytes4);/**@notice Handle the receipt of multiple ERC1155 token types.@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom`after the balances have been updated.
123456789101112131415161718192021222324pragma solidity ^0.5.0;import "./ERC165.sol";/**@title ERC-1155 Multi Token Standard@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1155.mdNote: The ERC-165 identifier for this interface is 0xd9b67a26.*/interface IERC1155 /* is ERC165 */ {/**@dev Either `TransferSingle` or `TransferBatch` MUST emit when tokens are transferred, including zero value transfers as well as minting orburning (see "Safe Transfer Rules" section of the standard).The `_operator` argument MUST be msg.sender.The `_from` argument MUST be the address of the holder whose balance is decreased.The `_to` argument MUST be the address of the recipient whose balance is increased.The `_id` argument MUST be the token type being transferred.The `_value` argument MUST be the number of tokens the holder balance is decreased by and match what the recipient balance is increased by.When minting/creating tokens, the `_from` argument MUST be set to `0x0` (i.e. zero address).When burning/destroying tokens, the `_to` argument MUST be set to `0x0` (i.e. zero address).*/event TransferSingle(address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _value);/**@dev Either `TransferSingle` or `TransferBatch` MUST emit when tokens are transferred, including zero value transfers as well as minting orburning (see "Safe Transfer Rules" section of the standard).
1234567891011121314151617181920pragma solidity ^0.5.0;/*** @title ERC165* @dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md*/interface ERC165 {/*** @notice Query if a contract implements an interface* @param _interfaceId The interface identifier, as specified in ERC-165* @dev Interface identification is specified in ERC-165. This function* uses less than 30,000 gas.*/function supportsInterface(bytes4 _interfaceId)externalviewreturns (bool);}
12345678910111213141516171819202122{"optimizer": {"enabled": false,"runs": 200},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"metadata": {"useLiteralContent": true},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_id","type":"uint256"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"state","type":"bool"}],"name":"flipSwitchTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"uri","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_ids","type":"uint256[]"},{"name":"_values","type":"uint256[]"},{"name":"_data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_newURI","type":"string"}],"name":"setCustomURI","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_DigitalArtCollectibleContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owners","type":"address[]"},{"name":"_ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"exists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"},{"name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxyRegistry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"metadatas","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"},{"name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_id","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_printIndexes","type":"uint256[]"}],"name":"unwrap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_printIndexes","type":"uint256[]"},{"name":"initialPrintPrice","type":"uint256"}],"name":"bulkPreBuyCollectible","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_printIndexes","type":"uint256[]"}],"name":"wrap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"wrappedPrints","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_proxyRegistryAddress","type":"address"},{"name":"digitalArtCollectibleAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_operator","type":"address"},{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_id","type":"uint256"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_operator","type":"address"},{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_ids","type":"uint256[]"},{"indexed":false,"name":"_values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_operator","type":"address"},{"indexed":false,"name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_value","type":"string"},{"indexed":true,"name":"_id","type":"uint256"}],"name":"URI","type":"event"}]
Contract Creation Code
60806040526001600660006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405160408062005e4a833981018060405260408110156200004e57600080fd5b810190808051906020019092919080519060200190929190505050818181600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600b81526020017f43727970746f6361726473000000000000000000000000000000000000000000815250600490805190602001906200017b929190620022d5565b506040805190810160405280600381526020017f57c689000000000000000000000000000000000000000000000000000000000081525060059080519060200190620001c9929190620022d5565b50620001e3620001ed640100000000026401000000009004565b5050505062002384565b62000266600180606060405190810160405280603581526020017f697066733a2f2f516d5741503554516f6b6d41585777376d594661704364446181526020017f397069595a45326b564a69715035334e716f514432000000000000000000000081525062002162640100000000026401000000009004565b620002e060046032606060405190810160405280603581526020017f697066733a2f2f516d66335554396d6d7a505a77676633635351444561375a4281526020017f6a69386e745a736b724c4442454e31675673637070000000000000000000000081525062002162640100000000026401000000009004565b6200035a6006600a606060405190810160405280603581526020017f697066733a2f2f516d546f7a3451757a6e7153466b623968344b39736f4b4a3781526020017f614d7372396e52456e466d59714c43536533526448000000000000000000000081525062002162640100000000026401000000009004565b620003d460076064606060405190810160405280603581526020017f697066733a2f2f516d524674486d79516e6d584a37355a786371394a6236585081526020017f674679564b39694e644a5777657059783945697265000000000000000000000081525062002162640100000000026401000000009004565b6200044e6008600a606060405190810160405280603581526020017f697066733a2f2f516d636266583647595754585977397936474557776975636f81526020017f346358445a4a546e664b3838534675587a6675726b000000000000000000000081525062002162640100000000026401000000009004565b620004c860096064606060405190810160405280603581526020017f697066733a2f2f516d5257423533525532596b5244707974713477724466374181526020017f567677443635764c4b51786a556541737748553636000000000000000000000081525062002162640100000000026401000000009004565b62000542600a6064606060405190810160405280603581526020017f697066733a2f2f516d544b5233476a6d52717857617736514a70683770526e7281526020017f6e665966323357534d6a6641476265447674396241000000000000000000000081525062002162640100000000026401000000009004565b620005bc600b6064606060405190810160405280603581526020017f697066733a2f2f516d5664646151504558376b5245484e71377137794542785781526020017f636635576f44484b7169436237634c76744e5a7267000000000000000000000081525062002162640100000000026401000000009004565b62000636600c6032606060405190810160405280603581526020017f697066733a2f2f516d62615235324d46486a4e3268516939754a476f5958384781526020017f4e68744c515050756f6b4250774a346f6b33325735000000000000000000000081525062002162640100000000026401000000009004565b620006b0600d6032606060405190810160405280603581526020017f697066733a2f2f516d547379376353583755696a576e64654573715a6231564b81526020017f7a6563794b626f7371597248754575334170657668000000000000000000000081525062002162640100000000026401000000009004565b6200072a600e6064606060405190810160405280603581526020017f697066733a2f2f516d5a6735444e4e425631775a386a58355a4d58504c67754281526020017f78444d51743544557079767756774e694563523747000000000000000000000081525062002162640100000000026401000000009004565b620007a4600f60c8606060405190810160405280603581526020017f697066733a2f2f516d554d585a54444c516373423232324d597353537438546e81526020017f63414e446b616d6e4e7768554637704436514c436b000000000000000000000081525062002162640100000000026401000000009004565b6200081e60106032606060405190810160405280603581526020017f697066733a2f2f516d65684b5657395075655746616161785a3272486d564a5081526020017f454b66796a4756435a4d676946597877564a5a4176000000000000000000000081525062002162640100000000026401000000009004565b6200089860116064606060405190810160405280603581526020017f697066733a2f2f516d5548324d6635556452664c315565526e4a6d424e55583181526020017f54354c337147535037764435617073753463703969000000000000000000000081525062002162640100000000026401000000009004565b62000912601260c8606060405190810160405280603581526020017f697066733a2f2f516d554c623474754b51485854726f354e3955336a5678784e81526020017f694c646f4759796970707a77616345786254446b57000000000000000000000081525062002162640100000000026401000000009004565b6200098c60136032606060405190810160405280603581526020017f697066733a2f2f516d595538577474464e744e6d6e636278776663726761793681526020017f7932354e504e553836504454574874683459374273000000000000000000000081525062002162640100000000026401000000009004565b62000a0660146032606060405190810160405280603581526020017f697066733a2f2f516d5736767239636d41616b56515778616f6a6f36696e467581526020017f623751675347426642533138665a524e4e466d7058000000000000000000000081525062002162640100000000026401000000009004565b62000a8060156064606060405190810160405280603581526020017f697066733a2f2f516d51353337786b72504e723977565646314c68395762663481526020017f725a6d4251517a785470436133746a6a42776a394e000000000000000000000081525062002162640100000000026401000000009004565b62000afa601660c8606060405190810160405280603581526020017f697066733a2f2f516d6358746f6453527368595669683456506948526f67673481526020017f79734745775451457565677834533965715374674d000000000000000000000081525062002162640100000000026401000000009004565b62000b74601760c8606060405190810160405280603581526020017f697066733a2f2f516d504c5674504b424338774146666531754c753131796d3681526020017f7746474b45525163346262336f646a6a3459684143000000000000000000000081525062002162640100000000026401000000009004565b62000bee601860c8606060405190810160405280603581526020017f697066733a2f2f516d50735a79577531477343656d344152554761355168515981526020017f66543343584e646b48686d565a434554316b464458000000000000000000000081525062002162640100000000026401000000009004565b62000c68601960c8606060405190810160405280603581526020017f697066733a2f2f516d66584a7452376243637132387663594371465a5838505881526020017f7462684b366e784c527167673231453971614d534d000000000000000000000081525062002162640100000000026401000000009004565b62000ce2601a6064606060405190810160405280603581526020017f697066733a2f2f516d5159483279797152474343746b336f4b3372355756436481526020017f4a46324666374439645745375a465a796f326b5859000000000000000000000081525062002162640100000000026401000000009004565b62000d5c601b60c8606060405190810160405280603581526020017f697066733a2f2f516d56766166667037446f394c68457650476b6d534d35423181526020017f74456e4d333459724369515477664474454142636b000000000000000000000081525062002162640100000000026401000000009004565b62000dd6601c6064606060405190810160405280603581526020017f697066733a2f2f516d50423870667767706e62485269557a334a77464e70766d81526020017f4b736e42714b68746145715767674e32465346646d000000000000000000000081525062002162640100000000026401000000009004565b62000e50601d60c8606060405190810160405280603581526020017f697066733a2f2f516d657834636d44545165634c63586e6b564147633752484481526020017f6a675162614463796474776d77547947594e743165000000000000000000000081525062002162640100000000026401000000009004565b62000eca601e600a606060405190810160405280603581526020017f697066733a2f2f516d63434d616b7147396b42414876466b4355554e5672696981526020017f58466e456834696262546a64336b645a3868715a6b000000000000000000000081525062002162640100000000026401000000009004565b62000f44601f60c8606060405190810160405280603581526020017f697066733a2f2f516d665865396e5175724132754351506a6d436d4a6b34645181526020017f6a4c4b326966434152566e736b4e656a4d64373674000000000000000000000081525062002162640100000000026401000000009004565b62000fbe6020600a606060405190810160405280603581526020017f697066733a2f2f516d576462696638387a7157584c664d503972697a3163424281526020017f5559755556485331437267644b5a746e795269546a000000000000000000000081525062002162640100000000026401000000009004565b62001038602160c8606060405190810160405280603581526020017f697066733a2f2f516d6473434c75544e396f6e6745446d6a437572733938395081526020017f77595050516f6650486a55703555614a4d69737658000000000000000000000081525062002162640100000000026401000000009004565b620010b260226032606060405190810160405280603581526020017f697066733a2f2f516d646b485132617242567361724c78696e6d344a4734746b81526020017f3342317a6646546e57506d696e54673432475a786d000000000000000000000081525062002162640100000000026401000000009004565b6200112c602360c8606060405190810160405280603581526020017f697066733a2f2f516d5832764751514c5571524d75484a4d48746650647a534181526020017f6d633252585457656e35654c485543517864784136000000000000000000000081525062002162640100000000026401000000009004565b620011a660246032606060405190810160405280603581526020017f697066733a2f2f516d64766a6e395743554b4d67596379324e4869334c53514a81526020017f6f664c7657336d5a466a647672314e354159635953000000000000000000000081525062002162640100000000026401000000009004565b62001220602560c8606060405190810160405280603581526020017f697066733a2f2f516d53564b7066366679565a5a3250564a6b43526e4c61643781526020017f42666646315868367a456250356b716b594132534b000000000000000000000081525062002162640100000000026401000000009004565b6200129a602660c8606060405190810160405280603581526020017f697066733a2f2f516d64514e67704e664a583539777a4348533155667853564d81526020017f4a59345945574c6b667178626e5467413853437547000000000000000000000081525062002162640100000000026401000000009004565b62001314602760c8606060405190810160405280603581526020017f697066733a2f2f516d527378546d3242436f6672565135786e5776636d646f4481526020017f466b7663487062534a393358767239614441657871000000000000000000000081525062002162640100000000026401000000009004565b6200138e60286064606060405190810160405280603581526020017f697066733a2f2f516d5933397661507a56556e643255544a78383951504a586a81526020017f424d5758426837356f54766e7264665956576b4852000000000000000000000081525062002162640100000000026401000000009004565b6200140860296064606060405190810160405280603581526020017f697066733a2f2f516d5976346f344c346b3147545332543269716a46394a4b5281526020017f5866366f44386b784e3459444769415a46674e5046000000000000000000000081525062002162640100000000026401000000009004565b62001482602a60c8606060405190810160405280603581526020017f697066733a2f2f516d50686237316b4e676d38526e723963594553506136386d81526020017f526e386457504e526d33555a676a67673934596d53000000000000000000000081525062002162640100000000026401000000009004565b620014fc602b60c8606060405190810160405280603581526020017f697066733a2f2f516d536f45567164663852344c4c41614447566d753739593581526020017f4e31577a61755638746976344438505141527a3961000000000000000000000081525062002162640100000000026401000000009004565b62001576602c6064606060405190810160405280603581526020017f697066733a2f2f516d626a374d4b6a5a78397666754c54687342575a73424a6681526020017f666b436863464b684758684c703269437455327538000000000000000000000081525062002162640100000000026401000000009004565b620015f0602d6064606060405190810160405280603581526020017f697066733a2f2f516d654e55444d36617663524d5a596946714542544455334681526020017f7a396269797071745469446e5a56366a5437434469000000000000000000000081525062002162640100000000026401000000009004565b6200166a602e6064606060405190810160405280603581526020017f697066733a2f2f516d586d6f326f61514b69567833725342357870486a4b713981526020017f5859426f3669593253715566587237614552765279000000000000000000000081525062002162640100000000026401000000009004565b620016e4602f60c8606060405190810160405280603581526020017f697066733a2f2f516d536d324332735a656f4e64765163504b6161564867724681526020017f3138734139724c5a4a57647a45567734337043534b000000000000000000000081525062002162640100000000026401000000009004565b6200175e603060c8606060405190810160405280603581526020017f697066733a2f2f516d5868326f336f3171655859557a7a595158554b556a757681526020017f514a755567474b773877524d39544b437643716952000000000000000000000081525062002162640100000000026401000000009004565b620017d8603160c8606060405190810160405280603581526020017f697066733a2f2f516d505032684b4356526f6f355839746a5a6e75416f79765081526020017f724b7a6b6a687842727233543561776d62424d4a54000000000000000000000081525062002162640100000000026401000000009004565b62001852603260c8606060405190810160405280603581526020017f697066733a2f2f516d5a4a61336e6f734c48346373444873353737425234665081526020017f4e54513862657562736b737a6e73797247654c764a000000000000000000000081525062002162640100000000026401000000009004565b620018cc603360c8606060405190810160405280603581526020017f697066733a2f2f516d5142685762625a6a625a37776177426e56695a674b346a81526020017f367870613769724d587359396d446e72444c775970000000000000000000000081525062002162640100000000026401000000009004565b62001946603460c8606060405190810160405280603581526020017f697066733a2f2f516d51645841324d7775686f346d716a6e375266765464613781526020017f424b586f39413955695a6976725a6d5a4e4d747667000000000000000000000081525062002162640100000000026401000000009004565b620019c0603560c8606060405190810160405280603581526020017f697066733a2f2f516d5443657173376f673452664a65666b37554d776d42315781526020017f6d3976576f715856424a314c775a7934344543566d000000000000000000000081525062002162640100000000026401000000009004565b62001a3a603660c8606060405190810160405280603581526020017f697066733a2f2f516d5151617243616d673644546265676675546936476d636181526020017f4a786a336f7453317870356b6b376d65796d577758000000000000000000000081525062002162640100000000026401000000009004565b62001ab4603760c8606060405190810160405280603581526020017f697066733a2f2f516d655a395a6a694c5241343679674e43797a4d6e694d344c81526020017f5646354b474e4e4d6a317a4c334538576974366a35000000000000000000000081525062002162640100000000026401000000009004565b62001b2e60386064606060405190810160405280603581526020017f697066733a2f2f516d595366514a424a7a41664555436a66696a75733637524181526020017f6478617a59354b694c745358595659374271795852000000000000000000000081525062002162640100000000026401000000009004565b62001ba8603960c8606060405190810160405280603581526020017f697066733a2f2f516d50417a643337416775347873704358554b65756572547381526020017f544856724e484b37514e3248785431723575504e47000000000000000000000081525062002162640100000000026401000000009004565b62001c22603a60c8606060405190810160405280603581526020017f697066733a2f2f516d586b724d4839423565686b396674664b7153575a61513181526020017f33527a6556725132716b35567a65557950734e3553000000000000000000000081525062002162640100000000026401000000009004565b62001c9c603d6064606060405190810160405280603581526020017f697066733a2f2f516d53723368637967364442636e63793835704e36625a665481526020017f5374455143717263347073774174634d4a554b3742000000000000000000000081525062002162640100000000026401000000009004565b62001d16603e60c8606060405190810160405280603581526020017f697066733a2f2f516d634250564b70455377534e4c6862516e785176316f454281526020017f715234366a5a72554e6e573563624c344472374c43000000000000000000000081525062002162640100000000026401000000009004565b62001d90603f60c8606060405190810160405280603581526020017f697066733a2f2f516d5a795453334e6d4739374c36675032446f72475470363781526020017f427733475855474d444d7251665059643675443242000000000000000000000081525062002162640100000000026401000000009004565b62001e0a604060c8606060405190810160405280603581526020017f697066733a2f2f516d633373475031384779384a376f68374d6a4434596d386581526020017f4a44617076346d6b316e4d316e76337a3279687576000000000000000000000081525062002162640100000000026401000000009004565b62001e84604160c8606060405190810160405280603581526020017f697066733a2f2f516d65645a6d744367356335683470445a7a4d32366b45357681526020017f516d55703578554b45424162476868556876637848000000000000000000000081525062002162640100000000026401000000009004565b62001efe60426032606060405190810160405280603581526020017f697066733a2f2f516d5670715a4331614b594e6850654a617035447a3355644a81526020017f567166386b52586b31467047565445337a61316563000000000000000000000081525062002162640100000000026401000000009004565b62001f78604360c8606060405190810160405280603581526020017f697066733a2f2f516d5a3578507374424737504d4c7146656431784c564a4a5781526020017f447577415033593531326d536a704d34764e57396a000000000000000000000081525062002162640100000000026401000000009004565b62001ff260446064606060405190810160405280603581526020017f697066733a2f2f516d58735556375145597858586267596a5864716d4d38647581526020017f596731614a7366324e72376662626a787051414b50000000000000000000000081525062002162640100000000026401000000009004565b6200206c6045600a606060405190810160405280603581526020017f697066733a2f2f516d5562726e62337a5853646335356d424c525359424d694281526020017f707647314d4e6f395962436e6f32526342336f6966000000000000000000000081525062002162640100000000026401000000009004565b620020e660466032606060405190810160405280603581526020017f697066733a2f2f516d635175663466375179786441727470424e656e616b797981526020017f314a51464750664d474277626b3946427441416377000000000000000000000081525062002162640100000000026401000000009004565b6200216060476064606060405190810160405280603581526020017f697066733a2f2f516d534371437a777633366370736e6b544459714c377a537881526020017f6b446642514c79764d317474614663435557737a52000000000000000000000081525062002162640100000000026401000000009004565b565b60006008600085815260200190815260200160002054141515620021ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f696420616c72656164792065786973747300000000000000000000000000000081525060200191505060405180910390fd5b816008600085815260200190815260200160002081905550806007600085815260200190815260200160002090805190602001906200222f929190620022d5565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b826040518080602001828103825283818151815260200191508051906020019080838360005b838110156200229557808201518184015260208101905062002278565b50505050905090810190601f168015620022c35780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200231857805160ff191683800117855562002349565b8280016001018555821562002349579182015b82811115620023485782518255916020019190600101906200232b565b5b5090506200235891906200235c565b5090565b6200238191905b808211156200237d57600081600090555060010162002363565b5090565b90565b613ab680620023946000396000f3fe608060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fdd58e1461014d57806301ffc9a7146101bc57806306fdde031461022e57806307156854146102be5780630e89341c146102fb5780632693ebf2146103af5780632eb2c2d6146103fe5780633adf80b41461056e57806341e9fb5d146106405780634e1273f4146106975780634f558e79146107c75780638da5cb5b1461081a5780638f32d59b1461087157806395d89b41146108a0578063a22cb46514610930578063b50cbd9f1461098d578063bd85b039146109e4578063e73496cd14610a33578063e985e9c514610ae7578063f242432a14610b70578063f2fde38b14610c4a578063f5467d8f14610c9b578063f7bca79c14610d2b578063fc78fa8514610db8578063fe34841714610e48575b600080fd5b34801561015957600080fd5b506101a66004803603604081101561017057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e9b565b6040518082815260200191505060405180910390f35b3480156101c857600080fd5b50610214600480360360208110156101df57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610ef5565b604051808215151515815260200191505060405180910390f35b34801561023a57600080fd5b50610243610fde565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610283578082015181840152602081019050610268565b50505050905090810190601f1680156102b05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ca57600080fd5b506102f9600480360360208110156102e157600080fd5b8101908080351515906020019092919050505061107c565b005b34801561030757600080fd5b506103346004803603602081101561031e57600080fd5b8101908080359060200190929190505050611115565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610374578082015181840152602081019050610359565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103bb57600080fd5b506103e8600480360360208110156103d257600080fd5b81019080803590602001909291905050506111ca565b6040518082815260200191505060405180910390f35b34801561040a57600080fd5b5061056c600480360360a081101561042157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561047e57600080fd5b82018360208201111561049057600080fd5b803590602001918460208302840111640100000000831117156104b257600080fd5b9091929391929390803590602001906401000000008111156104d357600080fd5b8201836020820111156104e557600080fd5b8035906020019184602083028401116401000000008311171561050757600080fd5b90919293919293908035906020019064010000000081111561052857600080fd5b82018360208201111561053a57600080fd5b8035906020019184600183028401116401000000008311171561055c57600080fd5b90919293919293905050506111e2565b005b34801561057a57600080fd5b5061063e6004803603604081101561059157600080fd5b8101908080359060200190929190803590602001906401000000008111156105b857600080fd5b8201836020820111156105ca57600080fd5b803590602001918460018302840111640100000000831117156105ec57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611851565b005b34801561064c57600080fd5b50610655611996565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a357600080fd5b50610770600480360360408110156106ba57600080fd5b81019080803590602001906401000000008111156106d757600080fd5b8201836020820111156106e957600080fd5b8035906020019184602083028401116401000000008311171561070b57600080fd5b90919293919293908035906020019064010000000081111561072c57600080fd5b82018360208201111561073e57600080fd5b8035906020019184602083028401116401000000008311171561076057600080fd5b90919293919293905050506119bc565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107b3578082015181840152602081019050610798565b505050509050019250505060405180910390f35b3480156107d357600080fd5b50610800600480360360208110156107ea57600080fd5b8101908080359060200190929190505050611adc565b604051808215151515815260200191505060405180910390f35b34801561082657600080fd5b5061082f611afc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087d57600080fd5b50610886611b26565b604051808215151515815260200191505060405180910390f35b3480156108ac57600080fd5b506108b5611b7e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108f55780820151818401526020810190506108da565b50505050905090810190601f1680156109225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561093c57600080fd5b5061098b6004803603604081101561095357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611c1c565b005b34801561099957600080fd5b506109a2611d1d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f057600080fd5b50610a1d60048036036020811015610a0757600080fd5b8101908080359060200190929190505050611d43565b6040518082815260200191505060405180910390f35b348015610a3f57600080fd5b50610a6c60048036036020811015610a5657600080fd5b8101908080359060200190929190505050611d60565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aac578082015181840152602081019050610a91565b50505050905090810190601f168015610ad95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610af357600080fd5b50610b5660048036036040811015610b0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e10565b604051808215151515815260200191505060405180910390f35b348015610b7c57600080fd5b50610c48600480360360a0811015610b9357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c0457600080fd5b820183602082011115610c1657600080fd5b80359060200191846001830284011164010000000083111715610c3857600080fd5b9091929391929390505050611f57565b005b348015610c5657600080fd5b50610c9960048036036020811015610c6d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123ca565b005b348015610ca757600080fd5b50610d2960048036036040811015610cbe57600080fd5b810190808035906020019092919080359060200190640100000000811115610ce557600080fd5b820183602082011115610cf757600080fd5b80359060200191846020830284011164010000000083111715610d1957600080fd5b9091929391929390505050612452565b005b610db660048036036060811015610d4157600080fd5b810190808035906020019092919080359060200190640100000000811115610d6857600080fd5b820183602082011115610d7a57600080fd5b80359060200191846020830284011164010000000083111715610d9c57600080fd5b909192939192939080359060200190929190505050612885565b005b348015610dc457600080fd5b50610e4660048036036040811015610ddb57600080fd5b810190808035906020019092919080359060200190640100000000811115610e0257600080fd5b820183602082011115610e1457600080fd5b80359060200191846020830284011164010000000083111715610e3657600080fd5b9091929391929390505050612cb3565b005b348015610e5457600080fd5b50610e8160048036036020811015610e6b57600080fd5b8101908080359060200190929190505050613253565b604051808215151515815260200191505060405180910390f35b600080600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610fc6575063d9b67a267c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610fd45760019050610fd9565b600090505b919050565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110745780601f1061104957610100808354040283529160200191611074565b820191906000526020600020905b81548152906001019060200180831161105757829003601f168201915b505050505081565b611084611b26565b15156110f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e6f74206f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548160ff02191690831515021790555050565b6060600760008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111be5780601f10611193576101008083540402835291602001916111be565b820191906000526020600020905b8154815290600101906020018083116111a157829003601f168201915b50505050509050919050565b60086020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141515156112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f64657374696e6174696f6e2061646472657373206d757374206265206e6f6e2d81526020017f7a65726f2e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8383905086869050141515611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f5f69647320616e64205f76616c756573206172726179206c656e677468206d7581526020017f7374206d617463682e000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161480611417575060011515600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156114b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4e656564206f70657261746f7220617070726f76616c20666f7220337264207081526020017f61727479207472616e73666572732e000000000000000000000000000000000081525060400191505060405180910390fd5b60008090505b8686905081101561166b57600087878381811015156114d257fe5b905060200201359050600086868481811015156114eb57fe5b9050602002013590506115568160008085815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327390919063ffffffff16565b60008084815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061160b60008084815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261328c90919063ffffffff16565b60008084815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050508060010190506114b7565b508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb898989896040518080602001806020018381038352878782818152602001925060200280828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a461176d8773ffffffffffffffffffffffffffffffffffffffff166132a8565b1561184757611846338989898980806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050888880806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506132bb565b5b5050505050505050565b611859611b26565b15156118cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e6f74206f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806007600084815260200190815260200160002090805190602001906118f49291906139e5565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561195857808201518184015260208101905061193d565b50505050905090810190601f1680156119855780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606082829050858590501415156119d257600080fd5b606085859050604051908082528060200260200182016040528015611a065781602001602082028038833980820191505090505b50905060008090505b86869050811015611acf576000808686848181101515611a2b57fe5b90506020020135815260200190815260200160002060008888848181101515611a5057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548282815181101515611ab657fe5b9060200190602002018181525050806001019050611a0f565b5080915050949350505050565b600080600860008481526020019081526020016000205414159050919050565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c145780601f10611be957610100808354040283529160200191611c14565b820191906000526020600020905b815481529060010190602001808311611bf757829003601f168201915b505050505081565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060086000838152602001908152602001600020549050919050565b60076020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e085780601f10611ddd57610100808354040283529160200191611e08565b820191906000526020600020905b815481529060010190602001808311611deb57829003601f168201915b505050505081565b60008173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4552791856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ee457600080fd5b505afa158015611ef8573d6000803e3d6000fd5b505050506040513d6020811015611f0e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415611f445760019050611f51565b611f4e83836135c9565b90505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611ffc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5f746f206d757374206265206e6f6e2d7a65726f2e000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614806120c3575060011515600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561215d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4e656564206f70657261746f7220617070726f76616c20666f7220337264207081526020017f61727479207472616e73666572732e000000000000000000000000000000000081525060400191505060405180910390fd5b6121bf8360008087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327390919063ffffffff16565b60008086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061227460008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461328c90919063ffffffff16565b60008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051808381526020018281526020019250505060405180910390a461236a8573ffffffffffffffffffffffffffffffffffffffff166132a8565b156123c2576123c1338787878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061365d565b5b505050505050565b6123d2611b26565b1515612446576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e6f74206f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61244f816138e9565b50565b600660009054906101000a900460ff16151561246d57600080fd5b60008282905090508060008086815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561253c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f696e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b60008090505b818110156127f9576000848483818110151561255a57fe5b9050602002013590506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095bcdb63389856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b15801561263257600080fd5b505af1158015612646573d6000803e3d6000fd5b505050506040513d602081101561265c57600080fd5b8101908080519060200190929190505050905080151561270a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f416e206572726f72206f636375726564207768696c65207472616e736665727281526020017f696e67000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60006009600084815260200190815260200160002060006101000a81548160ff02191690831515021790555061279960016000808a815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327390919063ffffffff16565b60008089815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050806001019050612542565b50600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628785604051808381526020018281526020019250505060405180910390a450505050565b600660009054906101000a900460ff1615156128a057600080fd5b6000339050600084849050905060008090505b81811015612be257600086868381811015156128cb57fe5b905060200201359050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a2550108868a846040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303818588803b15801561296d57600080fd5b505af1158015612981573d6000803e3d6000fd5b50505050503073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635dc774d7836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612a2e57600080fd5b505af1158015612a42573d6000803e3d6000fd5b505050506040513d6020811015612a5857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515612af4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416e206572726f72206f6363757265640000000000000000000000000000000081525060200191505060405180910390fd5b60016009600083815260200190815260200160002060006101000a81548160ff021916908315150217905550612b8360016000808b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461328c90919063ffffffff16565b6000808a815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508060010190506128b3565b503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628985604051808381526020018281526020019250505060405180910390a4612c878273ffffffffffffffffffffffffffffffffffffffff166132a8565b15612cab57612caa3333338985602060405190810160405280600081525061365d565b5b505050505050565b600660009054906101000a900460ff161515612cce57600080fd5b6000339050600083839050905060008090505b818110156131835760008585838181101515612cf957fe5b9050602002013590506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635dc774d7836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612d9557600080fd5b505af1158015612da9573d6000803e3d6000fd5b505050506040513d6020811015612dbf57600080fd5b810190808051906020019092919050505090503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515612e75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f446f6573206e6f74206f776e204552433230000000000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632767dd7d89846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050600060405180830381600087803b158015612f0e57600080fd5b505af1158015612f22573d6000803e3d6000fd5b505050503073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635dc774d7846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612fce57600080fd5b505af1158015612fe2573d6000803e3d6000fd5b505050506040513d6020811015612ff857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515613094576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416e206572726f72206f6363757265640000000000000000000000000000000081525060200191505060405180910390fd5b60016009600084815260200190815260200160002060006101000a81548160ff02191690831515021790555061312360016000808b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461328c90919063ffffffff16565b6000808a815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050806001019050612ce1565b503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628885604051808381526020018281526020019250505060405180910390a46132288273ffffffffffffffffffffffffffffffffffffffff166132a8565b1561324c5761324b3333338885602060405190810160405280600081525061365d565b5b5050505050565b60096020528060005260406000206000915054906101000a900460ff1681565b600082821115151561328157fe5b818303905092915050565b6000818301905082811015151561329f57fe5b80905092915050565b600080823b905060008111915050919050565b63bc197c817c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663bc197c8188888787876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156133f95780820151818401526020810190506133de565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561343b578082015181840152602081019050613420565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561347a57808201518184015260208101905061345f565b50505050905090810190601f1680156134a75780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1580156134cc57600080fd5b505af11580156134e0573d6000803e3d6000fd5b505050506040513d60208110156134f657600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415156135c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001807f636f6e74726163742072657475726e656420616e20756e6b6e6f776e2076616c81526020017f75652066726f6d206f6e4552433131353542617463685265636569766564000081525060400191505060405180910390fd5b505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b63f23a6e617c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663f23a6e6188888787876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561379c578082015181840152602081019050613781565b50505050905090810190601f1680156137c95780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b1580156137ec57600080fd5b505af1158015613800573d6000803e3d6000fd5b505050506040513d602081101561381657600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415156138e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f636f6e74726163742072657475726e656420616e20756e6b6e6f776e2076616c81526020017f75652066726f6d206f6e4552433131353552656365697665640000000000000081525060400191505060405180910390fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561392557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613a2657805160ff1916838001178555613a54565b82800160010185558215613a54579182015b82811115613a53578251825591602001919060010190613a38565b5b509050613a619190613a65565b5090565b613a8791905b80821115613a83576000816000905550600101613a6b565b5090565b9056fea165627a7a72305820d8713ec9b61cf8e1104880e98fcc3a40e3fe0d15d891c05b8d2f04ee1ee6c3870029000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c1000000000000000000000000ca4a47679c62884673819e2e9614f9f209c372c8
Deployed Bytecode
0x608060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fdd58e1461014d57806301ffc9a7146101bc57806306fdde031461022e57806307156854146102be5780630e89341c146102fb5780632693ebf2146103af5780632eb2c2d6146103fe5780633adf80b41461056e57806341e9fb5d146106405780634e1273f4146106975780634f558e79146107c75780638da5cb5b1461081a5780638f32d59b1461087157806395d89b41146108a0578063a22cb46514610930578063b50cbd9f1461098d578063bd85b039146109e4578063e73496cd14610a33578063e985e9c514610ae7578063f242432a14610b70578063f2fde38b14610c4a578063f5467d8f14610c9b578063f7bca79c14610d2b578063fc78fa8514610db8578063fe34841714610e48575b600080fd5b34801561015957600080fd5b506101a66004803603604081101561017057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e9b565b6040518082815260200191505060405180910390f35b3480156101c857600080fd5b50610214600480360360208110156101df57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610ef5565b604051808215151515815260200191505060405180910390f35b34801561023a57600080fd5b50610243610fde565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610283578082015181840152602081019050610268565b50505050905090810190601f1680156102b05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ca57600080fd5b506102f9600480360360208110156102e157600080fd5b8101908080351515906020019092919050505061107c565b005b34801561030757600080fd5b506103346004803603602081101561031e57600080fd5b8101908080359060200190929190505050611115565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610374578082015181840152602081019050610359565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103bb57600080fd5b506103e8600480360360208110156103d257600080fd5b81019080803590602001909291905050506111ca565b6040518082815260200191505060405180910390f35b34801561040a57600080fd5b5061056c600480360360a081101561042157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561047e57600080fd5b82018360208201111561049057600080fd5b803590602001918460208302840111640100000000831117156104b257600080fd5b9091929391929390803590602001906401000000008111156104d357600080fd5b8201836020820111156104e557600080fd5b8035906020019184602083028401116401000000008311171561050757600080fd5b90919293919293908035906020019064010000000081111561052857600080fd5b82018360208201111561053a57600080fd5b8035906020019184600183028401116401000000008311171561055c57600080fd5b90919293919293905050506111e2565b005b34801561057a57600080fd5b5061063e6004803603604081101561059157600080fd5b8101908080359060200190929190803590602001906401000000008111156105b857600080fd5b8201836020820111156105ca57600080fd5b803590602001918460018302840111640100000000831117156105ec57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611851565b005b34801561064c57600080fd5b50610655611996565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a357600080fd5b50610770600480360360408110156106ba57600080fd5b81019080803590602001906401000000008111156106d757600080fd5b8201836020820111156106e957600080fd5b8035906020019184602083028401116401000000008311171561070b57600080fd5b90919293919293908035906020019064010000000081111561072c57600080fd5b82018360208201111561073e57600080fd5b8035906020019184602083028401116401000000008311171561076057600080fd5b90919293919293905050506119bc565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107b3578082015181840152602081019050610798565b505050509050019250505060405180910390f35b3480156107d357600080fd5b50610800600480360360208110156107ea57600080fd5b8101908080359060200190929190505050611adc565b604051808215151515815260200191505060405180910390f35b34801561082657600080fd5b5061082f611afc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087d57600080fd5b50610886611b26565b604051808215151515815260200191505060405180910390f35b3480156108ac57600080fd5b506108b5611b7e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108f55780820151818401526020810190506108da565b50505050905090810190601f1680156109225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561093c57600080fd5b5061098b6004803603604081101561095357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611c1c565b005b34801561099957600080fd5b506109a2611d1d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f057600080fd5b50610a1d60048036036020811015610a0757600080fd5b8101908080359060200190929190505050611d43565b6040518082815260200191505060405180910390f35b348015610a3f57600080fd5b50610a6c60048036036020811015610a5657600080fd5b8101908080359060200190929190505050611d60565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aac578082015181840152602081019050610a91565b50505050905090810190601f168015610ad95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610af357600080fd5b50610b5660048036036040811015610b0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e10565b604051808215151515815260200191505060405180910390f35b348015610b7c57600080fd5b50610c48600480360360a0811015610b9357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c0457600080fd5b820183602082011115610c1657600080fd5b80359060200191846001830284011164010000000083111715610c3857600080fd5b9091929391929390505050611f57565b005b348015610c5657600080fd5b50610c9960048036036020811015610c6d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123ca565b005b348015610ca757600080fd5b50610d2960048036036040811015610cbe57600080fd5b810190808035906020019092919080359060200190640100000000811115610ce557600080fd5b820183602082011115610cf757600080fd5b80359060200191846020830284011164010000000083111715610d1957600080fd5b9091929391929390505050612452565b005b610db660048036036060811015610d4157600080fd5b810190808035906020019092919080359060200190640100000000811115610d6857600080fd5b820183602082011115610d7a57600080fd5b80359060200191846020830284011164010000000083111715610d9c57600080fd5b909192939192939080359060200190929190505050612885565b005b348015610dc457600080fd5b50610e4660048036036040811015610ddb57600080fd5b810190808035906020019092919080359060200190640100000000811115610e0257600080fd5b820183602082011115610e1457600080fd5b80359060200191846020830284011164010000000083111715610e3657600080fd5b9091929391929390505050612cb3565b005b348015610e5457600080fd5b50610e8160048036036020811015610e6b57600080fd5b8101908080359060200190929190505050613253565b604051808215151515815260200191505060405180910390f35b600080600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610fc6575063d9b67a267c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610fd45760019050610fd9565b600090505b919050565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110745780601f1061104957610100808354040283529160200191611074565b820191906000526020600020905b81548152906001019060200180831161105757829003601f168201915b505050505081565b611084611b26565b15156110f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e6f74206f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548160ff02191690831515021790555050565b6060600760008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111be5780601f10611193576101008083540402835291602001916111be565b820191906000526020600020905b8154815290600101906020018083116111a157829003601f168201915b50505050509050919050565b60086020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141515156112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f64657374696e6174696f6e2061646472657373206d757374206265206e6f6e2d81526020017f7a65726f2e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8383905086869050141515611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f5f69647320616e64205f76616c756573206172726179206c656e677468206d7581526020017f7374206d617463682e000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161480611417575060011515600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156114b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4e656564206f70657261746f7220617070726f76616c20666f7220337264207081526020017f61727479207472616e73666572732e000000000000000000000000000000000081525060400191505060405180910390fd5b60008090505b8686905081101561166b57600087878381811015156114d257fe5b905060200201359050600086868481811015156114eb57fe5b9050602002013590506115568160008085815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327390919063ffffffff16565b60008084815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061160b60008084815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261328c90919063ffffffff16565b60008084815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050508060010190506114b7565b508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb898989896040518080602001806020018381038352878782818152602001925060200280828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a461176d8773ffffffffffffffffffffffffffffffffffffffff166132a8565b1561184757611846338989898980806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050888880806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506132bb565b5b5050505050505050565b611859611b26565b15156118cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e6f74206f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806007600084815260200190815260200160002090805190602001906118f49291906139e5565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561195857808201518184015260208101905061193d565b50505050905090810190601f1680156119855780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606082829050858590501415156119d257600080fd5b606085859050604051908082528060200260200182016040528015611a065781602001602082028038833980820191505090505b50905060008090505b86869050811015611acf576000808686848181101515611a2b57fe5b90506020020135815260200190815260200160002060008888848181101515611a5057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548282815181101515611ab657fe5b9060200190602002018181525050806001019050611a0f565b5080915050949350505050565b600080600860008481526020019081526020016000205414159050919050565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c145780601f10611be957610100808354040283529160200191611c14565b820191906000526020600020905b815481529060010190602001808311611bf757829003601f168201915b505050505081565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060086000838152602001908152602001600020549050919050565b60076020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e085780601f10611ddd57610100808354040283529160200191611e08565b820191906000526020600020905b815481529060010190602001808311611deb57829003601f168201915b505050505081565b60008173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4552791856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ee457600080fd5b505afa158015611ef8573d6000803e3d6000fd5b505050506040513d6020811015611f0e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415611f445760019050611f51565b611f4e83836135c9565b90505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611ffc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5f746f206d757374206265206e6f6e2d7a65726f2e000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614806120c3575060011515600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561215d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4e656564206f70657261746f7220617070726f76616c20666f7220337264207081526020017f61727479207472616e73666572732e000000000000000000000000000000000081525060400191505060405180910390fd5b6121bf8360008087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327390919063ffffffff16565b60008086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061227460008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461328c90919063ffffffff16565b60008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051808381526020018281526020019250505060405180910390a461236a8573ffffffffffffffffffffffffffffffffffffffff166132a8565b156123c2576123c1338787878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061365d565b5b505050505050565b6123d2611b26565b1515612446576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e6f74206f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61244f816138e9565b50565b600660009054906101000a900460ff16151561246d57600080fd5b60008282905090508060008086815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561253c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f696e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b60008090505b818110156127f9576000848483818110151561255a57fe5b9050602002013590506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095bcdb63389856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b15801561263257600080fd5b505af1158015612646573d6000803e3d6000fd5b505050506040513d602081101561265c57600080fd5b8101908080519060200190929190505050905080151561270a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f416e206572726f72206f636375726564207768696c65207472616e736665727281526020017f696e67000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60006009600084815260200190815260200160002060006101000a81548160ff02191690831515021790555061279960016000808a815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327390919063ffffffff16565b60008089815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050806001019050612542565b50600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628785604051808381526020018281526020019250505060405180910390a450505050565b600660009054906101000a900460ff1615156128a057600080fd5b6000339050600084849050905060008090505b81811015612be257600086868381811015156128cb57fe5b905060200201359050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a2550108868a846040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303818588803b15801561296d57600080fd5b505af1158015612981573d6000803e3d6000fd5b50505050503073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635dc774d7836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612a2e57600080fd5b505af1158015612a42573d6000803e3d6000fd5b505050506040513d6020811015612a5857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515612af4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416e206572726f72206f6363757265640000000000000000000000000000000081525060200191505060405180910390fd5b60016009600083815260200190815260200160002060006101000a81548160ff021916908315150217905550612b8360016000808b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461328c90919063ffffffff16565b6000808a815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508060010190506128b3565b503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628985604051808381526020018281526020019250505060405180910390a4612c878273ffffffffffffffffffffffffffffffffffffffff166132a8565b15612cab57612caa3333338985602060405190810160405280600081525061365d565b5b505050505050565b600660009054906101000a900460ff161515612cce57600080fd5b6000339050600083839050905060008090505b818110156131835760008585838181101515612cf957fe5b9050602002013590506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635dc774d7836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612d9557600080fd5b505af1158015612da9573d6000803e3d6000fd5b505050506040513d6020811015612dbf57600080fd5b810190808051906020019092919050505090503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515612e75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f446f6573206e6f74206f776e204552433230000000000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632767dd7d89846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050600060405180830381600087803b158015612f0e57600080fd5b505af1158015612f22573d6000803e3d6000fd5b505050503073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635dc774d7846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612fce57600080fd5b505af1158015612fe2573d6000803e3d6000fd5b505050506040513d6020811015612ff857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515613094576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416e206572726f72206f6363757265640000000000000000000000000000000081525060200191505060405180910390fd5b60016009600084815260200190815260200160002060006101000a81548160ff02191690831515021790555061312360016000808b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461328c90919063ffffffff16565b6000808a815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050806001019050612ce1565b503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628885604051808381526020018281526020019250505060405180910390a46132288273ffffffffffffffffffffffffffffffffffffffff166132a8565b1561324c5761324b3333338885602060405190810160405280600081525061365d565b5b5050505050565b60096020528060005260406000206000915054906101000a900460ff1681565b600082821115151561328157fe5b818303905092915050565b6000818301905082811015151561329f57fe5b80905092915050565b600080823b905060008111915050919050565b63bc197c817c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663bc197c8188888787876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156133f95780820151818401526020810190506133de565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561343b578082015181840152602081019050613420565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561347a57808201518184015260208101905061345f565b50505050905090810190601f1680156134a75780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1580156134cc57600080fd5b505af11580156134e0573d6000803e3d6000fd5b505050506040513d60208110156134f657600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415156135c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001807f636f6e74726163742072657475726e656420616e20756e6b6e6f776e2076616c81526020017f75652066726f6d206f6e4552433131353542617463685265636569766564000081525060400191505060405180910390fd5b505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b63f23a6e617c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663f23a6e6188888787876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561379c578082015181840152602081019050613781565b50505050905090810190601f1680156137c95780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b1580156137ec57600080fd5b505af1158015613800573d6000803e3d6000fd5b505050506040513d602081101561381657600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415156138e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f636f6e74726163742072657475726e656420616e20756e6b6e6f776e2076616c81526020017f75652066726f6d206f6e4552433131353552656365697665640000000000000081525060400191505060405180910390fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561392557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613a2657805160ff1916838001178555613a54565b82800160010185558215613a54579182015b82811115613a53578251825591602001919060010190613a38565b5b509050613a619190613a65565b5090565b613a8791905b80821115613a83576000816000905550600101613a6b565b5090565b9056fea165627a7a72305820d8713ec9b61cf8e1104880e98fcc3a40e3fe0d15d891c05b8d2f04ee1ee6c3870029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c1000000000000000000000000ca4a47679c62884673819e2e9614f9f209c372c8
-----Decoded View---------------
Arg [0] : _proxyRegistryAddress (address): 0xa5409ec958C83C3f309868babACA7c86DCB077c1
Arg [1] : digitalArtCollectibleAddress (address): 0xCA4a47679c62884673819E2e9614f9F209c372C8
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c1
Arg [1] : 000000000000000000000000ca4a47679c62884673819e2e9614f9f209c372c8
Loading...
Loading
Loading...
Loading
OVERVIEW
We encountered an issue with OpenSea integration (not with the other markeplaces) and we had to migrate to a second wrapper, which cleared the issue.This is the official OS link for the new collection: https://opensea.io/collection/cryptocards-collectionJoin our community ...Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.