[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "string", "name": "metadataIpfs_", "type": "string" }, { "internalType": "uint256", "name": "endTimestamp_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_user", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_old", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_new", "type": "address" } ], "name": "ConfigChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_user", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_old", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_new", "type": "address" } ], "name": "OwnerChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "changeOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "config", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "counter", "outputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dev", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "endTimestamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadataIpfs", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "endTimestamp_", "type": "uint256" } ], "name": "setEndTimestamp", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "metadataIpfs_", "type": "string" } ], "name": "setMetadata", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_config", "type": "address" } ], "name": "setupConfig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "userList", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
6080604052600f805460ff191660011790553480156200001e57600080fd5b5060405162002f3538038062002f35833981016040819052620000419162000273565b8351849084906200005a90600290602085019062000100565b5080516200007090600390602084019062000100565b50506001600c5550428111620000cc5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420656e6454696d657374616d70000000000000000000000000604482015260640160405180910390fd5b8151620000e190601090602085019062000100565b50600e555050600180546001600160a01b031916331790555062000349565b8280546200010e906200030c565b90600052602060002090601f0160209004810192826200013257600085556200017d565b82601f106200014d57805160ff19168380011785556200017d565b828001600101855582156200017d579182015b828111156200017d57825182559160200191906001019062000160565b506200018b9291506200018f565b5090565b5b808211156200018b576000815560010162000190565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001ce57600080fd5b81516001600160401b0380821115620001eb57620001eb620001a6565b604051601f8301601f19908116603f01168101908282118183101715620002165762000216620001a6565b816040528381526020925086838588010111156200023357600080fd5b600091505b8382101562000257578582018301518183018401529082019062000238565b83821115620002695760008385830101525b9695505050505050565b600080600080608085870312156200028a57600080fd5b84516001600160401b0380821115620002a257600080fd5b620002b088838901620001bc565b95506020870151915080821115620002c757600080fd5b620002d588838901620001bc565b94506040870151915080821115620002ec57600080fd5b50620002fb87828801620001bc565b606096909601519497939650505050565b600181811c908216806200032157607f821691505b602082108114156200034357634e487b7160e01b600052602260045260246000fd5b50919050565b612bdc80620003596000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806361bc221a1161010f578063a22cb465116100a2578063b88d4fde11610071578063b88d4fde1461042b578063c87b56dd1461043e578063e985e9c514610451578063f851a4401461049a57600080fd5b8063a22cb465146103e9578063a49a1e7d146103fc578063a6f9dae11461040f578063a85adeab1461042257600080fd5b80637df6a6c8116100de5780637df6a6c8146103a65780638da5cb5b146103b957806391cca3db146103d957806395d89b41146103e157600080fd5b806361bc221a146103565780636352211e1461036057806370a082311461037357806379502c551461038657600080fd5b806323b872dd1161018757806342966c681161015657806342966c6814610310578063429ff28d146103235780634bf365df146103365780634f6ccce71461034357600080fd5b806323b872dd146102c45780632f745c59146102d75780633d50f2e0146102ea57806342842e0e146102fd57600080fd5b8063095ea7b3116101c3578063095ea7b3146102725780631249c58b1461028757806318160ddd1461028f5780631b4e7bd2146102a157600080fd5b806301ffc9a7146101f557806302d1663c1461021d57806306fdde0314610232578063081812fc1461023a575b600080fd5b610208610203366004612682565b6104a2565b60405190151581526020015b60405180910390f35b6102256104fe565b6040516102149190612711565b61022561058c565b61024d610248366004612724565b61061e565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610214565b61028561028036600461275f565b6106fd565b005b61028561088a565b600a545b604051908152602001610214565b6102086102af36600461278b565b60116020526000908152604090205460ff1681565b6102856102d23660046127a8565b610ab3565b6102936102e536600461275f565b610b54565b6102856102f836600461278b565b610c23565b61028561030b3660046127a8565b610d34565b61028561031e366004612724565b610d4f565b6102856103313660046127fe565b610d5b565b600f546102089060ff1681565b610293610351366004612724565b610e4a565b600d546102939081565b61024d61036e366004612724565b610f08565b61029361038136600461278b565b610fba565b60005461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b6102856103b4366004612724565b611088565b60015461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b61024d61114b565b61022561122a565b6102856103f7366004612819565b611239565b61028561040a366004612911565b611248565b61028561041d36600461278b565b611319565b610293600e5481565b61028561043936600461295a565b6114af565b61022561044c366004612724565b611557565b61020861045f3660046129da565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b61024d61169d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d630000000000000000000000000000000000000000000000000000000014806104f857506104f882611722565b92915050565b6010805461050b90612a13565b80601f016020809104026020016040519081016040528092919081815260200182805461053790612a13565b80156105845780601f1061055957610100808354040283529160200191610584565b820191906000526020600020905b81548152906001019060200180831161056757829003601f168201915b505050505081565b60606002805461059b90612a13565b80601f01602080910402602001604051908101604052809291908181526020018280546105c790612a13565b80156106145780601f106105e957610100808354040283529160200191610614565b820191906000526020600020905b8154815290600101906020018083116105f757829003601f168201915b5050505050905090565b60008181526004602052604081205473ffffffffffffffffffffffffffffffffffffffff166106d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084015b60405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061070882610f08565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106cb565b3373ffffffffffffffffffffffffffffffffffffffff821614806107ef57506107ef813361045f565b61087b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106cb565b6108858383611805565b505050565b6002600c5414156108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106cb565b6002600c55600f5460ff16610968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4d696e742066756e63206973206465616374697661746564000000000000000060448201526064016106cb565b600e544211156109d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f416374697669747920697320657870697265640000000000000000000000000060448201526064016106cb565b3360009081526011602052604090205460ff1615610a4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f456163682075736572206f6e6c79206d696e74206f6e63652e0000000000000060448201526064016106cb565b6000610a59600d5490565b9050610a6533826118a5565b33600090815260116020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610aab600d80546001019055565b506001600c55565b610abd3382611a73565b610b49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656400000000000000000000000000000060648201526084016106cb565b610885838383611be3565b6000610b5f83610fba565b8210610bed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e647300000000000000000000000000000000000000000060648201526084016106cb565b5073ffffffffffffffffffffffffffffffffffffffff919091166000908152600860209081526040808320938352929052205490565b60015473ffffffffffffffffffffffffffffffffffffffff163314610ca4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f574e455220464f5242494444454e000000000000000000000000000000000060448201526064016106cb565b6000805460405173ffffffffffffffffffffffffffffffffffffffff8085169392169133917f1c9f92ac4e71628bcbcaa06d364d40e010aef535184545a709e14cced8ac2d3c9190a4600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610885838383604051806020016040528060008152506114af565b610d5881611e55565b50565b610d6361114b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610db3575060015473ffffffffffffffffffffffffffffffffffffffff1633145b610e19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f64657620464f5242494444454e0000000000000000000000000000000000000060448201526064016106cb565b600f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6000610e55600a5490565b8210610ee3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e6473000000000000000000000000000000000000000060648201526084016106cb565b600a8281548110610ef657610ef6612a67565b90600052602060002001549050919050565b60008181526004602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201527f656e7420746f6b656e000000000000000000000000000000000000000000000060648201526084016106cb565b600073ffffffffffffffffffffffffffffffffffffffff821661105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f20616464726573730000000000000000000000000000000000000000000060648201526084016106cb565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205490565b61109061114b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110e0575060015473ffffffffffffffffffffffffffffffffffffffff1633145b611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f64657620464f5242494444454e0000000000000000000000000000000000000060448201526064016106cb565b600e55565b6000805473ffffffffffffffffffffffffffffffffffffffff161561120d5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391cca3db6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111d057600080fd5b505afa1580156111e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112089190612a96565b905090565b5060015473ffffffffffffffffffffffffffffffffffffffff1690565b60606003805461059b90612a13565b611244338383611f2e565b5050565b61125061114b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112a0575060015473ffffffffffffffffffffffffffffffffffffffff1633145b611306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f64657620464f5242494444454e0000000000000000000000000000000000000060448201526064016106cb565b80516112449060109060208401906125bb565b60015473ffffffffffffffffffffffffffffffffffffffff16331461139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f574e455220464f5242494444454e000000000000000000000000000000000060448201526064016106cb565b60015473ffffffffffffffffffffffffffffffffffffffff8281169116141561141f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4f776e65723a204e4f204348414e47450000000000000000000000000000000060448201526064016106cb565b60015460405173ffffffffffffffffffffffffffffffffffffffff80841692169033907f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a53970533190600090a4600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6114b93383611a73565b611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656400000000000000000000000000000060648201526084016106cb565b6115518484848461205c565b50505050565b60008181526004602052604090205460609073ffffffffffffffffffffffffffffffffffffffff1661160b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201527f6e6578697374656e7420746f6b656e000000000000000000000000000000000060648201526084016106cb565b6010805461161890612a13565b80601f016020809104026020016040519081016040528092919081815260200182805461164490612a13565b80156116915780601f1061166657610100808354040283529160200191611691565b820191906000526020600020905b81548152906001019060200180831161167457829003601f168201915b50505050509050919050565b6000805473ffffffffffffffffffffffffffffffffffffffff161561120d5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b1580156111d057600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806117b557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104f857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104f8565b600081815260066020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061185f82610f08565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b73ffffffffffffffffffffffffffffffffffffffff8216611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106cb565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16156119ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106cb565b6119ba600083836120ff565b73ffffffffffffffffffffffffffffffffffffffff821660009081526005602052604081208054600192906119f0908490612ae2565b909155505060008181526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008181526004602052604081205473ffffffffffffffffffffffffffffffffffffffff16611b24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084016106cb565b6000611b2f83610f08565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b9e57508373ffffffffffffffffffffffffffffffffffffffff16611b868461061e565b73ffffffffffffffffffffffffffffffffffffffff16145b80611bdb575073ffffffffffffffffffffffffffffffffffffffff80821660009081526007602090815260408083209388168352929052205460ff165b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611c0382610f08565b73ffffffffffffffffffffffffffffffffffffffff1614611ca6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016106cb565b73ffffffffffffffffffffffffffffffffffffffff8216611d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106cb565b611d538383836120ff565b611d5e600082611805565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600560205260408120805460019290611d94908490612afa565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152600560205260408120805460019290611dcf908490612ae2565b909155505060008181526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611e6082610f08565b9050611e6e816000846120ff565b611e79600083611805565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600560205260408120805460019290611eaf908490612afa565b909155505060008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555183919073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106cb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526007602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612067848484611be3565b61207384848484612205565b611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016106cb565b73ffffffffffffffffffffffffffffffffffffffff83166121675761216281600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b6121a4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146121a4576121a48382612404565b73ffffffffffffffffffffffffffffffffffffffff82166121c857610885816124bb565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461088557610885828261256a565b600073ffffffffffffffffffffffffffffffffffffffff84163b156123f9576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061227c903390899088908890600401612b11565b602060405180830381600087803b15801561229657600080fd5b505af19250505080156122e4575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526122e191810190612b5a565b60015b6123ae573d808015612312576040519150601f19603f3d011682016040523d82523d6000602084013e612317565b606091505b5080516123a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016106cb565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611bdb565b506001949350505050565b6000600161241184610fba565b61241b9190612afa565b60008381526009602052604090205490915080821461247b5773ffffffffffffffffffffffffffffffffffffffff841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b50600091825260096020908152604080842084905573ffffffffffffffffffffffffffffffffffffffff9094168352600881528383209183525290812055565b600a546000906124cd90600190612afa565b6000838152600b6020526040812054600a80549394509092849081106124f5576124f5612a67565b9060005260206000200154905080600a838154811061251657612516612a67565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a80548061254e5761254e612b77565b6001900381819060005260206000200160009055905550505050565b600061257583610fba565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b8280546125c790612a13565b90600052602060002090601f0160209004810192826125e9576000855561262f565b82601f1061260257805160ff191683800117855561262f565b8280016001018555821561262f579182015b8281111561262f578251825591602001919060010190612614565b5061263b92915061263f565b5090565b5b8082111561263b5760008155600101612640565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610d5857600080fd5b60006020828403121561269457600080fd5b813561269f81612654565b9392505050565b6000815180845260005b818110156126cc576020818501810151868301820152016126b0565b818111156126de576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061269f60208301846126a6565b60006020828403121561273657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610d5857600080fd5b6000806040838503121561277257600080fd5b823561277d8161273d565b946020939093013593505050565b60006020828403121561279d57600080fd5b813561269f8161273d565b6000806000606084860312156127bd57600080fd5b83356127c88161273d565b925060208401356127d88161273d565b929592945050506040919091013590565b803580151581146127f957600080fd5b919050565b60006020828403121561281057600080fd5b61269f826127e9565b6000806040838503121561282c57600080fd5b82356128378161273d565b9150612845602084016127e9565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156128985761289861284e565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156128de576128de61284e565b816040528093508581528686860111156128f757600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561292357600080fd5b813567ffffffffffffffff81111561293a57600080fd5b8201601f8101841361294b57600080fd5b611bdb8482356020840161287d565b6000806000806080858703121561297057600080fd5b843561297b8161273d565b9350602085013561298b8161273d565b925060408501359150606085013567ffffffffffffffff8111156129ae57600080fd5b8501601f810187136129bf57600080fd5b6129ce8782356020840161287d565b91505092959194509250565b600080604083850312156129ed57600080fd5b82356129f88161273d565b91506020830135612a088161273d565b809150509250929050565b600181811c90821680612a2757607f821691505b60208210811415612a61577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612aa857600080fd5b815161269f8161273d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115612af557612af5612ab3565b500190565b600082821015612b0c57612b0c612ab3565b500390565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612b5060808301846126a6565b9695505050505050565b600060208284031215612b6c57600080fd5b815161269f81612654565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220986d4551f52651c784463a0682f038310bbe92f38a93cada4271dc117e1005f364736f6c63430008090033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000065d0d800000000000000000000000000000000000000000000000000000000000000000f426c617374427572676572204e46540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f426c617374427572676572204e46540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005068747470733a2f2f69706673722e627572676572737761702e6f72672f697066732f516d557941714d4152726f796335347361364136427a615643647672676d7a364e4b787a5168485651796541357300000000000000000000000000000000
0xa2646970667358221220986d4551f52651c784463a0682f038310bbe92f38a93cada4271dc117e1005f364736f6c63430008090033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000065d0d800000000000000000000000000000000000000000000000000000000000000000f426c617374427572676572204e46540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f426c617374427572676572204e46540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005068747470733a2f2f69706673722e627572676572737761702e6f72672f697066732f516d557941714d4152726f796335347361364136427a615643647672676d7a364e4b787a5168485651796541357300000000000000000000000000000000