[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "UnsupportedReceiver", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "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": [], "name": "ContractURIUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Transfer", "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": "BROKEN_ADDRESS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEPOSIT_ADDRESS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_ADDRESS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newDev", "type": "address" } ], "name": "changeDev", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "name": "deposit", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "dev", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "extension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "bytes", "name": "encodedParameters", "type": "bytes" } ], "name": "initialize", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "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": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minted", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "nftBalanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC721Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "ownedNFTs", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "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": "payable", "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": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newContractURI", "type": "string" } ], "name": "setContractURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newExtension", "type": "string" } ], "name": "setExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newSkipMinting", "type": "bool" } ], "name": "setSkipMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newSkipMintingGlobal", "type": "bool" } ], "name": "setSkipMintingGlobal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newTelegram", "type": "string" } ], "name": "setTelegram", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "skipMintingGlobal", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "supportsNFTinterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "telegram", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "toggelNFTinterface", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "tokensOfOwner", "outputs": [ { "internalType": "uint64[]", "name": "", "type": "uint64[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
6080604052600b805460ff60e81b1916905534801561001c575f80fd5b50600b8054600160401b600160e01b031916336801000000000000000002179055612b408061004a5f395ff3fe60806040526004361061026a575f3560e01c80636bcef9a61161014a578063a563833b116100be578063dd62ed3e11610078578063dd62ed3e14610756578063e8a3d4851461079a578063e8e81fe4146107ae578063e985e9c5146107cd578063f835ab00146107ec578063ff0d2c261461048e575f80fd5b8063a563833b146106b1578063a9059cbb146106d1578063b3720c34146106f0578063b88d4fde14610710578063c87b56dd14610723578063d5abeb0114610742575f80fd5b806388a8c95c1161010f57806388a8c95c1461060c57806391cca3db1461062b578063938e3d7b1461065157806395d89b4114610670578063983d95ce14610684578063a22cb46514610692575f80fd5b80636bcef9a6146105655780636c0360eb1461057957806370a082311461058d5780637e2285aa146105c15780638462151c146105e0575f80fd5b8063313ce567116101e157806347ecb665116101a657806347ecb665146104a15780634f02c420146104b557806355f804b3146104d4578063598b8e71146104f35780636352211e146105125780636a21f8e114610546575f80fd5b8063313ce567146104325780633ccfd60b1461044657806342842e0e1461045c578063439fab911461046f578063466c35fc1461048e575f80fd5b8063150b7a0211610232578063150b7a021461035b57806318160ddd1461039e5780631a72b87d146103b257806323b872dd146103e95780632d5537b0146104085780632ff3a2421461041c575f80fd5b806301ffc9a71461026e57806306fdde03146102a2578063081812fc146102c3578063095ea7b3146102fa5780630e313e9814610319575b5f80fd5b348015610279575f80fd5b5061028d610288366004612166565b610825565b60405190151581526020015b60405180910390f35b3480156102ad575f80fd5b506102b66108c2565b60405161029991906121ce565b3480156102ce575f80fd5b506102e26102dd3660046121e0565b610952565b6040516001600160a01b039091168152602001610299565b348015610305575f80fd5b5061028d61031436600461220d565b61098c565b348015610324575f80fd5b5061034d610333366004612235565b6001600160a01b03165f9081526011602052604090205490565b604051908152602001610299565b348015610366575f80fd5b50610385610375366004612311565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610299565b3480156103a9575f80fd5b5061034d610a9a565b3480156103bd575f80fd5b506103d16103cc36600461220d565b610aa8565b6040516001600160401b039091168152602001610299565b3480156103f4575f80fd5b5061028d610403366004612374565b610aef565b348015610413575f80fd5b506102b6610ba6565b348015610427575f80fd5b506102e26205e7ec81565b34801561043d575f80fd5b5060065461034d565b348015610451575f80fd5b5061045a610c32565b005b61045a61046a366004612374565b610cc9565b34801561047a575f80fd5b506102e26104893660046123ad565b610e08565b348015610499575f80fd5b506102e25f81565b3480156104ac575f80fd5b506102b6610f8d565b3480156104c0575f80fd5b50600b546103d1906001600160401b031681565b3480156104df575f80fd5b5061045a6104ee3660046123de565b610f9a565b3480156104fe575f80fd5b5061045a61050d366004612422565b610fda565b34801561051d575f80fd5b506102e261052c3660046121e0565b600e6020525f90815260409020546001600160a01b031681565b348015610551575f80fd5b5061045a6105603660046124d1565b611010565b348015610570575f80fd5b5061045a61105f565b348015610584575f80fd5b506102b66110b1565b348015610598575f80fd5b5061034d6105a7366004612235565b6001600160a01b03165f9081526010602052604090205490565b3480156105cc575f80fd5b5061045a6105db3660046123de565b6110bd565b3480156105eb575f80fd5b506105ff6105fa366004612235565b6110fa565b60405161029991906124ea565b348015610617575f80fd5b5061045a610626366004612235565b611194565b348015610636575f80fd5b50600b546102e290600160401b90046001600160a01b031681565b34801561065c575f80fd5b5061045a61066b3660046123de565b6111f6565b34801561067b575f80fd5b506102b661125f565b61045a61050d366004612422565b34801561069d575f80fd5b5061045a6106ac366004612536565b61126e565b3480156106bc575f80fd5b50600b5461028d90600160e01b900460ff1681565b3480156106dc575f80fd5b5061028d6106eb36600461220d565b6112a7565b3480156106fb575f80fd5b50600b5461028d90600160e81b900460ff1681565b61045a61071e366004612311565b6112f1565b34801561072e575f80fd5b506102b661073d3660046121e0565b61141e565b34801561074d575f80fd5b5061034d6114cd565b348015610761575f80fd5b5061034d610770366004612567565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b3480156107a5575f80fd5b506102b66114de565b3480156107b9575f80fd5b5061045a6107c83660046123de565b6114ed565b3480156107d8575f80fd5b5061028d6107e7366004612567565b61152a565b3480156107f7575f80fd5b5061045a6108063660046124d1565b335f908152601360205260409020805460ff1916911515919091179055565b600b545f90600160e01b900460ff16801561085057506380ac58cd60e01b6001600160e01b03198316145b8061086b57506301ffc9a760e01b6001600160e01b03198316145b8061088657506336372b0760e01b6001600160e01b03198316145b806108a15750630a85bd0160e11b6001600160e01b03198316145b806108bc5750635a46575f60e01b6001600160e01b03198316145b92915050565b6060600480546108d19061258f565b80601f01602080910402602001604051908101604052809291908181526020018280546108fd9061258f565b80156109485780601f1061091f57610100808354040283529160200191610948565b820191905f5260205f20905b81548152906001019060200180831161092b57829003601f168201915b5050505050905090565b5f818152600e60205260408120546001600160a01b0316610971575f80fd5b505f908152600f60205260409020546001600160a01b031690565b5f60095482101580156109a15750600a548211155b15610a61575f828152600e60205260409020546001600160a01b03163381148015906109d457506109d2813361152a565b155b15610a265760405162461bcd60e51b815260206004820152601a60248201527f453734313a20596f7520617265206e6f7420617070726f76656400000000000060448201526064015b60405180910390fd5b5f838152600f6020526040902080546001600160a01b0319166001600160a01b038616179055610a57818585611557565b60019150506108bc565b335f818152600d602090815260408083206001600160a01b03881684529091529020839055610a9190848461159d565b50600192915050565b5f610aa36114cd565b905090565b6011602052815f5260405f208181548110610ac1575f80fd5b905f5260205f209060049182820401919006600802915091509054906101000a90046001600160401b031681565b5f6009548210158015610b045750600a548211155b15610b8557336001600160a01b0385161480610b395750610b2482610952565b6001600160a01b0316336001600160a01b0316145b80610b495750610b49843361152a565b610b655760405162461bcd60e51b8152600401610a1d906125c7565b610b708484846115ef565b610b7d84846009546116bd565b506001610b9f565b610b90843384611711565b610b9b8484846117c5565b5060015b9392505050565b60028054610bb39061258f565b80601f0160208091040260200160405190810160405280929190818152602001828054610bdf9061258f565b8015610c2a5780601f10610c0157610100808354040283529160200191610c2a565b820191905f5260205f20905b815481529060010190602001808311610c0d57829003601f168201915b505050505081565b600b54600160401b90046001600160a01b03163314610c635760405162461bcd60e51b8152600401610a1d906125fe565b600b546040515f91600160401b90046001600160a01b03169047908381818185875af1925050503d805f8114610cb4576040519150601f19603f3d011682016040523d82523d5f602084013e610cb9565b606091505b5050905080610cc6575f80fd5b50565b336001600160a01b0384161480610cf95750610ce481610952565b6001600160a01b0316336001600160a01b0316145b80610d095750610d09833361152a565b610d255760405162461bcd60e51b8152600401610a1d906125c7565b610d308383836115ef565b610d3d83836009546116bd565b6001600160a01b0382163b15801590610de55750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af1158015610db4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd89190612629565b6001600160e01b03191614155b15610e03576040516301d6c93560e61b815260040160405180910390fd5b505050565b5f6006545f14610e505760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610a1d565b81806020019051810190610e649190612686565b600781905560045f60058160068180806001610e808b82612787565b50610e8d90508a82612787565b505088905550610e9d8882612787565b50610eaa90508782612787565b50505050505050600654600a610ec0919061292b565b6009819055600754600191610ed59190612936565b610edf9190612949565b600a55600954610ef19060019061295c565b600b805467ffffffffffffffff19166001600160401b0392909216919091179055610f1a610a9a565b335f9081526010602052604090205560075460095411610f865760405162461bcd60e51b815260206004820152602160248201527f4e6f7420656e6f75676820646563696d616c7320666f72204e465420636f756e6044820152601d60fa1b6064820152608401610a1d565b505f919050565b60038054610bb39061258f565b600b54600160401b90046001600160a01b03163314610fcb5760405162461bcd60e51b8152600401610a1d906125fe565b5f610fd68282612787565b5050565b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b6044820152606401610a1d565b600b54600160401b90046001600160a01b031633146110415760405162461bcd60e51b8152600401610a1d906125fe565b600b8054911515600160e81b0260ff60e81b19909216919091179055565b600b54600160401b90046001600160a01b031633146110905760405162461bcd60e51b8152600401610a1d906125fe565b600b805460ff60e01b198116600160e01b9182900460ff1615909102179055565b5f8054610bb39061258f565b600b54600160401b90046001600160a01b031633146110ee5760405162461bcd60e51b8152600401610a1d906125fe565b6002610fd68282612787565b6001600160a01b0381165f9081526011602090815260409182902080548351818402810184019094528084526060939283018282801561118857602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116111455790505b50505050509050919050565b600b54600160401b90046001600160a01b031633146111c55760405162461bcd60e51b8152600401610a1d906125fe565b600b80546001600160a01b03909216600160401b0268010000000000000000600160e01b0319909216919091179055565b600b54600160401b90046001600160a01b031633146112275760405162461bcd60e51b8152600401610a1d906125fe565b60016112338282612787565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad962905f90a150565b6060600580546108d19061258f565b335f818152600c602090815260408083206001600160a01b03871684529091529020805460ff1916831515179055610fd6908383611ab7565b5f818152600e6020526040812054336001600160a01b03909116036112e6576112d13384846115ef565b6112de33846009546116bd565b5060016108bc565b610a913384846117c5565b336001600160a01b0385161480611321575061130c82610952565b6001600160a01b0316336001600160a01b0316145b806113315750611331843361152a565b61134d5760405162461bcd60e51b8152600401610a1d906125c7565b6113588484846115ef565b61136584846009546116bd565b6001600160a01b0383163b158015906113fa5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a02906113ad903390899088908890600401612983565b6020604051808303815f875af11580156113c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ed9190612629565b6001600160e01b03191614155b15611418576040516301d6c93560e61b815260040160405180910390fd5b50505050565b6060600a548211156114655760405162461bcd60e51b815260206004820152601060248201526f114dcd0c4e881a5b9d985b1a59081a5960821b6044820152606401610a1d565b5f80546114719061258f565b90505f0361148c57505060408051602081019091525f815290565b5f6114a36009548461149e9190612949565b611afe565b60026040516020016114b793929190612a2e565b6040516020818303038152906040529050919050565b5f600954600754610aa39190612a60565b6060600180546108d19061258f565b600b54600160401b90046001600160a01b0316331461151e5760405162461bcd60e51b8152600401610a1d906125fe565b6003610fd68282612787565b6001600160a01b039182165f908152600c6020908152604080832093909416825291909152205460ff1690565b80826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115e291815260200190565b60405180910390a3505050565b6001600160401b0381165f908152600e60205260409020546001600160a01b038481169116146116595760405162461bcd60e51b8152602060048201526015602482015274229b9a189d1024b731b7b93932b1ba1037bbb732b960591b6044820152606401610a1d565b6001600160401b0381165f908152600f6020908152604080832080546001600160a01b0319908116909155600e90925290912080549091166001600160a01b0384161790556116a9838383611c02565b610e038383836001600160401b0316611db8565b6001600160a01b0383165f90815260106020526040812080548392906116e4908490612949565b90915550506001600160a01b0382165f908152601060205260409020805482019055610e03838383611dfe565b6001600160a01b038084165f908152600d60209081526040808320938616835292905220548111156117855760405162461bcd60e51b815260206004820152601c60248201527f453734313a20696e73756666696369656e7420616c6c6f77616e6365000000006044820152606401610a1d565b6001600160a01b038084165f908152600d60209081526040808320938616835292905290812080548392906117bb908490612949565b9091555050505050565b6001600160a01b0383165f9081526010602052604090205481111561183a5760405162461bcd60e51b815260206004820152602560248201527f453734313a207472616e7366657220616d6f756e7420657863656564732062616044820152646c616e636560d81b6064820152608401610a1d565b6009546001600160a01b0384165f90815260106020526040812054909161186091612a8b565b6009546001600160a01b0385165f90815260106020526040812054929350916118899190612a8b565b90506118968585856116bd565b6009546001600160a01b0386165f9081526010602052604081205490916118bc91612a8b565b6009546001600160a01b0387165f90815260106020526040812054929350916118e59190612a8b565b6001600160a01b0388165f9081526011602052604081206205e7ec9091529091507f1b6e7c417ed9cfc24ca11cc87b3bdb69a80c713b279159d52af44c081e616a17838610156119445781541561194457611944896205e7ec84611e43565b8285111561197157805415611966576119616205e7ec8983611e43565b611971565b61196f88611f93565b505b5f600954886119809190612a9e565b8354600b5491925090600160e81b900460ff16806119a557506001600160a01b038b16155b806119c757506001600160a01b038a165f9081526013602052604090205460ff165b806119e957506001600160a01b038b165f9081526013602052604090205460ff165b80611a085750600b546001600160a01b038c8116600160401b90920416145b15611a1f57808210611a1a5780611a1c565b815b91505b8115611aaa57808210611a325780611a34565b815b90505f5b81811015611a5357611a4b8c8c87611e43565b600101611a38565b50611a5e8183612949565b83549092509050808210611a725780611a74565b815b90505f5b81811015611a9657611a8e6205e7ec8c86611e43565b600101611a78565b50611aaa8a611aa58385612949565b612040565b5050505050505050505050565b816001600160a01b0316836001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115e2911515815260200190565b6060815f03611b245750506040805180820190915260018152600360fc1b602082015290565b815f5b8115611b4d5780611b3781612ab1565b9150611b469050600a83612a9e565b9150611b27565b5f816001600160401b03811115611b6657611b6661224e565b6040519080825280601f01601f191660200182016040528015611b90576020820181803683370190505b5090505b8415611bfa57611ba5600183612949565b9150611bb2600a86612a8b565b611bbd906030612ac9565b60f81b818381518110611bd257611bd2612ae2565b60200101906001600160f81b03191690815f1a905350611bf3600a86612a9e565b9450611b94565b949350505050565b6001600160401b0381165f908152601260209081526040808320546001600160a01b0387168452601190925282208054919290919082611c43600184612949565b81548110611c5357611c53612ae2565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b0316905080838581548110611c8f57611c8f612ae2565b905f5260205f2090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555082805480611cd657611cd6612af6565b5f8281526020902060045f199092019182040180546001600160401b03600860038516026101000a02191690559055611d10600183612949565b15611d30576001600160401b0381165f9081526012602052604090208490555b6001600160a01b0386165f81815260116020908152604082208054600180820183558285529284206004820401805460039092166008026101000a6001600160401b0381810219909316928c1602919091179055929091529054611d949190612949565b6001600160401b039095165f90815260126020526040902094909455505050505050565b80826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115e291815260200190565b80545f908290611e5590600190612949565b81548110611e6557611e65612ae2565b5f918252602080832060048304015460039092166008026101000a9091046001600160401b0316808352600f8252604080842080546001600160a01b0319908116909155600e90935290922080549091166001600160a01b0386161790558254909150829080611ed757611ed7612af6565b5f828152602080822060045f1990940184810490910180546001600160401b0360086003808616820261010090810a840219909416909455939097556001600160a01b038a16808652601185526040862080546001818101835582895296882098810490980180548b8b169990951690950290920a968702969097021990911694909417905592905254611f6b9190612949565b6001600160401b0382165f818152601260205260409020919091556114189085908590611db8565b600b805467ffffffffffffffff19811660016001600160401b03928316810183169182179093555f818152600e6020908152604080832080546001600160a01b0319166001600160a01b03891690811790915583526011808352818420805486865260128552928520839055908352958101865594825281206004850401805460039095166008026101000a938402199094169282029290921790925561203b908383611db8565b919050565b805f0361204b575050565b8060010361205c57610e0382611f93565b600b546001600160a01b0383165f908152601160205260408120546001600160401b0390921691905b838110156121245760019283016001600160401b038181165f818152600e6020908152604080832080546001600160a01b0319166001600160a01b038d1690811790915560128352818420899055835260118252822080549889018155825281206004880401805460039098166008026101000a9384021990971692820292909217909555909361211891908790611db8565b60019182019101612085565b5050600b805467ffffffffffffffff1981166001600160401b039182169490940116929092179091555050565b6001600160e01b031981168114610cc6575f80fd5b5f60208284031215612176575f80fd5b8135610b9f81612151565b5f5b8381101561219b578181015183820152602001612183565b50505f910152565b5f81518084526121ba816020860160208601612181565b601f01601f19169290920160200192915050565b602081525f610b9f60208301846121a3565b5f602082840312156121f0575f80fd5b5035919050565b80356001600160a01b038116811461203b575f80fd5b5f806040838503121561221e575f80fd5b612227836121f7565b946020939093013593505050565b5f60208284031215612245575f80fd5b610b9f826121f7565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561228a5761228a61224e565b604052919050565b5f6001600160401b038211156122aa576122aa61224e565b50601f01601f191660200190565b5f6122ca6122c584612292565b612262565b90508281528383830111156122dd575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112612302575f80fd5b610b9f838335602085016122b8565b5f805f8060808587031215612324575f80fd5b61232d856121f7565b935061233b602086016121f7565b92506040850135915060608501356001600160401b0381111561235c575f80fd5b612368878288016122f3565b91505092959194509250565b5f805f60608486031215612386575f80fd5b61238f846121f7565b925061239d602085016121f7565b9150604084013590509250925092565b5f602082840312156123bd575f80fd5b81356001600160401b038111156123d2575f80fd5b611bfa848285016122f3565b5f602082840312156123ee575f80fd5b81356001600160401b03811115612403575f80fd5b8201601f81018413612413575f80fd5b611bfa848235602084016122b8565b5f6020808385031215612433575f80fd5b82356001600160401b0380821115612449575f80fd5b818501915085601f83011261245c575f80fd5b81358181111561246e5761246e61224e565b8060051b915061247f848301612262565b8181529183018401918481019088841115612498575f80fd5b938501935b838510156124b65784358252938501939085019061249d565b98975050505050505050565b8035801515811461203b575f80fd5b5f602082840312156124e1575f80fd5b610b9f826124c2565b602080825282518282018190525f9190848201906040850190845b8181101561252a5783516001600160401b031683529284019291840191600101612505565b50909695505050505050565b5f8060408385031215612547575f80fd5b612550836121f7565b915061255e602084016124c2565b90509250929050565b5f8060408385031215612578575f80fd5b612581836121f7565b915061255e602084016121f7565b600181811c908216806125a357607f821691505b6020821081036125c157634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601e908201527f453734313a20596f7520646f6e27742068617665207468652072696768740000604082015260600190565b6020808252601190820152702737ba103a3432903232bb32b637b832b960791b604082015260600190565b5f60208284031215612639575f80fd5b8151610b9f81612151565b5f82601f830112612653575f80fd5b81516126616122c582612292565b818152846020838601011115612675575f80fd5b611bfa826020830160208701612181565b5f805f805f8060c0878903121561269b575f80fd5b86516001600160401b03808211156126b1575f80fd5b6126bd8a838b01612644565b975060208901519150808211156126d2575f80fd5b6126de8a838b01612644565b96506040890151955060608901519150808211156126fa575f80fd5b6127068a838b01612644565b9450608089015191508082111561271b575f80fd5b5061272889828a01612644565b92505060a087015190509295509295509295565b601f821115610e0357805f5260205f20601f840160051c810160208510156127615750805b601f840160051c820191505b81811015612780575f815560010161276d565b5050505050565b81516001600160401b038111156127a0576127a061224e565b6127b4816127ae845461258f565b8461273c565b602080601f8311600181146127e7575f84156127d05750858301515b5f19600386901b1c1916600185901b17855561283e565b5f85815260208120601f198616915b82811015612815578886015182559484019460019091019084016127f6565b508582101561283257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561289457815f190482111561287a5761287a612846565b8085161561288757918102915b93841c939080029061285f565b509250929050565b5f826128aa575060016108bc565b816128b657505f6108bc565b8160018114610a5757600281036128e35760ff8411156128d8576128d8612846565b50506001821b6108bc565b5060208310610133831016604e8410600b8410161715612906575081810a6108bc565b612910838361285a565b805f190482111561292357612923612846565b029392505050565b5f610b9f838361289c565b808201808211156108bc576108bc612846565b818103818111156108bc576108bc612846565b6001600160401b0382811682821603908082111561297c5761297c612846565b5092915050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906129b5908301846121a3565b9695505050505050565b5f81546129cb8161258f565b600182811680156129e357600181146129f857612a24565b60ff1984168752821515830287019450612a24565b855f526020805f205f5b85811015612a1b5781548a820152908401908201612a02565b50505082870194505b5050505092915050565b5f612a3982866129bf565b8451612a49818360208901612181565b612a55818301866129bf565b979650505050505050565b80820281158282048414176108bc576108bc612846565b634e487b7160e01b5f52601260045260245ffd5b5f82612a9957612a99612a77565b500690565b5f82612aac57612aac612a77565b500490565b5f60018201612ac257612ac2612846565b5060010190565b60ff81811683821601908111156108bc576108bc612846565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220259e0b2751dcfa8eb7c8c97871188823918458da3ccd8ad16b22cd269149b40164736f6c63430008180033