Overview
Max Total Supply
941,560,131.404248366300818 MOZ
Holders
4,945 (0.00%)
Market
Price
$0.0004 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
$57,884.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
300.828513595963249072 MOZValue
$0.12 ( ~6.27746390458255E-05 ETH) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_layerZeroEndpoint","type":"address"},{"internalType":"address","name":"_mozStaking","type":"address"},{"internalType":"uint8","name":"_sharedDecimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"_nonce","type":"uint64"},{"indexed":false,"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"CallOFTReceivedSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"_nonce","type":"uint64"},{"indexed":false,"internalType":"bytes","name":"_payload","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"_reason","type":"bytes"}],"name":"MessageFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"}],"name":"NonContractAddress","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":"uint16","name":"_srcChainId","type":"uint16"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ReceiveFromChain","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"_nonce","type":"uint64"},{"indexed":false,"internalType":"bytes32","name":"_payloadHash","type":"bytes32"}],"name":"RetryMessageSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"bytes32","name":"_toAddress","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"SendToChain","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"_type","type":"uint16"},{"indexed":false,"internalType":"uint256","name":"_minDstGas","type":"uint256"}],"name":"SetMinDstGas","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"precrime","type":"address"}],"name":"SetPrecrime","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_remoteChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_path","type":"bytes"}],"name":"SetTrustedRemote","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_remoteChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_remoteAddress","type":"bytes"}],"name":"SetTrustedRemoteAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_useCustomAdapterParams","type":"bool"}],"name":"SetUseCustomAdapterParams","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"TreasuryWalletUpdated","type":"event"},{"inputs":[],"name":"DEFAULT_PAYLOAD_SIZE_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NO_EXTRA_GAS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PT_SEND","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PT_SEND_AND_CALL","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"from","type":"address"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"internalType":"uint64","name":"_nonce","type":"uint64"},{"internalType":"bytes32","name":"_from","type":"bytes32"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_payload","type":"bytes"},{"internalType":"uint256","name":"_gasForCall","type":"uint256"}],"name":"callOnOFTReceived","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"uint64","name":"","type":"uint64"}],"name":"creditedPackets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentLiquidity","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"}],"name":"decreaseLiquidityCurrentRange","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"internalType":"bytes32","name":"_toAddress","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_payload","type":"bytes"},{"internalType":"uint64","name":"_dstGasForCall","type":"uint64"},{"internalType":"bool","name":"_useZro","type":"bool"},{"internalType":"bytes","name":"_adapterParams","type":"bytes"}],"name":"estimateSendAndCallFee","outputs":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"zroFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"internalType":"bytes32","name":"_toAddress","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_useZro","type":"bool"},{"internalType":"bytes","name":"_adapterParams","type":"bytes"}],"name":"estimateSendFee","outputs":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"zroFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"uint64","name":"","type":"uint64"}],"name":"failedMessages","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"}],"name":"forceResumeReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"},{"internalType":"uint16","name":"_chainId","type":"uint16"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"_configType","type":"uint256"}],"name":"getConfig","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_remoteChainId","type":"uint16"}],"name":"getTrustedRemoteAddress","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"}],"name":"isTrustedRemote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lzEndpoint","outputs":[{"internalType":"contract ILayerZeroEndpoint","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"internalType":"uint64","name":"_nonce","type":"uint64"},{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint16","name":"","type":"uint16"}],"name":"minDstGasLookup","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_to","type":"address"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mozStaking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"internalType":"uint64","name":"_nonce","type":"uint64"},{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"nonblockingLzReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nonfungiblePositionManager","outputs":[{"internalType":"contract INonfungiblePositionManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","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":"uint16","name":"","type":"uint16"}],"name":"payloadSizeLimitLookup","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"positionTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"precrime","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"internalType":"uint64","name":"_nonce","type":"uint64"},{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"retryMessage","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"internalType":"bytes32","name":"_toAddress","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_payload","type":"bytes"},{"internalType":"uint64","name":"_dstGasForCall","type":"uint64"},{"components":[{"internalType":"address payable","name":"refundAddress","type":"address"},{"internalType":"address","name":"zroPaymentAddress","type":"address"},{"internalType":"bytes","name":"adapterParams","type":"bytes"}],"internalType":"struct ICommonOFT.LzCallParams","name":"_callParams","type":"tuple"}],"name":"sendAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"internalType":"bytes32","name":"_toAddress","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"components":[{"internalType":"address payable","name":"refundAddress","type":"address"},{"internalType":"address","name":"zroPaymentAddress","type":"address"},{"internalType":"bytes","name":"adapterParams","type":"bytes"}],"internalType":"struct ICommonOFT.LzCallParams","name":"_callParams","type":"tuple"}],"name":"sendFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"},{"internalType":"uint16","name":"_chainId","type":"uint16"},{"internalType":"uint256","name":"_configType","type":"uint256"},{"internalType":"bytes","name":"_config","type":"bytes"}],"name":"setConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"internalType":"uint16","name":"_packetType","type":"uint16"},{"internalType":"uint256","name":"_minGas","type":"uint256"}],"name":"setMinDstGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"internalType":"uint256","name":"_size","type":"uint256"}],"name":"setPayloadSizeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_precrime","type":"address"}],"name":"setPrecrime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"}],"name":"setReceiveVersion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"}],"name":"setSendVersion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_path","type":"bytes"}],"name":"setTrustedRemote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_remoteChainId","type":"uint16"},{"internalType":"bytes","name":"_remoteAddress","type":"bytes"}],"name":"setTrustedRemoteAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_useCustomAdapterParams","type":"bool"}],"name":"setUseCustomAdapterParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharedDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForTreasury","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"}],"name":"trustedRemoteLookup","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_treasuryFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateTaxEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTreasury","type":"address"}],"name":"updateTreasuryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"useCustomAdapterParams","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toAddr","type":"address"}],"name":"withdrawStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60e0604052600f80546001600160a01b03191673c36442b4a4522e871399cd717abdd847ab11fe881790556000196010556011805460ff60801b191690556103e86012553480156200005057600080fd5b50604051620066943803806200669483398101604081905262000073916200046e565b6040518060400160405280600c81526020016b26b7bd30b4b1902a37b5b2b760a11b8152506040518060400160405280600381526020016226a7ad60e91b81525082858383838381818080620000d8620000d26200028d60201b60201c565b62000291565b6001600160a01b0316608052505060ff1660a052505081516200010390600b906020850190620003ab565b5080516200011990600c906020840190620003ab565b50505060006200012e620002e160201b60201c565b90508060ff168360ff1611156200019c5760405162461bcd60e51b815260206004820152602760248201527f4f46543a20736861726564446563696d616c73206d757374206265203c3d20646044820152666563696d616c7360c81b60648201526084015b60405180910390fd5b620001a88382620004d7565b620001b590600a620005fc565b60c05250505050506001600160a01b038216620002075760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640162000193565b6200022f336200021983600a620005fc565b6200022990633b9aca0062000614565b620002e6565b600d80546001600160a01b0319166001600160a01b038416179055607d6014819055601581905562000262908062000636565b6013556200027281600a620005fc565b6200028090614e2062000614565b601655506200068e915050565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b601290565b6001600160a01b0382166200033e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000193565b80600a600082825462000352919062000636565b90915550506001600160a01b0382166000818152600860209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b828054620003b99062000651565b90600052602060002090601f016020900481019282620003dd576000855562000428565b82601f10620003f857805160ff191683800117855562000428565b8280016001018555821562000428579182015b82811115620004285782518255916020019190600101906200040b565b50620004369291506200043a565b5090565b5b808211156200043657600081556001016200043b565b80516001600160a01b03811681146200046957600080fd5b919050565b6000806000606084860312156200048457600080fd5b6200048f8462000451565b92506200049f6020850162000451565b9150604084015160ff81168114620004b657600080fd5b809150509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620004f457620004f4620004c1565b90039392505050565b600181815b808511156200053e578160001904821115620005225762000522620004c1565b808516156200053057918102915b93841c939080029062000502565b509250929050565b6000826200055757506001620005f6565b816200056657506000620005f6565b81600181146200057f57600281146200058a57620005aa565b6001915050620005f6565b60ff8411156200059e576200059e620004c1565b50506001821b620005f6565b5060208310610133831016604e8410600b8410161715620005cf575081810a620005f6565b620005db8383620004fd565b8060001904821115620005f257620005f2620004c1565b0290505b92915050565b60006200060d60ff84168362000546565b9392505050565b6000816000190483118215151615620006315762000631620004c1565b500290565b600082198211156200064c576200064c620004c1565b500190565b600181811c908216806200066657607f821691505b602082108114156200068857634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051615f896200070b60003960008181613e0e0152818161422d01526149c601526000610a33015260008181610c9001528181610f6e015281816114fc015281816115d5015281816117c80152818161254b01528181612c22015281816131760152818161388f01526143e80152615f896000f3fe60806040526004361061050a5760003560e01c80638da5cb5b11610294578063cbed8b9c1161015e578063e6a20ae6116100d6578063ed629c5c1161008a578063f5ecbdbc1161006f578063f5ecbdbc14610f18578063fc0c546a14610f38578063fcd3533c14610f4b57600080fd5b8063ed629c5c14610ede578063f2fde38b14610ef857600080fd5b8063eab45d9c116100bb578063eab45d9c14610e7e578063eaffd49a14610e9e578063eb8d72b714610ebe57600080fd5b8063e6a20ae614610e49578063e767ee2f14610e5e57600080fd5b8063d1deba1f1161012d578063dd62ed3e11610112578063dd62ed3e14610dcd578063df2a5b3b14610e13578063e2f4560514610e3357600080fd5b8063d1deba1f14610d9a578063d257b34f14610dad57600080fd5b8063cbed8b9c14610d38578063cc2ffe7c14610d58578063cc32d17614610d6e578063ceefe5d114610d8457600080fd5b80639f38369a1161020c578063b353aaa7116101c0578063b62496f5116101a5578063b62496f514610cd2578063baf3292d14610d02578063c446183414610d2257600080fd5b8063b353aaa714610c7e578063b44a272214610cb257600080fd5b8063a4c51df5116101f1578063a4c51df514610c1e578063a6c3d16514610c3e578063a9059cbb14610c5e57600080fd5b80639f38369a14610bde578063a457c2d714610bfe57600080fd5b806395d89b41116102635780639a7a23d6116102485780639a7a23d614610b4c5780639b0e06d114610b6c5780639bdb981214610b8c57600080fd5b806395d89b4114610b2157806398118cb414610b3657600080fd5b80638da5cb5b14610aae5780639358928b14610acc57806394bf804d14610ae1578063950c8a7414610b0157600080fd5b806344770515116103d55780636ebbad6d1161034d5780637ca8448a11610301578063857749b0116102e6578063857749b014610a21578063870bd30b14610a555780638cfd8f5c14610a7657600080fd5b80637ca8448a146109e1578063809d458d14610a0157600080fd5b8063715018a611610332578063715018a6146109995780637533d788146109ae57806376203b48146109ce57600080fd5b80636ebbad6d1461094357806370a082311461096357600080fd5b806361d027b3116103a4578063695ef6bf11610389578063695ef6bf146108fb5780636ac5eeee1461090e5780636db794371461092357600080fd5b806361d027b3146108a357806366ad5c8a146108db57600080fd5b806344770515146107e057806346caf2ae146107f55780634c42899a1461083f5780635b8c41e61461085457600080fd5b8063150b7a0211610483578063365260b4116104375780633d8b38f61161041c5780633d8b38f6146107735780633f1f4fa41461079357806342d65a8d146107c057600080fd5b8063365260b41461071e578063395093511461075357600080fd5b80631a8145bb116104685780631a8145bb146106c657806323b872dd146106dc578063313ce567146106fc57600080fd5b8063150b7a021461065357806318160ddd146106b157600080fd5b806306fdde03116104da578063095ea7b3116104bf578063095ea7b3146105f35780630df374831461061357806310ddb1371461063357600080fd5b806306fdde03146105b157806307e0db17146105d357600080fd5b80621d35671461051657806301f59d161461053857806301ffc9a714610561578063068acf6c1461059157600080fd5b3661051157005b600080fd5b34801561052257600080fd5b50610536610531366004614f2f565b610f6b565b005b34801561054457600080fd5b5061054e60125481565b6040519081526020015b60405180910390f35b34801561056d57600080fd5b5061058161057c366004614fc3565b6111b3565b6040519015158152602001610558565b34801561059d57600080fd5b506105366105ac366004615002565b61121c565b3480156105bd57600080fd5b506105c6611430565b6040516105589190615077565b3480156105df57600080fd5b506105366105ee36600461508a565b6114c2565b3480156105ff57600080fd5b5061058161060e3660046150a5565b611564565b34801561061f57600080fd5b5061053661062e3660046150d1565b61157c565b34801561063f57600080fd5b5061053661064e36600461508a565b61159b565b34801561065f57600080fd5b5061069861066e3660046150ed565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040516001600160e01b03199091168152602001610558565b3480156106bd57600080fd5b50600a5461054e565b3480156106d257600080fd5b5061054e60175481565b3480156106e857600080fd5b506105816106f7366004615160565b61160c565b34801561070857600080fd5b5060125b60405160ff9091168152602001610558565b34801561072a57600080fd5b5061073e6107393660046151af565b611630565b60408051928352602083019190915201610558565b34801561075f57600080fd5b5061058161076e3660046150a5565b611685565b34801561077f57600080fd5b5061058161078e366004615217565b6116c4565b34801561079f57600080fd5b5061054e6107ae36600461508a565b60036020526000908152604090205481565b3480156107cc57600080fd5b506105366107db366004615217565b611790565b3480156107ec57600080fd5b5061054e600081565b34801561080157600080fd5b5060115461081e906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff9091168152602001610558565b34801561084b57600080fd5b5061070c600081565b34801561086057600080fd5b5061054e61086f3660046152d9565b6005602090815260009384526040808520845180860184018051928152908401958401959095209452929052825290205481565b3480156108af57600080fd5b50600e546108c3906001600160a01b031681565b6040516001600160a01b039091168152602001610558565b3480156108e757600080fd5b506105366108f6366004614f2f565b61182f565b610536610909366004615392565b611922565b34801561091a57600080fd5b5061053661198d565b34801561092f57600080fd5b5061053661093e366004615406565b611ca8565b34801561094f57600080fd5b5061073e61095e366004615446565b611d1e565b34801561096f57600080fd5b5061054e61097e366004615002565b6001600160a01b031660009081526008602052604090205490565b3480156109a557600080fd5b50610536611e27565b3480156109ba57600080fd5b506105c66109c936600461508a565b611e3b565b6105366109dc366004615463565b611ed5565b3480156109ed57600080fd5b506105366109fc366004615002565b611f79565b348015610a0d57600080fd5b50610536610a1c366004615002565b611fe1565b348015610a2d57600080fd5b5061070c7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a6157600080fd5b5060115461058190600160801b900460ff1681565b348015610a8257600080fd5b5061054e610a91366004615516565b600260209081526000928352604080842090915290825290205481565b348015610aba57600080fd5b506000546001600160a01b03166108c3565b348015610ad857600080fd5b5061054e612042565b348015610aed57600080fd5b50610536610afc366004615549565b612052565b348015610b0d57600080fd5b506004546108c3906001600160a01b031681565b348015610b2d57600080fd5b506105c66120b6565b348015610b4257600080fd5b5061054e60145481565b348015610b5857600080fd5b50610536610b67366004615579565b6120c5565b348015610b7857600080fd5b50610536610b873660046155a7565b612177565b348015610b9857600080fd5b50610581610ba73660046152d9565b6007602090815260009384526040808520845180860184018051928152908401958401959095209452929052825290205460ff1681565b348015610bea57600080fd5b506105c6610bf936600461508a565b6121b8565b348015610c0a57600080fd5b50610581610c193660046150a5565b6122cf565b348015610c2a57600080fd5b5061073e610c393660046155c4565b612379565b348015610c4a57600080fd5b50610536610c59366004615217565b612408565b348015610c6a57600080fd5b50610581610c793660046150a5565b61249b565b348015610c8a57600080fd5b506108c37f000000000000000000000000000000000000000000000000000000000000000081565b348015610cbe57600080fd5b50600f546108c3906001600160a01b031681565b348015610cde57600080fd5b50610581610ced366004615002565b60196020526000908152604090205460ff1681565b348015610d0e57600080fd5b50610536610d1d366004615002565b6124a9565b348015610d2e57600080fd5b5061054e61271081565b348015610d4457600080fd5b50610536610d53366004615682565b612513565b348015610d6457600080fd5b5061054e60185481565b348015610d7a57600080fd5b5061054e60155481565b348015610d9057600080fd5b5061054e60105481565b610536610da8366004614f2f565b6125b6565b348015610db957600080fd5b50610581610dc83660046156b1565b612804565b348015610dd957600080fd5b5061054e610de83660046156ca565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b348015610e1f57600080fd5b50610536610e2e3660046156f8565b6128b3565b348015610e3f57600080fd5b5061054e60165481565b348015610e5557600080fd5b5061070c600181565b348015610e6a57600080fd5b50600d546108c3906001600160a01b031681565b348015610e8a57600080fd5b50610536610e993660046155a7565b61296d565b348015610eaa57600080fd5b50610536610eb9366004615734565b6129b6565b348015610eca57600080fd5b50610536610ed9366004615217565b612aee565b348015610eea57600080fd5b506006546105819060ff1681565b348015610f0457600080fd5b50610536610f13366004615002565b612b48565b348015610f2457600080fd5b506105c6610f333660046157fd565b612bd8565b348015610f4457600080fd5b50306108c3565b348015610f5757600080fd5b50610536610f66366004615549565b612cb1565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610fe85760405162461bcd60e51b815260206004820152601e60248201527f4c7a4170703a20696e76616c696420656e64706f696e742063616c6c6572000060448201526064015b60405180910390fd5b61ffff8616600090815260016020526040812080546110069061584a565b80601f01602080910402602001604051908101604052809291908181526020018280546110329061584a565b801561107f5780601f106110545761010080835404028352916020019161107f565b820191906000526020600020905b81548152906001019060200180831161106257829003601f168201915b5050505050905080518686905014801561109a575060008151115b80156110c25750805160208201206040516110b8908890889061587f565b6040518091039020145b6111345760405162461bcd60e51b815260206004820152602660248201527f4c7a4170703a20696e76616c696420736f757263652073656e64696e6720636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610fdf565b6111aa8787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250612d1592505050565b50505050505050565b60006001600160e01b031982167f1f7ecdf700000000000000000000000000000000000000000000000000000000148061121657507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b611224612da3565b6001600160a01b03811661127a5760405162461bcd60e51b815260206004820152600c60248201527f5a65726f206164647265737300000000000000000000000000000000000000006044820152606401610fdf565b306000908152600860205260408120546040516370a0823160e01b81523060048201529091506000907382af49447d8a07e3bd95bd0d56f35241523fbab1906370a082319060240160206040518083038186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611312919061588f565b60405163a9059cbb60e01b81526001600160a01b038516600482015260248101849052909150309063a9059cbb90604401602060405180830381600087803b15801561135d57600080fd5b505af1158015611371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139591906158a8565b5060405163a9059cbb60e01b81526001600160a01b0384166004820152602481018290527382af49447d8a07e3bd95bd0d56f35241523fbab19063a9059cbb90604401602060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142a91906158a8565b50505050565b6060600b805461143f9061584a565b80601f016020809104026020016040519081016040528092919081815260200182805461146b9061584a565b80156114b85780601f1061148d576101008083540402835291602001916114b8565b820191906000526020600020905b81548152906001019060200180831161149b57829003601f168201915b5050505050905090565b6114ca612da3565b6040517f07e0db1700000000000000000000000000000000000000000000000000000000815261ffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307e0db17906024015b600060405180830381600087803b15801561154957600080fd5b505af115801561155d573d6000803e3d6000fd5b5050505050565b600033611572818585612dfd565b5060019392505050565b611584612da3565b61ffff909116600090815260036020526040902055565b6115a3612da3565b6040517f10ddb13700000000000000000000000000000000000000000000000000000000815261ffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906310ddb1379060240161152f565b60003361161a858285612f55565b611625858585612fe1565b506001949350505050565b6000806116768888888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506130f692505050565b91509150965096945050505050565b3360008181526009602090815260408083206001600160a01b038716845290915281205490919061157290829086906116bf9087906158db565b612dfd565b61ffff8316600090815260016020526040812080548291906116e59061584a565b80601f01602080910402602001604051908101604052809291908181526020018280546117119061584a565b801561175e5780601f106117335761010080835404028352916020019161175e565b820191906000526020600020905b81548152906001019060200180831161174157829003601f168201915b50505050509050838360405161177592919061587f565b60405180910390208180519060200120149150509392505050565b611798612da3565b6040517f42d65a8d0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342d65a8d906118019086908690869060040161591c565b600060405180830381600087803b15801561181b57600080fd5b505af11580156111aa573d6000803e3d6000fd5b3330146118a45760405162461bcd60e51b815260206004820152602660248201527f4e6f6e626c6f636b696e674c7a4170703a2063616c6c6572206d75737420626560448201527f204c7a41707000000000000000000000000000000000000000000000000000006064820152608401610fdf565b61191a8686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061321192505050565b505050505050565b61191a858585856119366020870187615002565b6119466040880160208901615002565b611953604089018961593a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061329892505050565b306000908152600860205260409020546016548110156119ef5760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74206d6f7a2062616c616e636500000000000000006044820152606401610fdf565b6000601854601754611a0191906158db565b9050600081611a0f57505050565b600060028360175486611a229190615981565b611a2c91906159b6565b611a3691906159b6565b9050600060028460185487611a4b9190615981565b611a5591906159b6565b611a5f91906159b6565b90506000611a6e6002876159b6565b9050611a7981613384565b6040516370a0823160e01b81523060048201526000907382af49447d8a07e3bd95bd0d56f35241523fbab1906370a082319060240160206040518083038186803b158015611ac657600080fd5b505afa158015611ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611afe919061588f565b9050600060028760185484611b139190615981565b611b1d91906159b6565b611b2791906159b6565b90506000611b3582846159ca565b600060178190556018556040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018490529091507382af49447d8a07e3bd95bd0d56f35241523fbab190632e1a7d4d90602401600060405180830381600087803b158015611ba857600080fd5b505af1158015611bbc573d6000803e3d6000fd5b5050600e546040516001600160a01b039091169250849150600081818185875af1925050503d8060008114611c0d576040519150601f19603f3d011682016040523d82523d6000602084013e611c12565b606091505b50508097505086611c2257600080fd5b600e54611c3a9030906001600160a01b031687612fe1565b600086118015611c4a5750600081115b15611c9d57611c5986826134e6565b601754604080518681526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b505050505050505050565b611cb0612da3565b60148290556015819055611cc481836158db565b60138190556012541015611d1a5760405162461bcd60e51b815260206004820152601760248201527f4275792066656573206d757374206265203c3d2035252e0000000000000000006044820152606401610fdf565b5050565b600080611d29612da3565b6040805160a08101825260105481526fffffffffffffffffffffffffffffffff858116602083019081526000838501818152606085019182524260808601908152600f5496517f0c49ccbe00000000000000000000000000000000000000000000000000000000815286516004820152935190941660248401525160448301525160648201529051608482015290916001600160a01b031690630c49ccbe9060a4016040805180830381600087803b158015611de457600080fd5b505af1158015611df8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1c91906159e1565b909590945092505050565b611e2f612da3565b611e39600061351b565b565b60016020526000908152604090208054611e549061584a565b80601f0160208091040260200160405190810160405280929190818152602001828054611e809061584a565b8015611ecd5780601f10611ea257610100808354040283529160200191611ecd565b820191906000526020600020905b815481529060010190602001808311611eb057829003601f168201915b505050505081565b611c9d8888888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611f229150506020890189615002565b611f3260408a0160208b01615002565b611f3f60408b018b61593a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061357892505050565b611f81612da3565b6000816001600160a01b03164760405160006040518083038185875af1925050503d8060008114611fce576040519150601f19603f3d011682016040523d82523d6000602084013e611fd3565b606091505b5050905080611d1a57600080fd5b611fe9612da3565b600e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831690811790915560405181907fa982575859d7ad2f390dc12b23f7dab8bbda047f9d0140ac68344b27bf34bfb490600090a350565b600061204d600a5490565b905090565b600d546001600160a01b031633146120ac5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c69642063616c6c65720000000000000000000000000000000000006044820152606401610fdf565b611d1a8183613679565b6060600c805461143f9061584a565b6120cd612da3565b6001600160a01b0382166121235760405162461bcd60e51b815260206004820152601f60248201527f54686520706169722063616e6e6f74206265207a65726f2061646472657373006044820152606401610fdf565b6001600160a01b038216600081815260196020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b61217f612da3565b60118054911515600160801b027fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff909216919091179055565b61ffff81166000908152600160205260408120805460609291906121db9061584a565b80601f01602080910402602001604051908101604052809291908181526020018280546122079061584a565b80156122545780601f1061222957610100808354040283529160200191612254565b820191906000526020600020905b81548152906001019060200180831161223757829003601f168201915b505050505090508051600014156122ad5760405162461bcd60e51b815260206004820152601d60248201527f4c7a4170703a206e6f20747275737465642070617468207265636f72640000006044820152606401610fdf565b6122c86000601483516122c091906159ca565b83919061373a565b9392505050565b3360008181526009602090815260408083206001600160a01b03871684529091528120549091908381101561236c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6116258286868403612dfd565b6000806123f68b8b8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c908190840183828082843760009201919091525061386292505050565b91509150995099975050505050505050565b612410612da3565b81813060405160200161242593929190615a05565b60408051601f1981840301815291815261ffff8516600090815260016020908152919020825161245a93919290910190614daf565b507f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce83838360405161248e9392919061591c565b60405180910390a1505050565b600033611572818585612fe1565b6124b1612da3565b6004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f5db758e995a17ec1ad84bdef7e8c3293a0bd6179bcce400dff5d4c3d87db726b906020015b60405180910390a150565b61251b612da3565b6040517fcbed8b9c0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cbed8b9c906125889088908890889088908890600401615a2b565b600060405180830381600087803b1580156125a257600080fd5b505af1158015611c9d573d6000803e3d6000fd5b61ffff861660009081526005602052604080822090516125d9908890889061587f565b908152604080516020928190038301902067ffffffffffffffff8716600090815292529020549050806126745760405162461bcd60e51b815260206004820152602360248201527f4e6f6e626c6f636b696e674c7a4170703a206e6f2073746f726564206d65737360448201527f61676500000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b80838360405161268592919061587f565b6040518091039020146127005760405162461bcd60e51b815260206004820152602160248201527f4e6f6e626c6f636b696e674c7a4170703a20696e76616c6964207061796c6f6160448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b61ffff87166000908152600560205260408082209051612723908990899061587f565b908152604080516020928190038301812067ffffffffffffffff8916600090815290845282902093909355601f880182900482028301820190528682526127bc918991899089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a93509150889088908190840183828082843760009201919091525061321192505050565b7fc264d91f3adc5588250e1551f547752ca0cfa8f6b530d243b9f9f4cab10ea8e587878787856040516127f3959493929190615a64565b60405180910390a150505050505050565b600061280e612da3565b620186a061281b600a5490565b612826906001615981565b61283091906159b6565b8210156128a55760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527f20302e3030312520746f74616c20737570706c792e00000000000000000000006064820152608401610fdf565b50601681905560015b919050565b6128bb612da3565b6000811161290b5760405162461bcd60e51b815260206004820152601560248201527f4c7a4170703a20696e76616c6964206d696e47617300000000000000000000006044820152606401610fdf565b61ffff83811660008181526002602090815260408083209487168084529482529182902085905581519283528201929092529081018290527f9d5c7c0b934da8fefa9c7760c98383778a12dfbfc0c3b3106518f43fb9508ac09060600161248e565b612975612da3565b6006805460ff19168215159081179091556040519081527f1584ad594a70cbe1e6515592e1272a987d922b097ead875069cebe8b40c004a490602001612508565b333014612a055760405162461bcd60e51b815260206004820152601f60248201527f4f4654436f72653a2063616c6c6572206d757374206265204f4654436f7265006044820152606401610fdf565b612a1030868661392c565b9350846001600160a01b03168a61ffff167fbf551ec93859b170f9b2141bd9298bf3f64322c6f7beb2543a0cb669834118bf86604051612a5291815260200190565b60405180910390a36040517f7fcf35da0000000000000000000000000000000000000000000000000000000081526001600160a01b03861690637fcf35da908390612aaf908e908e908e908e908e908d908d908d90600401615aa0565b600060405180830381600088803b158015612ac957600080fd5b5087f1158015612add573d6000803e3d6000fd5b505050505050505050505050505050565b612af6612da3565b61ffff83166000908152600160205260409020612b14908383614e33565b507ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab83838360405161248e9392919061591c565b612b50612da3565b6001600160a01b038116612bcc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610fdf565b612bd58161351b565b50565b6040517ff5ecbdbc00000000000000000000000000000000000000000000000000000000815261ffff808616600483015284166024820152306044820152606481018290526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5ecbdbc9060840160006040518083038186803b158015612c6c57600080fd5b505afa158015612c80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ca89190810190615afc565b95945050505050565b600d546001600160a01b03163314612d0b5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c69642063616c6c65720000000000000000000000000000000000006044820152606401610fdf565b611d1a818361397e565b600080612d8d5a60966366ad5c8a60e01b89898989604051602401612d3d9493929190615b6a565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915230929190613ae9565b915091508161191a5761191a8686868685613b74565b6000546001600160a01b03163314611e395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fdf565b6001600160a01b038316612e785760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b038216612ef45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260096020908152604080832093861683529290522054600019811461142a5781811015612fd45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610fdf565b61142a8484848403612dfd565b601154600090600160801b900460ff168015612ffd5750600082115b156130cd576001600160a01b03831660009081526019602052604090205460ff168061304157506001600160a01b03841660009081526019602052604090205460ff165b156130cd57601354156130cd576127106013548361305f9190615981565b61306991906159b6565b90506013546014548261307c9190615981565b61308691906159b6565b6017600082825461309791906158db565b90915550506013546015546130ac9083615981565b6130b691906159b6565b601860008282546130c791906158db565b90915550505b80156130eb576130de843083613c12565b6130e881836159ca565b91505b61142a848484613c12565b600080600061315c8761310888613e06565b6040805160006020820152602181019390935260c09190911b7fffffffffffffffff000000000000000000000000000000000000000000000000166041830152805160298184030181526049909201905290565b60405163040a7bb160e41b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340a7bb10906131b3908b90309086908b908b90600401615ba9565b604080518083038186803b1580156131ca57600080fd5b505afa1580156131de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320291906159e1565b92509250509550959350505050565b600061321d8282613e8d565b905060ff81166132385761323385858585613ef3565b61155d565b60ff8116600114156132505761323385858585613f83565b60405162461bcd60e51b815260206004820152601c60248201527f4f4654436f72653a20756e6b6e6f776e207061636b65742074797065000000006044820152606401610fdf565b60006132a687828481614194565b6132af85614225565b5090506132be88888884614265565b9050600081116133105760405162461bcd60e51b815260206004820152601960248201527f4f4654436f72653a20616d6f756e7420746f6f20736d616c6c000000000000006044820152606401610fdf565b600061331f8761310884613e06565b905061332f888287878734614297565b86896001600160a01b03168961ffff167fd81fc9b8523134ed613870ed029d6170cbb73aa6a6bc311b9a642689fb9df59a8560405161337091815260200190565b60405180910390a450979650505050505050565b6133a33073e592427a0aece92de3edee1f18e0157c0586156483612dfd565b6040805161010081018252308082527382af49447d8a07e3bd95bd0d56f35241523fbab160208301908152610bb883850190815260608401928352426080850190815260a08501878152600060c0870181815260e0880191825297517f414bf38900000000000000000000000000000000000000000000000000000000815287516001600160a01b039081166004830152955186166024820152935162ffffff166044850152945184166064840152905160848301525160a4820152935160c485015290511660e48301529073e592427a0aece92de3edee1f18e0157c058615649063414bf3899061010401602060405180830381600087803b1580156134a957600080fd5b505af11580156134bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e1919061588f565b505050565b6000196010541415613503576134fc8282614464565b6010555050565b61350e60105461462b565b611d1a6010548383614712565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006135918960018467ffffffffffffffff8916614194565b61359a87614225565b5090506135a98a8a8a84614265565b9050600081116135fb5760405162461bcd60e51b815260206004820152601960248201527f4f4654436f72653a20616d6f756e7420746f6f20736d616c6c000000000000006044820152606401610fdf565b6000613612338a61360b85613e06565b8a8a6148f4565b90506136228a8287878734614297565b888b6001600160a01b03168b61ffff167fd81fc9b8523134ed613870ed029d6170cbb73aa6a6bc311b9a642689fb9df59a8560405161366391815260200190565b60405180910390a4509998505050505050505050565b6001600160a01b0382166136cf5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610fdf565b80600a60008282546136e191906158db565b90915550506001600160a01b0382166000818152600860209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60608161374881601f6158db565b10156137965760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610fdf565b6137a082846158db565b845110156137f05760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610fdf565b60608215801561380f5760405191506000825260208201604052613859565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015613848578051835260209283019201613830565b5050858452601f01601f1916604052505b50949350505050565b6000806000613875338a61360b8b613e06565b60405163040a7bb160e41b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340a7bb10906138cc908d90309086908b908b90600401615ba9565b604080518083038186803b1580156138e357600080fd5b505afa1580156138f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391b91906159e1565b925092505097509795505050505050565b600033306001600160a01b0386161480159061395a5750806001600160a01b0316856001600160a01b031614155b1561396a5761396a858285612f55565b613975858585612fe1565b50909392505050565b6001600160a01b0382166139fa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b03821660009081526008602052604090205481811015613a895760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b03831660008181526008602090815260408083208686039055600a80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6000606060008060008661ffff1667ffffffffffffffff811115613b0f57613b0f61526a565b6040519080825280601f01601f191660200182016040528015613b39576020820181803683370190505b50905060008087516020890160008d8df191503d925086831115613b5b578692505b828152826000602083013e909890975095505050505050565b8180519060200120600560008761ffff1661ffff16815260200190815260200160002085604051613ba59190615bfb565b90815260408051918290036020908101832067ffffffffffffffff88166000908152915220919091557fe183f33de2837795525b4792ca4cd60535bd77c53b7e7030060bfcf5734d6b0c90613c039087908790879087908790615c17565b60405180910390a15050505050565b6001600160a01b038316613c8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b038216613d0a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b03831660009081526008602052604090205481811015613d995760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b0380851660008181526008602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613df99086815260200190565b60405180910390a361142a565b600080613e337f0000000000000000000000000000000000000000000000000000000000000000846159b6565b905067ffffffffffffffff8111156112165760405162461bcd60e51b815260206004820152601a60248201527f4f4654436f72653a20616d6f756e745344206f766572666c6f770000000000006044820152606401610fdf565b6000613e9a8260016158db565b83511015613eea5760405162461bcd60e51b815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e6473000000000000000000000000006044820152606401610fdf565b50016001015190565b600080613eff83614935565b90925090506001600160a01b038216613f185761dead91505b6000613f23826149bf565b9050613f308784836149f5565b9050826001600160a01b03168761ffff167fbf551ec93859b170f9b2141bd9298bf3f64322c6f7beb2543a0cb669834118bf83604051613f7291815260200190565b60405180910390a350505050505050565b6000806000806000613f9486614a08565b945094509450945094506000600760008b61ffff1661ffff16815260200190815260200160002089604051613fc99190615bfb565b908152604080516020928190038301902067ffffffffffffffff8b166000908152925281205460ff169150613ffd856149bf565b90508161406c5761400f8b30836149f5565b61ffff8c16600090815260076020526040908190209051919250600191614037908d90615bfb565b908152604080516020928190038301902067ffffffffffffffff8d16600090815292529020805460ff19169115159190911790555b6001600160a01b0386163b6140c3576040516001600160a01b03871681527f9aedf5fdba8716db3b6705ca00150643309995d4f818a249ed6dde6677e7792d9060200160405180910390a15050505050505061142a565b8a8a8a8a8a8a868a60008a6140e2578b67ffffffffffffffff166140e4565b5a5b90506000806141165a609663eaffd49a60e01b8e8e8e8d8d8d8d8d604051602401612d3d989796959493929190615c6a565b91509150811561416f578751602089012060405161ffff8d16907fb8890edbfc1c74692f527444645f95489c3703cc2df42e4a366f5d06fa6cd88490614161908e908e908690615cdd565b60405180910390a25061417c565b61417c8b8b8b8b85613b74565b50505050505050505050505050505050505050505050565b60065460ff16156141b0576141ab84848484614ac4565b61142a565b81511561142a5760405162461bcd60e51b815260206004820152602660248201527f4f4654436f72653a205f61646170746572506172616d73206d7573742062652060448201527f656d7074792e00000000000000000000000000000000000000000000000000006064820152608401610fdf565b6000806142527f000000000000000000000000000000000000000000000000000000000000000084615d0c565b905061425e81846159ca565b9150915091565b6000336001600160a01b038616811461428357614283868285612f55565b61428d868461397e565b5090949350505050565b61ffff8616600090815260016020526040812080546142b59061584a565b80601f01602080910402602001604051908101604052809291908181526020018280546142e19061584a565b801561432e5780601f106143035761010080835404028352916020019161432e565b820191906000526020600020905b81548152906001019060200180831161431157829003601f168201915b505050505090508051600014156143ad5760405162461bcd60e51b815260206004820152603060248201527f4c7a4170703a2064657374696e6174696f6e20636861696e206973206e6f742060448201527f61207472757374656420736f75726365000000000000000000000000000000006064820152608401610fdf565b6143b8878751614ba3565b6040517fc58031000000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5803100908490614429908b9086908c908c908c908c90600401615d20565b6000604051808303818588803b15801561444257600080fd5b505af1158015614456573d6000803e3d6000fd5b505050505050505050505050565b600f5460009061447f9030906001600160a01b031685612dfd565b600f5460405163095ea7b360e01b81526001600160a01b039091166004820152602481018390527382af49447d8a07e3bd95bd0d56f35241523fbab19063095ea7b390604401602060405180830381600087803b1580156144df57600080fd5b505af11580156144f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061451791906158a8565b506040805161016081018252308082527382af49447d8a07e3bd95bd0d56f35241523fbab16020830152610bb882840152620d89e7196060830152620d89e8608083015260a0820186905260c08201859052600060e0830181905261010083015261012082015242610140820152600f5491517f8831645600000000000000000000000000000000000000000000000000000000815290916001600160a01b0316906388316456906145cd908490600401615d87565b608060405180830381600087803b1580156145e757600080fd5b505af11580156145fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061461f9190615e4b565b50919695505050505050565b6040805160808101825282815230602082019081526fffffffffffffffffffffffffffffffff82840181815260608401828152600f5495517ffc6f78650000000000000000000000000000000000000000000000000000000081528551600482015293516001600160a01b0390811660248601529151831660448501525190911660648301529192919091169063fc6f7865906084016040805180830381600087803b1580156146da57600080fd5b505af11580156146ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142a91906159e1565b600f5461472a9030906001600160a01b031684612dfd565b600f5460405163095ea7b360e01b81526001600160a01b039091166004820152602481018290527382af49447d8a07e3bd95bd0d56f35241523fbab19063095ea7b390604401602060405180830381600087803b15801561478a57600080fd5b505af115801561479e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147c291906158a8565b506040805160c08101825284815260208101848152818301848152600060608401818152608085019182524260a08601908152600f5496517f219f5d170000000000000000000000000000000000000000000000000000000081528651600482015294516024860152925160448501525160648401525160848301525160a482015290916001600160a01b03169063219f5d179060c401606060405180830381600087803b15801561487357600080fd5b505af1158015614887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148ab9190615e89565b5050601180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff9290921691909117905550505050565b6060600185856001600160a01b038916858760405160200161491b96959493929190615ec0565b604051602081830303815290604052905095945050505050565b600080806149438482613e8d565b60ff16148015614954575082516029145b6149a05760405162461bcd60e51b815260206004820152601860248201527f4f4654436f72653a20696e76616c6964207061796c6f616400000000000000006044820152606401610fdf565b6149ab83600d614c11565b91506149b8836021614c87565b9050915091565b60006112167f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8416615981565b6000614a018383613679565b5092915050565b600080806060816001614a1b8783613e8d565b60ff1614614a6b5760405162461bcd60e51b815260206004820152601860248201527f4f4654436f72653a20696e76616c6964207061796c6f616400000000000000006044820152606401610fdf565b614a7686600d614c11565b9350614a83866021614c87565b9250614a90866029614ced565b9450614a9d866049614c87565b9050614ab96051808851614ab191906159ca565b88919061373a565b915091939590929450565b6000614acf83614d53565b61ffff808716600090815260026020908152604080832093891683529290529081205491925090614b019084906158db565b905060008111614b535760405162461bcd60e51b815260206004820152601a60248201527f4c7a4170703a206d696e4761734c696d6974206e6f74207365740000000000006044820152606401610fdf565b8082101561191a5760405162461bcd60e51b815260206004820152601b60248201527f4c7a4170703a20676173206c696d697420697320746f6f206c6f7700000000006044820152606401610fdf565b61ffff821660009081526003602052604090205480614bc157506127105b808211156134e15760405162461bcd60e51b815260206004820181905260248201527f4c7a4170703a207061796c6f61642073697a6520697320746f6f206c617267656044820152606401610fdf565b6000614c1e8260146158db565b83511015614c6e5760405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e647300000000000000000000006044820152606401610fdf565b5001602001516c01000000000000000000000000900490565b6000614c948260086158db565b83511015614ce45760405162461bcd60e51b815260206004820152601460248201527f746f55696e7436345f6f75744f66426f756e64730000000000000000000000006044820152606401610fdf565b50016008015190565b6000614cfa8260206158db565b83511015614d4a5760405162461bcd60e51b815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e647300000000000000000000006044820152606401610fdf565b50016020015190565b6000602282511015614da75760405162461bcd60e51b815260206004820152601c60248201527f4c7a4170703a20696e76616c69642061646170746572506172616d73000000006044820152606401610fdf565b506022015190565b828054614dbb9061584a565b90600052602060002090601f016020900481019282614ddd5760008555614e23565b82601f10614df657805160ff1916838001178555614e23565b82800160010185558215614e23579182015b82811115614e23578251825591602001919060010190614e08565b50614e2f929150614ea7565b5090565b828054614e3f9061584a565b90600052602060002090601f016020900481019282614e615760008555614e23565b82601f10614e7a5782800160ff19823516178555614e23565b82800160010185558215614e23579182015b82811115614e23578235825591602001919060010190614e8c565b5b80821115614e2f5760008155600101614ea8565b803561ffff811681146128ae57600080fd5b60008083601f840112614ee057600080fd5b50813567ffffffffffffffff811115614ef857600080fd5b602083019150836020828501011115614f1057600080fd5b9250929050565b803567ffffffffffffffff811681146128ae57600080fd5b60008060008060008060808789031215614f4857600080fd5b614f5187614ebc565b9550602087013567ffffffffffffffff80821115614f6e57600080fd5b614f7a8a838b01614ece565b9097509550859150614f8e60408a01614f17565b94506060890135915080821115614fa457600080fd5b50614fb189828a01614ece565b979a9699509497509295939492505050565b600060208284031215614fd557600080fd5b81356001600160e01b0319811681146122c857600080fd5b6001600160a01b0381168114612bd557600080fd5b60006020828403121561501457600080fd5b81356122c881614fed565b60005b8381101561503a578181015183820152602001615022565b8381111561142a5750506000910152565b6000815180845261506381602086016020860161501f565b601f01601f19169290920160200192915050565b6020815260006122c8602083018461504b565b60006020828403121561509c57600080fd5b6122c882614ebc565b600080604083850312156150b857600080fd5b82356150c381614fed565b946020939093013593505050565b600080604083850312156150e457600080fd5b6150c383614ebc565b60008060008060006080868803121561510557600080fd5b853561511081614fed565b9450602086013561512081614fed565b935060408601359250606086013567ffffffffffffffff81111561514357600080fd5b61514f88828901614ece565b969995985093965092949392505050565b60008060006060848603121561517557600080fd5b833561518081614fed565b9250602084013561519081614fed565b929592945050506040919091013590565b8015158114612bd557600080fd5b60008060008060008060a087890312156151c857600080fd5b6151d187614ebc565b9550602087013594506040870135935060608701356151ef816151a1565b9250608087013567ffffffffffffffff81111561520b57600080fd5b614fb189828a01614ece565b60008060006040848603121561522c57600080fd5b61523584614ebc565b9250602084013567ffffffffffffffff81111561525157600080fd5b61525d86828701614ece565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156152a9576152a961526a565b604052919050565b600067ffffffffffffffff8211156152cb576152cb61526a565b50601f01601f191660200190565b6000806000606084860312156152ee57600080fd5b6152f784614ebc565b9250602084013567ffffffffffffffff81111561531357600080fd5b8401601f8101861361532457600080fd5b8035615337615332826152b1565b615280565b81815287602083850101111561534c57600080fd5b8160208401602083013760006020838301015280945050505061537160408501614f17565b90509250925092565b60006060828403121561538c57600080fd5b50919050565b600080600080600060a086880312156153aa57600080fd5b85356153b581614fed565b94506153c360208701614ebc565b93506040860135925060608601359150608086013567ffffffffffffffff8111156153ed57600080fd5b6153f98882890161537a565b9150509295509295909350565b6000806040838503121561541957600080fd5b50508035926020909101359150565b6fffffffffffffffffffffffffffffffff81168114612bd557600080fd5b60006020828403121561545857600080fd5b81356122c881615428565b60008060008060008060008060e0898b03121561547f57600080fd5b883561548a81614fed565b975061549860208a01614ebc565b96506040890135955060608901359450608089013567ffffffffffffffff808211156154c357600080fd5b6154cf8c838d01614ece565b90965094508491506154e360a08c01614f17565b935060c08b01359150808211156154f957600080fd5b506155068b828c0161537a565b9150509295985092959890939650565b6000806040838503121561552957600080fd5b61553283614ebc565b915061554060208401614ebc565b90509250929050565b6000806040838503121561555c57600080fd5b82359150602083013561556e81614fed565b809150509250929050565b6000806040838503121561558c57600080fd5b823561559781614fed565b9150602083013561556e816151a1565b6000602082840312156155b957600080fd5b81356122c8816151a1565b600080600080600080600080600060e08a8c0312156155e257600080fd5b6155eb8a614ebc565b985060208a0135975060408a0135965060608a013567ffffffffffffffff8082111561561657600080fd5b6156228d838e01614ece565b909850965086915061563660808d01614f17565b955060a08c01359150615648826151a1565b90935060c08b0135908082111561565e57600080fd5b5061566b8c828d01614ece565b915080935050809150509295985092959850929598565b60008060008060006080868803121561569a57600080fd5b6156a386614ebc565b945061512060208701614ebc565b6000602082840312156156c357600080fd5b5035919050565b600080604083850312156156dd57600080fd5b82356156e881614fed565b9150602083013561556e81614fed565b60008060006060848603121561570d57600080fd5b61571684614ebc565b925061572460208501614ebc565b9150604084013590509250925092565b6000806000806000806000806000806101008b8d03121561575457600080fd5b61575d8b614ebc565b995060208b013567ffffffffffffffff8082111561577a57600080fd5b6157868e838f01614ece565b909b50995089915061579a60408e01614f17565b985060608d0135975060808d013591506157b382614fed565b90955060a08c0135945060c08c013590808211156157d057600080fd5b506157dd8d828e01614ece565b9150809450508092505060e08b013590509295989b9194979a5092959850565b6000806000806080858703121561581357600080fd5b61581c85614ebc565b935061582a60208601614ebc565b9250604085013561583a81614fed565b9396929550929360600135925050565b600181811c9082168061585e57607f821691505b6020821081141561538c57634e487b7160e01b600052602260045260246000fd5b8183823760009101908152919050565b6000602082840312156158a157600080fd5b5051919050565b6000602082840312156158ba57600080fd5b81516122c8816151a1565b634e487b7160e01b600052601160045260246000fd5b600082198211156158ee576158ee6158c5565b500190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b61ffff84168152604060208201526000612ca86040830184866158f3565b6000808335601e1984360301811261595157600080fd5b83018035915067ffffffffffffffff82111561596c57600080fd5b602001915036819003821315614f1057600080fd5b600081600019048311821515161561599b5761599b6158c5565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826159c5576159c56159a0565b500490565b6000828210156159dc576159dc6158c5565b500390565b600080604083850312156159f457600080fd5b505080516020909101519092909150565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b600061ffff808816835280871660208401525084604083015260806060830152615a596080830184866158f3565b979650505050505050565b61ffff86168152608060208201526000615a826080830186886158f3565b67ffffffffffffffff94909416604083015250606001529392505050565b61ffff8916815260c060208201526000615abe60c08301898b6158f3565b67ffffffffffffffff8816604084015286606084015285608084015282810360a0840152615aed8185876158f3565b9b9a5050505050505050505050565b600060208284031215615b0e57600080fd5b815167ffffffffffffffff811115615b2557600080fd5b8201601f81018413615b3657600080fd5b8051615b44615332826152b1565b818152856020838501011115615b5957600080fd5b612ca882602083016020860161501f565b61ffff85168152608060208201526000615b87608083018661504b565b67ffffffffffffffff851660408401528281036060840152615a59818561504b565b61ffff861681526001600160a01b038516602082015260a060408201526000615bd560a083018661504b565b84151560608401528281036080840152615bef818561504b565b98975050505050505050565b60008251615c0d81846020870161501f565b9190910192915050565b61ffff8616815260a060208201526000615c3460a083018761504b565b67ffffffffffffffff861660408401528281036060840152615c56818661504b565b90508281036080840152615bef818561504b565b600061010061ffff8b168352806020840152615c888184018b61504b565b905067ffffffffffffffff891660408401528760608401526001600160a01b03871660808401528560a084015282810360c0840152615cc7818661504b565b9150508260e08301529998505050505050505050565b606081526000615cf0606083018661504b565b67ffffffffffffffff9490941660208301525060400152919050565b600082615d1b57615d1b6159a0565b500690565b61ffff8716815260c060208201526000615d3d60c083018861504b565b8281036040840152615d4f818861504b565b6001600160a01b0387811660608601528616608085015283810360a08501529050615d7a818561504b565b9998505050505050505050565b81516001600160a01b0316815261016081016020830151615db360208401826001600160a01b03169052565b506040830151615dca604084018262ffffff169052565b506060830151615ddf606084018260020b9052565b506080830151615df4608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151615e3a828501826001600160a01b03169052565b505061014092830151919092015290565b60008060008060808587031215615e6157600080fd5b845193506020850151615e7381615428565b6040860151606090960151949790965092505050565b600080600060608486031215615e9e57600080fd5b8351615ea981615428565b602085015160409095015190969495509392505050565b7fff000000000000000000000000000000000000000000000000000000000000008760f81b16815285600182015260007fffffffffffffffff000000000000000000000000000000000000000000000000808760c01b166021840152856029840152808560c01b166049840152508251615f4181605185016020870161501f565b9190910160510197965050505050505056fea26469706673582212208af049a39e25d7c5dcf03c884404dafa2bb956a8e2da3b4c2be5712bb6d0f18364736f6c634300080900330000000000000000000000003c2269811836af69497e5f486a85d7316753cf62000000000000000000000000e08efb59e053a586415272c15cdf62758c6987390000000000000000000000000000000000000000000000000000000000000012
Deployed Bytecode
0x60806040526004361061050a5760003560e01c80638da5cb5b11610294578063cbed8b9c1161015e578063e6a20ae6116100d6578063ed629c5c1161008a578063f5ecbdbc1161006f578063f5ecbdbc14610f18578063fc0c546a14610f38578063fcd3533c14610f4b57600080fd5b8063ed629c5c14610ede578063f2fde38b14610ef857600080fd5b8063eab45d9c116100bb578063eab45d9c14610e7e578063eaffd49a14610e9e578063eb8d72b714610ebe57600080fd5b8063e6a20ae614610e49578063e767ee2f14610e5e57600080fd5b8063d1deba1f1161012d578063dd62ed3e11610112578063dd62ed3e14610dcd578063df2a5b3b14610e13578063e2f4560514610e3357600080fd5b8063d1deba1f14610d9a578063d257b34f14610dad57600080fd5b8063cbed8b9c14610d38578063cc2ffe7c14610d58578063cc32d17614610d6e578063ceefe5d114610d8457600080fd5b80639f38369a1161020c578063b353aaa7116101c0578063b62496f5116101a5578063b62496f514610cd2578063baf3292d14610d02578063c446183414610d2257600080fd5b8063b353aaa714610c7e578063b44a272214610cb257600080fd5b8063a4c51df5116101f1578063a4c51df514610c1e578063a6c3d16514610c3e578063a9059cbb14610c5e57600080fd5b80639f38369a14610bde578063a457c2d714610bfe57600080fd5b806395d89b41116102635780639a7a23d6116102485780639a7a23d614610b4c5780639b0e06d114610b6c5780639bdb981214610b8c57600080fd5b806395d89b4114610b2157806398118cb414610b3657600080fd5b80638da5cb5b14610aae5780639358928b14610acc57806394bf804d14610ae1578063950c8a7414610b0157600080fd5b806344770515116103d55780636ebbad6d1161034d5780637ca8448a11610301578063857749b0116102e6578063857749b014610a21578063870bd30b14610a555780638cfd8f5c14610a7657600080fd5b80637ca8448a146109e1578063809d458d14610a0157600080fd5b8063715018a611610332578063715018a6146109995780637533d788146109ae57806376203b48146109ce57600080fd5b80636ebbad6d1461094357806370a082311461096357600080fd5b806361d027b3116103a4578063695ef6bf11610389578063695ef6bf146108fb5780636ac5eeee1461090e5780636db794371461092357600080fd5b806361d027b3146108a357806366ad5c8a146108db57600080fd5b806344770515146107e057806346caf2ae146107f55780634c42899a1461083f5780635b8c41e61461085457600080fd5b8063150b7a0211610483578063365260b4116104375780633d8b38f61161041c5780633d8b38f6146107735780633f1f4fa41461079357806342d65a8d146107c057600080fd5b8063365260b41461071e578063395093511461075357600080fd5b80631a8145bb116104685780631a8145bb146106c657806323b872dd146106dc578063313ce567146106fc57600080fd5b8063150b7a021461065357806318160ddd146106b157600080fd5b806306fdde03116104da578063095ea7b3116104bf578063095ea7b3146105f35780630df374831461061357806310ddb1371461063357600080fd5b806306fdde03146105b157806307e0db17146105d357600080fd5b80621d35671461051657806301f59d161461053857806301ffc9a714610561578063068acf6c1461059157600080fd5b3661051157005b600080fd5b34801561052257600080fd5b50610536610531366004614f2f565b610f6b565b005b34801561054457600080fd5b5061054e60125481565b6040519081526020015b60405180910390f35b34801561056d57600080fd5b5061058161057c366004614fc3565b6111b3565b6040519015158152602001610558565b34801561059d57600080fd5b506105366105ac366004615002565b61121c565b3480156105bd57600080fd5b506105c6611430565b6040516105589190615077565b3480156105df57600080fd5b506105366105ee36600461508a565b6114c2565b3480156105ff57600080fd5b5061058161060e3660046150a5565b611564565b34801561061f57600080fd5b5061053661062e3660046150d1565b61157c565b34801561063f57600080fd5b5061053661064e36600461508a565b61159b565b34801561065f57600080fd5b5061069861066e3660046150ed565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040516001600160e01b03199091168152602001610558565b3480156106bd57600080fd5b50600a5461054e565b3480156106d257600080fd5b5061054e60175481565b3480156106e857600080fd5b506105816106f7366004615160565b61160c565b34801561070857600080fd5b5060125b60405160ff9091168152602001610558565b34801561072a57600080fd5b5061073e6107393660046151af565b611630565b60408051928352602083019190915201610558565b34801561075f57600080fd5b5061058161076e3660046150a5565b611685565b34801561077f57600080fd5b5061058161078e366004615217565b6116c4565b34801561079f57600080fd5b5061054e6107ae36600461508a565b60036020526000908152604090205481565b3480156107cc57600080fd5b506105366107db366004615217565b611790565b3480156107ec57600080fd5b5061054e600081565b34801561080157600080fd5b5060115461081e906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff9091168152602001610558565b34801561084b57600080fd5b5061070c600081565b34801561086057600080fd5b5061054e61086f3660046152d9565b6005602090815260009384526040808520845180860184018051928152908401958401959095209452929052825290205481565b3480156108af57600080fd5b50600e546108c3906001600160a01b031681565b6040516001600160a01b039091168152602001610558565b3480156108e757600080fd5b506105366108f6366004614f2f565b61182f565b610536610909366004615392565b611922565b34801561091a57600080fd5b5061053661198d565b34801561092f57600080fd5b5061053661093e366004615406565b611ca8565b34801561094f57600080fd5b5061073e61095e366004615446565b611d1e565b34801561096f57600080fd5b5061054e61097e366004615002565b6001600160a01b031660009081526008602052604090205490565b3480156109a557600080fd5b50610536611e27565b3480156109ba57600080fd5b506105c66109c936600461508a565b611e3b565b6105366109dc366004615463565b611ed5565b3480156109ed57600080fd5b506105366109fc366004615002565b611f79565b348015610a0d57600080fd5b50610536610a1c366004615002565b611fe1565b348015610a2d57600080fd5b5061070c7f000000000000000000000000000000000000000000000000000000000000001281565b348015610a6157600080fd5b5060115461058190600160801b900460ff1681565b348015610a8257600080fd5b5061054e610a91366004615516565b600260209081526000928352604080842090915290825290205481565b348015610aba57600080fd5b506000546001600160a01b03166108c3565b348015610ad857600080fd5b5061054e612042565b348015610aed57600080fd5b50610536610afc366004615549565b612052565b348015610b0d57600080fd5b506004546108c3906001600160a01b031681565b348015610b2d57600080fd5b506105c66120b6565b348015610b4257600080fd5b5061054e60145481565b348015610b5857600080fd5b50610536610b67366004615579565b6120c5565b348015610b7857600080fd5b50610536610b873660046155a7565b612177565b348015610b9857600080fd5b50610581610ba73660046152d9565b6007602090815260009384526040808520845180860184018051928152908401958401959095209452929052825290205460ff1681565b348015610bea57600080fd5b506105c6610bf936600461508a565b6121b8565b348015610c0a57600080fd5b50610581610c193660046150a5565b6122cf565b348015610c2a57600080fd5b5061073e610c393660046155c4565b612379565b348015610c4a57600080fd5b50610536610c59366004615217565b612408565b348015610c6a57600080fd5b50610581610c793660046150a5565b61249b565b348015610c8a57600080fd5b506108c37f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf6281565b348015610cbe57600080fd5b50600f546108c3906001600160a01b031681565b348015610cde57600080fd5b50610581610ced366004615002565b60196020526000908152604090205460ff1681565b348015610d0e57600080fd5b50610536610d1d366004615002565b6124a9565b348015610d2e57600080fd5b5061054e61271081565b348015610d4457600080fd5b50610536610d53366004615682565b612513565b348015610d6457600080fd5b5061054e60185481565b348015610d7a57600080fd5b5061054e60155481565b348015610d9057600080fd5b5061054e60105481565b610536610da8366004614f2f565b6125b6565b348015610db957600080fd5b50610581610dc83660046156b1565b612804565b348015610dd957600080fd5b5061054e610de83660046156ca565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b348015610e1f57600080fd5b50610536610e2e3660046156f8565b6128b3565b348015610e3f57600080fd5b5061054e60165481565b348015610e5557600080fd5b5061070c600181565b348015610e6a57600080fd5b50600d546108c3906001600160a01b031681565b348015610e8a57600080fd5b50610536610e993660046155a7565b61296d565b348015610eaa57600080fd5b50610536610eb9366004615734565b6129b6565b348015610eca57600080fd5b50610536610ed9366004615217565b612aee565b348015610eea57600080fd5b506006546105819060ff1681565b348015610f0457600080fd5b50610536610f13366004615002565b612b48565b348015610f2457600080fd5b506105c6610f333660046157fd565b612bd8565b348015610f4457600080fd5b50306108c3565b348015610f5757600080fd5b50610536610f66366004615549565b612cb1565b337f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf626001600160a01b031614610fe85760405162461bcd60e51b815260206004820152601e60248201527f4c7a4170703a20696e76616c696420656e64706f696e742063616c6c6572000060448201526064015b60405180910390fd5b61ffff8616600090815260016020526040812080546110069061584a565b80601f01602080910402602001604051908101604052809291908181526020018280546110329061584a565b801561107f5780601f106110545761010080835404028352916020019161107f565b820191906000526020600020905b81548152906001019060200180831161106257829003601f168201915b5050505050905080518686905014801561109a575060008151115b80156110c25750805160208201206040516110b8908890889061587f565b6040518091039020145b6111345760405162461bcd60e51b815260206004820152602660248201527f4c7a4170703a20696e76616c696420736f757263652073656e64696e6720636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610fdf565b6111aa8787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250612d1592505050565b50505050505050565b60006001600160e01b031982167f1f7ecdf700000000000000000000000000000000000000000000000000000000148061121657507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b611224612da3565b6001600160a01b03811661127a5760405162461bcd60e51b815260206004820152600c60248201527f5a65726f206164647265737300000000000000000000000000000000000000006044820152606401610fdf565b306000908152600860205260408120546040516370a0823160e01b81523060048201529091506000907382af49447d8a07e3bd95bd0d56f35241523fbab1906370a082319060240160206040518083038186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611312919061588f565b60405163a9059cbb60e01b81526001600160a01b038516600482015260248101849052909150309063a9059cbb90604401602060405180830381600087803b15801561135d57600080fd5b505af1158015611371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139591906158a8565b5060405163a9059cbb60e01b81526001600160a01b0384166004820152602481018290527382af49447d8a07e3bd95bd0d56f35241523fbab19063a9059cbb90604401602060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142a91906158a8565b50505050565b6060600b805461143f9061584a565b80601f016020809104026020016040519081016040528092919081815260200182805461146b9061584a565b80156114b85780601f1061148d576101008083540402835291602001916114b8565b820191906000526020600020905b81548152906001019060200180831161149b57829003601f168201915b5050505050905090565b6114ca612da3565b6040517f07e0db1700000000000000000000000000000000000000000000000000000000815261ffff821660048201527f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf626001600160a01b0316906307e0db17906024015b600060405180830381600087803b15801561154957600080fd5b505af115801561155d573d6000803e3d6000fd5b5050505050565b600033611572818585612dfd565b5060019392505050565b611584612da3565b61ffff909116600090815260036020526040902055565b6115a3612da3565b6040517f10ddb13700000000000000000000000000000000000000000000000000000000815261ffff821660048201527f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf626001600160a01b0316906310ddb1379060240161152f565b60003361161a858285612f55565b611625858585612fe1565b506001949350505050565b6000806116768888888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506130f692505050565b91509150965096945050505050565b3360008181526009602090815260408083206001600160a01b038716845290915281205490919061157290829086906116bf9087906158db565b612dfd565b61ffff8316600090815260016020526040812080548291906116e59061584a565b80601f01602080910402602001604051908101604052809291908181526020018280546117119061584a565b801561175e5780601f106117335761010080835404028352916020019161175e565b820191906000526020600020905b81548152906001019060200180831161174157829003601f168201915b50505050509050838360405161177592919061587f565b60405180910390208180519060200120149150509392505050565b611798612da3565b6040517f42d65a8d0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf6216906342d65a8d906118019086908690869060040161591c565b600060405180830381600087803b15801561181b57600080fd5b505af11580156111aa573d6000803e3d6000fd5b3330146118a45760405162461bcd60e51b815260206004820152602660248201527f4e6f6e626c6f636b696e674c7a4170703a2063616c6c6572206d75737420626560448201527f204c7a41707000000000000000000000000000000000000000000000000000006064820152608401610fdf565b61191a8686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061321192505050565b505050505050565b61191a858585856119366020870187615002565b6119466040880160208901615002565b611953604089018961593a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061329892505050565b306000908152600860205260409020546016548110156119ef5760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74206d6f7a2062616c616e636500000000000000006044820152606401610fdf565b6000601854601754611a0191906158db565b9050600081611a0f57505050565b600060028360175486611a229190615981565b611a2c91906159b6565b611a3691906159b6565b9050600060028460185487611a4b9190615981565b611a5591906159b6565b611a5f91906159b6565b90506000611a6e6002876159b6565b9050611a7981613384565b6040516370a0823160e01b81523060048201526000907382af49447d8a07e3bd95bd0d56f35241523fbab1906370a082319060240160206040518083038186803b158015611ac657600080fd5b505afa158015611ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611afe919061588f565b9050600060028760185484611b139190615981565b611b1d91906159b6565b611b2791906159b6565b90506000611b3582846159ca565b600060178190556018556040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018490529091507382af49447d8a07e3bd95bd0d56f35241523fbab190632e1a7d4d90602401600060405180830381600087803b158015611ba857600080fd5b505af1158015611bbc573d6000803e3d6000fd5b5050600e546040516001600160a01b039091169250849150600081818185875af1925050503d8060008114611c0d576040519150601f19603f3d011682016040523d82523d6000602084013e611c12565b606091505b50508097505086611c2257600080fd5b600e54611c3a9030906001600160a01b031687612fe1565b600086118015611c4a5750600081115b15611c9d57611c5986826134e6565b601754604080518681526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b505050505050505050565b611cb0612da3565b60148290556015819055611cc481836158db565b60138190556012541015611d1a5760405162461bcd60e51b815260206004820152601760248201527f4275792066656573206d757374206265203c3d2035252e0000000000000000006044820152606401610fdf565b5050565b600080611d29612da3565b6040805160a08101825260105481526fffffffffffffffffffffffffffffffff858116602083019081526000838501818152606085019182524260808601908152600f5496517f0c49ccbe00000000000000000000000000000000000000000000000000000000815286516004820152935190941660248401525160448301525160648201529051608482015290916001600160a01b031690630c49ccbe9060a4016040805180830381600087803b158015611de457600080fd5b505af1158015611df8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1c91906159e1565b909590945092505050565b611e2f612da3565b611e39600061351b565b565b60016020526000908152604090208054611e549061584a565b80601f0160208091040260200160405190810160405280929190818152602001828054611e809061584a565b8015611ecd5780601f10611ea257610100808354040283529160200191611ecd565b820191906000526020600020905b815481529060010190602001808311611eb057829003601f168201915b505050505081565b611c9d8888888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611f229150506020890189615002565b611f3260408a0160208b01615002565b611f3f60408b018b61593a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061357892505050565b611f81612da3565b6000816001600160a01b03164760405160006040518083038185875af1925050503d8060008114611fce576040519150601f19603f3d011682016040523d82523d6000602084013e611fd3565b606091505b5050905080611d1a57600080fd5b611fe9612da3565b600e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831690811790915560405181907fa982575859d7ad2f390dc12b23f7dab8bbda047f9d0140ac68344b27bf34bfb490600090a350565b600061204d600a5490565b905090565b600d546001600160a01b031633146120ac5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c69642063616c6c65720000000000000000000000000000000000006044820152606401610fdf565b611d1a8183613679565b6060600c805461143f9061584a565b6120cd612da3565b6001600160a01b0382166121235760405162461bcd60e51b815260206004820152601f60248201527f54686520706169722063616e6e6f74206265207a65726f2061646472657373006044820152606401610fdf565b6001600160a01b038216600081815260196020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b61217f612da3565b60118054911515600160801b027fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff909216919091179055565b61ffff81166000908152600160205260408120805460609291906121db9061584a565b80601f01602080910402602001604051908101604052809291908181526020018280546122079061584a565b80156122545780601f1061222957610100808354040283529160200191612254565b820191906000526020600020905b81548152906001019060200180831161223757829003601f168201915b505050505090508051600014156122ad5760405162461bcd60e51b815260206004820152601d60248201527f4c7a4170703a206e6f20747275737465642070617468207265636f72640000006044820152606401610fdf565b6122c86000601483516122c091906159ca565b83919061373a565b9392505050565b3360008181526009602090815260408083206001600160a01b03871684529091528120549091908381101561236c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6116258286868403612dfd565b6000806123f68b8b8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c908190840183828082843760009201919091525061386292505050565b91509150995099975050505050505050565b612410612da3565b81813060405160200161242593929190615a05565b60408051601f1981840301815291815261ffff8516600090815260016020908152919020825161245a93919290910190614daf565b507f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce83838360405161248e9392919061591c565b60405180910390a1505050565b600033611572818585612fe1565b6124b1612da3565b6004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f5db758e995a17ec1ad84bdef7e8c3293a0bd6179bcce400dff5d4c3d87db726b906020015b60405180910390a150565b61251b612da3565b6040517fcbed8b9c0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf62169063cbed8b9c906125889088908890889088908890600401615a2b565b600060405180830381600087803b1580156125a257600080fd5b505af1158015611c9d573d6000803e3d6000fd5b61ffff861660009081526005602052604080822090516125d9908890889061587f565b908152604080516020928190038301902067ffffffffffffffff8716600090815292529020549050806126745760405162461bcd60e51b815260206004820152602360248201527f4e6f6e626c6f636b696e674c7a4170703a206e6f2073746f726564206d65737360448201527f61676500000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b80838360405161268592919061587f565b6040518091039020146127005760405162461bcd60e51b815260206004820152602160248201527f4e6f6e626c6f636b696e674c7a4170703a20696e76616c6964207061796c6f6160448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b61ffff87166000908152600560205260408082209051612723908990899061587f565b908152604080516020928190038301812067ffffffffffffffff8916600090815290845282902093909355601f880182900482028301820190528682526127bc918991899089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a93509150889088908190840183828082843760009201919091525061321192505050565b7fc264d91f3adc5588250e1551f547752ca0cfa8f6b530d243b9f9f4cab10ea8e587878787856040516127f3959493929190615a64565b60405180910390a150505050505050565b600061280e612da3565b620186a061281b600a5490565b612826906001615981565b61283091906159b6565b8210156128a55760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527f20302e3030312520746f74616c20737570706c792e00000000000000000000006064820152608401610fdf565b50601681905560015b919050565b6128bb612da3565b6000811161290b5760405162461bcd60e51b815260206004820152601560248201527f4c7a4170703a20696e76616c6964206d696e47617300000000000000000000006044820152606401610fdf565b61ffff83811660008181526002602090815260408083209487168084529482529182902085905581519283528201929092529081018290527f9d5c7c0b934da8fefa9c7760c98383778a12dfbfc0c3b3106518f43fb9508ac09060600161248e565b612975612da3565b6006805460ff19168215159081179091556040519081527f1584ad594a70cbe1e6515592e1272a987d922b097ead875069cebe8b40c004a490602001612508565b333014612a055760405162461bcd60e51b815260206004820152601f60248201527f4f4654436f72653a2063616c6c6572206d757374206265204f4654436f7265006044820152606401610fdf565b612a1030868661392c565b9350846001600160a01b03168a61ffff167fbf551ec93859b170f9b2141bd9298bf3f64322c6f7beb2543a0cb669834118bf86604051612a5291815260200190565b60405180910390a36040517f7fcf35da0000000000000000000000000000000000000000000000000000000081526001600160a01b03861690637fcf35da908390612aaf908e908e908e908e908e908d908d908d90600401615aa0565b600060405180830381600088803b158015612ac957600080fd5b5087f1158015612add573d6000803e3d6000fd5b505050505050505050505050505050565b612af6612da3565b61ffff83166000908152600160205260409020612b14908383614e33565b507ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab83838360405161248e9392919061591c565b612b50612da3565b6001600160a01b038116612bcc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610fdf565b612bd58161351b565b50565b6040517ff5ecbdbc00000000000000000000000000000000000000000000000000000000815261ffff808616600483015284166024820152306044820152606481018290526060907f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf626001600160a01b03169063f5ecbdbc9060840160006040518083038186803b158015612c6c57600080fd5b505afa158015612c80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ca89190810190615afc565b95945050505050565b600d546001600160a01b03163314612d0b5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c69642063616c6c65720000000000000000000000000000000000006044820152606401610fdf565b611d1a818361397e565b600080612d8d5a60966366ad5c8a60e01b89898989604051602401612d3d9493929190615b6a565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915230929190613ae9565b915091508161191a5761191a8686868685613b74565b6000546001600160a01b03163314611e395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fdf565b6001600160a01b038316612e785760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b038216612ef45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260096020908152604080832093861683529290522054600019811461142a5781811015612fd45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610fdf565b61142a8484848403612dfd565b601154600090600160801b900460ff168015612ffd5750600082115b156130cd576001600160a01b03831660009081526019602052604090205460ff168061304157506001600160a01b03841660009081526019602052604090205460ff165b156130cd57601354156130cd576127106013548361305f9190615981565b61306991906159b6565b90506013546014548261307c9190615981565b61308691906159b6565b6017600082825461309791906158db565b90915550506013546015546130ac9083615981565b6130b691906159b6565b601860008282546130c791906158db565b90915550505b80156130eb576130de843083613c12565b6130e881836159ca565b91505b61142a848484613c12565b600080600061315c8761310888613e06565b6040805160006020820152602181019390935260c09190911b7fffffffffffffffff000000000000000000000000000000000000000000000000166041830152805160298184030181526049909201905290565b60405163040a7bb160e41b81529091506001600160a01b037f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf6216906340a7bb10906131b3908b90309086908b908b90600401615ba9565b604080518083038186803b1580156131ca57600080fd5b505afa1580156131de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320291906159e1565b92509250509550959350505050565b600061321d8282613e8d565b905060ff81166132385761323385858585613ef3565b61155d565b60ff8116600114156132505761323385858585613f83565b60405162461bcd60e51b815260206004820152601c60248201527f4f4654436f72653a20756e6b6e6f776e207061636b65742074797065000000006044820152606401610fdf565b60006132a687828481614194565b6132af85614225565b5090506132be88888884614265565b9050600081116133105760405162461bcd60e51b815260206004820152601960248201527f4f4654436f72653a20616d6f756e7420746f6f20736d616c6c000000000000006044820152606401610fdf565b600061331f8761310884613e06565b905061332f888287878734614297565b86896001600160a01b03168961ffff167fd81fc9b8523134ed613870ed029d6170cbb73aa6a6bc311b9a642689fb9df59a8560405161337091815260200190565b60405180910390a450979650505050505050565b6133a33073e592427a0aece92de3edee1f18e0157c0586156483612dfd565b6040805161010081018252308082527382af49447d8a07e3bd95bd0d56f35241523fbab160208301908152610bb883850190815260608401928352426080850190815260a08501878152600060c0870181815260e0880191825297517f414bf38900000000000000000000000000000000000000000000000000000000815287516001600160a01b039081166004830152955186166024820152935162ffffff166044850152945184166064840152905160848301525160a4820152935160c485015290511660e48301529073e592427a0aece92de3edee1f18e0157c058615649063414bf3899061010401602060405180830381600087803b1580156134a957600080fd5b505af11580156134bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e1919061588f565b505050565b6000196010541415613503576134fc8282614464565b6010555050565b61350e60105461462b565b611d1a6010548383614712565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006135918960018467ffffffffffffffff8916614194565b61359a87614225565b5090506135a98a8a8a84614265565b9050600081116135fb5760405162461bcd60e51b815260206004820152601960248201527f4f4654436f72653a20616d6f756e7420746f6f20736d616c6c000000000000006044820152606401610fdf565b6000613612338a61360b85613e06565b8a8a6148f4565b90506136228a8287878734614297565b888b6001600160a01b03168b61ffff167fd81fc9b8523134ed613870ed029d6170cbb73aa6a6bc311b9a642689fb9df59a8560405161366391815260200190565b60405180910390a4509998505050505050505050565b6001600160a01b0382166136cf5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610fdf565b80600a60008282546136e191906158db565b90915550506001600160a01b0382166000818152600860209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60608161374881601f6158db565b10156137965760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610fdf565b6137a082846158db565b845110156137f05760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610fdf565b60608215801561380f5760405191506000825260208201604052613859565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015613848578051835260209283019201613830565b5050858452601f01601f1916604052505b50949350505050565b6000806000613875338a61360b8b613e06565b60405163040a7bb160e41b81529091506001600160a01b037f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf6216906340a7bb10906138cc908d90309086908b908b90600401615ba9565b604080518083038186803b1580156138e357600080fd5b505afa1580156138f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391b91906159e1565b925092505097509795505050505050565b600033306001600160a01b0386161480159061395a5750806001600160a01b0316856001600160a01b031614155b1561396a5761396a858285612f55565b613975858585612fe1565b50909392505050565b6001600160a01b0382166139fa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b03821660009081526008602052604090205481811015613a895760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b03831660008181526008602090815260408083208686039055600a80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6000606060008060008661ffff1667ffffffffffffffff811115613b0f57613b0f61526a565b6040519080825280601f01601f191660200182016040528015613b39576020820181803683370190505b50905060008087516020890160008d8df191503d925086831115613b5b578692505b828152826000602083013e909890975095505050505050565b8180519060200120600560008761ffff1661ffff16815260200190815260200160002085604051613ba59190615bfb565b90815260408051918290036020908101832067ffffffffffffffff88166000908152915220919091557fe183f33de2837795525b4792ca4cd60535bd77c53b7e7030060bfcf5734d6b0c90613c039087908790879087908790615c17565b60405180910390a15050505050565b6001600160a01b038316613c8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b038216613d0a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b03831660009081526008602052604090205481811015613d995760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610fdf565b6001600160a01b0380851660008181526008602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613df99086815260200190565b60405180910390a361142a565b600080613e337f0000000000000000000000000000000000000000000000000000000000000001846159b6565b905067ffffffffffffffff8111156112165760405162461bcd60e51b815260206004820152601a60248201527f4f4654436f72653a20616d6f756e745344206f766572666c6f770000000000006044820152606401610fdf565b6000613e9a8260016158db565b83511015613eea5760405162461bcd60e51b815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e6473000000000000000000000000006044820152606401610fdf565b50016001015190565b600080613eff83614935565b90925090506001600160a01b038216613f185761dead91505b6000613f23826149bf565b9050613f308784836149f5565b9050826001600160a01b03168761ffff167fbf551ec93859b170f9b2141bd9298bf3f64322c6f7beb2543a0cb669834118bf83604051613f7291815260200190565b60405180910390a350505050505050565b6000806000806000613f9486614a08565b945094509450945094506000600760008b61ffff1661ffff16815260200190815260200160002089604051613fc99190615bfb565b908152604080516020928190038301902067ffffffffffffffff8b166000908152925281205460ff169150613ffd856149bf565b90508161406c5761400f8b30836149f5565b61ffff8c16600090815260076020526040908190209051919250600191614037908d90615bfb565b908152604080516020928190038301902067ffffffffffffffff8d16600090815292529020805460ff19169115159190911790555b6001600160a01b0386163b6140c3576040516001600160a01b03871681527f9aedf5fdba8716db3b6705ca00150643309995d4f818a249ed6dde6677e7792d9060200160405180910390a15050505050505061142a565b8a8a8a8a8a8a868a60008a6140e2578b67ffffffffffffffff166140e4565b5a5b90506000806141165a609663eaffd49a60e01b8e8e8e8d8d8d8d8d604051602401612d3d989796959493929190615c6a565b91509150811561416f578751602089012060405161ffff8d16907fb8890edbfc1c74692f527444645f95489c3703cc2df42e4a366f5d06fa6cd88490614161908e908e908690615cdd565b60405180910390a25061417c565b61417c8b8b8b8b85613b74565b50505050505050505050505050505050505050505050565b60065460ff16156141b0576141ab84848484614ac4565b61142a565b81511561142a5760405162461bcd60e51b815260206004820152602660248201527f4f4654436f72653a205f61646170746572506172616d73206d7573742062652060448201527f656d7074792e00000000000000000000000000000000000000000000000000006064820152608401610fdf565b6000806142527f000000000000000000000000000000000000000000000000000000000000000184615d0c565b905061425e81846159ca565b9150915091565b6000336001600160a01b038616811461428357614283868285612f55565b61428d868461397e565b5090949350505050565b61ffff8616600090815260016020526040812080546142b59061584a565b80601f01602080910402602001604051908101604052809291908181526020018280546142e19061584a565b801561432e5780601f106143035761010080835404028352916020019161432e565b820191906000526020600020905b81548152906001019060200180831161431157829003601f168201915b505050505090508051600014156143ad5760405162461bcd60e51b815260206004820152603060248201527f4c7a4170703a2064657374696e6174696f6e20636861696e206973206e6f742060448201527f61207472757374656420736f75726365000000000000000000000000000000006064820152608401610fdf565b6143b8878751614ba3565b6040517fc58031000000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000003c2269811836af69497e5f486a85d7316753cf62169063c5803100908490614429908b9086908c908c908c908c90600401615d20565b6000604051808303818588803b15801561444257600080fd5b505af1158015614456573d6000803e3d6000fd5b505050505050505050505050565b600f5460009061447f9030906001600160a01b031685612dfd565b600f5460405163095ea7b360e01b81526001600160a01b039091166004820152602481018390527382af49447d8a07e3bd95bd0d56f35241523fbab19063095ea7b390604401602060405180830381600087803b1580156144df57600080fd5b505af11580156144f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061451791906158a8565b506040805161016081018252308082527382af49447d8a07e3bd95bd0d56f35241523fbab16020830152610bb882840152620d89e7196060830152620d89e8608083015260a0820186905260c08201859052600060e0830181905261010083015261012082015242610140820152600f5491517f8831645600000000000000000000000000000000000000000000000000000000815290916001600160a01b0316906388316456906145cd908490600401615d87565b608060405180830381600087803b1580156145e757600080fd5b505af11580156145fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061461f9190615e4b565b50919695505050505050565b6040805160808101825282815230602082019081526fffffffffffffffffffffffffffffffff82840181815260608401828152600f5495517ffc6f78650000000000000000000000000000000000000000000000000000000081528551600482015293516001600160a01b0390811660248601529151831660448501525190911660648301529192919091169063fc6f7865906084016040805180830381600087803b1580156146da57600080fd5b505af11580156146ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142a91906159e1565b600f5461472a9030906001600160a01b031684612dfd565b600f5460405163095ea7b360e01b81526001600160a01b039091166004820152602481018290527382af49447d8a07e3bd95bd0d56f35241523fbab19063095ea7b390604401602060405180830381600087803b15801561478a57600080fd5b505af115801561479e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147c291906158a8565b506040805160c08101825284815260208101848152818301848152600060608401818152608085019182524260a08601908152600f5496517f219f5d170000000000000000000000000000000000000000000000000000000081528651600482015294516024860152925160448501525160648401525160848301525160a482015290916001600160a01b03169063219f5d179060c401606060405180830381600087803b15801561487357600080fd5b505af1158015614887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148ab9190615e89565b5050601180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff9290921691909117905550505050565b6060600185856001600160a01b038916858760405160200161491b96959493929190615ec0565b604051602081830303815290604052905095945050505050565b600080806149438482613e8d565b60ff16148015614954575082516029145b6149a05760405162461bcd60e51b815260206004820152601860248201527f4f4654436f72653a20696e76616c6964207061796c6f616400000000000000006044820152606401610fdf565b6149ab83600d614c11565b91506149b8836021614c87565b9050915091565b60006112167f000000000000000000000000000000000000000000000000000000000000000167ffffffffffffffff8416615981565b6000614a018383613679565b5092915050565b600080806060816001614a1b8783613e8d565b60ff1614614a6b5760405162461bcd60e51b815260206004820152601860248201527f4f4654436f72653a20696e76616c6964207061796c6f616400000000000000006044820152606401610fdf565b614a7686600d614c11565b9350614a83866021614c87565b9250614a90866029614ced565b9450614a9d866049614c87565b9050614ab96051808851614ab191906159ca565b88919061373a565b915091939590929450565b6000614acf83614d53565b61ffff808716600090815260026020908152604080832093891683529290529081205491925090614b019084906158db565b905060008111614b535760405162461bcd60e51b815260206004820152601a60248201527f4c7a4170703a206d696e4761734c696d6974206e6f74207365740000000000006044820152606401610fdf565b8082101561191a5760405162461bcd60e51b815260206004820152601b60248201527f4c7a4170703a20676173206c696d697420697320746f6f206c6f7700000000006044820152606401610fdf565b61ffff821660009081526003602052604090205480614bc157506127105b808211156134e15760405162461bcd60e51b815260206004820181905260248201527f4c7a4170703a207061796c6f61642073697a6520697320746f6f206c617267656044820152606401610fdf565b6000614c1e8260146158db565b83511015614c6e5760405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e647300000000000000000000006044820152606401610fdf565b5001602001516c01000000000000000000000000900490565b6000614c948260086158db565b83511015614ce45760405162461bcd60e51b815260206004820152601460248201527f746f55696e7436345f6f75744f66426f756e64730000000000000000000000006044820152606401610fdf565b50016008015190565b6000614cfa8260206158db565b83511015614d4a5760405162461bcd60e51b815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e647300000000000000000000006044820152606401610fdf565b50016020015190565b6000602282511015614da75760405162461bcd60e51b815260206004820152601c60248201527f4c7a4170703a20696e76616c69642061646170746572506172616d73000000006044820152606401610fdf565b506022015190565b828054614dbb9061584a565b90600052602060002090601f016020900481019282614ddd5760008555614e23565b82601f10614df657805160ff1916838001178555614e23565b82800160010185558215614e23579182015b82811115614e23578251825591602001919060010190614e08565b50614e2f929150614ea7565b5090565b828054614e3f9061584a565b90600052602060002090601f016020900481019282614e615760008555614e23565b82601f10614e7a5782800160ff19823516178555614e23565b82800160010185558215614e23579182015b82811115614e23578235825591602001919060010190614e8c565b5b80821115614e2f5760008155600101614ea8565b803561ffff811681146128ae57600080fd5b60008083601f840112614ee057600080fd5b50813567ffffffffffffffff811115614ef857600080fd5b602083019150836020828501011115614f1057600080fd5b9250929050565b803567ffffffffffffffff811681146128ae57600080fd5b60008060008060008060808789031215614f4857600080fd5b614f5187614ebc565b9550602087013567ffffffffffffffff80821115614f6e57600080fd5b614f7a8a838b01614ece565b9097509550859150614f8e60408a01614f17565b94506060890135915080821115614fa457600080fd5b50614fb189828a01614ece565b979a9699509497509295939492505050565b600060208284031215614fd557600080fd5b81356001600160e01b0319811681146122c857600080fd5b6001600160a01b0381168114612bd557600080fd5b60006020828403121561501457600080fd5b81356122c881614fed565b60005b8381101561503a578181015183820152602001615022565b8381111561142a5750506000910152565b6000815180845261506381602086016020860161501f565b601f01601f19169290920160200192915050565b6020815260006122c8602083018461504b565b60006020828403121561509c57600080fd5b6122c882614ebc565b600080604083850312156150b857600080fd5b82356150c381614fed565b946020939093013593505050565b600080604083850312156150e457600080fd5b6150c383614ebc565b60008060008060006080868803121561510557600080fd5b853561511081614fed565b9450602086013561512081614fed565b935060408601359250606086013567ffffffffffffffff81111561514357600080fd5b61514f88828901614ece565b969995985093965092949392505050565b60008060006060848603121561517557600080fd5b833561518081614fed565b9250602084013561519081614fed565b929592945050506040919091013590565b8015158114612bd557600080fd5b60008060008060008060a087890312156151c857600080fd5b6151d187614ebc565b9550602087013594506040870135935060608701356151ef816151a1565b9250608087013567ffffffffffffffff81111561520b57600080fd5b614fb189828a01614ece565b60008060006040848603121561522c57600080fd5b61523584614ebc565b9250602084013567ffffffffffffffff81111561525157600080fd5b61525d86828701614ece565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156152a9576152a961526a565b604052919050565b600067ffffffffffffffff8211156152cb576152cb61526a565b50601f01601f191660200190565b6000806000606084860312156152ee57600080fd5b6152f784614ebc565b9250602084013567ffffffffffffffff81111561531357600080fd5b8401601f8101861361532457600080fd5b8035615337615332826152b1565b615280565b81815287602083850101111561534c57600080fd5b8160208401602083013760006020838301015280945050505061537160408501614f17565b90509250925092565b60006060828403121561538c57600080fd5b50919050565b600080600080600060a086880312156153aa57600080fd5b85356153b581614fed565b94506153c360208701614ebc565b93506040860135925060608601359150608086013567ffffffffffffffff8111156153ed57600080fd5b6153f98882890161537a565b9150509295509295909350565b6000806040838503121561541957600080fd5b50508035926020909101359150565b6fffffffffffffffffffffffffffffffff81168114612bd557600080fd5b60006020828403121561545857600080fd5b81356122c881615428565b60008060008060008060008060e0898b03121561547f57600080fd5b883561548a81614fed565b975061549860208a01614ebc565b96506040890135955060608901359450608089013567ffffffffffffffff808211156154c357600080fd5b6154cf8c838d01614ece565b90965094508491506154e360a08c01614f17565b935060c08b01359150808211156154f957600080fd5b506155068b828c0161537a565b9150509295985092959890939650565b6000806040838503121561552957600080fd5b61553283614ebc565b915061554060208401614ebc565b90509250929050565b6000806040838503121561555c57600080fd5b82359150602083013561556e81614fed565b809150509250929050565b6000806040838503121561558c57600080fd5b823561559781614fed565b9150602083013561556e816151a1565b6000602082840312156155b957600080fd5b81356122c8816151a1565b600080600080600080600080600060e08a8c0312156155e257600080fd5b6155eb8a614ebc565b985060208a0135975060408a0135965060608a013567ffffffffffffffff8082111561561657600080fd5b6156228d838e01614ece565b909850965086915061563660808d01614f17565b955060a08c01359150615648826151a1565b90935060c08b0135908082111561565e57600080fd5b5061566b8c828d01614ece565b915080935050809150509295985092959850929598565b60008060008060006080868803121561569a57600080fd5b6156a386614ebc565b945061512060208701614ebc565b6000602082840312156156c357600080fd5b5035919050565b600080604083850312156156dd57600080fd5b82356156e881614fed565b9150602083013561556e81614fed565b60008060006060848603121561570d57600080fd5b61571684614ebc565b925061572460208501614ebc565b9150604084013590509250925092565b6000806000806000806000806000806101008b8d03121561575457600080fd5b61575d8b614ebc565b995060208b013567ffffffffffffffff8082111561577a57600080fd5b6157868e838f01614ece565b909b50995089915061579a60408e01614f17565b985060608d0135975060808d013591506157b382614fed565b90955060a08c0135945060c08c013590808211156157d057600080fd5b506157dd8d828e01614ece565b9150809450508092505060e08b013590509295989b9194979a5092959850565b6000806000806080858703121561581357600080fd5b61581c85614ebc565b935061582a60208601614ebc565b9250604085013561583a81614fed565b9396929550929360600135925050565b600181811c9082168061585e57607f821691505b6020821081141561538c57634e487b7160e01b600052602260045260246000fd5b8183823760009101908152919050565b6000602082840312156158a157600080fd5b5051919050565b6000602082840312156158ba57600080fd5b81516122c8816151a1565b634e487b7160e01b600052601160045260246000fd5b600082198211156158ee576158ee6158c5565b500190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b61ffff84168152604060208201526000612ca86040830184866158f3565b6000808335601e1984360301811261595157600080fd5b83018035915067ffffffffffffffff82111561596c57600080fd5b602001915036819003821315614f1057600080fd5b600081600019048311821515161561599b5761599b6158c5565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826159c5576159c56159a0565b500490565b6000828210156159dc576159dc6158c5565b500390565b600080604083850312156159f457600080fd5b505080516020909101519092909150565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b600061ffff808816835280871660208401525084604083015260806060830152615a596080830184866158f3565b979650505050505050565b61ffff86168152608060208201526000615a826080830186886158f3565b67ffffffffffffffff94909416604083015250606001529392505050565b61ffff8916815260c060208201526000615abe60c08301898b6158f3565b67ffffffffffffffff8816604084015286606084015285608084015282810360a0840152615aed8185876158f3565b9b9a5050505050505050505050565b600060208284031215615b0e57600080fd5b815167ffffffffffffffff811115615b2557600080fd5b8201601f81018413615b3657600080fd5b8051615b44615332826152b1565b818152856020838501011115615b5957600080fd5b612ca882602083016020860161501f565b61ffff85168152608060208201526000615b87608083018661504b565b67ffffffffffffffff851660408401528281036060840152615a59818561504b565b61ffff861681526001600160a01b038516602082015260a060408201526000615bd560a083018661504b565b84151560608401528281036080840152615bef818561504b565b98975050505050505050565b60008251615c0d81846020870161501f565b9190910192915050565b61ffff8616815260a060208201526000615c3460a083018761504b565b67ffffffffffffffff861660408401528281036060840152615c56818661504b565b90508281036080840152615bef818561504b565b600061010061ffff8b168352806020840152615c888184018b61504b565b905067ffffffffffffffff891660408401528760608401526001600160a01b03871660808401528560a084015282810360c0840152615cc7818661504b565b9150508260e08301529998505050505050505050565b606081526000615cf0606083018661504b565b67ffffffffffffffff9490941660208301525060400152919050565b600082615d1b57615d1b6159a0565b500690565b61ffff8716815260c060208201526000615d3d60c083018861504b565b8281036040840152615d4f818861504b565b6001600160a01b0387811660608601528616608085015283810360a08501529050615d7a818561504b565b9998505050505050505050565b81516001600160a01b0316815261016081016020830151615db360208401826001600160a01b03169052565b506040830151615dca604084018262ffffff169052565b506060830151615ddf606084018260020b9052565b506080830151615df4608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151615e3a828501826001600160a01b03169052565b505061014092830151919092015290565b60008060008060808587031215615e6157600080fd5b845193506020850151615e7381615428565b6040860151606090960151949790965092505050565b600080600060608486031215615e9e57600080fd5b8351615ea981615428565b602085015160409095015190969495509392505050565b7fff000000000000000000000000000000000000000000000000000000000000008760f81b16815285600182015260007fffffffffffffffff000000000000000000000000000000000000000000000000808760c01b166021840152856029840152808560c01b166049840152508251615f4181605185016020870161501f565b9190910160510197965050505050505056fea26469706673582212208af049a39e25d7c5dcf03c884404dafa2bb956a8e2da3b4c2be5712bb6d0f18364736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003c2269811836af69497e5f486a85d7316753cf62000000000000000000000000e08efb59e053a586415272c15cdf62758c6987390000000000000000000000000000000000000000000000000000000000000012
-----Decoded View---------------
Arg [0] : _layerZeroEndpoint (address): 0x3c2269811836af69497E5F486A85D7316753cf62
Arg [1] : _mozStaking (address): 0xe08eFb59e053a586415272c15cDF62758c698739
Arg [2] : _sharedDecimals (uint8): 18
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000003c2269811836af69497e5f486a85d7316753cf62
Arg [1] : 000000000000000000000000e08efb59e053a586415272c15cdf62758c698739
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)