Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
21,000,000 QBYT
Holders
240
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"ERC2612ExpiredSignature","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC2612InvalidSigner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"name":"InvalidAccountNonce","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"}],"name":"SwapAndSend","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":"newTreasury","type":"address"},{"indexed":true,"internalType":"address","name":"oldTreasury","type":"address"}],"name":"Treasury1Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newTreasury","type":"address"},{"indexed":true,"internalType":"address","name":"oldTreasury","type":"address"}],"name":"Treasury2Updated","type":"event"},{"inputs":[],"name":"DEAD_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"value","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":"","type":"uint256"}],"name":"buyTxsPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"buyTxsPerBlockPerOrigin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentFeeAndLimits","outputs":[{"internalType":"uint256","name":"feeBps","type":"uint256"},{"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountLeft","type":"uint256"}],"name":"launch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictSwapBack","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sendStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"totalEthRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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":"value","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":"treasury1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"txCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newVal","type":"bool"}],"name":"updateRestrictSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateSwapEnabled","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":"address","name":"newTreasury","type":"address"}],"name":"updateTreasury1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTreasury","type":"address"}],"name":"updateTreasury2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6101606040525f600a60146101000a81548160ff0219169083151502179055506001600a60156101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff02191690831515021790555034801562000060575f80fd5b50604051620088d2380380620088d28339818101604052810190620000869190620021dc565b3383806040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525086868160039081620000d29190620024aa565b508060049081620000e49190620024aa565b505050620000fd6005836200066660201b90919060201c565b61012081815250506200011b6006826200066660201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200015a620006bb60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200020b575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200020291906200259f565b60405180910390fd5b6200021c816200071760201b60201c565b5060016200023f62000233620007da60201b60201c565b6200080360201b60201c565b5f01819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620002b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002ad9062002618565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069010f0cf064dd59200000600d81905550620003176200080c60201b60201c565b600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e6d6df6228a86a566023b4f0afa0fbc22dc4bd16600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160145f620003bf6200080c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160145f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160145f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160155f620004cf6200080c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160155f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160155f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160155f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200065d306a115eec47f6cf7e350000006200083460201b60201c565b505050620030f9565b5f6020835110156200068b576200068383620008be60201b60201c565b9050620006b5565b826200069d836200092860201b60201c565b5f019081620006ad9190620024aa565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620006fc95949392919062002663565b60405160208183030381529060405280519060200120905090565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b905090565b5f819050919050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008a7575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200089e91906200259f565b60405180910390fd5b620008ba5f83836200093160201b60201c565b5050565b5f80829050601f815111156200090d57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620009049190620026fe565b60405180910390fd5b8051816200091b906200274f565b5f1c175f1b915050919050565b5f819050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000999906200280c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620009ef57620009e98383836200117260201b60201c565b6200116d565b5f810362000a105762000a0a83835f6200117260201b60201c565b6200116d565b5f8062000a226200139660201b60201c565b915091505f60165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690505f60165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050818062000aca5750805b1562000bc757600a60149054906101000a900460ff168062000b32575060145f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8062000b84575060145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b62000bc6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bbd906200287a565b60405180910390fd5b5b81801562000c1c575060145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801562000c2a57505f600f54115b1562000dbf5760b4600f544262000c429190620028c7565b101562000dbe57600a60125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f4381526020019081526020015f20541062000cdb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cd2906200294f565b60405180910390fd5b60125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f4381526020019081526020015f205f81548092919062000d39906200296f565b9190505550606460135f4381526020019081526020015f20541062000d95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d8c9062002a09565b60405180910390fd5b60135f4381526020019081526020015f205f81548092919062000db8906200296f565b91905055505b5b60155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801562000e15575080155b1562000e7f57828562000e2e886200152c60201b60201c565b62000e3a919062002a29565b111562000e7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e759062002ab1565b60405180910390fd5b5b5f62000e91306200152c60201b60201c565b90505f600d54821015905080801562000eb65750600a60159054906101000a900460ff165b801562000ed05750600a60169054906101000a900460ff16155b801562000eda5750825b801562000f2e575060145f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801562000f82575060145f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1562000fcf576001600a60166101000a81548160ff02191690831515021790555062000fb4876200157160201b60201c565b5f600a60166101000a81548160ff0219169083151502179055505b5f600a60169054906101000a900460ff1615801562000ff45750848062000ff35750835b5b905060145f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168062001092575060145f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156200109c575f90505b5f818015620010aa57505f88115b15620010fd57612710888a620010c1919062002ad1565b620010cd919062002b48565b90505f811115620010ec57620010eb8b30836200117260201b60201c565b5b8089620010fa9190620028c7565b98505b600a60115f9054906101000a900460ff1660ff1610156200115157600160115f8282829054906101000a900460ff1662001138919062002b8b565b92506101000a81548160ff021916908360ff1602179055505b620011648b8b8b6200117260201b60201c565b50505050505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620011c6578060025f828254620011b9919062002a29565b9250508190555062001297565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101562001252578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620012499392919062002bc6565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620012e0578060025f82825403925050819055506200132a565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162001389919062002c01565b60405180910390a3505050565b5f805f600f5403620013b9575f6a115eec47f6cf7e350000009150915062001528565b5f600f5442620013ca9190620028c7565b9050610e10811015620014e857603c8110156200140a57610bb86103e86a115eec47f6cf7e35000000620013ff919062002b48565b925092505062001528565b61012c8110156200144c576109c4612710600f6a115eec47f6cf7e3500000062001435919062002ad1565b62001441919062002b48565b925092505062001528565b6101e081101562001480576107d06101f46a115eec47f6cf7e3500000062001475919062002b48565b925092505062001528565b610384811015620014c0576103e88060036a115eec47f6cf7e35000000620014a9919062002ad1565b620014b5919062002b48565b925092505062001528565b6101f460c86a115eec47f6cf7e35000000620014dd919062002b48565b925092505062001528565b68a2a15d09519be000006010541062001513575f6a115eec47f6cf7e35000000925092505062001528565b61012c6a115eec47f6cf7e3500000092509250505b9091565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6200158162001adb60201b60201c565b5f600f54118015620015a3575061012c600f5442620015a19190620028c7565b105b62001ac8575f620015ba306200152c60201b60201c565b90505f8103620015cb575062001ac8565b600d54811115620015dc57600d5490505b600e5f9054906101000a900460ff168015620015f757508181115b1562001601578190505b5f600267ffffffffffffffff81111562001620576200161f6200201f565b5b6040519080825280602002602001820160405280156200164f5781602001602082028036833780820191505090505b50905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620016bd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620016e3919062002c1c565b815f81518110620016f957620016f862002c4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030816001815181106200174b576200174a62002c4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f6702c68af0bb140000836040518363ffffffff1660e01b8152600401620017eb92919062002d81565b5f60405180830381865afa9250505080156200182b57506040513d5f823e3d601f19601f8201168201806040525081019062001828919062002eb9565b60015b1562001863575f8160018151811062001849576200184862002c4c565b5b602002602001015190508084111562001860578093505b50505b5f479050620018788362001b1560201b60201c565b5f8147620018879190620028c7565b90505f81111562001ac3578060105f828254620018a5919062002a29565b925050819055505f600282620018bc919062002b48565b90505f8183620018cd9190620028c7565b90505f821115620019aa575f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051620019209062002f39565b5f6040518083038185875af1925050503d805f81146200195c576040519150601f19603f3d011682016040523d82523d5f602084013e62001961565b606091505b5050905080620019a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200199f9062002f9d565b60405180910390fd5b505b5f81111562001a85575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051620019fb9062002f39565b5f6040518083038185875af1925050503d805f811462001a37576040519150601f19603f3d011682016040523d82523d5f602084013e62001a3c565b606091505b505090508062001a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001a7a906200300b565b60405180910390fd5b505b7f1309193d68e1a43bd32da5f04e07935cc194c20b2bd1813be5c6898b99dac4be868460405162001ab89291906200302b565b60405180910390a150505b505050505b62001ad862001d6460201b60201c565b50565b62001aeb62001d8e60201b60201c565b600262001b0d62001b01620007da60201b60201c565b6200080360201b60201c565b5f0181905550565b5f600267ffffffffffffffff81111562001b345762001b336200201f565b5b60405190808252806020026020018201604052801562001b635781602001602082028036833780820191505090505b50905030815f8151811062001b7d5762001b7c62002c4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001c22573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001c48919062002c1c565b8160018151811062001c5f5762001c5e62002c4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505062001ccd3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168462001dd860201b60201c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040162001d3195949392919062003097565b5f604051808303815f87803b15801562001d49575f80fd5b505af115801562001d5c573d5f803e3d5ffd5b505050505050565b600162001d8662001d7a620007da60201b60201c565b6200080360201b60201c565b5f0181905550565b62001d9e62001df260201b60201c565b1562001dd6576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b62001ded838383600162001e1e60201b60201c565b505050565b5f600262001e1562001e09620007da60201b60201c565b6200080360201b60201c565b5f015414905090565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362001e91575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040162001e8891906200259f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362001f04575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040162001efb91906200259f565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801562001ff0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162001fe7919062002c01565b60405180910390a35b50505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62002057826200200f565b810181811067ffffffffffffffff821117156200207957620020786200201f565b5b80604052505050565b5f6200208d62001ff6565b90506200209b82826200204c565b919050565b5f67ffffffffffffffff821115620020bd57620020bc6200201f565b5b620020c8826200200f565b9050602081019050919050565b5f5b83811015620020f4578082015181840152602081019050620020d7565b5f8484015250505050565b5f620021156200210f84620020a0565b62002082565b9050828152602081018484840111156200213457620021336200200b565b5b62002141848285620020d5565b509392505050565b5f82601f83011262002160576200215f62002007565b5b815162002172848260208601620020ff565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620021a6826200217b565b9050919050565b620021b8816200219a565b8114620021c3575f80fd5b50565b5f81519050620021d681620021ad565b92915050565b5f805f60608486031215620021f657620021f562001fff565b5b5f84015167ffffffffffffffff81111562002216576200221562002003565b5b620022248682870162002149565b935050602084015167ffffffffffffffff81111562002248576200224762002003565b5b620022568682870162002149565b92505060406200226986828701620021c6565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620022c257607f821691505b602082108103620022d857620022d76200227d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200233c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620022ff565b620023488683620022ff565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620023926200238c620023868462002360565b62002369565b62002360565b9050919050565b5f819050919050565b620023ad8362002372565b620023c5620023bc8262002399565b8484546200230b565b825550505050565b5f90565b620023db620023cd565b620023e8818484620023a2565b505050565b5b818110156200240f57620024035f82620023d1565b600181019050620023ee565b5050565b601f8211156200245e576200242881620022de565b6200243384620022f0565b8101602085101562002443578190505b6200245b6200245285620022f0565b830182620023ed565b50505b505050565b5f82821c905092915050565b5f620024805f198460080262002463565b1980831691505092915050565b5f6200249a83836200246f565b9150826002028217905092915050565b620024b58262002273565b67ffffffffffffffff811115620024d157620024d06200201f565b5b620024dd8254620022aa565b620024ea82828562002413565b5f60209050601f83116001811462002520575f84156200250b578287015190505b6200251785826200248d565b86555062002586565b601f1984166200253086620022de565b5f5b82811015620025595784890151825560018201915060208501945060208101905062002532565b8683101562002579578489015162002575601f8916826200246f565b8355505b6001600288020188555050505b505050505050565b62002599816200219a565b82525050565b5f602082019050620025b45f8301846200258e565b92915050565b5f82825260208201905092915050565b7f5a65726f20726f757465720000000000000000000000000000000000000000005f82015250565b5f62002600600b83620025ba565b91506200260d82620025ca565b602082019050919050565b5f6020820190508181035f8301526200263181620025f2565b9050919050565b5f819050919050565b6200264c8162002638565b82525050565b6200265d8162002360565b82525050565b5f60a082019050620026785f83018862002641565b62002687602083018762002641565b62002696604083018662002641565b620026a5606083018562002652565b620026b460808301846200258e565b9695505050505050565b5f620026ca8262002273565b620026d68185620025ba565b9350620026e8818560208601620020d5565b620026f3816200200f565b840191505092915050565b5f6020820190508181035f830152620027188184620026be565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f62002746825162002638565b80915050919050565b5f6200275b8262002720565b8262002767846200272a565b9050620027748162002739565b92506020821015620027b757620027b27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620022ff565b831692505b5050919050565b7f5472616e7366657220746f207a65726f000000000000000000000000000000005f82015250565b5f620027f4601083620025ba565b91506200280182620027be565b602082019050919050565b5f6020820190508181035f8301526200282581620027e6565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f62002862601283620025ba565b91506200286f826200282c565b602082019050919050565b5f6020820190508181035f830152620028938162002854565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620028d38262002360565b9150620028e08362002360565b9250828203905081811115620028fb57620028fa6200289a565b5b92915050565b7f4d617820627579207478732070657220626c6f636b20706572206f726967696e5f82015250565b5f62002937602083620025ba565b9150620029448262002901565b602082019050919050565b5f6020820190508181035f830152620029688162002929565b9050919050565b5f6200297b8262002360565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620029b057620029af6200289a565b5b600182019050919050565b7f4d617820627579207478732070657220626c6f636b00000000000000000000005f82015250565b5f620029f1601583620025ba565b9150620029fe82620029bb565b602082019050919050565b5f6020820190508181035f83015262002a2281620029e3565b9050919050565b5f62002a358262002360565b915062002a428362002360565b925082820190508082111562002a5d5762002a5c6200289a565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f62002a99601383620025ba565b915062002aa68262002a63565b602082019050919050565b5f6020820190508181035f83015262002aca8162002a8b565b9050919050565b5f62002add8262002360565b915062002aea8362002360565b925082820262002afa8162002360565b9150828204841483151762002b145762002b136200289a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62002b548262002360565b915062002b618362002360565b92508262002b745762002b7362002b1b565b5b828204905092915050565b5f60ff82169050919050565b5f62002b978262002b7f565b915062002ba48362002b7f565b9250828201905060ff81111562002bc05762002bbf6200289a565b5b92915050565b5f60608201905062002bdb5f8301866200258e565b62002bea602083018562002652565b62002bf9604083018462002652565b949350505050565b5f60208201905062002c165f83018462002652565b92915050565b5f6020828403121562002c345762002c3362001fff565b5b5f62002c4384828501620021c6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f62002ca262002c9c62002c968462002c79565b62002369565b62002360565b9050919050565b62002cb48162002c82565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b62002cee816200219a565b82525050565b5f62002d01838362002ce3565b60208301905092915050565b5f602082019050919050565b5f62002d258262002cba565b62002d31818562002cc4565b935062002d3e8362002cd4565b805f5b8381101562002d7457815162002d58888262002cf4565b975062002d658362002d0d565b92505060018101905062002d41565b5085935050505092915050565b5f60408201905062002d965f83018562002ca9565b818103602083015262002daa818462002d19565b90509392505050565b5f67ffffffffffffffff82111562002dd05762002dcf6200201f565b5b602082029050602081019050919050565b5f80fd5b62002df08162002360565b811462002dfb575f80fd5b50565b5f8151905062002e0e8162002de5565b92915050565b5f62002e2a62002e248462002db3565b62002082565b9050808382526020820190506020840283018581111562002e505762002e4f62002de1565b5b835b8181101562002e7d578062002e68888262002dfe565b84526020840193505060208101905062002e52565b5050509392505050565b5f82601f83011262002e9e5762002e9d62002007565b5b815162002eb084826020860162002e14565b91505092915050565b5f6020828403121562002ed15762002ed062001fff565b5b5f82015167ffffffffffffffff81111562002ef15762002ef062002003565b5b62002eff8482850162002e87565b91505092915050565b5f81905092915050565b50565b5f62002f225f8362002f08565b915062002f2f8262002f12565b5f82019050919050565b5f62002f458262002f15565b9150819050919050565b7f547265617375727931207472616e73666572206661696c6564000000000000005f82015250565b5f62002f85601983620025ba565b915062002f928262002f4f565b602082019050919050565b5f6020820190508181035f83015262002fb68162002f77565b9050919050565b7f547265617375727932207472616e73666572206661696c6564000000000000005f82015250565b5f62002ff3601983620025ba565b9150620030008262002fbd565b602082019050919050565b5f6020820190508181035f830152620030248162002fe5565b9050919050565b5f604082019050620030405f83018562002652565b6200304f602083018462002652565b9392505050565b5f819050919050565b5f6200307f62003079620030738462003056565b62002369565b62002360565b9050919050565b62003091816200305f565b82525050565b5f60a082019050620030ac5f83018862002652565b620030bb602083018762003086565b8181036040830152620030cf818662002d19565b9050620030e060608301856200258e565b620030ef608083018462002652565b9695505050505050565b60805160a05160c05160e0516101005161012051610140516157876200314b5f395f61261e01525f6125e301525f61352901525f61350801525f61221f01525f61227501525f61229e01526157875ff3fe60806040526004361061028b575f3560e01c80638da5cb5b11610159578063c0246668116100c0578063e1ab04c911610079578063e1ab04c9146109b1578063e2f45605146109ed578063e5d1d26014610a17578063e984419414610a41578063f2fde38b14610a69578063f495b3e914610a9157610292565b8063c024666814610897578063c9e904be146108bf578063d257b34f146108e9578063d2fcc00114610925578063d505accf1461094d578063dd62ed3e1461097557610292565b80639a7a23d6116101125780639a7a23d61461078d578063a9059cbb146107b5578063aca0359f146107f1578063b3bdd81e1461081b578063b62496f514610831578063bbc0c7421461086d57610292565b80638da5cb5b146106a9578063902d55a5146106d357806390834970146106fd578063924de9b714610725578063937189761461074d57806395d89b411461076357610292565b80634e6fd6c4116101fd57806370b7b80c116101b657806370b7b80c146105b9578063715018a6146105e35780637ecebe00146105f957806384b0196e1461063557806385b12c7c146106655780638980f11f1461068157610292565b80634e6fd6c4146104895780634fbee193146104b35780635dc95d48146104ef5780636ddd17131461052b5780636f2ad73d1461055557806370a082311461057d57610292565b806323b872dd1161024f57806323b872dd1461037a578063313ce567146103b65780633644e515146103e05780633c5406871461040a5780634182f1e71461043457806349bd5a5e1461045f57610292565b806306fdde0314610296578063095ea7b3146102c0578063129f5502146102fc5780631694505e1461032657806318160ddd1461035057610292565b3661029257005b5f80fd5b3480156102a1575f80fd5b506102aa610acd565b6040516102b7919061424e565b60405180910390f35b3480156102cb575f80fd5b506102e660048036038101906102e1919061430c565b610b5d565b6040516102f39190614364565b60405180910390f35b348015610307575f80fd5b50610310610b7f565b60405161031d919061438c565b60405180910390f35b348015610331575f80fd5b5061033a610ba4565b6040516103479190614400565b60405180910390f35b34801561035b575f80fd5b50610364610bc9565b6040516103719190614428565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190614441565b610bd2565b6040516103ad9190614364565b60405180910390f35b3480156103c1575f80fd5b506103ca610c00565b6040516103d791906144ac565b60405180910390f35b3480156103eb575f80fd5b506103f4610c08565b60405161040191906144dd565b60405180910390f35b348015610415575f80fd5b5061041e610c16565b60405161042b91906144ac565b60405180910390f35b34801561043f575f80fd5b50610448610c28565b6040516104569291906144f6565b60405180910390f35b34801561046a575f80fd5b50610473610c3a565b604051610480919061438c565b60405180910390f35b348015610494575f80fd5b5061049d610c5f565b6040516104aa919061438c565b60405180910390f35b3480156104be575f80fd5b506104d960048036038101906104d4919061451d565b610c65565b6040516104e69190614364565b60405180910390f35b3480156104fa575f80fd5b506105156004803603810190610510919061430c565b610c82565b6040516105229190614428565b60405180910390f35b348015610536575f80fd5b5061053f610ca2565b60405161054c9190614364565b60405180910390f35b348015610560575f80fd5b5061057b6004803603810190610576919061451d565b610cb5565b005b348015610588575f80fd5b506105a3600480360381019061059e919061451d565b610ed5565b6040516105b09190614428565b60405180910390f35b3480156105c4575f80fd5b506105cd610f1a565b6040516105da9190614428565b60405180910390f35b3480156105ee575f80fd5b506105f7610f20565b005b348015610604575f80fd5b5061061f600480360381019061061a919061451d565b610f33565b60405161062c9190614428565b60405180910390f35b348015610640575f80fd5b50610649610f44565b60405161065c9796959493929190614639565b60405180910390f35b61067f600480360381019061067a91906146bb565b610fe9565b005b34801561068c575f80fd5b506106a760048036038101906106a2919061430c565b6115cc565b005b3480156106b4575f80fd5b506106bd6116f7565b6040516106ca919061438c565b60405180910390f35b3480156106de575f80fd5b506106e761171f565b6040516106f49190614428565b60405180910390f35b348015610708575f80fd5b50610723600480360381019061071e9190614710565b61172e565b005b348015610730575f80fd5b5061074b60048036038101906107469190614710565b611752565b005b348015610758575f80fd5b50610761611777565b005b34801561076e575f80fd5b50610777611792565b604051610784919061424e565b60405180910390f35b348015610798575f80fd5b506107b360048036038101906107ae919061473b565b611822565b005b3480156107c0575f80fd5b506107db60048036038101906107d6919061430c565b611957565b6040516107e89190614364565b60405180910390f35b3480156107fc575f80fd5b50610805611979565b6040516108129190614364565b60405180910390f35b348015610826575f80fd5b5061082f61198b565b005b34801561083c575f80fd5b506108576004803603810190610852919061451d565b611995565b6040516108649190614364565b60405180910390f35b348015610878575f80fd5b506108816119b2565b60405161088e9190614364565b60405180910390f35b3480156108a2575f80fd5b506108bd60048036038101906108b8919061473b565b6119c5565b005b3480156108ca575f80fd5b506108d3611a73565b6040516108e09190614428565b60405180910390f35b3480156108f4575f80fd5b5061090f600480360381019061090a91906146bb565b611a79565b60405161091c9190614364565b60405180910390f35b348015610930575f80fd5b5061094b6004803603810190610946919061473b565b611b58565b005b348015610958575f80fd5b50610973600480360381019061096e91906147cd565b611bb8565b005b348015610980575f80fd5b5061099b6004803603810190610996919061486a565b611cfd565b6040516109a89190614428565b60405180910390f35b3480156109bc575f80fd5b506109d760048036038101906109d2919061451d565b611d7f565b6040516109e49190614364565b60405180910390f35b3480156109f8575f80fd5b50610a01611d9c565b604051610a0e9190614428565b60405180910390f35b348015610a22575f80fd5b50610a2b611da2565b604051610a38919061438c565b60405180910390f35b348015610a4c575f80fd5b50610a676004803603810190610a62919061451d565b611dc7565b005b348015610a74575f80fd5b50610a8f6004803603810190610a8a919061451d565b611fe7565b005b348015610a9c575f80fd5b50610ab76004803603810190610ab291906146bb565b61206b565b604051610ac49190614428565b60405180910390f35b606060038054610adc906148d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610b08906148d5565b8015610b535780601f10610b2a57610100808354040283529160200191610b53565b820191905f5260205f20905b815481529060010190602001808311610b3657829003601f168201915b5050505050905090565b5f80610b67612080565b9050610b74818585612087565b600191505092915050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600254905090565b5f80610bdc612080565b9050610be9858285612099565b610bf485858561212c565b60019150509392505050565b5f6012905090565b5f610c1161221c565b905090565b60115f9054906101000a900460ff1681565b5f80610c326122d2565b915091509091565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b6014602052805f5260405f205f915054906101000a900460ff1681565b6012602052815f5260405f20602052805f5260405f205f91509150505481565b600a60159054906101000a900460ff1681565b610cbd61244a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d229061494f565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9339779e938ac2e12dd8de8cf1d30a59a31e78cd21cbc5980a4bb2d7ed39e01460405160405180910390a380600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160145f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160155f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600f5481565b610f2861244a565b610f315f6124d1565b565b5f610f3d82612594565b9050919050565b5f6060805f805f6060610f556125da565b610f5d612615565b46305f801b5f67ffffffffffffffff811115610f7c57610f7b61496d565b5b604051908082528060200260200182016040528015610faa5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b610ff161244a565b600a60149054906101000a900460ff1615611041576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611038906149e4565b60405180910390fd5b5f3411611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a90614a4c565b60405180910390fd5b60648111156110c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110be90614ab4565b60405180910390fd5b5f60648260646110d79190614aff565b6a115eec47f6cf7e350000006110ed9190614b32565b6110f79190614ba0565b90506111303060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a115eec47f6cf7e35000000612087565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111be9190614be4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112689190614be4565b6040518363ffffffff1660e01b8152600401611285929190614c0f565b6020604051808303815f875af11580156112a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c59190614be4565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160155f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160165f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f8061143a6116f7565b426040518863ffffffff1660e01b815260040161145c96959493929190614c6f565b60606040518083038185885af1158015611478573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061149d9190614ce2565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161153d929190614d32565b6020604051808303815f875af1158015611559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190614d6d565b505f61158830610ed5565b90505f8111156115a5576115a43061159e6116f7565b8361212c565b5b42600f819055506001600a60146101000a81548160ff021916908315150217905550505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163190614de2565b60405180910390fd5b5f6002826116489190614ba0565b90505f81836116579190614aff565b90506116a5600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838673ffffffffffffffffffffffffffffffffffffffff166126509092919063ffffffff16565b6116f1600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff166126509092919063ffffffff16565b50505050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6a115eec47f6cf7e3500000081565b61173661244a565b80600e5f6101000a81548160ff02191690831515021790555050565b61175a61244a565b80600a60156101000a81548160ff02191690831515021790555050565b61178861178330610ed5565b6126a3565b6117906128d9565b565b6060600480546117a1906148d5565b80601f01602080910402602001604051908101604052809291908181526020018280546117cd906148d5565b80156118185780601f106117ef57610100808354040283529160200191611818565b820191905f5260205f20905b8154815290600101906020018083116117fb57829003601f168201915b5050505050905090565b61182a61244a565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b090614e4a565b60405180910390fd5b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f80611961612080565b905061196e81858561212c565b600191505092915050565b600e5f9054906101000a900460ff1681565b6119936128d9565b565b6016602052805f5260405f205f915054906101000a900460ff1681565b600a60149054906101000a900460ff1681565b6119cd61244a565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611a679190614364565b60405180910390a25050565b60105481565b5f611a8261244a565b620186a06001611a90610bc9565b611a9a9190614b32565b611aa49190614ba0565b821015611ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611add90614eb2565b60405180910390fd5b60646004611af2610bc9565b611afc9190614b32565b611b069190614ba0565b821115611b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3f90614f1a565b60405180910390fd5b81600d8190555060019050919050565b611b6061244a565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b83421115611bfd57836040517f62791302000000000000000000000000000000000000000000000000000000008152600401611bf49190614428565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611c2b8c612ab5565b89604051602001611c4196959493929190614f38565b6040516020818303038152906040528051906020012090505f611c6382612b08565b90505f611c7282878787612b21565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ce657808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401611cdd929190614c0f565b60405180910390fd5b611cf18a8a8a612087565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6015602052805f5260405f205f915054906101000a900460ff1681565b600d5481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611dcf61244a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e349061494f565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fe2a3fdd15aae178bb70d8c24828a5464f5dcdb533b57029fba5300f5c1dd6afb60405160405180910390a380600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160145f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160155f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b611fef61244a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361205f575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612056919061438c565b60405180910390fd5b612068816124d1565b50565b6013602052805f5260405f205f915090505481565b5f33905090565b6120948383836001612b4f565b505050565b5f6120a48484611cfd565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156121265781811015612117578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161210e93929190614f97565b60405180910390fd5b61212584848484035f612b4f565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361219c575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401612193919061438c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361220c575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401612203919061438c565b60405180910390fd5b612217838383612d1e565b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561229757507f000000000000000000000000000000000000000000000000000000000000000046145b156122c4577f000000000000000000000000000000000000000000000000000000000000000090506122cf565b6122cc6134e4565b90505b90565b5f805f600f54036122f3575f6a115eec47f6cf7e3500000091509150612446565b5f600f54426123029190614aff565b9050610e1081101561240857603c81101561233d57610bb86103e86a115eec47f6cf7e350000006123339190614ba0565b9250925050612446565b61012c811015612379576109c4612710600f6a115eec47f6cf7e350000006123659190614b32565b61236f9190614ba0565b9250925050612446565b6101e08110156123a9576107d06101f46a115eec47f6cf7e3500000061239f9190614ba0565b9250925050612446565b6103848110156123e3576103e88060036a115eec47f6cf7e350000006123cf9190614b32565b6123d99190614ba0565b9250925050612446565b6101f460c86a115eec47f6cf7e350000006123fe9190614ba0565b9250925050612446565b68a2a15d09519be0000060105410612431575f6a115eec47f6cf7e350000009250925050612446565b61012c6a115eec47f6cf7e3500000092509250505b9091565b612452612080565b73ffffffffffffffffffffffffffffffffffffffff166124706116f7565b73ffffffffffffffffffffffffffffffffffffffff16146124cf57612493612080565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016124c6919061438c565b60405180910390fd5b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b606061261060057f000000000000000000000000000000000000000000000000000000000000000061357990919063ffffffff16565b905090565b606061264b60067f000000000000000000000000000000000000000000000000000000000000000061357990919063ffffffff16565b905090565b61265d8383836001613626565b61269e57826040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401612695919061438c565b60405180910390fd5b505050565b5f600267ffffffffffffffff8111156126bf576126be61496d565b5b6040519080825280602002602001820160405280156126ed5781602001602082028036833780820191505090505b50905030815f8151811061270457612703614fcc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127cc9190614be4565b816001815181106127e0576127df614fcc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128463060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612087565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016128a89594939291906150b0565b5f604051808303815f87803b1580156128bf575f80fd5b505af11580156128d1573d5f803e3d5ffd5b505050505050565b5f4790505f81036128ea5750612ab3565b5f6002826128f89190614ba0565b90505f81836129079190614aff565b90505f8211156129dc575f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161295790615135565b5f6040518083038185875af1925050503d805f8114612991576040519150601f19603f3d011682016040523d82523d5f602084013e612996565b606091505b50509050806129da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d190615193565b60405180910390fd5b505b5f811115612aaf575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612a2a90615135565b5f6040518083038185875af1925050503d805f8114612a64576040519150601f19603f3d011682016040523d82523d5f602084013e612a69565b606091505b5050905080612aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa4906151fb565b60405180910390fd5b505b5050505b565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f612b1a612b1461221c565b83613688565b9050919050565b5f805f80612b31888888886136c8565b925092509250612b4182826137af565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612bbf575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401612bb6919061438c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c2f575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401612c26919061438c565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015612d18578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051612d0f9190614428565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8390615263565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612dcf57612dca838383613911565b6134df565b5f8103612de657612de183835f613911565b6134df565b5f80612df06122d2565b915091505f60165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690505f60165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690508180612e975750805b15612f8e57600a60149054906101000a900460ff1680612efd575060145f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80612f4e575060145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f84906152cb565b60405180910390fd5b5b818015612fe2575060145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612fef57505f600f54115b156131765760b4600f54426130049190614aff565b101561317557600a60125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f4381526020019081526020015f205410613099576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309090615333565b60405180910390fd5b60125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f4381526020019081526020015f205f8154809291906130f590615351565b9190505550606460135f4381526020019081526020015f20541061314e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613145906153e2565b60405180910390fd5b60135f4381526020019081526020015f205f81548092919061316f90615351565b91905055505b5b60155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156131cb575080155b156132275782856131db88610ed5565b6131e59190615400565b1115613226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161321d9061547d565b60405180910390fd5b5b5f61323130610ed5565b90505f600d5482101590508080156132555750600a60159054906101000a900460ff165b801561326e5750600a60169054906101000a900460ff16155b80156132775750825b80156132ca575060145f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561331d575060145f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15613361576001600a60166101000a81548160ff02191690831515021790555061334687613b2a565b5f600a60166101000a81548160ff0219169083151502179055505b5f600a60169054906101000a900460ff16158015613384575084806133835750835b5b905060145f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680613421575060145f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561342a575f90505b5f81801561343757505f88115b1561347a57612710888a61344b9190614b32565b6134559190614ba0565b90505f81111561346b5761346a8b3083613911565b5b80896134779190614aff565b98505b600a60115f9054906101000a900460ff1660ff1610156134cb57600160115f8282829054906101000a900460ff166134b2919061549b565b92506101000a81548160ff021916908360ff1602179055505b6134d68b8b8b613911565b50505050505050505b505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000463060405160200161355e9594939291906154cf565b60405160208183030381529060405280519060200120905090565b606060ff5f1b83146135955761358e83614039565b9050613620565b8180546135a1906148d5565b80601f01602080910402602001604051908101604052809291908181526020018280546135cd906148d5565b80156136185780601f106135ef57610100808354040283529160200191613618565b820191905f5260205f20905b8154815290600101906020018083116135fb57829003601f168201915b505050505090505b92915050565b5f8063a9059cbb60e01b9050604051815f525f1960601c86166004528460245260205f60445f808b5af1925060015f5114831661367a57838315161561366e573d5f823e3d81fd5b5f873b113d1516831692505b806040525050949350505050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115613704575f6003859250925092506137a5565b5f6001888888886040515f81526020016040526040516137279493929190615520565b6020604051602081039080840390855afa158015613747573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613798575f60015f801b935093509350506137a5565b805f805f1b935093509350505b9450945094915050565b5f60038111156137c2576137c1615563565b5b8260038111156137d5576137d4615563565b5b031561390d57600160038111156137ef576137ee615563565b5b82600381111561380257613801615563565b5b03613839576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561384d5761384c615563565b5b8260038111156138605761385f615563565b5b036138a457805f1c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161389b9190614428565b60405180910390fd5b6003808111156138b7576138b6615563565b5b8260038111156138ca576138c9615563565b5b0361390c57806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161390391906144dd565b60405180910390fd5b5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613961578060025f8282546139559190615400565b92505081905550613a2f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156139ea578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016139e193929190614f97565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613a76578060025f8282540392505081905550613ac0565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613b1d9190614428565b60405180910390a3505050565b613b326140ab565b5f600f54118015613b51575061012c600f5442613b4f9190614aff565b105b61402e575f613b5f30610ed5565b90505f8103613b6e575061402e565b600d54811115613b7e57600d5490505b600e5f9054906101000a900460ff168015613b9857508181115b15613ba1578190505b5f600267ffffffffffffffff811115613bbd57613bbc61496d565b5b604051908082528060200260200182016040528015613beb5781602001602082028036833780820191505090505b50905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c7c9190614be4565b815f81518110613c8f57613c8e614fcc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250503081600181518110613cde57613cdd614fcc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f6702c68af0bb140000836040518363ffffffff1660e01b8152600401613d7c9291906155c9565b5f60405180830381865afa925050508015613db957506040513d5f823e3d601f19601f82011682018060405250810190613db6919061570a565b60015b15613dec575f81600181518110613dd357613dd2614fcc565b5b6020026020010151905080841115613de9578093505b50505b5f479050613df9836126a3565b5f8147613e069190614aff565b90505f811115614029578060105f828254613e219190615400565b925050819055505f600282613e369190614ba0565b90505f8183613e459190614aff565b90505f821115613f1a575f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051613e9590615135565b5f6040518083038185875af1925050503d805f8114613ecf576040519150601f19603f3d011682016040523d82523d5f602084013e613ed4565b606091505b5050905080613f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f0f90615193565b60405180910390fd5b505b5f811115613fed575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051613f6890615135565b5f6040518083038185875af1925050503d805f8114613fa2576040519150601f19603f3d011682016040523d82523d5f602084013e613fa7565b606091505b5050905080613feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fe2906151fb565b60405180910390fd5b505b7f1309193d68e1a43bd32da5f04e07935cc194c20b2bd1813be5c6898b99dac4be868460405161401e9291906144f6565b60405180910390a150505b505050505b6140366140cd565b50565b60605f614045836140e7565b90505f602067ffffffffffffffff8111156140635761406261496d565b5b6040519080825280601f01601f1916602001820160405280156140955781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6140b3614135565b60026140c56140c0614176565b61419f565b5f0181905550565b60016140df6140da614176565b61419f565b5f0181905550565b5f8060ff835f1c169050601f81111561412c576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b61413d6141a8565b15614174576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b905090565b5f819050919050565b5f60026141bb6141b6614176565b61419f565b5f015414905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156141fb5780820151818401526020810190506141e0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f614220826141c4565b61422a81856141ce565b935061423a8185602086016141de565b61424381614206565b840191505092915050565b5f6020820190508181035f8301526142668184614216565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6142a88261427f565b9050919050565b6142b88161429e565b81146142c2575f80fd5b50565b5f813590506142d3816142af565b92915050565b5f819050919050565b6142eb816142d9565b81146142f5575f80fd5b50565b5f81359050614306816142e2565b92915050565b5f806040838503121561432257614321614277565b5b5f61432f858286016142c5565b9250506020614340858286016142f8565b9150509250929050565b5f8115159050919050565b61435e8161434a565b82525050565b5f6020820190506143775f830184614355565b92915050565b6143868161429e565b82525050565b5f60208201905061439f5f83018461437d565b92915050565b5f819050919050565b5f6143c86143c36143be8461427f565b6143a5565b61427f565b9050919050565b5f6143d9826143ae565b9050919050565b5f6143ea826143cf565b9050919050565b6143fa816143e0565b82525050565b5f6020820190506144135f8301846143f1565b92915050565b614422816142d9565b82525050565b5f60208201905061443b5f830184614419565b92915050565b5f805f6060848603121561445857614457614277565b5b5f614465868287016142c5565b9350506020614476868287016142c5565b9250506040614487868287016142f8565b9150509250925092565b5f60ff82169050919050565b6144a681614491565b82525050565b5f6020820190506144bf5f83018461449d565b92915050565b5f819050919050565b6144d7816144c5565b82525050565b5f6020820190506144f05f8301846144ce565b92915050565b5f6040820190506145095f830185614419565b6145166020830184614419565b9392505050565b5f6020828403121561453257614531614277565b5b5f61453f848285016142c5565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61457c81614548565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6145b4816142d9565b82525050565b5f6145c583836145ab565b60208301905092915050565b5f602082019050919050565b5f6145e782614582565b6145f1818561458c565b93506145fc8361459c565b805f5b8381101561462c57815161461388826145ba565b975061461e836145d1565b9250506001810190506145ff565b5085935050505092915050565b5f60e08201905061464c5f83018a614573565b818103602083015261465e8189614216565b905081810360408301526146728188614216565b90506146816060830187614419565b61468e608083018661437d565b61469b60a08301856144ce565b81810360c08301526146ad81846145dd565b905098975050505050505050565b5f602082840312156146d0576146cf614277565b5b5f6146dd848285016142f8565b91505092915050565b6146ef8161434a565b81146146f9575f80fd5b50565b5f8135905061470a816146e6565b92915050565b5f6020828403121561472557614724614277565b5b5f614732848285016146fc565b91505092915050565b5f806040838503121561475157614750614277565b5b5f61475e858286016142c5565b925050602061476f858286016146fc565b9150509250929050565b61478281614491565b811461478c575f80fd5b50565b5f8135905061479d81614779565b92915050565b6147ac816144c5565b81146147b6575f80fd5b50565b5f813590506147c7816147a3565b92915050565b5f805f805f805f60e0888a0312156147e8576147e7614277565b5b5f6147f58a828b016142c5565b97505060206148068a828b016142c5565b96505060406148178a828b016142f8565b95505060606148288a828b016142f8565b94505060806148398a828b0161478f565b93505060a061484a8a828b016147b9565b92505060c061485b8a828b016147b9565b91505092959891949750929550565b5f80604083850312156148805761487f614277565b5b5f61488d858286016142c5565b925050602061489e858286016142c5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806148ec57607f821691505b6020821081036148ff576148fe6148a8565b5b50919050565b7f5a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f614939600c836141ce565b915061494482614905565b602082019050919050565b5f6020820190508181035f8301526149668161492d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f416c7265616479206c61756e63686564000000000000000000000000000000005f82015250565b5f6149ce6010836141ce565b91506149d98261499a565b602082019050919050565b5f6020820190508181035f8301526149fb816149c2565b9050919050565b7f4e6565642045544820666f72206c6971756964697479000000000000000000005f82015250565b5f614a366016836141ce565b9150614a4182614a02565b602082019050919050565b5f6020820190508181035f830152614a6381614a2a565b9050919050565b7f616d6f756e744c656674206d757374206265203c3d20313030000000000000005f82015250565b5f614a9e6019836141ce565b9150614aa982614a6a565b602082019050919050565b5f6020820190508181035f830152614acb81614a92565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614b09826142d9565b9150614b14836142d9565b9250828203905081811115614b2c57614b2b614ad2565b5b92915050565b5f614b3c826142d9565b9150614b47836142d9565b9250828202614b55816142d9565b91508282048414831517614b6c57614b6b614ad2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614baa826142d9565b9150614bb5836142d9565b925082614bc557614bc4614b73565b5b828204905092915050565b5f81519050614bde816142af565b92915050565b5f60208284031215614bf957614bf8614277565b5b5f614c0684828501614bd0565b91505092915050565b5f604082019050614c225f83018561437d565b614c2f602083018461437d565b9392505050565b5f819050919050565b5f614c59614c54614c4f84614c36565b6143a5565b6142d9565b9050919050565b614c6981614c3f565b82525050565b5f60c082019050614c825f83018961437d565b614c8f6020830188614419565b614c9c6040830187614c60565b614ca96060830186614c60565b614cb6608083018561437d565b614cc360a0830184614419565b979650505050505050565b5f81519050614cdc816142e2565b92915050565b5f805f60608486031215614cf957614cf8614277565b5b5f614d0686828701614cce565b9350506020614d1786828701614cce565b9250506040614d2886828701614cce565b9150509250925092565b5f604082019050614d455f83018561437d565b614d526020830184614419565b9392505050565b5f81519050614d67816146e6565b92915050565b5f60208284031215614d8257614d81614277565b5b5f614d8f84828501614d59565b91505092915050565b7f43616e6e6f74207265636f766572206f776e20746f6b656e00000000000000005f82015250565b5f614dcc6018836141ce565b9150614dd782614d98565b602082019050919050565b5f6020820190508181035f830152614df981614dc0565b9050919050565b7f43616e6e6f742072656d6f7665206d61696e20706169720000000000000000005f82015250565b5f614e346017836141ce565b9150614e3f82614e00565b602082019050919050565b5f6020820190508181035f830152614e6181614e28565b9050919050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f614e9c6007836141ce565b9150614ea782614e68565b602082019050919050565b5f6020820190508181035f830152614ec981614e90565b9050919050565b7f546f6f20686967680000000000000000000000000000000000000000000000005f82015250565b5f614f046008836141ce565b9150614f0f82614ed0565b602082019050919050565b5f6020820190508181035f830152614f3181614ef8565b9050919050565b5f60c082019050614f4b5f8301896144ce565b614f58602083018861437d565b614f65604083018761437d565b614f726060830186614419565b614f7f6080830185614419565b614f8c60a0830184614419565b979650505050505050565b5f606082019050614faa5f83018661437d565b614fb76020830185614419565b614fc46040830184614419565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61502b8161429e565b82525050565b5f61503c8383615022565b60208301905092915050565b5f602082019050919050565b5f61505e82614ff9565b6150688185615003565b935061507383615013565b805f5b838110156150a357815161508a8882615031565b975061509583615048565b925050600181019050615076565b5085935050505092915050565b5f60a0820190506150c35f830188614419565b6150d06020830187614c60565b81810360408301526150e28186615054565b90506150f1606083018561437d565b6150fe6080830184614419565b9695505050505050565b5f81905092915050565b50565b5f6151205f83615108565b915061512b82615112565b5f82019050919050565b5f61513f82615115565b9150819050919050565b7f547265617375727931207472616e73666572206661696c6564000000000000005f82015250565b5f61517d6019836141ce565b915061518882615149565b602082019050919050565b5f6020820190508181035f8301526151aa81615171565b9050919050565b7f547265617375727932207472616e73666572206661696c6564000000000000005f82015250565b5f6151e56019836141ce565b91506151f0826151b1565b602082019050919050565b5f6020820190508181035f830152615212816151d9565b9050919050565b7f5472616e7366657220746f207a65726f000000000000000000000000000000005f82015250565b5f61524d6010836141ce565b915061525882615219565b602082019050919050565b5f6020820190508181035f83015261527a81615241565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f6152b56012836141ce565b91506152c082615281565b602082019050919050565b5f6020820190508181035f8301526152e2816152a9565b9050919050565b7f4d617820627579207478732070657220626c6f636b20706572206f726967696e5f82015250565b5f61531d6020836141ce565b9150615328826152e9565b602082019050919050565b5f6020820190508181035f83015261534a81615311565b9050919050565b5f61535b826142d9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361538d5761538c614ad2565b5b600182019050919050565b7f4d617820627579207478732070657220626c6f636b00000000000000000000005f82015250565b5f6153cc6015836141ce565b91506153d782615398565b602082019050919050565b5f6020820190508181035f8301526153f9816153c0565b9050919050565b5f61540a826142d9565b9150615415836142d9565b925082820190508082111561542d5761542c614ad2565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6154676013836141ce565b915061547282615433565b602082019050919050565b5f6020820190508181035f8301526154948161545b565b9050919050565b5f6154a582614491565b91506154b083614491565b9250828201905060ff8111156154c9576154c8614ad2565b5b92915050565b5f60a0820190506154e25f8301886144ce565b6154ef60208301876144ce565b6154fc60408301866144ce565b6155096060830185614419565b615516608083018461437d565b9695505050505050565b5f6080820190506155335f8301876144ce565b615540602083018661449d565b61554d60408301856144ce565b61555a60608301846144ce565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f819050919050565b5f6155b36155ae6155a984615590565b6143a5565b6142d9565b9050919050565b6155c381615599565b82525050565b5f6040820190506155dc5f8301856155ba565b81810360208301526155ee8184615054565b90509392505050565b5f80fd5b61560482614206565b810181811067ffffffffffffffff821117156156235761562261496d565b5b80604052505050565b5f61563561426e565b905061564182826155fb565b919050565b5f67ffffffffffffffff8211156156605761565f61496d565b5b602082029050602081019050919050565b5f80fd5b5f61568761568284615646565b61562c565b905080838252602082019050602084028301858111156156aa576156a9615671565b5b835b818110156156d357806156bf8882614cce565b8452602084019350506020810190506156ac565b5050509392505050565b5f82601f8301126156f1576156f06155f7565b5b8151615701848260208601615675565b91505092915050565b5f6020828403121561571f5761571e614277565b5b5f82015167ffffffffffffffff81111561573c5761573b61427b565b5b615748848285016156dd565b9150509291505056fea2646970667358221220026c8ef50cfaa8896a951032f745824be4630f010e9600d9eb63f2df6830a08764736f6c63430008180033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000d5162797465204e6574776f726b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045142595400000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061028b575f3560e01c80638da5cb5b11610159578063c0246668116100c0578063e1ab04c911610079578063e1ab04c9146109b1578063e2f45605146109ed578063e5d1d26014610a17578063e984419414610a41578063f2fde38b14610a69578063f495b3e914610a9157610292565b8063c024666814610897578063c9e904be146108bf578063d257b34f146108e9578063d2fcc00114610925578063d505accf1461094d578063dd62ed3e1461097557610292565b80639a7a23d6116101125780639a7a23d61461078d578063a9059cbb146107b5578063aca0359f146107f1578063b3bdd81e1461081b578063b62496f514610831578063bbc0c7421461086d57610292565b80638da5cb5b146106a9578063902d55a5146106d357806390834970146106fd578063924de9b714610725578063937189761461074d57806395d89b411461076357610292565b80634e6fd6c4116101fd57806370b7b80c116101b657806370b7b80c146105b9578063715018a6146105e35780637ecebe00146105f957806384b0196e1461063557806385b12c7c146106655780638980f11f1461068157610292565b80634e6fd6c4146104895780634fbee193146104b35780635dc95d48146104ef5780636ddd17131461052b5780636f2ad73d1461055557806370a082311461057d57610292565b806323b872dd1161024f57806323b872dd1461037a578063313ce567146103b65780633644e515146103e05780633c5406871461040a5780634182f1e71461043457806349bd5a5e1461045f57610292565b806306fdde0314610296578063095ea7b3146102c0578063129f5502146102fc5780631694505e1461032657806318160ddd1461035057610292565b3661029257005b5f80fd5b3480156102a1575f80fd5b506102aa610acd565b6040516102b7919061424e565b60405180910390f35b3480156102cb575f80fd5b506102e660048036038101906102e1919061430c565b610b5d565b6040516102f39190614364565b60405180910390f35b348015610307575f80fd5b50610310610b7f565b60405161031d919061438c565b60405180910390f35b348015610331575f80fd5b5061033a610ba4565b6040516103479190614400565b60405180910390f35b34801561035b575f80fd5b50610364610bc9565b6040516103719190614428565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190614441565b610bd2565b6040516103ad9190614364565b60405180910390f35b3480156103c1575f80fd5b506103ca610c00565b6040516103d791906144ac565b60405180910390f35b3480156103eb575f80fd5b506103f4610c08565b60405161040191906144dd565b60405180910390f35b348015610415575f80fd5b5061041e610c16565b60405161042b91906144ac565b60405180910390f35b34801561043f575f80fd5b50610448610c28565b6040516104569291906144f6565b60405180910390f35b34801561046a575f80fd5b50610473610c3a565b604051610480919061438c565b60405180910390f35b348015610494575f80fd5b5061049d610c5f565b6040516104aa919061438c565b60405180910390f35b3480156104be575f80fd5b506104d960048036038101906104d4919061451d565b610c65565b6040516104e69190614364565b60405180910390f35b3480156104fa575f80fd5b506105156004803603810190610510919061430c565b610c82565b6040516105229190614428565b60405180910390f35b348015610536575f80fd5b5061053f610ca2565b60405161054c9190614364565b60405180910390f35b348015610560575f80fd5b5061057b6004803603810190610576919061451d565b610cb5565b005b348015610588575f80fd5b506105a3600480360381019061059e919061451d565b610ed5565b6040516105b09190614428565b60405180910390f35b3480156105c4575f80fd5b506105cd610f1a565b6040516105da9190614428565b60405180910390f35b3480156105ee575f80fd5b506105f7610f20565b005b348015610604575f80fd5b5061061f600480360381019061061a919061451d565b610f33565b60405161062c9190614428565b60405180910390f35b348015610640575f80fd5b50610649610f44565b60405161065c9796959493929190614639565b60405180910390f35b61067f600480360381019061067a91906146bb565b610fe9565b005b34801561068c575f80fd5b506106a760048036038101906106a2919061430c565b6115cc565b005b3480156106b4575f80fd5b506106bd6116f7565b6040516106ca919061438c565b60405180910390f35b3480156106de575f80fd5b506106e761171f565b6040516106f49190614428565b60405180910390f35b348015610708575f80fd5b50610723600480360381019061071e9190614710565b61172e565b005b348015610730575f80fd5b5061074b60048036038101906107469190614710565b611752565b005b348015610758575f80fd5b50610761611777565b005b34801561076e575f80fd5b50610777611792565b604051610784919061424e565b60405180910390f35b348015610798575f80fd5b506107b360048036038101906107ae919061473b565b611822565b005b3480156107c0575f80fd5b506107db60048036038101906107d6919061430c565b611957565b6040516107e89190614364565b60405180910390f35b3480156107fc575f80fd5b50610805611979565b6040516108129190614364565b60405180910390f35b348015610826575f80fd5b5061082f61198b565b005b34801561083c575f80fd5b506108576004803603810190610852919061451d565b611995565b6040516108649190614364565b60405180910390f35b348015610878575f80fd5b506108816119b2565b60405161088e9190614364565b60405180910390f35b3480156108a2575f80fd5b506108bd60048036038101906108b8919061473b565b6119c5565b005b3480156108ca575f80fd5b506108d3611a73565b6040516108e09190614428565b60405180910390f35b3480156108f4575f80fd5b5061090f600480360381019061090a91906146bb565b611a79565b60405161091c9190614364565b60405180910390f35b348015610930575f80fd5b5061094b6004803603810190610946919061473b565b611b58565b005b348015610958575f80fd5b50610973600480360381019061096e91906147cd565b611bb8565b005b348015610980575f80fd5b5061099b6004803603810190610996919061486a565b611cfd565b6040516109a89190614428565b60405180910390f35b3480156109bc575f80fd5b506109d760048036038101906109d2919061451d565b611d7f565b6040516109e49190614364565b60405180910390f35b3480156109f8575f80fd5b50610a01611d9c565b604051610a0e9190614428565b60405180910390f35b348015610a22575f80fd5b50610a2b611da2565b604051610a38919061438c565b60405180910390f35b348015610a4c575f80fd5b50610a676004803603810190610a62919061451d565b611dc7565b005b348015610a74575f80fd5b50610a8f6004803603810190610a8a919061451d565b611fe7565b005b348015610a9c575f80fd5b50610ab76004803603810190610ab291906146bb565b61206b565b604051610ac49190614428565b60405180910390f35b606060038054610adc906148d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610b08906148d5565b8015610b535780601f10610b2a57610100808354040283529160200191610b53565b820191905f5260205f20905b815481529060010190602001808311610b3657829003601f168201915b5050505050905090565b5f80610b67612080565b9050610b74818585612087565b600191505092915050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600254905090565b5f80610bdc612080565b9050610be9858285612099565b610bf485858561212c565b60019150509392505050565b5f6012905090565b5f610c1161221c565b905090565b60115f9054906101000a900460ff1681565b5f80610c326122d2565b915091509091565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b6014602052805f5260405f205f915054906101000a900460ff1681565b6012602052815f5260405f20602052805f5260405f205f91509150505481565b600a60159054906101000a900460ff1681565b610cbd61244a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d229061494f565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9339779e938ac2e12dd8de8cf1d30a59a31e78cd21cbc5980a4bb2d7ed39e01460405160405180910390a380600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160145f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160155f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600f5481565b610f2861244a565b610f315f6124d1565b565b5f610f3d82612594565b9050919050565b5f6060805f805f6060610f556125da565b610f5d612615565b46305f801b5f67ffffffffffffffff811115610f7c57610f7b61496d565b5b604051908082528060200260200182016040528015610faa5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b610ff161244a565b600a60149054906101000a900460ff1615611041576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611038906149e4565b60405180910390fd5b5f3411611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a90614a4c565b60405180910390fd5b60648111156110c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110be90614ab4565b60405180910390fd5b5f60648260646110d79190614aff565b6a115eec47f6cf7e350000006110ed9190614b32565b6110f79190614ba0565b90506111303060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a115eec47f6cf7e35000000612087565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111be9190614be4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112689190614be4565b6040518363ffffffff1660e01b8152600401611285929190614c0f565b6020604051808303815f875af11580156112a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c59190614be4565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160155f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160165f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f8061143a6116f7565b426040518863ffffffff1660e01b815260040161145c96959493929190614c6f565b60606040518083038185885af1158015611478573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061149d9190614ce2565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161153d929190614d32565b6020604051808303815f875af1158015611559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190614d6d565b505f61158830610ed5565b90505f8111156115a5576115a43061159e6116f7565b8361212c565b5b42600f819055506001600a60146101000a81548160ff021916908315150217905550505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163190614de2565b60405180910390fd5b5f6002826116489190614ba0565b90505f81836116579190614aff565b90506116a5600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838673ffffffffffffffffffffffffffffffffffffffff166126509092919063ffffffff16565b6116f1600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff166126509092919063ffffffff16565b50505050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6a115eec47f6cf7e3500000081565b61173661244a565b80600e5f6101000a81548160ff02191690831515021790555050565b61175a61244a565b80600a60156101000a81548160ff02191690831515021790555050565b61178861178330610ed5565b6126a3565b6117906128d9565b565b6060600480546117a1906148d5565b80601f01602080910402602001604051908101604052809291908181526020018280546117cd906148d5565b80156118185780601f106117ef57610100808354040283529160200191611818565b820191905f5260205f20905b8154815290600101906020018083116117fb57829003601f168201915b5050505050905090565b61182a61244a565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b090614e4a565b60405180910390fd5b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f80611961612080565b905061196e81858561212c565b600191505092915050565b600e5f9054906101000a900460ff1681565b6119936128d9565b565b6016602052805f5260405f205f915054906101000a900460ff1681565b600a60149054906101000a900460ff1681565b6119cd61244a565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611a679190614364565b60405180910390a25050565b60105481565b5f611a8261244a565b620186a06001611a90610bc9565b611a9a9190614b32565b611aa49190614ba0565b821015611ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611add90614eb2565b60405180910390fd5b60646004611af2610bc9565b611afc9190614b32565b611b069190614ba0565b821115611b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3f90614f1a565b60405180910390fd5b81600d8190555060019050919050565b611b6061244a565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b83421115611bfd57836040517f62791302000000000000000000000000000000000000000000000000000000008152600401611bf49190614428565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611c2b8c612ab5565b89604051602001611c4196959493929190614f38565b6040516020818303038152906040528051906020012090505f611c6382612b08565b90505f611c7282878787612b21565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ce657808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401611cdd929190614c0f565b60405180910390fd5b611cf18a8a8a612087565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6015602052805f5260405f205f915054906101000a900460ff1681565b600d5481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611dcf61244a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e349061494f565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fe2a3fdd15aae178bb70d8c24828a5464f5dcdb533b57029fba5300f5c1dd6afb60405160405180910390a380600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160145f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160155f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b611fef61244a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361205f575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612056919061438c565b60405180910390fd5b612068816124d1565b50565b6013602052805f5260405f205f915090505481565b5f33905090565b6120948383836001612b4f565b505050565b5f6120a48484611cfd565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156121265781811015612117578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161210e93929190614f97565b60405180910390fd5b61212584848484035f612b4f565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361219c575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401612193919061438c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361220c575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401612203919061438c565b60405180910390fd5b612217838383612d1e565b505050565b5f7f000000000000000000000000c57de0972276fafe103df95b881f32547c40aecb73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561229757507f000000000000000000000000000000000000000000000000000000000000000146145b156122c4577f7c8b0f47c4982ad00ab66e40804f5ba3d54212c7f42edf03008ec7981f25e0cb90506122cf565b6122cc6134e4565b90505b90565b5f805f600f54036122f3575f6a115eec47f6cf7e3500000091509150612446565b5f600f54426123029190614aff565b9050610e1081101561240857603c81101561233d57610bb86103e86a115eec47f6cf7e350000006123339190614ba0565b9250925050612446565b61012c811015612379576109c4612710600f6a115eec47f6cf7e350000006123659190614b32565b61236f9190614ba0565b9250925050612446565b6101e08110156123a9576107d06101f46a115eec47f6cf7e3500000061239f9190614ba0565b9250925050612446565b6103848110156123e3576103e88060036a115eec47f6cf7e350000006123cf9190614b32565b6123d99190614ba0565b9250925050612446565b6101f460c86a115eec47f6cf7e350000006123fe9190614ba0565b9250925050612446565b68a2a15d09519be0000060105410612431575f6a115eec47f6cf7e350000009250925050612446565b61012c6a115eec47f6cf7e3500000092509250505b9091565b612452612080565b73ffffffffffffffffffffffffffffffffffffffff166124706116f7565b73ffffffffffffffffffffffffffffffffffffffff16146124cf57612493612080565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016124c6919061438c565b60405180910390fd5b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b606061261060057f5162797465204e6574776f726b0000000000000000000000000000000000000d61357990919063ffffffff16565b905090565b606061264b60067f310000000000000000000000000000000000000000000000000000000000000161357990919063ffffffff16565b905090565b61265d8383836001613626565b61269e57826040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401612695919061438c565b60405180910390fd5b505050565b5f600267ffffffffffffffff8111156126bf576126be61496d565b5b6040519080825280602002602001820160405280156126ed5781602001602082028036833780820191505090505b50905030815f8151811061270457612703614fcc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127cc9190614be4565b816001815181106127e0576127df614fcc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128463060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612087565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016128a89594939291906150b0565b5f604051808303815f87803b1580156128bf575f80fd5b505af11580156128d1573d5f803e3d5ffd5b505050505050565b5f4790505f81036128ea5750612ab3565b5f6002826128f89190614ba0565b90505f81836129079190614aff565b90505f8211156129dc575f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161295790615135565b5f6040518083038185875af1925050503d805f8114612991576040519150601f19603f3d011682016040523d82523d5f602084013e612996565b606091505b50509050806129da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d190615193565b60405180910390fd5b505b5f811115612aaf575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612a2a90615135565b5f6040518083038185875af1925050503d805f8114612a64576040519150601f19603f3d011682016040523d82523d5f602084013e612a69565b606091505b5050905080612aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa4906151fb565b60405180910390fd5b505b5050505b565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f612b1a612b1461221c565b83613688565b9050919050565b5f805f80612b31888888886136c8565b925092509250612b4182826137af565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612bbf575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401612bb6919061438c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c2f575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401612c26919061438c565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015612d18578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051612d0f9190614428565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8390615263565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612dcf57612dca838383613911565b6134df565b5f8103612de657612de183835f613911565b6134df565b5f80612df06122d2565b915091505f60165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690505f60165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690508180612e975750805b15612f8e57600a60149054906101000a900460ff1680612efd575060145f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80612f4e575060145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f84906152cb565b60405180910390fd5b5b818015612fe2575060145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612fef57505f600f54115b156131765760b4600f54426130049190614aff565b101561317557600a60125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f4381526020019081526020015f205410613099576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309090615333565b60405180910390fd5b60125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f4381526020019081526020015f205f8154809291906130f590615351565b9190505550606460135f4381526020019081526020015f20541061314e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613145906153e2565b60405180910390fd5b60135f4381526020019081526020015f205f81548092919061316f90615351565b91905055505b5b60155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156131cb575080155b156132275782856131db88610ed5565b6131e59190615400565b1115613226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161321d9061547d565b60405180910390fd5b5b5f61323130610ed5565b90505f600d5482101590508080156132555750600a60159054906101000a900460ff165b801561326e5750600a60169054906101000a900460ff16155b80156132775750825b80156132ca575060145f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561331d575060145f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15613361576001600a60166101000a81548160ff02191690831515021790555061334687613b2a565b5f600a60166101000a81548160ff0219169083151502179055505b5f600a60169054906101000a900460ff16158015613384575084806133835750835b5b905060145f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680613421575060145f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561342a575f90505b5f81801561343757505f88115b1561347a57612710888a61344b9190614b32565b6134559190614ba0565b90505f81111561346b5761346a8b3083613911565b5b80896134779190614aff565b98505b600a60115f9054906101000a900460ff1660ff1610156134cb57600160115f8282829054906101000a900460ff166134b2919061549b565b92506101000a81548160ff021916908360ff1602179055505b6134d68b8b8b613911565b50505050505050505b505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fb3d632fbc1169a5c80ea23841f56cfe07df3b5a769fcbed27e829f3f061a50157fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200161355e9594939291906154cf565b60405160208183030381529060405280519060200120905090565b606060ff5f1b83146135955761358e83614039565b9050613620565b8180546135a1906148d5565b80601f01602080910402602001604051908101604052809291908181526020018280546135cd906148d5565b80156136185780601f106135ef57610100808354040283529160200191613618565b820191905f5260205f20905b8154815290600101906020018083116135fb57829003601f168201915b505050505090505b92915050565b5f8063a9059cbb60e01b9050604051815f525f1960601c86166004528460245260205f60445f808b5af1925060015f5114831661367a57838315161561366e573d5f823e3d81fd5b5f873b113d1516831692505b806040525050949350505050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115613704575f6003859250925092506137a5565b5f6001888888886040515f81526020016040526040516137279493929190615520565b6020604051602081039080840390855afa158015613747573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613798575f60015f801b935093509350506137a5565b805f805f1b935093509350505b9450945094915050565b5f60038111156137c2576137c1615563565b5b8260038111156137d5576137d4615563565b5b031561390d57600160038111156137ef576137ee615563565b5b82600381111561380257613801615563565b5b03613839576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561384d5761384c615563565b5b8260038111156138605761385f615563565b5b036138a457805f1c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161389b9190614428565b60405180910390fd5b6003808111156138b7576138b6615563565b5b8260038111156138ca576138c9615563565b5b0361390c57806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161390391906144dd565b60405180910390fd5b5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613961578060025f8282546139559190615400565b92505081905550613a2f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156139ea578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016139e193929190614f97565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613a76578060025f8282540392505081905550613ac0565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613b1d9190614428565b60405180910390a3505050565b613b326140ab565b5f600f54118015613b51575061012c600f5442613b4f9190614aff565b105b61402e575f613b5f30610ed5565b90505f8103613b6e575061402e565b600d54811115613b7e57600d5490505b600e5f9054906101000a900460ff168015613b9857508181115b15613ba1578190505b5f600267ffffffffffffffff811115613bbd57613bbc61496d565b5b604051908082528060200260200182016040528015613beb5781602001602082028036833780820191505090505b50905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c7c9190614be4565b815f81518110613c8f57613c8e614fcc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250503081600181518110613cde57613cdd614fcc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f6702c68af0bb140000836040518363ffffffff1660e01b8152600401613d7c9291906155c9565b5f60405180830381865afa925050508015613db957506040513d5f823e3d601f19601f82011682018060405250810190613db6919061570a565b60015b15613dec575f81600181518110613dd357613dd2614fcc565b5b6020026020010151905080841115613de9578093505b50505b5f479050613df9836126a3565b5f8147613e069190614aff565b90505f811115614029578060105f828254613e219190615400565b925050819055505f600282613e369190614ba0565b90505f8183613e459190614aff565b90505f821115613f1a575f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051613e9590615135565b5f6040518083038185875af1925050503d805f8114613ecf576040519150601f19603f3d011682016040523d82523d5f602084013e613ed4565b606091505b5050905080613f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f0f90615193565b60405180910390fd5b505b5f811115613fed575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051613f6890615135565b5f6040518083038185875af1925050503d805f8114613fa2576040519150601f19603f3d011682016040523d82523d5f602084013e613fa7565b606091505b5050905080613feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fe2906151fb565b60405180910390fd5b505b7f1309193d68e1a43bd32da5f04e07935cc194c20b2bd1813be5c6898b99dac4be868460405161401e9291906144f6565b60405180910390a150505b505050505b6140366140cd565b50565b60605f614045836140e7565b90505f602067ffffffffffffffff8111156140635761406261496d565b5b6040519080825280601f01601f1916602001820160405280156140955781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6140b3614135565b60026140c56140c0614176565b61419f565b5f0181905550565b60016140df6140da614176565b61419f565b5f0181905550565b5f8060ff835f1c169050601f81111561412c576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b61413d6141a8565b15614174576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b905090565b5f819050919050565b5f60026141bb6141b6614176565b61419f565b5f015414905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156141fb5780820151818401526020810190506141e0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f614220826141c4565b61422a81856141ce565b935061423a8185602086016141de565b61424381614206565b840191505092915050565b5f6020820190508181035f8301526142668184614216565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6142a88261427f565b9050919050565b6142b88161429e565b81146142c2575f80fd5b50565b5f813590506142d3816142af565b92915050565b5f819050919050565b6142eb816142d9565b81146142f5575f80fd5b50565b5f81359050614306816142e2565b92915050565b5f806040838503121561432257614321614277565b5b5f61432f858286016142c5565b9250506020614340858286016142f8565b9150509250929050565b5f8115159050919050565b61435e8161434a565b82525050565b5f6020820190506143775f830184614355565b92915050565b6143868161429e565b82525050565b5f60208201905061439f5f83018461437d565b92915050565b5f819050919050565b5f6143c86143c36143be8461427f565b6143a5565b61427f565b9050919050565b5f6143d9826143ae565b9050919050565b5f6143ea826143cf565b9050919050565b6143fa816143e0565b82525050565b5f6020820190506144135f8301846143f1565b92915050565b614422816142d9565b82525050565b5f60208201905061443b5f830184614419565b92915050565b5f805f6060848603121561445857614457614277565b5b5f614465868287016142c5565b9350506020614476868287016142c5565b9250506040614487868287016142f8565b9150509250925092565b5f60ff82169050919050565b6144a681614491565b82525050565b5f6020820190506144bf5f83018461449d565b92915050565b5f819050919050565b6144d7816144c5565b82525050565b5f6020820190506144f05f8301846144ce565b92915050565b5f6040820190506145095f830185614419565b6145166020830184614419565b9392505050565b5f6020828403121561453257614531614277565b5b5f61453f848285016142c5565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61457c81614548565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6145b4816142d9565b82525050565b5f6145c583836145ab565b60208301905092915050565b5f602082019050919050565b5f6145e782614582565b6145f1818561458c565b93506145fc8361459c565b805f5b8381101561462c57815161461388826145ba565b975061461e836145d1565b9250506001810190506145ff565b5085935050505092915050565b5f60e08201905061464c5f83018a614573565b818103602083015261465e8189614216565b905081810360408301526146728188614216565b90506146816060830187614419565b61468e608083018661437d565b61469b60a08301856144ce565b81810360c08301526146ad81846145dd565b905098975050505050505050565b5f602082840312156146d0576146cf614277565b5b5f6146dd848285016142f8565b91505092915050565b6146ef8161434a565b81146146f9575f80fd5b50565b5f8135905061470a816146e6565b92915050565b5f6020828403121561472557614724614277565b5b5f614732848285016146fc565b91505092915050565b5f806040838503121561475157614750614277565b5b5f61475e858286016142c5565b925050602061476f858286016146fc565b9150509250929050565b61478281614491565b811461478c575f80fd5b50565b5f8135905061479d81614779565b92915050565b6147ac816144c5565b81146147b6575f80fd5b50565b5f813590506147c7816147a3565b92915050565b5f805f805f805f60e0888a0312156147e8576147e7614277565b5b5f6147f58a828b016142c5565b97505060206148068a828b016142c5565b96505060406148178a828b016142f8565b95505060606148288a828b016142f8565b94505060806148398a828b0161478f565b93505060a061484a8a828b016147b9565b92505060c061485b8a828b016147b9565b91505092959891949750929550565b5f80604083850312156148805761487f614277565b5b5f61488d858286016142c5565b925050602061489e858286016142c5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806148ec57607f821691505b6020821081036148ff576148fe6148a8565b5b50919050565b7f5a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f614939600c836141ce565b915061494482614905565b602082019050919050565b5f6020820190508181035f8301526149668161492d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f416c7265616479206c61756e63686564000000000000000000000000000000005f82015250565b5f6149ce6010836141ce565b91506149d98261499a565b602082019050919050565b5f6020820190508181035f8301526149fb816149c2565b9050919050565b7f4e6565642045544820666f72206c6971756964697479000000000000000000005f82015250565b5f614a366016836141ce565b9150614a4182614a02565b602082019050919050565b5f6020820190508181035f830152614a6381614a2a565b9050919050565b7f616d6f756e744c656674206d757374206265203c3d20313030000000000000005f82015250565b5f614a9e6019836141ce565b9150614aa982614a6a565b602082019050919050565b5f6020820190508181035f830152614acb81614a92565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614b09826142d9565b9150614b14836142d9565b9250828203905081811115614b2c57614b2b614ad2565b5b92915050565b5f614b3c826142d9565b9150614b47836142d9565b9250828202614b55816142d9565b91508282048414831517614b6c57614b6b614ad2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614baa826142d9565b9150614bb5836142d9565b925082614bc557614bc4614b73565b5b828204905092915050565b5f81519050614bde816142af565b92915050565b5f60208284031215614bf957614bf8614277565b5b5f614c0684828501614bd0565b91505092915050565b5f604082019050614c225f83018561437d565b614c2f602083018461437d565b9392505050565b5f819050919050565b5f614c59614c54614c4f84614c36565b6143a5565b6142d9565b9050919050565b614c6981614c3f565b82525050565b5f60c082019050614c825f83018961437d565b614c8f6020830188614419565b614c9c6040830187614c60565b614ca96060830186614c60565b614cb6608083018561437d565b614cc360a0830184614419565b979650505050505050565b5f81519050614cdc816142e2565b92915050565b5f805f60608486031215614cf957614cf8614277565b5b5f614d0686828701614cce565b9350506020614d1786828701614cce565b9250506040614d2886828701614cce565b9150509250925092565b5f604082019050614d455f83018561437d565b614d526020830184614419565b9392505050565b5f81519050614d67816146e6565b92915050565b5f60208284031215614d8257614d81614277565b5b5f614d8f84828501614d59565b91505092915050565b7f43616e6e6f74207265636f766572206f776e20746f6b656e00000000000000005f82015250565b5f614dcc6018836141ce565b9150614dd782614d98565b602082019050919050565b5f6020820190508181035f830152614df981614dc0565b9050919050565b7f43616e6e6f742072656d6f7665206d61696e20706169720000000000000000005f82015250565b5f614e346017836141ce565b9150614e3f82614e00565b602082019050919050565b5f6020820190508181035f830152614e6181614e28565b9050919050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f614e9c6007836141ce565b9150614ea782614e68565b602082019050919050565b5f6020820190508181035f830152614ec981614e90565b9050919050565b7f546f6f20686967680000000000000000000000000000000000000000000000005f82015250565b5f614f046008836141ce565b9150614f0f82614ed0565b602082019050919050565b5f6020820190508181035f830152614f3181614ef8565b9050919050565b5f60c082019050614f4b5f8301896144ce565b614f58602083018861437d565b614f65604083018761437d565b614f726060830186614419565b614f7f6080830185614419565b614f8c60a0830184614419565b979650505050505050565b5f606082019050614faa5f83018661437d565b614fb76020830185614419565b614fc46040830184614419565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61502b8161429e565b82525050565b5f61503c8383615022565b60208301905092915050565b5f602082019050919050565b5f61505e82614ff9565b6150688185615003565b935061507383615013565b805f5b838110156150a357815161508a8882615031565b975061509583615048565b925050600181019050615076565b5085935050505092915050565b5f60a0820190506150c35f830188614419565b6150d06020830187614c60565b81810360408301526150e28186615054565b90506150f1606083018561437d565b6150fe6080830184614419565b9695505050505050565b5f81905092915050565b50565b5f6151205f83615108565b915061512b82615112565b5f82019050919050565b5f61513f82615115565b9150819050919050565b7f547265617375727931207472616e73666572206661696c6564000000000000005f82015250565b5f61517d6019836141ce565b915061518882615149565b602082019050919050565b5f6020820190508181035f8301526151aa81615171565b9050919050565b7f547265617375727932207472616e73666572206661696c6564000000000000005f82015250565b5f6151e56019836141ce565b91506151f0826151b1565b602082019050919050565b5f6020820190508181035f830152615212816151d9565b9050919050565b7f5472616e7366657220746f207a65726f000000000000000000000000000000005f82015250565b5f61524d6010836141ce565b915061525882615219565b602082019050919050565b5f6020820190508181035f83015261527a81615241565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f6152b56012836141ce565b91506152c082615281565b602082019050919050565b5f6020820190508181035f8301526152e2816152a9565b9050919050565b7f4d617820627579207478732070657220626c6f636b20706572206f726967696e5f82015250565b5f61531d6020836141ce565b9150615328826152e9565b602082019050919050565b5f6020820190508181035f83015261534a81615311565b9050919050565b5f61535b826142d9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361538d5761538c614ad2565b5b600182019050919050565b7f4d617820627579207478732070657220626c6f636b00000000000000000000005f82015250565b5f6153cc6015836141ce565b91506153d782615398565b602082019050919050565b5f6020820190508181035f8301526153f9816153c0565b9050919050565b5f61540a826142d9565b9150615415836142d9565b925082820190508082111561542d5761542c614ad2565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6154676013836141ce565b915061547282615433565b602082019050919050565b5f6020820190508181035f8301526154948161545b565b9050919050565b5f6154a582614491565b91506154b083614491565b9250828201905060ff8111156154c9576154c8614ad2565b5b92915050565b5f60a0820190506154e25f8301886144ce565b6154ef60208301876144ce565b6154fc60408301866144ce565b6155096060830185614419565b615516608083018461437d565b9695505050505050565b5f6080820190506155335f8301876144ce565b615540602083018661449d565b61554d60408301856144ce565b61555a60608301846144ce565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f819050919050565b5f6155b36155ae6155a984615590565b6143a5565b6142d9565b9050919050565b6155c381615599565b82525050565b5f6040820190506155dc5f8301856155ba565b81810360208301526155ee8184615054565b90509392505050565b5f80fd5b61560482614206565b810181811067ffffffffffffffff821117156156235761562261496d565b5b80604052505050565b5f61563561426e565b905061564182826155fb565b919050565b5f67ffffffffffffffff8211156156605761565f61496d565b5b602082029050602081019050919050565b5f80fd5b5f61568761568284615646565b61562c565b905080838252602082019050602084028301858111156156aa576156a9615671565b5b835b818110156156d357806156bf8882614cce565b8452602084019350506020810190506156ac565b5050509392505050565b5f82601f8301126156f1576156f06155f7565b5b8151615701848260208601615675565b91505092915050565b5f6020828403121561571f5761571e614277565b5b5f82015167ffffffffffffffff81111561573c5761573b61427b565b5b615748848285016156dd565b9150509291505056fea2646970667358221220026c8ef50cfaa8896a951032f745824be4630f010e9600d9eb63f2df6830a08764736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000d5162797465204e6574776f726b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045142595400000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : tokenName (string): Qbyte Network
Arg [1] : tokenSymbol (string): QBYT
Arg [2] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [4] : 5162797465204e6574776f726b00000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 5142595400000000000000000000000000000000000000000000000000000000
🤖 Code Reader Beta
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)

