[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "success", "type": "bool" } ], "name": "UodateURI", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "cal", "type": "uint256" } ], "name": "UpgradeNFTByAvax", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "tierGroup", "type": "uint256" } ], "name": "aggregation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tier", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "canMint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "canTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "currencyToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "defaultURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "internalType": "uint256", "name": "tierGroup", "type": "uint256" } ], "name": "downgradeNFT", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bool", "name": "buyTier0", "type": "bool" } ], "name": "exchangeXYZAndTiero", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "exemptMaxAmountUser", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "fractionalize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "tier", "type": "uint256" } ], "name": "getInfo", "outputs": [ { "internalType": "uint256[]", "name": "res", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "tire", "type": "uint256" } ], "name": "getLen", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTier0", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "maxWalletLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "max_Regular_tier", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" }, { "internalType": "uint256", "name": "tie", "type": "uint256" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "mintNFTWithAvax", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" }, { "internalType": "uint256", "name": "tie", "type": "uint256" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "mintNFTWithToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintOption", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC721Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sendAllAvaxToTreasure", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "sendAllBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "val", "type": "uint256" } ], "name": "setDefaultPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "user", "type": "address[]" }, { "internalType": "bool", "name": "flag", "type": "bool" } ], "name": "setExemptMaxAmountUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "vals", "type": "uint256[]" } ], "name": "setMaxRegularTier", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setMaxTier0", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "vals", "type": "uint256[]" } ], "name": "setMaxWalletAmountList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "option", "type": "uint8" } ], "name": "setMintOption", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "setNFTmintCurrency", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "vals", "type": "uint256[]" } ], "name": "setPriceList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "setTreasureWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "flag", "type": "bool" } ], "name": "setUpgradable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "users", "type": "address[]" }, { "internalType": "bool", "name": "flag", "type": "bool" } ], "name": "setWhiteList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "setXYZtoken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "tier0transfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tierInfo", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tier", "type": "uint256" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "updateDefaultURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "updateURI", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "internalType": "uint256", "name": "tierGroup", "type": "uint256" } ], "name": "upgradeNFT", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "internalType": "uint256", "name": "tierGroup", "type": "uint256" } ], "name": "upgradeNFTByAvax", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "userInfo", "outputs": [ { "internalType": "uint256", "name": "tier0", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whiteList", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
608060405262989680601655603980546001600160a01b031990811673f827c3e5fd68e78aa092245d442398e12988901c17909155603a805490911673b0b598fcd066058a83fea073d56522b5bae0522b179055620186a0603b55603c805460ff19908116909155603e805490911690553480156200007d57600080fd5b50604080518082018252601581527f436865656d73586672616374696f6e616c204e4654000000000000000000000060208083019182528351808501909452600384526221ac2760e91b908401528151919291620000de91600091620002fa565b508051620000f4906001906020840190620002fa565b505050600062000109620002f660201b60201c565b600780546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506103e8600b556101f4600c5560fa600d5560a0600e556078600f9081556032601055601e60115560125560076013556003601455601654601555603b54620001a1906001620003a0565b601755603b54620001b4906002620003a0565b601855603b54620001c7906003620003a0565b601955603b54620001da906004620003a0565b601a55603b54620001ed90600a620003a0565b601b55603b5462000200906014620003a0565b601c55603b546200021390601e620003a0565b601d55603b5462000226906032620003a0565b601e55603b5462000239906050620003a0565b601f55603b546200024c906064620003a0565b602090815560016021819055600a60228190556005602355600260248190556025556026829055602782905560288290556029829055602a829055602b8290556000602c819055308152604284526040808220805460ff1990811686179091557f22157c206018468b45ae7922bc7a0b0cb8feed201dac3c6fb5e7876aa94e11e993909355603f90945283812080548316841790553381529290922080549092161790556200040b565b3390565b8280546200030890620003ce565b90600052602060002090601f0160209004810192826200032c576000855562000377565b82601f106200034757805160ff191683800117855562000377565b8280016001018555821562000377579182015b82811115620003775782518255916020019190600101906200035a565b506200038592915062000389565b5090565b5b808211156200038557600081556001016200038a565b6000816000190483118215151615620003c957634e487b7160e01b600052601160045260246000fd5b500290565b600181811c90821680620003e357607f821691505b602082108114156200040557634e487b7160e01b600052602260045260246000fd5b50919050565b6146de806200041b6000396000f3fe6080604052600436106102a05760003560e01c806301ffc9a7146102ac578063064cdefa146102e157806306fdde0314610311578063081812fc14610333578063095ea7b3146103605780630a25d82e146103825780630f985666146103a2578063150b7a02146103b55780631959a002146103ee57806322e1dea91461042c57806323b872dd1461044c57806324813ec31461046c578063248e85f11461048c578063248ff82c146104ac57806326a49e37146104cc57806331d41c69146104ec578063328442771461050c578063332e4a341461052c578063372c12b11461054c578063380e95b01461057c57806342842e0e1461059c57806343e467cb146105bc5780634cd8582b146105d2578063557ed1ba146105ff57806357d12275146106125780635df00552146106325780635f99ed49146106525780636352211e1461066557806363bb1b7914610685578063695195c4146106a55780636a91e7bc146106c55780636b2fa374146106f25780636d3c7ec51461071257806370a0823114610732578063715018a6146107525780637526e4af146107675780638166bd2e1461078757806385cc440d146107a75780638b243af3146107c75780638da5cb5b146107e757806395d89b41146107fc5780639bc76d79146108115780639bf212131461083d578063a22cb4651461085d578063a267c2c41461087d578063b722e533146108aa578063b88d4fde146108ca578063be7569a4146108ea578063c87b56dd146108ff578063cf608a471461091f578063d4e5df571461093f578063daeedd741461095f578063e43f696e1461097f578063e985e9c51461099f578063f2fde38b146109bf578063f54956ce146109df578063f5f7b962146109ff578063f9578c5e14610a1f578063f9ec796c14610a3f57600080fd5b366102a757005b600080fd5b3480156102b857600080fd5b506102cc6102c7366004613ee4565b610a5f565b60405190151581526020015b60405180910390f35b3480156102ed57600080fd5b506102cc6102fc366004613b6f565b60426020526000908152604090205460ff1681565b34801561031d57600080fd5b50610326610ab1565b6040516102d89190614144565b34801561033f57600080fd5b5061035361034e366004613f1e565b610b43565b6040516102d89190614072565b34801561036c57600080fd5b5061038061037b366004613cab565b610bd0565b005b34801561038e57600080fd5b5061038061039d366004613e13565b610ce1565b6103806103b0366004613cd5565b610d7d565b3480156103c157600080fd5b506103d56103d0366004613bf9565b610e2e565b6040516001600160e01b031990911681526020016102d8565b3480156103fa57600080fd5b5061041e610409366004613b6f565b60406020819052600091825290206001015481565b6040519081526020016102d8565b34801561043857600080fd5b506102cc610447366004613fbb565b610e3f565b34801561045857600080fd5b50610380610467366004613bbd565b610f27565b34801561047857600080fd5b50610326610487366004613f1e565b610f3d565b34801561049857600080fd5b5061041e6104a7366004613cab565b610fdd565b3480156104b857600080fd5b506103806104c7366004613b6f565b611032565b3480156104d857600080fd5b5061041e6104e7366004613f1e565b61107e565b3480156104f857600080fd5b506102cc610507366004613f75565b611095565b34801561051857600080fd5b50610380610527366004613eaa565b61115b565b34801561053857600080fd5b506102cc610547366004613d2b565b611198565b34801561055857600080fd5b506102cc610567366004613b6f565b603f6020526000908152604090205460ff1681565b34801561058857600080fd5b50610380610597366004613fdd565b611310565b3480156105a857600080fd5b506103806105b7366004613bbd565b611394565b3480156105c857600080fd5b5061041e60165481565b3480156105de57600080fd5b5061041e6105ed366004613f1e565b603d6020526000908152604090205481565b34801561060b57600080fd5b504261041e565b34801561061e57600080fd5b5061038061062d366004613b6f565b6113aa565b34801561063e57600080fd5b5061038061064d366004613cab565b6113f6565b610380610660366004613fbb565b611447565b34801561067157600080fd5b50610353610680366004613f1e565b611664565b34801561069157600080fd5b506103806106a0366004613fbb565b6116db565b3480156106b157600080fd5b506103806106c0366004613f50565b611839565b3480156106d157600080fd5b506106e56106e0366004613cab565b611aca565b6040516102d89190614100565b3480156106fe57600080fd5b50603854610353906001600160a01b031681565b34801561071e57600080fd5b5061038061072d366004613f1e565b611b3c565b34801561073e57600080fd5b5061041e61074d366004613b6f565b611b6b565b34801561075e57600080fd5b50610380611bf2565b34801561077357600080fd5b50610380610782366004613d5e565b611c54565b34801561079357600080fd5b5061041e6107a2366004613f1e565b611ce5565b3480156107b357600080fd5b506103806107c2366004613fbb565b611cf5565b3480156107d357600080fd5b506103806107e2366004613e13565b611ea1565b3480156107f357600080fd5b50610353611f39565b34801561080857600080fd5b50610326611f48565b34801561081d57600080fd5b50603e5461082b9060ff1681565b60405160ff90911681526020016102d8565b34801561084957600080fd5b50610380610858366004613e13565b611f57565b34801561086957600080fd5b50610380610878366004613c74565b611fef565b34801561088957600080fd5b5061041e610898366004613f1e565b60416020526000908152604090205481565b3480156108b657600080fd5b506103806108c5366004613f1e565b6120b0565b3480156108d657600080fd5b506103806108e5366004613bf9565b612150565b3480156108f657600080fd5b50610380612167565b34801561090b57600080fd5b5061032661091a366004613f1e565b6121cd565b34801561092b57600080fd5b5061038061093a366004613cd5565b61233c565b34801561094b57600080fd5b5061038061095a366004613b6f565b6124ef565b34801561096b57600080fd5b5061038061097a366004613f75565b612613565b34801561098b57600080fd5b5061038061099a366004613d5e565b612685565b3480156109ab57600080fd5b506102cc6109ba366004613b8a565b612716565b3480156109cb57600080fd5b506103806109da366004613b6f565b612744565b3480156109eb57600080fd5b506103806109fa366004613f1e565b61281d565b348015610a0b57600080fd5b50610380610a1a366004613b6f565b612851565b348015610a2b57600080fd5b50610380610a3a366004613fbb565b61289d565b348015610a4b57600080fd5b5061041e610a5a366004613f1e565b612a66565b60006001600160e01b031982166380ac58cd60e01b1480610a9057506001600160e01b03198216635b5e139f60e01b145b80610aab57506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060008054610ac090614523565b80601f0160208091040260200160405190810160405280929190818152602001828054610aec90614523565b8015610b395780601f10610b0e57610100808354040283529160200191610b39565b820191906000526020600020905b815481529060010190602001808311610b1c57829003601f168201915b5050505050905090565b6000610b4e82612a76565b610bb45760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b6000610bdb82611664565b9050806001600160a01b0316836001600160a01b03161415610c495760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610bab565b336001600160a01b0382161480610c655750610c658133612716565b610cd25760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b6064820152608401610bab565b610cdc8383612a93565b505050565b6007546001600160a01b03163314610d0b5760405162461bcd60e51b8152600401610bab9061421c565b8051600a14610d2c5760405162461bcd60e51b8152600401610bab906142f1565b60005b8151811015610d7957818181518110610d4a57610d4a6145c9565b6020026020010151602282600b8110610d6557610d656145c9565b015580610d7181614558565b915050610d2f565b5050565b6038546001600160a01b031615610da65760405162461bcd60e51b8152600401610bab90614251565b600b8210610dc65760405162461bcd60e51b8152600401610bab90614318565b6000601783600b8110610ddb57610ddb6145c9565b0154603b54909150610df582670de0b6b3a76400006144aa565b610dff91906143a8565b3414610e1d5760405162461bcd60e51b8152600401610bab906141f6565b610e28848484612b01565b50505050565b630a85bd0160e11b5b949350505050565b6000600a83108015610e7e5750600b83600b8110610e5f57610e5f6145c9565b01546000848152603d6020526040902054610e7b908490614390565b11155b8015610ed55750601654610e9390600a6144aa565b82600b85600b8110610ea757610ea76145c9565b0154601654610eb691906143a8565b610ec091906144aa565b610ec8612d21565b610ed29190614390565b11155b15610ee257506001610aab565b82600a148015610f115750601654610efb90600a6144aa565b82610f04612d21565b610f0e9190614390565b11155b15610f1e57506001610aab565b50600092915050565b610f32838383612d8f565b610cdc838383612fb6565b602d81600b8110610f4d57600080fd5b018054909150610f5c90614523565b80601f0160208091040260200160405190810160405280929190818152602001828054610f8890614523565b8015610fd55780601f10610faa57610100808354040283529160200191610fd5565b820191906000526020600020905b815481529060010190602001808311610fb857829003601f168201915b505050505081565b600081600a141561100a57506001600160a01b038216600090815260406020819052902060010154610aab565b506001600160a01b038216600090815260406020818152818320848452905290205492915050565b6007546001600160a01b0316331461105c5760405162461bcd60e51b8152600401610bab9061421c565b603880546001600160a01b0319166001600160a01b0392909216919091179055565b601781600b811061108e57600080fd5b0154905081565b6000336110a0611f39565b6001600160a01b03161480156110b95750603e5460ff16155b806110e35750336000908152603f602052604090205460ff1680156110e35750603e5460ff166001145b806110f35750603e5460ff166002145b1561112e576111028383612fe7565b6040516001815233906000805160206146898339815191529060200160405180910390a2506001610aab565b6040516000815233906000805160206146898339815191529060200160405180910390a250600092915050565b6007546001600160a01b031633146111855760405162461bcd60e51b8152600401610bab9061421c565b603c805460ff1916911515919091179055565b6000828152604160209081526040808320546001600160a01b0387168452604290925282205460ff161515600114156111d5576001915050611309565b6001600160a01b03851660009081526042602052604090205460ff161580156111fe575080600a145b8015611224575061120d613072565b83611217876130de565b6112219190614390565b11155b15611233576001915050611309565b80600a1415611246576000915050611309565b6001600160a01b0385166000818152604060208181528183208584528152818320549383526042905290205460ff161580156112825750600a82105b80156112ab5750602282600b811061129c5761129c6145c9565b01546112a88583614390565b11155b80156112f257506112ba613072565b600b83600b81106112cd576112cd6145c9565b01546016546112dc91906143a8565b6112e5886130de565b6112ef9190614390565b11155b1561130257600192505050611309565b6000925050505b9392505050565b6007546001600160a01b0316331461133a5760405162461bcd60e51b8152600401610bab9061421c565b60038160ff161061137e5760405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21037b83a34b7b760911b6044820152606401610bab565b603e805460ff191660ff92909216919091179055565b61139f838383612d8f565b610cdc838383613180565b6007546001600160a01b031633146113d45760405162461bcd60e51b8152600401610bab9061421c565b603a80546001600160a01b0319166001600160a01b0392909216919091179055565b336001600160a01b038316141561143c5760405162461bcd60e51b815260206004820152600a602482015269496e76616c696420746f60b01b6044820152606401610bab565b610d7933838361319b565b603c5460ff166114695760405162461bcd60e51b8152600401610bab906141a9565b6038546001600160a01b0316156114925760405162461bcd60e51b8152600401610bab90614251565b60008281526041602052604081205490601782600b81106114b5576114b56145c9565b0154601784600b81106114ca576114ca6145c9565b01546114d691906144c9565b9050336001600160a01b03167f35da91e5b418a59e54085b10b42be33b3938527f506ad3df2a0f8747d49ef3d434603b5484670de0b6b3a764000061151b91906144aa565b61152591906143a8565b6040805192835260208301919091520160405180910390a2603b5461155282670de0b6b3a76400006144aa565b61155c91906143a8565b341461157a5760405162461bcd60e51b8152600401610bab906141f6565b600a8210801561158a5750600a83105b801561159557508183115b6115b15760405162461bcd60e51b8152600401610bab906141d0565b6115bc333086610f27565b610e28335b84602d86600b81106115d5576115d56145c9565b0180546115e190614523565b80601f016020809104026020016040519081016040528092919081815260200182805461160d90614523565b801561165a5780601f1061162f5761010080835404028352916020019161165a565b820191906000526020600020905b81548152906001019060200180831161163d57829003601f168201915b5050505050612b01565b6000818152600260205260408120546001600160a01b031680610aab5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610bab565b603c5460ff166116fd5760405162461bcd60e51b8152600401610bab906141a9565b600082815260416020526040902054600a8110801561171c5750600a82105b801561172757508082105b6117435760405162461bcd60e51b8152600401610bab906141d0565b6000600b82600b8110611758576117586145c9565b015460165461176791906143a8565b90506000600b84600b811061177e5761177e6145c9565b015460165461178d91906143a8565b905061179a333087610f27565b6117b23385602d87600b81106115d5576115d56145c9565b6117bc81836144c9565b30600090815260406020819052902060010154101561181e576117e4600a61044783856144c9565b6118005760405162461bcd60e51b8152600401610bab906142cd565b61180a81836144c9565b306000908152604060208190529020600101555b611832303361182d84866144c9565b61319b565b5050505050565b80156119b5573060009081526040602081905290206001015482111561189657611864600a83610e3f565b6118805760405162461bcd60e51b8152600401610bab906142cd565b3060009081526040602081905290206001018290555b603a546001600160a01b03166323b872dd33603a546040805163313ce56760e01b8152905130926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156118ec57600080fd5b505afa158015611900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119249190613ffa565b61192f90600a6143ff565b61193990876144aa565b6040518463ffffffff1660e01b815260040161195793929190614086565b602060405180830381600087803b15801561197157600080fd5b505af1158015611985573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a99190613ec7565b50610d7930338461319b565b6119c033308461319b565b603a546040805163313ce56760e01b815290516001600160a01b039092169163a9059cbb913391849163313ce567916004808301926020929190829003018186803b158015611a0e57600080fd5b505afa158015611a22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a469190613ffa565b611a5190600a6143ff565b611a5b90866144aa565b6040518363ffffffff1660e01b8152600401611a789291906140e7565b602060405180830381600087803b158015611a9257600080fd5b505af1158015611aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdc9190613ec7565b6001600160a01b0382166000908152604060208181528183208484528152918190208054825181850281018501909352808352606093830182828015611b2f57602002820191906000526020600020905b815481526020019060010190808311611b1b575b5050505050905092915050565b6007546001600160a01b03163314611b665760405162461bcd60e51b8152600401610bab9061421c565b602155565b60006001600160a01b038216611bd65760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610bab565b506001600160a01b031660009081526003602052604090205490565b6007546001600160a01b03163314611c1c5760405162461bcd60e51b8152600401610bab9061421c565b6007546040516000916001600160a01b031690600080516020614649833981519152908390a3600780546001600160a01b0319169055565b6007546001600160a01b03163314611c7e5760405162461bcd60e51b8152600401610bab9061421c565b60005b8251811015610cdc578160426000858481518110611ca157611ca16145c9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611cdd81614558565b915050611c81565b600b81600b811061108e57600080fd5b33600090815260406020819052902060010154821115611d4d5760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610bab565b600b81600b8110611d6057611d606145c9565b0154601654611d6f91906143a8565b821015611daa5760405162461bcd60e51b81526020600482015260096024820152681d1bdbc81cdb585b1b60ba1b6044820152606401610bab565b600a8110611de95760405162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2103a34b2b960a11b6044820152606401610bab565b6000600b82600b8110611dfe57611dfe6145c9565b0154601654611e0d91906143a8565b600b83600b8110611e2057611e206145c9565b0154601654611e2f91906143a8565b611e3990856143a8565b611e4391906144aa565b9050611e5033308361319b565b60005b600b83600b8110611e6657611e666145c9565b0154601654611e7591906143a8565b611e7f90856143a8565b811015610e2857611e8f336115c1565b80611e9981614558565b915050611e53565b6007546001600160a01b03163314611ecb5760405162461bcd60e51b8152600401610bab9061421c565b8051600a14611eec5760405162461bcd60e51b8152600401610bab906142f1565b60005b8151811015610d7957818181518110611f0a57611f0a6145c9565b6020026020010151600b82600b8110611f2557611f256145c9565b015580611f3181614558565b915050611eef565b6007546001600160a01b031690565b606060018054610ac090614523565b6007546001600160a01b03163314611f815760405162461bcd60e51b8152600401610bab9061421c565b8051600a14611fa25760405162461bcd60e51b8152600401610bab906142f1565b60005b8151811015610d7957818181518110611fc057611fc06145c9565b6020026020010151601782600b8110611fdb57611fdb6145c9565b015580611fe781614558565b915050611fa5565b6001600160a01b0382163314156120445760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610bab565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b60008181526041602052604081205490600b828181106120d2576120d26145c9565b01546016546120e191906143a8565b90506120ee333085610f27565b3060009081526040602081905290206001015481111561214557612113600a82610e3f565b61212f5760405162461bcd60e51b8152600401610bab906142cd565b3060009081526040602081905290206001018190555b610cdc30338361319b565b61215b848484612d8f565b610e2884848484613338565b6007546001600160a01b031633146121915760405162461bcd60e51b8152600401610bab9061421c565b6039546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156121ca573d6000803e3d6000fd5b50565b60606121d882612a76565b61223e5760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b6064820152608401610bab565b6000828152600660205260408120805461225790614523565b80601f016020809104026020016040519081016040528092919081815260200182805461228390614523565b80156122d05780601f106122a5576101008083540402835291602001916122d0565b820191906000526020600020905b8154815290600101906020018083116122b357829003601f168201915b5050505050905060006122ee60408051602081019091526000815290565b9050805160001415612301575092915050565b81511561233357808260405160200161231b929190614043565b60405160208183030381529060405292505050919050565b610e378461336a565b6038546001600160a01b03166123885760405162461bcd60e51b8152602060048201526011602482015270696e76616c69642043757272656e63793160781b6044820152606401610bab565b600b82106123a85760405162461bcd60e51b8152600401610bab90614318565b6000601783600b81106123bd576123bd6145c9565b01546038549091506001600160a01b03166323b872dd33603b546038546040805163313ce56760e01b815290513093926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561241c57600080fd5b505afa158015612430573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124549190613ffa565b61245f90600a6143ff565b61246990876144aa565b61247391906143a8565b6040518463ffffffff1660e01b815260040161249193929190614086565b602060405180830381600087803b1580156124ab57600080fd5b505af11580156124bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e39190613ec7565b50610e28848484612b01565b6007546001600160a01b031633146125195760405162461bcd60e51b8152600401610bab9061421c565b6039546040516370a0823160e01b81526001600160a01b038084169263a9059cbb9291169083906370a0823190612554903090600401614072565b60206040518083038186803b15801561256c57600080fd5b505afa158015612580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a49190613f37565b6040518363ffffffff1660e01b81526004016125c19291906140e7565b602060405180830381600087803b1580156125db57600080fd5b505af11580156125ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d799190613ec7565b6007546001600160a01b0316331461263d5760405162461bcd60e51b8152600401610bab9061421c565b600a821061265d5760405162461bcd60e51b8152600401610bab906141d0565b80602d83600b8110612671576126716145c9565b019080519060200190610cdc929190613a38565b6007546001600160a01b031633146126af5760405162461bcd60e51b8152600401610bab9061421c565b60005b8251811015610cdc5781603f60008584815181106126d2576126d26145c9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061270e81614558565b9150506126b2565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6007546001600160a01b0316331461276e5760405162461bcd60e51b8152600401610bab9061421c565b6001600160a01b0381166127d35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bab565b6007546040516001600160a01b0380841692169060008051602061464983398151915290600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031633146128475760405162461bcd60e51b8152600401610bab9061421c565b6016819055601555565b6007546001600160a01b0316331461287b5760405162461bcd60e51b8152600401610bab9061421c565b603980546001600160a01b0319166001600160a01b0392909216919091179055565b603c5460ff166128bf5760405162461bcd60e51b8152600401610bab906141a9565b6038546001600160a01b03166128e75760405162461bcd60e51b8152600401610bab90614251565b60008281526041602052604081205490601782600b811061290a5761290a6145c9565b01546038549091506001600160a01b03166323b872dd33603b546038546040805163313ce56760e01b815290513093926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561296957600080fd5b505afa15801561297d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a19190613ffa565b6129ac90600a6143ff565b6129b690876144aa565b6129c091906143a8565b6040518463ffffffff1660e01b81526004016129de93929190614086565b602060405180830381600087803b1580156129f857600080fd5b505af1158015612a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a309190613ec7565b50600a8210801561158a5750600a8310801561159557508183116115b15760405162461bcd60e51b8152600401610bab906141d0565b602281600b811061108e57600080fd5b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612ac882611664565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b33612b0a611f39565b6001600160a01b0316148015612b235750603e5460ff16155b80612b4d5750336000908152603f602052604090205460ff168015612b4d5750603e5460ff166001145b80612b5d5750603e5460ff166002145b15612ce857600082600a1415612bc357612b78836001610e3f565b612b945760405162461bcd60e51b8152600401610bab906142cd565b306000908152604060208190528120600101805491612bb283614558565b9190505550610e283085600161319b565b3060009081526040602081815281832086845290529020805415612c135780548190612bf1906001906144c9565b81548110612c0157612c016145c9565b90600052602060002001549150612c7c565b612c1e846001610e3f565b612c3a5760405162461bcd60e51b8152600401610bab906142cd565b612c48600a80546001019055565b600a549150612c573083613441565b6000828152604160209081526040822086905582546001810184558383529120018290555b60405163095ea7b360e01b8152309063095ea7b390612ca190889086906004016140e7565b600060405180830381600087803b158015612cbb57600080fd5b505af1158015612ccf573d6000803e3d6000fd5b50505050612cde308684610f27565b6118328284612fe7565b60405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21027b83a34b7b760911b6044820152606401610bab565b600080805b600a8111612d89576000818152603d602052604090205480600b83818110612d5057612d506145c9565b0154601654612d5f91906143a8565b612d6991906144aa565b612d739084614390565b9250508080612d8190614558565b915050612d26565b50919050565b6001600160a01b038084166000908152604060208181528183208584526041825282842054808552908252828420948716845282825282842090845290529020612ddb84846001611198565b612e1c5760405162461bcd60e51b8152602060048201526012602482015271657863656564206d617820616d6f756e743160701b6044820152606401610bab565b6000805b8354811015612ed957838181548110612e3b57612e3b6145c9565b9060005260206000200154851415612ec75783548490612e5d906001906144c9565b81548110612e6d57612e6d6145c9565b9060005260206000200154848281548110612e8a57612e8a6145c9565b906000526020600020018190555083805480612ea857612ea86145b3565b6001900381819060005260206000200160009055905560019150612ed9565b80612ed181614558565b915050612e20565b5080612f1d5760405162461bcd60e51b8152602060048201526013602482015272199c9bdb481a185cc81b9bc81d1bdad95b9259606a1b6044820152606401610bab565b8154600181018355600083815260209020018490556001600160a01b038616301415612f70576000848152604160209081526040808320548352603d9091528120805491612f6a83614558565b91905055505b6001600160a01b038516301415612fae576000848152604160209081526040808320548352603d9091528120805491612fa88361450c565b91905055505b505050505050565b612fc0338261345b565b612fdc5760405162461bcd60e51b8152600401610bab9061427c565b610cdc83838361351d565b612ff082612a76565b6130535760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610bab565b60008281526006602090815260409091208251610cdc92840190613a38565b600080805b600a8111612d8957600b81600b8110613092576130926145c9565b0154601654602283600b81106130aa576130aa6145c9565b01546130b691906144aa565b6130c091906143a8565b6130ca9083614390565b9150806130d681614558565b915050613077565b600080805b600a811015613159576001600160a01b038416600090815260406020818152818320848452905290208054600b83818110613120576131206145c9565b015460165461312f91906143a8565b61313991906144aa565b6131439084614390565b925050808061315190614558565b9150506130e3565b506001600160a01b0383166000908152604060208190529020600101546113099082614390565b610cdc83838360405180602001604052806000815250612150565b6001600160a01b0383166000908152604060208190529020600101548111156131fd5760405162461bcd60e51b8152602060048201526014602482015273696e73756666696365696e742062616c616e636560601b6044820152606401610bab565b61320982600083611198565b61324a5760405162461bcd60e51b815260206004820152601260248201527132bc31b2b2b21036b0bc1030b6b7bab73a1960711b6044820152606401610bab565b6001600160a01b038316600090815260406020819052812060010180548392906132759084906144c9565b90915550506001600160a01b038216600090815260406020819052812060010180548392906132a5908490614390565b90915550506001600160a01b0383163014156132ef57600080516020614629833981519152546000908152603d6020526040812080548392906132e9908490614390565b90915550505b6001600160a01b038216301415610cdc57600080516020614629833981519152546000908152603d60205260408120805483929061332e9084906144c9565b9091555050505050565b613342338361345b565b61335e5760405162461bcd60e51b8152600401610bab9061427c565b610e28848484846136ab565b606061337582612a76565b6133d95760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610bab565b60006133f060408051602081019091526000815290565b905060008151116134105760405180602001604052806000815250611309565b8061341a846136de565b60405160200161342b929190614043565b6040516020818303038152906040529392505050565b610d798282604051806020016040528060008152506137db565b600061346682612a76565b6134c75760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610bab565b60006134d283611664565b9050806001600160a01b0316846001600160a01b0316148061350d5750836001600160a01b031661350284610b43565b6001600160a01b0316145b80610e375750610e378185612716565b826001600160a01b031661353082611664565b6001600160a01b0316146135985760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610bab565b6001600160a01b0382166135fa5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610bab565b613605600082612a93565b6001600160a01b038316600090815260036020526040812080546001929061362e9084906144c9565b90915550506001600160a01b038216600090815260036020526040812080546001929061365c908490614390565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03868116918217909255915184939187169160008051602061466983398151915291a4505050565b6136b684848461351d565b6136c28484848461380e565b610e285760405162461bcd60e51b8152600401610bab90614157565b6060816137025750506040805180820190915260018152600360fc1b602082015290565b8160005b811561372c578061371681614558565b91506137259050600a836143a8565b9150613706565b6000816001600160401b03811115613746576137466145df565b6040519080825280601f01601f191660200182016040528015613770576020820181803683370190505b5090505b8415610e37576137856001836144c9565b9150613792600a86614573565b61379d906030614390565b60f81b8183815181106137b2576137b26145c9565b60200101906001600160f81b031916908160001a9053506137d4600a866143a8565b9450613774565b6137e58383613918565b6137f2600084848461380e565b610cdc5760405162461bcd60e51b8152600401610bab90614157565b60006001600160a01b0384163b1561391057604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906138529033908990889088906004016140aa565b602060405180830381600087803b15801561386c57600080fd5b505af192505050801561389c575060408051601f3d908101601f1916820190925261389991810190613f01565b60015b6138f6573d8080156138ca576040519150601f19603f3d011682016040523d82523d6000602084013e6138cf565b606091505b5080516138ee5760405162461bcd60e51b8152600401610bab90614157565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610e37565b506001610e37565b6001600160a01b03821661396e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610bab565b61397781612a76565b156139c35760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610bab565b6001600160a01b03821660009081526003602052604081208054600192906139ec908490614390565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051839290600080516020614669833981519152908290a45050565b828054613a4490614523565b90600052602060002090601f016020900481019282613a665760008555613aac565b82601f10613a7f57805160ff1916838001178555613aac565b82800160010185558215613aac579182015b82811115613aac578251825591602001919060010190613a91565b50613ab8929150613abc565b5090565b5b80821115613ab85760008155600101613abd565b60006001600160401b03831115613aea57613aea6145df565b613afd601f8401601f191660200161433d565b9050828152838383011115613b1157600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b0381168114613b3f57600080fd5b919050565b8035613b3f816145f5565b600082601f830112613b6057600080fd5b61130983833560208501613ad1565b600060208284031215613b8157600080fd5b61130982613b28565b60008060408385031215613b9d57600080fd5b613ba683613b28565b9150613bb460208401613b28565b90509250929050565b600080600060608486031215613bd257600080fd5b613bdb84613b28565b9250613be960208501613b28565b9150604084013590509250925092565b60008060008060808587031215613c0f57600080fd5b613c1885613b28565b9350613c2660208601613b28565b92506040850135915060608501356001600160401b03811115613c4857600080fd5b8501601f81018713613c5957600080fd5b613c6887823560208401613ad1565b91505092959194509250565b60008060408385031215613c8757600080fd5b613c9083613b28565b91506020830135613ca0816145f5565b809150509250929050565b60008060408385031215613cbe57600080fd5b613cc783613b28565b946020939093013593505050565b600080600060608486031215613cea57600080fd5b613cf384613b28565b92506020840135915060408401356001600160401b03811115613d1557600080fd5b613d2186828701613b4f565b9150509250925092565b600080600060608486031215613d4057600080fd5b613d4984613b28565b95602085013595506040909401359392505050565b60008060408385031215613d7157600080fd5b82356001600160401b03811115613d8757600080fd5b8301601f81018513613d9857600080fd5b80356020613dad613da88361436d565b61433d565b80838252828201915082850189848660051b8801011115613dcd57600080fd5b600095505b84861015613df757613de381613b28565b835260019590950194918301918301613dd2565b509550613e079050868201613b44565b93505050509250929050565b60006020808385031215613e2657600080fd5b82356001600160401b03811115613e3c57600080fd5b8301601f81018513613e4d57600080fd5b8035613e5b613da88261436d565b80828252848201915084840188868560051b8701011115613e7b57600080fd5b600094505b83851015613e9e578035835260019490940193918501918501613e80565b50979650505050505050565b600060208284031215613ebc57600080fd5b8135611309816145f5565b600060208284031215613ed957600080fd5b8151611309816145f5565b600060208284031215613ef657600080fd5b813561130981614603565b600060208284031215613f1357600080fd5b815161130981614603565b600060208284031215613f3057600080fd5b5035919050565b600060208284031215613f4957600080fd5b5051919050565b60008060408385031215613f6357600080fd5b823591506020830135613ca0816145f5565b60008060408385031215613f8857600080fd5b8235915060208301356001600160401b03811115613fa557600080fd5b613fb185828601613b4f565b9150509250929050565b60008060408385031215613fce57600080fd5b50508035926020909101359150565b600060208284031215613fef57600080fd5b813561130981614619565b60006020828403121561400c57600080fd5b815161130981614619565b6000815180845261402f8160208601602086016144e0565b601f01601f19169290920160200192915050565b600083516140558184602088016144e0565b8351908301906140698183602088016144e0565b01949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906140dd90830184614017565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156141385783518352928401929184019160010161411c565b50909695505050505050565b6020815260006113096020830184614017565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252600d908201526c3737903832b936b4b9b9b4b7b760991b604082015260600190565b6020808252600c908201526b34b73b30b634b2103a34b2b960a11b604082015260600190565b6020808252600c908201526b6e6f742065712076616c756560a01b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601190820152700696e76616c69642043757272656e63793607c1b604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252600a90820152691b1a5b5a5d081b5a5b9d60b21b604082015260600190565b6020808252600d908201526c1a5b9d985b1a59081a5b9c1d5d609a1b604082015260600190565b6020808252600b908201526a696e76616c69642074696560a81b604082015260600190565b604051601f8201601f191681016001600160401b0381118282101715614365576143656145df565b604052919050565b60006001600160401b03821115614386576143866145df565b5060051b60200190565b600082198211156143a3576143a3614587565b500190565b6000826143b7576143b761459d565b500490565b600181815b808511156143f75781600019048211156143dd576143dd614587565b808516156143ea57918102915b93841c93908002906143c1565b509250929050565b600061130960ff84168360008261441857506001610aab565b8161442557506000610aab565b816001811461443b576002811461444557614461565b6001915050610aab565b60ff84111561445657614456614587565b50506001821b610aab565b5060208310610133831016604e8410600b8410161715614484575081810a610aab565b61448e83836143bc565b80600019048211156144a2576144a2614587565b029392505050565b60008160001904831182151516156144c4576144c4614587565b500290565b6000828210156144db576144db614587565b500390565b60005b838110156144fb5781810151838201526020016144e3565b83811115610e285750506000910152565b60008161451b5761451b614587565b506000190190565b600181811c9082168061453757607f821691505b60208210811415612d8957634e487b7160e01b600052602260045260246000fd5b600060001982141561456c5761456c614587565b5060010190565b6000826145825761458261459d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b80151581146121ca57600080fd5b6001600160e01b0319811681146121ca57600080fd5b60ff811681146121ca57600080fdfe22157c206018468b45ae7922bc7a0b0cb8feed201dac3c6fb5e7876aa94e11e98be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef56fec203058d9a869b913308c1ef948fb8e2e66fddcb5eed5d9a86c0bf0d0557a26469706673582212203eff033d48bbbfd18f627e134c4582e336f74da99b595586efa965371681fe7e64736f6c63430008070033