Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 115525272 | 959 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Heuristics suggest this may be a proxy contract. Verify using the Proxy Contract Checker
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"Access_MissingRoleOrAdmin","type":"error"},{"inputs":[],"name":"Access_OnlyAdmin","type":"error"},{"inputs":[],"name":"Access_WithdrawNotAllowed","type":"error"},{"inputs":[{"internalType":"address","name":"proposedAddress","type":"address"}],"name":"Admin_InvalidUpgradeAddress","type":"error"},{"inputs":[],"name":"Admin_UnableToFinalizeNotOpenEdition","type":"error"},{"inputs":[],"name":"ExternalMetadataRenderer_CallFailed","type":"error"},{"inputs":[],"name":"FeePaymentFailed","type":"error"},{"inputs":[],"name":"MarketFilterAddressNotSupportedForChain","type":"error"},{"inputs":[],"name":"MarketFilterDAOAddressNotSupportedForChain","type":"error"},{"inputs":[],"name":"MintFee_FundsSendFailure","type":"error"},{"inputs":[],"name":"Mint_SoldOut","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"OperatorNotAllowed","type":"error"},{"inputs":[],"name":"Presale_Inactive","type":"error"},{"inputs":[],"name":"Presale_MerkleNotApproved","type":"error"},{"inputs":[],"name":"Presale_TooManyForAddress","type":"error"},{"inputs":[],"name":"Purchase_TooManyForAddress","type":"error"},{"inputs":[{"internalType":"uint256","name":"correctPrice","type":"uint256"}],"name":"Purchase_WrongPrice","type":"error"},{"inputs":[],"name":"RemoteOperatorFilterRegistryCallFailed","type":"error"},{"inputs":[],"name":"Sale_Inactive","type":"error"},{"inputs":[{"internalType":"uint16","name":"maxRoyaltyBPS","type":"uint16"}],"name":"Setup_RoyaltyPercentageTooHigh","type":"error"},{"inputs":[],"name":"Withdraw_FundsSendFailure","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"source","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FundsReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"changedBy","type":"address"}],"name":"FundsRecipientChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"withdrawnBy","type":"address"},{"indexed":true,"internalType":"address","name":"withdrawnTo","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FundsWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"mintFeeAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"mintFeeRecipient","type":"address"},{"indexed":false,"internalType":"bool","name":"success","type":"bool"}],"name":"MintFeePayout","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"numberOfMints","type":"uint256"}],"name":"OpenMintFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"quantity","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"pricePerToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"firstPurchasedTokenId","type":"uint256"}],"name":"Sale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"changedBy","type":"address"}],"name":"SalesConfigChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"contract IMetadataRenderer","name":"renderer","type":"address"}],"name":"UpdatedMetadataRenderer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"HOLOGRAPH_MINT_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"adminMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"}],"name":"adminMintAirdrop","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"beforeSafeTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"beforeTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"config","outputs":[{"internalType":"contract IMetadataRenderer","name":"metadataRenderer","type":"address"},{"internalType":"uint64","name":"editionSize","type":"uint64"},{"internalType":"uint16","name":"royaltyBPS","type":"uint16"},{"internalType":"address payable","name":"fundsRecipient","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dropsPriceOracle","outputs":[{"internalType":"contract IDropsPriceOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"erc721TransferHelper","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeOpenEdition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"getHolographFeeUsd","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"getHolographFeeWei","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNativePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"initPayload","type":"bytes"}],"name":"init","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"manageMarketFilterSubscription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketFilterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataRenderer","outputs":[{"internalType":"contract IMetadataRenderer","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"}],"name":"mintedPerAddress","outputs":[{"components":[{"internalType":"uint256","name":"totalMints","type":"uint256"},{"internalType":"uint256","name":"presaleMints","type":"uint256"},{"internalType":"uint256","name":"publicMints","type":"uint256"}],"internalType":"struct AddressMintDetails","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketFilterAddress","type":"address"}],"name":"modifyMarketFilterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"multicall","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"onIsApprovedForAll","outputs":[{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openseaOperatorFilterRegistry","outputs":[{"internalType":"contract IOperatorFilterRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"presaleMintsByAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"purchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"pricePerToken","type":"uint256"},{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"purchasePresale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"saleDetails","outputs":[{"components":[{"internalType":"bool","name":"publicSaleActive","type":"bool"},{"internalType":"bool","name":"presaleActive","type":"bool"},{"internalType":"uint256","name":"publicSalePrice","type":"uint256"},{"internalType":"uint64","name":"publicSaleStart","type":"uint64"},{"internalType":"uint64","name":"publicSaleEnd","type":"uint64"},{"internalType":"uint64","name":"presaleStart","type":"uint64"},{"internalType":"uint64","name":"presaleEnd","type":"uint64"},{"internalType":"bytes32","name":"presaleMerkleRoot","type":"bytes32"},{"internalType":"uint256","name":"maxSalePurchasePerAddress","type":"uint256"},{"internalType":"uint256","name":"totalMinted","type":"uint256"},{"internalType":"uint256","name":"maxSupply","type":"uint256"}],"internalType":"struct SaleDetails","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"salesConfig","outputs":[{"internalType":"uint104","name":"publicSalePrice","type":"uint104"},{"internalType":"uint32","name":"maxSalePurchasePerAddress","type":"uint32"},{"internalType":"uint64","name":"publicSaleStart","type":"uint64"},{"internalType":"uint64","name":"publicSaleEnd","type":"uint64"},{"internalType":"uint64","name":"presaleStart","type":"uint64"},{"internalType":"uint64","name":"presaleEnd","type":"uint64"},{"internalType":"bytes32","name":"presaleMerkleRoot","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newRecipientAddress","type":"address"}],"name":"setFundsRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IMetadataRenderer","name":"newRenderer","type":"address"},{"internalType":"bytes","name":"setupRenderer","type":"bytes"}],"name":"setMetadataRenderer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint104","name":"publicSalePrice","type":"uint104"},{"internalType":"uint32","name":"maxSalePurchasePerAddress","type":"uint32"},{"internalType":"uint64","name":"publicSaleStart","type":"uint64"},{"internalType":"uint64","name":"publicSaleEnd","type":"uint64"},{"internalType":"uint64","name":"presaleStart","type":"uint64"},{"internalType":"uint64","name":"presaleEnd","type":"uint64"},{"internalType":"bytes32","name":"presaleMerkleRoot","type":"bytes32"}],"name":"setSaleConfiguration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","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":"","type":"address"}],"name":"totalMintsByAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"args","type":"bytes"}],"name":"updateMarketFilterSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561001057600080fd5b5061587480620000216000396000f3fe6080604052600436106102ca5760003560e01c80637031997011610179578063ac9650d8116100d6578063e58306f91161008a578063f7cd1d9b11610064578063f7cd1d9b14610a55578063fd82d2a814610a82578063ffdb716314610aa257610328565b8063e58306f914610a0d578063e8a3d48514610a2d578063efef39a114610a4257610328565b8063bb20d857116100bb578063bb20d8571461098b578063c87b56dd146109ab578063d445b978146109cb57610328565b8063ac9650d81461093e578063b8ae5a2c1461096b57610328565b80638da5cb5b1161012d5780639123f01e116101125780639123f01e146108da5780639af1135f14610907578063a15278f31461092757610328565b80638da5cb5b146108b05780638f32d59b146108c557610328565b806384816f2a1161015e57806384816f2a146108485780638a1968de146108685780638cb163f41461088857610328565b8063703199701461075457806379502c551461077f57610328565b80632f0ae5fa116102275780633ccfd60b116101db5780634ddf47d4116101c05780634ddf47d41461069057806354fd4d50146106e157806361fea7681461072757610328565b80633ccfd60b1461066657806341e96eb11461067b57610328565b8063343b278f1161020c578063343b278f146105b75780633474a4a6146106245780633bcdcc871461064657610328565b80632f0ae5fa146105d75780632f54bf6e1461060457610328565b80631d2c0b381161027e57806324d7806c1161026357806324d7806c1461058457806325024a2b146105a45780632ca16676146105b757610328565b80631d2c0b38146104515780632078d35f1461053d57610328565b806306fdde03116102af57806306fdde03146103ea57806310a7eb5d1461040c57806317430c9e1461042e57610328565b8063015eaa7a1461035357806301ffc9a71461038857610328565b36610328576102d7610ac2565b73ffffffffffffffffffffffffffffffffffffffff167f8e47b87b0ef542cdfa1659c551d88bad38aa7f452d2bbb349ab7530dfec8be8f3460405161031e91815260200190565b60405180910390a2005b6040517f46756e6374696f6e206e6f7420666f756e6400000000000000000000000000008152601481fd5b34801561035f57600080fd5b5061037361036e366004614b19565b610b20565b60405190151581526020015b60405180910390f35b34801561039457600080fd5b506103736103a3366004614b52565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1a95c452000000000000000000000000000000000000000000000000000000001490565b3480156103f657600080fd5b506103ff610b6b565b60405161037f9190614c0e565b34801561041857600080fd5b5061042c610427366004614c21565b610c2a565b005b34801561043a57600080fd5b50610443610e33565b60405190815260200161037f565b34801561045d57600080fd5b506005546006546007546104e4926cffffffffffffffffffffffffff8116926d0100000000000000000000000000820463ffffffff16927101000000000000000000000000000000000090920467ffffffffffffffff9081169281831692680100000000000000008104831692700100000000000000000000000000000000909104169087565b604080516cffffffffffffffffffffffffff909816885263ffffffff909616602088015267ffffffffffffffff948516958701959095529183166060860152821660808501521660a083015260c082015260e00161037f565b34801561054957600080fd5b5061055f6daaeb6d7670e522a718067333cd4e81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037f565b34801561059057600080fd5b5061037361059f366004614c21565b610e51565b6104436105b2366004614c8a565b610eaf565b3480156105c357600080fd5b506103736105d2366004614d2d565b61148d565b3480156105e357600080fd5b5060025461055f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561061057600080fd5b5061037361061f366004614c21565b611649565b34801561063057600080fd5b506106396116a8565b60405161037f9190614d8f565b34801561065257600080fd5b5061042c610661366004614f9e565b611813565b34801561067257600080fd5b5061042c6119f8565b34801561068757600080fd5b5061042c611d09565b34801561069c57600080fd5b506106b06106ab366004614fee565b611ef4565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161037f565b3480156106ed57600080fd5b5060408051808201909152600581527f312e302e3000000000000000000000000000000000000000000000000000000060208201526103ff565b34801561073357600080fd5b50610443610742366004614c21565b60086020526000908152604090205481565b34801561076057600080fd5b5060035473ffffffffffffffffffffffffffffffffffffffff1661055f565b34801561078b57600080fd5b506003546004546107fb9173ffffffffffffffffffffffffffffffffffffffff8082169274010000000000000000000000000000000000000000830467ffffffffffffffff16927c0100000000000000000000000000000000000000000000000000000000900461ffff16911684565b6040805173ffffffffffffffffffffffffffffffffffffffff958616815267ffffffffffffffff909416602085015261ffff9092169183019190915291909116606082015260800161037f565b34801561085457600080fd5b5061042c610863366004614c21565b61271e565b34801561087457600080fd5b5061042c610883366004615031565b612822565b34801561089457600080fd5b5061055f73ea7f4c52cbd4cf1036cdca8b16aca11f5b09cf6e81565b3480156108bc57600080fd5b5061055f612e6c565b3480156108d157600080fd5b50610373612e96565b3480156108e657600080fd5b506104436108f5366004614c21565b60096020526000908152604090205481565b34801561091357600080fd5b5061044361092236600461504e565b612efa565b34801561093357600080fd5b50610443620f424081565b34801561094a57600080fd5b5061095e610959366004615067565b612f17565b60405161037f919061512a565b34801561097757600080fd5b506104436109863660046151aa565b612ff6565b34801561099757600080fd5b5061042c6109a63660046151ec565b6131e4565b3480156109b757600080fd5b506103ff6109c636600461504e565b6133e4565b3480156109d757600080fd5b506109eb6109e6366004614c21565b6135bd565b604080518251815260208084015190820152918101519082015260600161037f565b348015610a1957600080fd5b50610443610a28366004615222565b613642565b348015610a3957600080fd5b506103ff6137f5565b610443610a5036600461504e565b613865565b348015610a6157600080fd5b5060015461055f9073ffffffffffffffffffffffffffffffffffffffff1681565b348015610a8e57600080fd5b50610443610a9d36600461504e565b613dd5565b348015610aae57600080fd5b5061042c610abd366004615291565b613de4565b60007fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd54331460008114610b195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013590565b3391505090565b60015460009073ffffffffffffffffffffffffffffffffffffffff1615801590610b64575060015473ffffffffffffffffffffffffffffffffffffffff8381169116145b9392505050565b6060610b957fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b73ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610bdf573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610c25919081019061534e565b905090565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16610c6a610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614610cec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610d8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f46756e647320526563697069656e742063616e6e6f742062652030206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610ce3565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610dd7610ac2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f70a7ea5c664ab9c21baf3da59bb2f1e1ca33557b08a0031fab4f17076744995160405160405180910390a350565b600554600090610c25906cffffffffffffffffffffffffff16614012565b60008173ffffffffffffffffffffffffffffffffffffffff16610e927fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff161492915050565b6000610ed97f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a31372795490565b600203610f42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f484f4c4f47524150483a207265656e7472616e742063616c6c000000000000006044820152606401610ce3565b610f6b60027f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b600354869074010000000000000000000000000000000000000000900467ffffffffffffffff1615801590610fef57506003546000547401000000000000000000000000000000000000000090910467ffffffffffffffff1690610fed907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16836153c6565b115b15611026576040517f717c513000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102e6140b1565b611064576040517f95ed3c1a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f28484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060075491506110a79050610ac2565b6040805173ffffffffffffffffffffffffffffffffffffffff909216602083015281018a90526060810189905260800160405160208183030381529060405280519060200120614100565b611128576040517f85b70e5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061113386614012565b905061113f88826153de565b3410156111855761115088876153de565b6040517f6a1c179e000000000000000000000000000000000000000000000000000000008152600401610ce391815260200190565b600061119189836153de565b61119b903461541b565b905088600860006111aa610ac2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111f391906153c6565b9091555088905060086000611206610ac2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611279576040517fa7b32bb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61128a611284610ac2565b8a614116565b611293896144ed565b60006112bd7fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b905060008173ffffffffffffffffffffffffffffffffffffffff166377dbd8636040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113309190615432565b6000805491925090611361908d907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661541b565b61136b90836153c6565b6113769060016153c6565b9050848c611382610ac2565b73ffffffffffffffffffffffffffffffffffffffff167f4e26b0356a15833a75d497ecc40ebbb716b99466ed0dba9454f1fff451e25a90846040516113c991815260200190565b60405180910390a48315611454576113df610ac2565b73ffffffffffffffffffffffffffffffffffffffff1684620334505a11611406575a61140b565b620334505b6040519091906000818181858888f193505050503d806000811461144b576040519150601f19603f3d011682016040523d82523d6000602084013e611450565b606091505b5050505b9550505050505061148460017f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff8616158015906114e757506114b7610ac2565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b1561163d577f5c835f3b6bd322d9a084ffdeac746df2b96cce308e7f0612f4ff4f9c490734cc54801561163b576daaeb6d7670e522a718067333cd4e63c617113430611531610ac2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401602060405180830381865afa9250505080156115db575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526115d891810190615456565b60015b611632576115e7610ac2565b6040517fede71dcc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610ce3565b91506114849050565b505b50600195945050505050565b60006116737fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091526040518061016001604052806117156146fe565b151581526020016117246140b1565b151581526005546cffffffffffffffffffffffffff8116602083015271010000000000000000000000000000000000810467ffffffffffffffff90811660408401526006548082166060850152680100000000000000008104821660808501527001000000000000000000000000000000009004811660a084015260075460c08401526d010000000000000000000000000090910463ffffffff1660e08301526000547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166101008301526003547401000000000000000000000000000000000000000090041661012090910152919050565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16611853610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146118d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580511561199c576040517f856a7ffa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063856a7ffa90611969908490600401614c0e565b600060405180830381600087803b15801561198357600080fd5b505af1158015611997573d6000803e3d6000fd5b505050505b7f046c5d913c35948c3e0e44c3599eb14bf33b73f141fa8bb282b300414998b8686119c5610ac2565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291851660208301520160405180910390a15050565b7f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727954600203611a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f484f4c4f47524150483a207265656e7472616e742063616c6c000000000000006044820152606401610ce3565b611aac60027f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b60045473ffffffffffffffffffffffffffffffffffffffff16611b2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f46756e647320526563697069656e742061646472657373206e6f7420736574006044820152606401610ce3565b6000611b35610ac2565b600454909150479073ffffffffffffffffffffffffffffffffffffffff808416911614801590611bb257507fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611be9576040517f1dab829b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045460405160009173ffffffffffffffffffffffffffffffffffffffff16906203345090849084818181858888f193505050503d8060008114611c49576040519150601f19603f3d011682016040523d82523d6000602084013e611c4e565b606091505b5050905080611c89576040517f39debd5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045460405183815273ffffffffffffffffffffffffffffffffffffffff918216918516907fa92ff919b850e4909ab2261d907ef955f11bc1716733a6cbece38d163a69af8a9060200160405180910390a3505050611d0760017f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16611d49610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614611dc6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b60035474010000000000000000000000000000000000000000900467ffffffffffffffff90811614611e24576040517fe742c08400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546003805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055611e80610ac2565b6003546040517401000000000000000000000000000000000000000090910467ffffffffffffffff16815273ffffffffffffffffffffffffffffffffffffffff91909116907fb6cc1e876b8d7479c8afe025a58658b0f3c3ec5bd0f28cb4261326b162069bf89060200160405180910390a2565b6000611f1e7f4e5f991bca30eca2d4643aaefa807e88f96a4a97398933d572a3c0d973004a015490565b15611f85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f484f4c4f47524150483a20616c726561647920696e697469616c697a656400006044820152606401610ce3565b600082806020019051810190611f9b9190615571565b8051600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92831617905560208201519192501615612036576020810151600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b61206281604001517fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf77277755565b337fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5560408051608080820183526101008401805173ffffffffffffffffffffffffffffffffffffffff9081168085528684015167ffffffffffffffff908116602080880182905260a0808b015161ffff16898b018190526060808d015188169a81018b9052600380547c01000000000000000000000000000000000000000000000000000000009093027fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff740100000000000000000000000000000000000000009097027fffffffff00000000000000000000000000000000000000000000000000000000909416909817929092179490941695909517909455600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001690981790975560e0890151805160058054998301519a830151851671010000000000000000000000000000000000027fffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffff63ffffffff909c166d0100000000000000000000000000027fffffffffffffffffffffffffffffff0000000000000000000000000000000000909b166cffffffffffffffffffffffffff90931692909217999099179990991698909817909655948601516006805495880151928801518716700100000000000000000000000000000000027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff93881668010000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909716929097169190911794909417169390931790915560c09092015160075590511615612380576101008101516101208201516040517f856a7ffa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169163856a7ffa9161234d91600401614c0e565b600060405180830381600087803b15801561236757600080fd5b505af115801561237b573d6000803e3d6000fd5b505050505b8060c00151801561239f57506daaeb6d7670e522a718067333cd4e3b15155b156126ec5760025473ffffffffffffffffffffffffffffffffffffffff16612541577fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5473ffffffffffffffffffffffffffffffffffffffff1663a9fb6c726daaeb6d7670e522a718067333cd4e7f4420e486000000000000000000000000000000000000000000000000000000006124567fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b60405173ffffffffffffffffffffffffffffffffffffffff9091166024820152604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b909216825261250a929160040161567d565b600060405180830381600087803b15801561252457600080fd5b505af1158015612538573d6000803e3d6000fd5b505050506126c7565b7fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5473ffffffffffffffffffffffffffffffffffffffff1663a9fb6c726daaeb6d7670e522a718067333cd4e7f7d3e3dbe000000000000000000000000000000000000000000000000000000006125d67fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b60025460405173ffffffffffffffffffffffffffffffffffffffff928316602482015291166044820152606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252612694929160040161567d565b600060405180830381600087803b1580156126ae57600080fd5b505af11580156126c2573d6000803e3d6000fd5b505050505b60017f5c835f3b6bd322d9a084ffdeac746df2b96cce308e7f0612f4ff4f9c490734cc555b61271560017f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b610b6483614743565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff1661275e610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146127db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16612862610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146128df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b60006129097fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b60025490915073ffffffffffffffffffffffffffffffffffffffff1661295b576040517f707ff7e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fc3c5a54700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526daaeb6d7670e522a718067333cd4e9063c3c5a547906024016020604051808303816000875af11580156129d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f99190615456565b158015612a035750815b15612b385760025460405173ffffffffffffffffffffffffffffffffffffffff838116602483018190529216604482015263a9fb6c72906daaeb6d7670e522a718067333cd4e907f7d3e3dbe00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252612b01929160040161567d565b600060405180830381600087803b158015612b1b57600080fd5b505af1158015612b2f573d6000803e3d6000fd5b50505050612da3565b8115612baa5760025460405173ffffffffffffffffffffffffffffffffffffffff838116602483018190529216604482015263a9fb6c72906daaeb6d7670e522a718067333cd4e907fb314d4140000000000000000000000000000000000000000000000000000000090606401612a70565b6040805173ffffffffffffffffffffffffffffffffffffffff831660248201819052600060448084019190915283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f34a0dc100000000000000000000000000000000000000000000000000000000017905291517fa9fb6c7200000000000000000000000000000000000000000000000000000000815263a9fb6c7291612c78916daaeb6d7670e522a718067333cd4e919060040161567d565b600060405180830381600087803b158015612c9257600080fd5b505af1158015612ca6573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8516602480830182905283518084039091018152604490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2ec2c2460000000000000000000000000000000000000000000000000000000017905291517fa9fb6c7200000000000000000000000000000000000000000000000000000000815291935063a9fb6c729250612d70916daaeb6d7670e522a718067333cd4e919060040161567d565b600060405180830381600087803b158015612d8a57600080fd5b505af1158015612d9e573d6000803e3d6000fd5b505050505b6040517fc3c5a54700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526000906daaeb6d7670e522a718067333cd4e9063c3c5a547906024015b6020604051808303816000875af1158015612e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e459190615456565b7f5c835f3b6bd322d9a084ffdeac746df2b96cce308e7f0612f4ff4f9c490734cc55505050565b6000610c257fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b6000612ec07fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff16612ede610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000612f11612f0c83620f42406153de565b614012565b92915050565b6060815167ffffffffffffffff811115612f3357612f33614e5a565b604051908082528060200260200182016040528015612f6657816020015b6060815260200190600190039081612f515790505b50905060005b8251811015612ff057612fc030848381518110612f8b57612f8b6156ac565b6020026020010151612f9b610ac2565b604051602001612fac9291906156db565b6040516020818303038152906040526148ea565b828281518110612fd257612fd26156ac565b60200260200101819052508080612fe890615725565b915050612f6c565b50919050565b60006130207fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff1661303e610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146130bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600354829074010000000000000000000000000000000000000000900467ffffffffffffffff161580159061313f57506003546000547401000000000000000000000000000000000000000090910467ffffffffffffffff169061313d907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16836153c6565b115b15613176576040517f717c513000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b838110156131ba576131b2858583818110613196576131966156ac565b90506020020160208101906131ab9190614c21565b6001614116565b600101613179565b50506000547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16613224610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146132a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b7fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5473ffffffffffffffffffffffffffffffffffffffff1663a9fb6c726daaeb6d7670e522a718067333cd4e84846040518463ffffffff1660e01b815260040161330d9392919061575d565b600060405180830381600087803b15801561332757600080fd5b505af115801561333b573d6000803e3d6000fd5b5050505060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c3c5a5476133937fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401612e02565b606060006134107fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b6040517f4f558e790000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690634f558e7990602401602060405180830381865afa15801561347e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134a29190615456565b613508576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20646f6573206e6f74206578697374000000006044820152606401610ce3565b6003546040517fc87b56dd0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169063c87b56dd90602401600060405180830381865afa158015613577573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b64919081019061534e565b6135e160405180606001604052806000815260200160008152602001600081525090565b6040805160608101825273ffffffffffffffffffffffffffffffffffffffff84166000818152600960208181528583205480865284845260088252868420548287018190529490935252919283019161363a919061541b565b905292915050565b600061366c7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff1661368a610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614613707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600354829074010000000000000000000000000000000000000000900467ffffffffffffffff161580159061378b57506003546000547401000000000000000000000000000000000000000090910467ffffffffffffffff1690613789907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16836153c6565b115b156137c2576040517f717c513000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6137cc8484614116565b50506000547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b600354604080517fe8a3d485000000000000000000000000000000000000000000000000000000008152905160609273ffffffffffffffffffffffffffffffffffffffff169163e8a3d4859160048083019260009291908290030181865afa158015610bdf573d6000803e3d6000fd5b600061388f7f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a31372795490565b6002036138f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f484f4c4f47524150483a207265656e7472616e742063616c6c000000000000006044820152606401610ce3565b61392160027f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b600354829074010000000000000000000000000000000000000000900467ffffffffffffffff16158015906139a557506003546000547401000000000000000000000000000000000000000090910467ffffffffffffffff16906139a3907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16836153c6565b115b156139dc576040517f717c513000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139e46146fe565b613a1a576040517ff12dcc7f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600554600090613a38906cffffffffffffffffffffffffff16614012565b90506000613a48620f4240614012565b905084613a5582846153c6565b613a5f91906153de565b341015613a92576005548590613a8890620f4240906cffffffffffffffffffffffffff166153c6565b61115091906153de565b6000613a9e86846153de565b613aa8903461541b565b6005549091506d0100000000000000000000000000900463ffffffff1615801590613b8d57506005546d0100000000000000000000000000900463ffffffff1660086000613af4610ac2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548760096000613b3c610ac2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b8191906153c6565b613b8b919061541b565b115b15613bc4576040517f220ae94c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613bd5613bcf610ac2565b87614116565b613bde866144ed565b6000613c087fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b905060008173ffffffffffffffffffffffffffffffffffffffff166377dbd8636040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c7b9190615432565b6000805491925090613cac908a907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661541b565b613cb690836153c6565b613cc19060016153c6565b90508589613ccd610ac2565b73ffffffffffffffffffffffffffffffffffffffff167f4e26b0356a15833a75d497ecc40ebbb716b99466ed0dba9454f1fff451e25a9084604051613d1491815260200190565b60405180910390a48315613d9f57613d2a610ac2565b73ffffffffffffffffffffffffffffffffffffffff1684620334505a11613d51575a613d56565b620334505b6040519091906000818181858888f193505050503d8060008114613d96576040519150601f19603f3d011682016040523d82523d6000602084013e613d9b565b606091505b5050505b9650505050505050613dd060017f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b919050565b6000612f1182620f42406153de565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16613e24610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614613ea1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600580546cffffffffffffffffffffffffff89167fffffffffffffffffffffffffffffff0000000000000000000000000000000000909116176d010000000000000000000000000063ffffffff891602177fffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000067ffffffffffffffff8881169190910291909117909155600680548683167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116176801000000000000000086841602177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16700100000000000000000000000000000000928516929092029190911790556007819055613fc7610ac2565b73ffffffffffffffffffffffffffffffffffffffff167fc1ff5e4744ac8dd2b8027a10e3723b165975297501c71c4e7dcb8796d96375db60405160405180910390a250505050505050565b60008160000361402457506000919050565b6040517ff5d781610000000000000000000000000000000000000000000000000000000081526004810183905273ea7f4c52cbd4cf1036cdca8b16aca11f5b09cf6e9063f5d7816190602401602060405180830381865afa15801561408d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f119190615432565b600654600090426801000000000000000090910467ffffffffffffffff1611801590610c255750506006544270010000000000000000000000000000000090910467ffffffffffffffff161190565b60008261410d858461490f565b14949350505050565b60006141407fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b905060008173ffffffffffffffffffffffffffffffffffffffff166377dbd8636040518163ffffffff1660e01b8152600401602060405180830381865afa15801561418f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b39190615432565b90506000805b848110156144e557600080546001919081906141f49084907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166157c7565b92506101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055505b60005473ffffffffffffffffffffffffffffffffffffffff851690634f558e799061428c907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16866153c6565b6040518263ffffffff1660e01b81526004016142aa91815260200190565b602060405180830381865afa1580156142c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142eb9190615456565b80614399575060005473ffffffffffffffffffffffffffffffffffffffff8516906323250cae9061433a907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16866153c6565b6040518263ffffffff1660e01b815260040161435891815260200190565b602060405180830381865afa158015614375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143999190615456565b1561442457600080546001919081906143d19084907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166157c7565b92506101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550614243565b6000546040517f3b4f1b2600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90921660248201819052935090851690633b4f1b2690604401600060405180830381600087803b1580156144ba57600080fd5b505af11580156144ce573d6000803e3d6000fd5b5050505080806144dd90615725565b9150506141b9565b505050505050565b60006144f882612efa565b905060006145247fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b73ffffffffffffffffffffffffffffffffffffffff16634827ae0c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561456e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145929190615807565b73ffffffffffffffffffffffffffffffffffffffff16633b19e84a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156145dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146009190615807565b905060008173ffffffffffffffffffffffffffffffffffffffff16836203345090604051600060405180830381858888f193505050503d8060008114614662576040519150601f19603f3d011682016040523d82523d6000602084013e614667565b606091505b50509050806146a2576040517ff0e492a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805184815273ffffffffffffffffffffffffffffffffffffffff841660208201528215158183015290517f6f8da53cfedb8cc4f7935c3629624e50b63053c93bb2cad246aa4d3a2ba7d4ce9181900360600190a150505050565b600554600090427101000000000000000000000000000000000090910467ffffffffffffffff1611801590610c255750506006544267ffffffffffffffff9091161190565b600061476d7f4e5f991bca30eca2d4643aaefa807e88f96a4a97398933d572a3c0d973004a015490565b156147d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a20616c726561647920696e697469616c697a656400000000006044820152606401610ce3565b337fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd8190557fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff8116614898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f484f4c4f47524150483a206f776e6572206e6f742073657400000000000000006044820152606401610ce3565b6148c160017f4e5f991bca30eca2d4643aaefa807e88f96a4a97398933d572a3c0d973004a0155565b507f4ddf47d4000000000000000000000000000000000000000000000000000000009392505050565b6060610b64838360405180606001604052806027815260200161584160279139614983565b600081815b845181101561497b576000858281518110614931576149316156ac565b602002602001015190508083116149575760008381526020829052604090209250614968565b600081815260208490526040902092505b508061497381615725565b915050614914565b509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516149ad9190615824565b600060405180830381855af49150503d80600081146149e8576040519150601f19603f3d011682016040523d82523d6000602084013e6149ed565b606091505b50915091506149fe86838387614a08565b9695505050505050565b60608315614a9e578251600003614a975773ffffffffffffffffffffffffffffffffffffffff85163b614a97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ce3565b5081614aa8565b614aa88383614ab0565b949350505050565b815115614ac05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce39190614c0e565b73ffffffffffffffffffffffffffffffffffffffff81168114614b1657600080fd5b50565b60008060408385031215614b2c57600080fd5b8235614b3781614af4565b91506020830135614b4781614af4565b809150509250929050565b600060208284031215614b6457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b6457600080fd5b60005b83811015614baf578181015183820152602001614b97565b83811115614bbe576000848401525b50505050565b60008151808452614bdc816020860160208601614b94565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b646020830184614bc4565b600060208284031215614c3357600080fd5b8135610b6481614af4565b60008083601f840112614c5057600080fd5b50813567ffffffffffffffff811115614c6857600080fd5b6020830191508360208260051b8501011115614c8357600080fd5b9250929050565b600080600080600060808688031215614ca257600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614cce57600080fd5b614cda88828901614c3e565b969995985093965092949392505050565b60008083601f840112614cfd57600080fd5b50813567ffffffffffffffff811115614d1557600080fd5b602083019150836020828501011115614c8357600080fd5b600080600080600060808688031215614d4557600080fd5b8535614d5081614af4565b94506020860135614d6081614af4565b935060408601359250606086013567ffffffffffffffff811115614d8357600080fd5b614cda88828901614ceb565b81511515815261016081016020830151614dad602084018215159052565b50604083015160408301526060830151614dd3606084018267ffffffffffffffff169052565b506080830151614def608084018267ffffffffffffffff169052565b5060a0830151614e0b60a084018267ffffffffffffffff169052565b5060c0830151614e2760c084018267ffffffffffffffff169052565b5060e083810151908301526101008084015190830152610120808401519083015261014092830151929091019190915290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715614ead57614ead614e5a565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614efa57614efa614e5a565b604052919050565b600067ffffffffffffffff821115614f1c57614f1c614e5a565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614f5957600080fd5b8135614f6c614f6782614f02565b614eb3565b818152846020838601011115614f8157600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614fb157600080fd5b8235614fbc81614af4565b9150602083013567ffffffffffffffff811115614fd857600080fd5b614fe485828601614f48565b9150509250929050565b60006020828403121561500057600080fd5b813567ffffffffffffffff81111561501757600080fd5b614aa884828501614f48565b8015158114614b1657600080fd5b60006020828403121561504357600080fd5b8135610b6481615023565b60006020828403121561506057600080fd5b5035919050565b6000602080838503121561507a57600080fd5b823567ffffffffffffffff8082111561509257600080fd5b818501915085601f8301126150a657600080fd5b8135818111156150b8576150b8614e5a565b8060051b6150c7858201614eb3565b91825283810185019185810190898411156150e157600080fd5b86860192505b8383101561511d578235858111156150ff5760008081fd5b61510d8b89838a0101614f48565b83525091860191908601906150e7565b9998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561519d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261518b858351614bc4565b94509285019290850190600101615151565b5092979650505050505050565b600080602083850312156151bd57600080fd5b823567ffffffffffffffff8111156151d457600080fd5b6151e085828601614c3e565b90969095509350505050565b600080602083850312156151ff57600080fd5b823567ffffffffffffffff81111561521657600080fd5b6151e085828601614ceb565b6000806040838503121561523557600080fd5b823561524081614af4565b946020939093013593505050565b6cffffffffffffffffffffffffff81168114614b1657600080fd5b63ffffffff81168114614b1657600080fd5b67ffffffffffffffff81168114614b1657600080fd5b600080600080600080600060e0888a0312156152ac57600080fd5b87356152b78161524e565b965060208801356152c781615269565b955060408801356152d78161527b565b945060608801356152e78161527b565b935060808801356152f78161527b565b925060a08801356153078161527b565b8092505060c0880135905092959891949750929550565b600061532c614f6784614f02565b905082815283838301111561534057600080fd5b610b64836020830184614b94565b60006020828403121561536057600080fd5b815167ffffffffffffffff81111561537757600080fd5b8201601f8101841361538857600080fd5b614aa88482516020840161531e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156153d9576153d9615397565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561541657615416615397565b500290565b60008282101561542d5761542d615397565b500390565b60006020828403121561544457600080fd5b5051919050565b8051613dd081615023565b60006020828403121561546857600080fd5b8151610b6481615023565b8051613dd081614af4565b8051613dd08161527b565b805161ffff81168114613dd057600080fd5b600060e082840312156154ad57600080fd5b60405160e0810181811067ffffffffffffffff821117156154d0576154d0614e5a565b806040525080915082516154e38161524e565b815260208301516154f381615269565b602082015260408301516155068161527b565b604082015260608301516155198161527b565b606082015261552a6080840161547e565b608082015261553b60a0840161547e565b60a082015260c083015160c08201525092915050565b600082601f83011261556257600080fd5b610b648383516020850161531e565b60006020828403121561558357600080fd5b815167ffffffffffffffff8082111561559b57600080fd5b9083019061020082860312156155b057600080fd5b6155b8614e89565b6155c183615473565b81526155cf60208401615473565b60208201526155e060408401615473565b60408201526155f160608401615473565b60608201526156026080840161547e565b608082015261561360a08401615489565b60a082015261562460c0840161544b565b60c08201526156368660e0850161549b565b60e08201526156486101c08401615473565b6101008201526101e08301518281111561566157600080fd5b61566d87828601615551565b6101208301525095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000614aa86040830184614bc4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600083516156ed818460208801614b94565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361575657615756615397565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083168185168083038211156157fe576157fe615397565b01949350505050565b60006020828403121561581957600080fd5b8151610b6481614af4565b60008251615836818460208701614b94565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c634300080d000a
Deployed Bytecode
0x6080604052600436106102ca5760003560e01c80637031997011610179578063ac9650d8116100d6578063e58306f91161008a578063f7cd1d9b11610064578063f7cd1d9b14610a55578063fd82d2a814610a82578063ffdb716314610aa257610328565b8063e58306f914610a0d578063e8a3d48514610a2d578063efef39a114610a4257610328565b8063bb20d857116100bb578063bb20d8571461098b578063c87b56dd146109ab578063d445b978146109cb57610328565b8063ac9650d81461093e578063b8ae5a2c1461096b57610328565b80638da5cb5b1161012d5780639123f01e116101125780639123f01e146108da5780639af1135f14610907578063a15278f31461092757610328565b80638da5cb5b146108b05780638f32d59b146108c557610328565b806384816f2a1161015e57806384816f2a146108485780638a1968de146108685780638cb163f41461088857610328565b8063703199701461075457806379502c551461077f57610328565b80632f0ae5fa116102275780633ccfd60b116101db5780634ddf47d4116101c05780634ddf47d41461069057806354fd4d50146106e157806361fea7681461072757610328565b80633ccfd60b1461066657806341e96eb11461067b57610328565b8063343b278f1161020c578063343b278f146105b75780633474a4a6146106245780633bcdcc871461064657610328565b80632f0ae5fa146105d75780632f54bf6e1461060457610328565b80631d2c0b381161027e57806324d7806c1161026357806324d7806c1461058457806325024a2b146105a45780632ca16676146105b757610328565b80631d2c0b38146104515780632078d35f1461053d57610328565b806306fdde03116102af57806306fdde03146103ea57806310a7eb5d1461040c57806317430c9e1461042e57610328565b8063015eaa7a1461035357806301ffc9a71461038857610328565b36610328576102d7610ac2565b73ffffffffffffffffffffffffffffffffffffffff167f8e47b87b0ef542cdfa1659c551d88bad38aa7f452d2bbb349ab7530dfec8be8f3460405161031e91815260200190565b60405180910390a2005b6040517f46756e6374696f6e206e6f7420666f756e6400000000000000000000000000008152601481fd5b34801561035f57600080fd5b5061037361036e366004614b19565b610b20565b60405190151581526020015b60405180910390f35b34801561039457600080fd5b506103736103a3366004614b52565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1a95c452000000000000000000000000000000000000000000000000000000001490565b3480156103f657600080fd5b506103ff610b6b565b60405161037f9190614c0e565b34801561041857600080fd5b5061042c610427366004614c21565b610c2a565b005b34801561043a57600080fd5b50610443610e33565b60405190815260200161037f565b34801561045d57600080fd5b506005546006546007546104e4926cffffffffffffffffffffffffff8116926d0100000000000000000000000000820463ffffffff16927101000000000000000000000000000000000090920467ffffffffffffffff9081169281831692680100000000000000008104831692700100000000000000000000000000000000909104169087565b604080516cffffffffffffffffffffffffff909816885263ffffffff909616602088015267ffffffffffffffff948516958701959095529183166060860152821660808501521660a083015260c082015260e00161037f565b34801561054957600080fd5b5061055f6daaeb6d7670e522a718067333cd4e81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037f565b34801561059057600080fd5b5061037361059f366004614c21565b610e51565b6104436105b2366004614c8a565b610eaf565b3480156105c357600080fd5b506103736105d2366004614d2d565b61148d565b3480156105e357600080fd5b5060025461055f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561061057600080fd5b5061037361061f366004614c21565b611649565b34801561063057600080fd5b506106396116a8565b60405161037f9190614d8f565b34801561065257600080fd5b5061042c610661366004614f9e565b611813565b34801561067257600080fd5b5061042c6119f8565b34801561068757600080fd5b5061042c611d09565b34801561069c57600080fd5b506106b06106ab366004614fee565b611ef4565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161037f565b3480156106ed57600080fd5b5060408051808201909152600581527f312e302e3000000000000000000000000000000000000000000000000000000060208201526103ff565b34801561073357600080fd5b50610443610742366004614c21565b60086020526000908152604090205481565b34801561076057600080fd5b5060035473ffffffffffffffffffffffffffffffffffffffff1661055f565b34801561078b57600080fd5b506003546004546107fb9173ffffffffffffffffffffffffffffffffffffffff8082169274010000000000000000000000000000000000000000830467ffffffffffffffff16927c0100000000000000000000000000000000000000000000000000000000900461ffff16911684565b6040805173ffffffffffffffffffffffffffffffffffffffff958616815267ffffffffffffffff909416602085015261ffff9092169183019190915291909116606082015260800161037f565b34801561085457600080fd5b5061042c610863366004614c21565b61271e565b34801561087457600080fd5b5061042c610883366004615031565b612822565b34801561089457600080fd5b5061055f73ea7f4c52cbd4cf1036cdca8b16aca11f5b09cf6e81565b3480156108bc57600080fd5b5061055f612e6c565b3480156108d157600080fd5b50610373612e96565b3480156108e657600080fd5b506104436108f5366004614c21565b60096020526000908152604090205481565b34801561091357600080fd5b5061044361092236600461504e565b612efa565b34801561093357600080fd5b50610443620f424081565b34801561094a57600080fd5b5061095e610959366004615067565b612f17565b60405161037f919061512a565b34801561097757600080fd5b506104436109863660046151aa565b612ff6565b34801561099757600080fd5b5061042c6109a63660046151ec565b6131e4565b3480156109b757600080fd5b506103ff6109c636600461504e565b6133e4565b3480156109d757600080fd5b506109eb6109e6366004614c21565b6135bd565b604080518251815260208084015190820152918101519082015260600161037f565b348015610a1957600080fd5b50610443610a28366004615222565b613642565b348015610a3957600080fd5b506103ff6137f5565b610443610a5036600461504e565b613865565b348015610a6157600080fd5b5060015461055f9073ffffffffffffffffffffffffffffffffffffffff1681565b348015610a8e57600080fd5b50610443610a9d36600461504e565b613dd5565b348015610aae57600080fd5b5061042c610abd366004615291565b613de4565b60007fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd54331460008114610b195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013590565b3391505090565b60015460009073ffffffffffffffffffffffffffffffffffffffff1615801590610b64575060015473ffffffffffffffffffffffffffffffffffffffff8381169116145b9392505050565b6060610b957fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b73ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610bdf573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610c25919081019061534e565b905090565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16610c6a610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614610cec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610d8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f46756e647320526563697069656e742063616e6e6f742062652030206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610ce3565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610dd7610ac2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f70a7ea5c664ab9c21baf3da59bb2f1e1ca33557b08a0031fab4f17076744995160405160405180910390a350565b600554600090610c25906cffffffffffffffffffffffffff16614012565b60008173ffffffffffffffffffffffffffffffffffffffff16610e927fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff161492915050565b6000610ed97f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a31372795490565b600203610f42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f484f4c4f47524150483a207265656e7472616e742063616c6c000000000000006044820152606401610ce3565b610f6b60027f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b600354869074010000000000000000000000000000000000000000900467ffffffffffffffff1615801590610fef57506003546000547401000000000000000000000000000000000000000090910467ffffffffffffffff1690610fed907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16836153c6565b115b15611026576040517f717c513000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102e6140b1565b611064576040517f95ed3c1a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f28484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060075491506110a79050610ac2565b6040805173ffffffffffffffffffffffffffffffffffffffff909216602083015281018a90526060810189905260800160405160208183030381529060405280519060200120614100565b611128576040517f85b70e5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061113386614012565b905061113f88826153de565b3410156111855761115088876153de565b6040517f6a1c179e000000000000000000000000000000000000000000000000000000008152600401610ce391815260200190565b600061119189836153de565b61119b903461541b565b905088600860006111aa610ac2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111f391906153c6565b9091555088905060086000611206610ac2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611279576040517fa7b32bb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61128a611284610ac2565b8a614116565b611293896144ed565b60006112bd7fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b905060008173ffffffffffffffffffffffffffffffffffffffff166377dbd8636040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113309190615432565b6000805491925090611361908d907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661541b565b61136b90836153c6565b6113769060016153c6565b9050848c611382610ac2565b73ffffffffffffffffffffffffffffffffffffffff167f4e26b0356a15833a75d497ecc40ebbb716b99466ed0dba9454f1fff451e25a90846040516113c991815260200190565b60405180910390a48315611454576113df610ac2565b73ffffffffffffffffffffffffffffffffffffffff1684620334505a11611406575a61140b565b620334505b6040519091906000818181858888f193505050503d806000811461144b576040519150601f19603f3d011682016040523d82523d6000602084013e611450565b606091505b5050505b9550505050505061148460017f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff8616158015906114e757506114b7610ac2565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b1561163d577f5c835f3b6bd322d9a084ffdeac746df2b96cce308e7f0612f4ff4f9c490734cc54801561163b576daaeb6d7670e522a718067333cd4e63c617113430611531610ac2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401602060405180830381865afa9250505080156115db575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526115d891810190615456565b60015b611632576115e7610ac2565b6040517fede71dcc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610ce3565b91506114849050565b505b50600195945050505050565b60006116737fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091526040518061016001604052806117156146fe565b151581526020016117246140b1565b151581526005546cffffffffffffffffffffffffff8116602083015271010000000000000000000000000000000000810467ffffffffffffffff90811660408401526006548082166060850152680100000000000000008104821660808501527001000000000000000000000000000000009004811660a084015260075460c08401526d010000000000000000000000000090910463ffffffff1660e08301526000547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166101008301526003547401000000000000000000000000000000000000000090041661012090910152919050565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16611853610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146118d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580511561199c576040517f856a7ffa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063856a7ffa90611969908490600401614c0e565b600060405180830381600087803b15801561198357600080fd5b505af1158015611997573d6000803e3d6000fd5b505050505b7f046c5d913c35948c3e0e44c3599eb14bf33b73f141fa8bb282b300414998b8686119c5610ac2565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291851660208301520160405180910390a15050565b7f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727954600203611a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f484f4c4f47524150483a207265656e7472616e742063616c6c000000000000006044820152606401610ce3565b611aac60027f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b60045473ffffffffffffffffffffffffffffffffffffffff16611b2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f46756e647320526563697069656e742061646472657373206e6f7420736574006044820152606401610ce3565b6000611b35610ac2565b600454909150479073ffffffffffffffffffffffffffffffffffffffff808416911614801590611bb257507fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611be9576040517f1dab829b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045460405160009173ffffffffffffffffffffffffffffffffffffffff16906203345090849084818181858888f193505050503d8060008114611c49576040519150601f19603f3d011682016040523d82523d6000602084013e611c4e565b606091505b5050905080611c89576040517f39debd5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045460405183815273ffffffffffffffffffffffffffffffffffffffff918216918516907fa92ff919b850e4909ab2261d907ef955f11bc1716733a6cbece38d163a69af8a9060200160405180910390a3505050611d0760017f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16611d49610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614611dc6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b60035474010000000000000000000000000000000000000000900467ffffffffffffffff90811614611e24576040517fe742c08400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546003805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055611e80610ac2565b6003546040517401000000000000000000000000000000000000000090910467ffffffffffffffff16815273ffffffffffffffffffffffffffffffffffffffff91909116907fb6cc1e876b8d7479c8afe025a58658b0f3c3ec5bd0f28cb4261326b162069bf89060200160405180910390a2565b6000611f1e7f4e5f991bca30eca2d4643aaefa807e88f96a4a97398933d572a3c0d973004a015490565b15611f85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f484f4c4f47524150483a20616c726561647920696e697469616c697a656400006044820152606401610ce3565b600082806020019051810190611f9b9190615571565b8051600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92831617905560208201519192501615612036576020810151600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b61206281604001517fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf77277755565b337fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5560408051608080820183526101008401805173ffffffffffffffffffffffffffffffffffffffff9081168085528684015167ffffffffffffffff908116602080880182905260a0808b015161ffff16898b018190526060808d015188169a81018b9052600380547c01000000000000000000000000000000000000000000000000000000009093027fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff740100000000000000000000000000000000000000009097027fffffffff00000000000000000000000000000000000000000000000000000000909416909817929092179490941695909517909455600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001690981790975560e0890151805160058054998301519a830151851671010000000000000000000000000000000000027fffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffff63ffffffff909c166d0100000000000000000000000000027fffffffffffffffffffffffffffffff0000000000000000000000000000000000909b166cffffffffffffffffffffffffff90931692909217999099179990991698909817909655948601516006805495880151928801518716700100000000000000000000000000000000027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff93881668010000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909716929097169190911794909417169390931790915560c09092015160075590511615612380576101008101516101208201516040517f856a7ffa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169163856a7ffa9161234d91600401614c0e565b600060405180830381600087803b15801561236757600080fd5b505af115801561237b573d6000803e3d6000fd5b505050505b8060c00151801561239f57506daaeb6d7670e522a718067333cd4e3b15155b156126ec5760025473ffffffffffffffffffffffffffffffffffffffff16612541577fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5473ffffffffffffffffffffffffffffffffffffffff1663a9fb6c726daaeb6d7670e522a718067333cd4e7f4420e486000000000000000000000000000000000000000000000000000000006124567fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b60405173ffffffffffffffffffffffffffffffffffffffff9091166024820152604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b909216825261250a929160040161567d565b600060405180830381600087803b15801561252457600080fd5b505af1158015612538573d6000803e3d6000fd5b505050506126c7565b7fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5473ffffffffffffffffffffffffffffffffffffffff1663a9fb6c726daaeb6d7670e522a718067333cd4e7f7d3e3dbe000000000000000000000000000000000000000000000000000000006125d67fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b60025460405173ffffffffffffffffffffffffffffffffffffffff928316602482015291166044820152606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252612694929160040161567d565b600060405180830381600087803b1580156126ae57600080fd5b505af11580156126c2573d6000803e3d6000fd5b505050505b60017f5c835f3b6bd322d9a084ffdeac746df2b96cce308e7f0612f4ff4f9c490734cc555b61271560017f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b610b6483614743565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff1661275e610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146127db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16612862610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146128df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b60006129097fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b60025490915073ffffffffffffffffffffffffffffffffffffffff1661295b576040517f707ff7e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fc3c5a54700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526daaeb6d7670e522a718067333cd4e9063c3c5a547906024016020604051808303816000875af11580156129d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f99190615456565b158015612a035750815b15612b385760025460405173ffffffffffffffffffffffffffffffffffffffff838116602483018190529216604482015263a9fb6c72906daaeb6d7670e522a718067333cd4e907f7d3e3dbe00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252612b01929160040161567d565b600060405180830381600087803b158015612b1b57600080fd5b505af1158015612b2f573d6000803e3d6000fd5b50505050612da3565b8115612baa5760025460405173ffffffffffffffffffffffffffffffffffffffff838116602483018190529216604482015263a9fb6c72906daaeb6d7670e522a718067333cd4e907fb314d4140000000000000000000000000000000000000000000000000000000090606401612a70565b6040805173ffffffffffffffffffffffffffffffffffffffff831660248201819052600060448084019190915283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f34a0dc100000000000000000000000000000000000000000000000000000000017905291517fa9fb6c7200000000000000000000000000000000000000000000000000000000815263a9fb6c7291612c78916daaeb6d7670e522a718067333cd4e919060040161567d565b600060405180830381600087803b158015612c9257600080fd5b505af1158015612ca6573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8516602480830182905283518084039091018152604490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2ec2c2460000000000000000000000000000000000000000000000000000000017905291517fa9fb6c7200000000000000000000000000000000000000000000000000000000815291935063a9fb6c729250612d70916daaeb6d7670e522a718067333cd4e919060040161567d565b600060405180830381600087803b158015612d8a57600080fd5b505af1158015612d9e573d6000803e3d6000fd5b505050505b6040517fc3c5a54700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526000906daaeb6d7670e522a718067333cd4e9063c3c5a547906024015b6020604051808303816000875af1158015612e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e459190615456565b7f5c835f3b6bd322d9a084ffdeac746df2b96cce308e7f0612f4ff4f9c490734cc55505050565b6000610c257fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b6000612ec07fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff16612ede610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000612f11612f0c83620f42406153de565b614012565b92915050565b6060815167ffffffffffffffff811115612f3357612f33614e5a565b604051908082528060200260200182016040528015612f6657816020015b6060815260200190600190039081612f515790505b50905060005b8251811015612ff057612fc030848381518110612f8b57612f8b6156ac565b6020026020010151612f9b610ac2565b604051602001612fac9291906156db565b6040516020818303038152906040526148ea565b828281518110612fd257612fd26156ac565b60200260200101819052508080612fe890615725565b915050612f6c565b50919050565b60006130207fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff1661303e610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146130bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600354829074010000000000000000000000000000000000000000900467ffffffffffffffff161580159061313f57506003546000547401000000000000000000000000000000000000000090910467ffffffffffffffff169061313d907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16836153c6565b115b15613176576040517f717c513000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b838110156131ba576131b2858583818110613196576131966156ac565b90506020020160208101906131ab9190614c21565b6001614116565b600101613179565b50506000547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16613224610ac2565b73ffffffffffffffffffffffffffffffffffffffff16146132a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b7fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5473ffffffffffffffffffffffffffffffffffffffff1663a9fb6c726daaeb6d7670e522a718067333cd4e84846040518463ffffffff1660e01b815260040161330d9392919061575d565b600060405180830381600087803b15801561332757600080fd5b505af115801561333b573d6000803e3d6000fd5b5050505060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c3c5a5476133937fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401612e02565b606060006134107fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b6040517f4f558e790000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690634f558e7990602401602060405180830381865afa15801561347e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134a29190615456565b613508576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20646f6573206e6f74206578697374000000006044820152606401610ce3565b6003546040517fc87b56dd0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169063c87b56dd90602401600060405180830381865afa158015613577573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b64919081019061534e565b6135e160405180606001604052806000815260200160008152602001600081525090565b6040805160608101825273ffffffffffffffffffffffffffffffffffffffff84166000818152600960208181528583205480865284845260088252868420548287018190529490935252919283019161363a919061541b565b905292915050565b600061366c7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775490565b73ffffffffffffffffffffffffffffffffffffffff1661368a610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614613707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600354829074010000000000000000000000000000000000000000900467ffffffffffffffff161580159061378b57506003546000547401000000000000000000000000000000000000000090910467ffffffffffffffff1690613789907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16836153c6565b115b156137c2576040517f717c513000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6137cc8484614116565b50506000547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b600354604080517fe8a3d485000000000000000000000000000000000000000000000000000000008152905160609273ffffffffffffffffffffffffffffffffffffffff169163e8a3d4859160048083019260009291908290030181865afa158015610bdf573d6000803e3d6000fd5b600061388f7f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a31372795490565b6002036138f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f484f4c4f47524150483a207265656e7472616e742063616c6c000000000000006044820152606401610ce3565b61392160027f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b600354829074010000000000000000000000000000000000000000900467ffffffffffffffff16158015906139a557506003546000547401000000000000000000000000000000000000000090910467ffffffffffffffff16906139a3907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16836153c6565b115b156139dc576040517f717c513000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139e46146fe565b613a1a576040517ff12dcc7f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600554600090613a38906cffffffffffffffffffffffffff16614012565b90506000613a48620f4240614012565b905084613a5582846153c6565b613a5f91906153de565b341015613a92576005548590613a8890620f4240906cffffffffffffffffffffffffff166153c6565b61115091906153de565b6000613a9e86846153de565b613aa8903461541b565b6005549091506d0100000000000000000000000000900463ffffffff1615801590613b8d57506005546d0100000000000000000000000000900463ffffffff1660086000613af4610ac2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548760096000613b3c610ac2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b8191906153c6565b613b8b919061541b565b115b15613bc4576040517f220ae94c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613bd5613bcf610ac2565b87614116565b613bde866144ed565b6000613c087fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b905060008173ffffffffffffffffffffffffffffffffffffffff166377dbd8636040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c7b9190615432565b6000805491925090613cac908a907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661541b565b613cb690836153c6565b613cc19060016153c6565b90508589613ccd610ac2565b73ffffffffffffffffffffffffffffffffffffffff167f4e26b0356a15833a75d497ecc40ebbb716b99466ed0dba9454f1fff451e25a9084604051613d1491815260200190565b60405180910390a48315613d9f57613d2a610ac2565b73ffffffffffffffffffffffffffffffffffffffff1684620334505a11613d51575a613d56565b620334505b6040519091906000818181858888f193505050503d8060008114613d96576040519150601f19603f3d011682016040523d82523d6000602084013e613d9b565b606091505b5050505b9650505050505050613dd060017f04b524dd539523930d3901481aa9455d7752b49add99e1647adb8b09a313727955565b919050565b6000612f1182620f42406153de565b7fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff16613e24610ac2565b73ffffffffffffffffffffffffffffffffffffffff1614613ea1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a206f776e6572206f6e6c792066756e6374696f6e00000000006044820152606401610ce3565b600580546cffffffffffffffffffffffffff89167fffffffffffffffffffffffffffffff0000000000000000000000000000000000909116176d010000000000000000000000000063ffffffff891602177fffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000067ffffffffffffffff8881169190910291909117909155600680548683167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116176801000000000000000086841602177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16700100000000000000000000000000000000928516929092029190911790556007819055613fc7610ac2565b73ffffffffffffffffffffffffffffffffffffffff167fc1ff5e4744ac8dd2b8027a10e3723b165975297501c71c4e7dcb8796d96375db60405160405180910390a250505050505050565b60008160000361402457506000919050565b6040517ff5d781610000000000000000000000000000000000000000000000000000000081526004810183905273ea7f4c52cbd4cf1036cdca8b16aca11f5b09cf6e9063f5d7816190602401602060405180830381865afa15801561408d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f119190615432565b600654600090426801000000000000000090910467ffffffffffffffff1611801590610c255750506006544270010000000000000000000000000000000090910467ffffffffffffffff161190565b60008261410d858461490f565b14949350505050565b60006141407fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b905060008173ffffffffffffffffffffffffffffffffffffffff166377dbd8636040518163ffffffff1660e01b8152600401602060405180830381865afa15801561418f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b39190615432565b90506000805b848110156144e557600080546001919081906141f49084907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166157c7565b92506101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055505b60005473ffffffffffffffffffffffffffffffffffffffff851690634f558e799061428c907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16866153c6565b6040518263ffffffff1660e01b81526004016142aa91815260200190565b602060405180830381865afa1580156142c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142eb9190615456565b80614399575060005473ffffffffffffffffffffffffffffffffffffffff8516906323250cae9061433a907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16866153c6565b6040518263ffffffff1660e01b815260040161435891815260200190565b602060405180830381865afa158015614375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143999190615456565b1561442457600080546001919081906143d19084907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166157c7565b92506101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550614243565b6000546040517f3b4f1b2600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90921660248201819052935090851690633b4f1b2690604401600060405180830381600087803b1580156144ba57600080fd5b505af11580156144ce573d6000803e3d6000fd5b5050505080806144dd90615725565b9150506141b9565b505050505050565b60006144f882612efa565b905060006145247fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd5490565b73ffffffffffffffffffffffffffffffffffffffff16634827ae0c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561456e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145929190615807565b73ffffffffffffffffffffffffffffffffffffffff16633b19e84a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156145dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146009190615807565b905060008173ffffffffffffffffffffffffffffffffffffffff16836203345090604051600060405180830381858888f193505050503d8060008114614662576040519150601f19603f3d011682016040523d82523d6000602084013e614667565b606091505b50509050806146a2576040517ff0e492a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805184815273ffffffffffffffffffffffffffffffffffffffff841660208201528215158183015290517f6f8da53cfedb8cc4f7935c3629624e50b63053c93bb2cad246aa4d3a2ba7d4ce9181900360600190a150505050565b600554600090427101000000000000000000000000000000000090910467ffffffffffffffff1611801590610c255750506006544267ffffffffffffffff9091161190565b600061476d7f4e5f991bca30eca2d4643aaefa807e88f96a4a97398933d572a3c0d973004a015490565b156147d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732313a20616c726561647920696e697469616c697a656400000000006044820152606401610ce3565b337fe9fcff60011c1a99f7b7244d1f2d9da93d79ea8ef3654ce590d775575255b2bd8190557fb56711ba6bd3ded7639fc335ee7524fe668a79d7558c85992e3f8494cf7727775473ffffffffffffffffffffffffffffffffffffffff8116614898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f484f4c4f47524150483a206f776e6572206e6f742073657400000000000000006044820152606401610ce3565b6148c160017f4e5f991bca30eca2d4643aaefa807e88f96a4a97398933d572a3c0d973004a0155565b507f4ddf47d4000000000000000000000000000000000000000000000000000000009392505050565b6060610b64838360405180606001604052806027815260200161584160279139614983565b600081815b845181101561497b576000858281518110614931576149316156ac565b602002602001015190508083116149575760008381526020829052604090209250614968565b600081815260208490526040902092505b508061497381615725565b915050614914565b509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516149ad9190615824565b600060405180830381855af49150503d80600081146149e8576040519150601f19603f3d011682016040523d82523d6000602084013e6149ed565b606091505b50915091506149fe86838387614a08565b9695505050505050565b60608315614a9e578251600003614a975773ffffffffffffffffffffffffffffffffffffffff85163b614a97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ce3565b5081614aa8565b614aa88383614ab0565b949350505050565b815115614ac05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce39190614c0e565b73ffffffffffffffffffffffffffffffffffffffff81168114614b1657600080fd5b50565b60008060408385031215614b2c57600080fd5b8235614b3781614af4565b91506020830135614b4781614af4565b809150509250929050565b600060208284031215614b6457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b6457600080fd5b60005b83811015614baf578181015183820152602001614b97565b83811115614bbe576000848401525b50505050565b60008151808452614bdc816020860160208601614b94565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b646020830184614bc4565b600060208284031215614c3357600080fd5b8135610b6481614af4565b60008083601f840112614c5057600080fd5b50813567ffffffffffffffff811115614c6857600080fd5b6020830191508360208260051b8501011115614c8357600080fd5b9250929050565b600080600080600060808688031215614ca257600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614cce57600080fd5b614cda88828901614c3e565b969995985093965092949392505050565b60008083601f840112614cfd57600080fd5b50813567ffffffffffffffff811115614d1557600080fd5b602083019150836020828501011115614c8357600080fd5b600080600080600060808688031215614d4557600080fd5b8535614d5081614af4565b94506020860135614d6081614af4565b935060408601359250606086013567ffffffffffffffff811115614d8357600080fd5b614cda88828901614ceb565b81511515815261016081016020830151614dad602084018215159052565b50604083015160408301526060830151614dd3606084018267ffffffffffffffff169052565b506080830151614def608084018267ffffffffffffffff169052565b5060a0830151614e0b60a084018267ffffffffffffffff169052565b5060c0830151614e2760c084018267ffffffffffffffff169052565b5060e083810151908301526101008084015190830152610120808401519083015261014092830151929091019190915290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715614ead57614ead614e5a565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614efa57614efa614e5a565b604052919050565b600067ffffffffffffffff821115614f1c57614f1c614e5a565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614f5957600080fd5b8135614f6c614f6782614f02565b614eb3565b818152846020838601011115614f8157600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614fb157600080fd5b8235614fbc81614af4565b9150602083013567ffffffffffffffff811115614fd857600080fd5b614fe485828601614f48565b9150509250929050565b60006020828403121561500057600080fd5b813567ffffffffffffffff81111561501757600080fd5b614aa884828501614f48565b8015158114614b1657600080fd5b60006020828403121561504357600080fd5b8135610b6481615023565b60006020828403121561506057600080fd5b5035919050565b6000602080838503121561507a57600080fd5b823567ffffffffffffffff8082111561509257600080fd5b818501915085601f8301126150a657600080fd5b8135818111156150b8576150b8614e5a565b8060051b6150c7858201614eb3565b91825283810185019185810190898411156150e157600080fd5b86860192505b8383101561511d578235858111156150ff5760008081fd5b61510d8b89838a0101614f48565b83525091860191908601906150e7565b9998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561519d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261518b858351614bc4565b94509285019290850190600101615151565b5092979650505050505050565b600080602083850312156151bd57600080fd5b823567ffffffffffffffff8111156151d457600080fd5b6151e085828601614c3e565b90969095509350505050565b600080602083850312156151ff57600080fd5b823567ffffffffffffffff81111561521657600080fd5b6151e085828601614ceb565b6000806040838503121561523557600080fd5b823561524081614af4565b946020939093013593505050565b6cffffffffffffffffffffffffff81168114614b1657600080fd5b63ffffffff81168114614b1657600080fd5b67ffffffffffffffff81168114614b1657600080fd5b600080600080600080600060e0888a0312156152ac57600080fd5b87356152b78161524e565b965060208801356152c781615269565b955060408801356152d78161527b565b945060608801356152e78161527b565b935060808801356152f78161527b565b925060a08801356153078161527b565b8092505060c0880135905092959891949750929550565b600061532c614f6784614f02565b905082815283838301111561534057600080fd5b610b64836020830184614b94565b60006020828403121561536057600080fd5b815167ffffffffffffffff81111561537757600080fd5b8201601f8101841361538857600080fd5b614aa88482516020840161531e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156153d9576153d9615397565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561541657615416615397565b500290565b60008282101561542d5761542d615397565b500390565b60006020828403121561544457600080fd5b5051919050565b8051613dd081615023565b60006020828403121561546857600080fd5b8151610b6481615023565b8051613dd081614af4565b8051613dd08161527b565b805161ffff81168114613dd057600080fd5b600060e082840312156154ad57600080fd5b60405160e0810181811067ffffffffffffffff821117156154d0576154d0614e5a565b806040525080915082516154e38161524e565b815260208301516154f381615269565b602082015260408301516155068161527b565b604082015260608301516155198161527b565b606082015261552a6080840161547e565b608082015261553b60a0840161547e565b60a082015260c083015160c08201525092915050565b600082601f83011261556257600080fd5b610b648383516020850161531e565b60006020828403121561558357600080fd5b815167ffffffffffffffff8082111561559b57600080fd5b9083019061020082860312156155b057600080fd5b6155b8614e89565b6155c183615473565b81526155cf60208401615473565b60208201526155e060408401615473565b60408201526155f160608401615473565b60608201526156026080840161547e565b608082015261561360a08401615489565b60a082015261562460c0840161544b565b60c08201526156368660e0850161549b565b60e08201526156486101c08401615473565b6101008201526101e08301518281111561566157600080fd5b61566d87828601615551565b6101208301525095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000614aa86040830184614bc4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600083516156ed818460208801614b94565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361575657615756615397565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083168185168083038211156157fe576157fe615397565b01949350505050565b60006020828403121561581957600080fd5b8151610b6481614af4565b60008251615836818460208701614b94565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c634300080d000a
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 31 Chains
Tokens
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.

