Note: This token's displayed symbol does not match its contract's Symbol function.
ERC-20
DeFi
Overview
Max Total Supply
20,835,937.5 DeBTC
Holders
989 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$3.92
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
772.563249859 DeBTCValue
$0.00 ( ~0 Eth) [0.0037%]Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DeFiBitcoin
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
london EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// DEV_CA: https://t.me/SkorpionDeveloper86// Name Token: DeFi Bitcoin// TG: https://t.me/BitcoinErc_20// TWITTER: https://twitter.com/BitcoinErc_20// WEBSITE: https://defibitcointoken.com/pragma solidity ^0.8.17;import "./lib.sol";contract DeFiBitcoin is Context, IERC20, Ownable {using Address for address;enum MarketType{NONE,BULL,BEAR}string private _name = "DeFi Bitcoin";string private _symbol = "BTC";uint8 private _decimals = 9;uint256 private _totalSupply = 15750000 * 10**_decimals;uint256 public _maxTotalSupply = 21000000 * 10**_decimals;uint256 private _minimumTokensBeforeSwap = 160000 * 10**_decimals;//1.5% initial - 2%uint8 public _walletMaxPercetualOfTS = 15;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: Nonepragma solidity ^0.8.17;abstract contract Context {function _msgSender() internal view virtual returns (address payable) {return payable(msg.sender);}function _msgData() internal view virtual returns (bytes memory) {this;return msg.data;}}interface IERC20 {function totalSupply() external view returns (uint256);function balanceOf(address account) external view returns (uint256);function transfer(address recipient, uint256 amount) external returns (bool);function allowance(address owner, address spender) external view returns (uint256);function approve(address spender, uint256 amount) external returns (bool);function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);event Transfer(address indexed from, address indexed to, uint256 value);event Approval(address indexed owner, address indexed spender, uint256 value);}
123456789101112131415161718192021{"remappings": [],"optimizer": {"enabled": true,"runs": 1000000},"evmVersion": "london","libraries": {},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Halving","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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"},{"inputs":[],"name":"_buyBearFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyBullFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_halvingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_holders","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_holdersWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_idexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_idexV2Router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_market","outputs":[{"internalType":"enum DeFiBitcoin.MarketType","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBearFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBullFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletLimitCheck","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMaxPercetualOfTS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"halvingToken","type":"bool"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum DeFiBitcoin.MarketType","name":"marketType","type":"uint8"}],"name":"changeMarket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"halving","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"holdersBalance","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"wallet","type":"address"}],"internalType":"struct DeFiBitcoin.HolderStatus[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityCountCycle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSellTaxTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoveryEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoveryTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"wallet","type":"address"}],"internalType":"struct DeFiBitcoin.HolderStatus[]","name":"rewardsUpdate","type":"tuple[]"}],"name":"rewardsDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setDevWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"sellBearTax","type":"uint8"},{"internalType":"uint8","name":"buyBearTax","type":"uint8"},{"internalType":"uint8","name":"sellBullTax","type":"uint8"},{"internalType":"uint8","name":"buyBullTax","type":"uint8"}],"name":"setMarketTaxs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"valueCount","type":"uint8"},{"internalType":"uint8","name":"valueFrequency","type":"uint8"}],"name":"setSwapAndLiquidityCountAndFrequency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"sellTax","type":"uint8"},{"internalType":"uint8","name":"buyTax","type":"uint8"}],"name":"setTaxs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newLimit","type":"uint8"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"shareQuotes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquidityCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquidityFrequency","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"switchLiquidityCountCycle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"switchWalletCheck","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateHalvingAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"wallet","type":"address"}],"internalType":"struct DeFiBitcoin.HolderStatus[]","name":"rewardsUpdate","type":"tuple[]"}],"name":"updateRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600c60a09081526b2232a334902134ba31b7b4b760a11b60c0526002906200002d90826200063d565b506040805180820190915260038082526242544360e81b6020830152906200005690826200063d565b506004805460ff191660099081179091556200007490600a6200081e565b620000839062f0537062000836565b600555600454620000999060ff16600a6200081e565b620000a9906301406f4062000836565b600655600454620000bf9060ff16600a6200081e565b620000ce906202710062000836565b600755600880546001600160a81b03191674abf71cc6b67e1a3d3eda73275c6f45c5e43320f90f1790556009805473138c70e3eb9701acb0b6db877bb9575248ff17866001600160a01b03199091161790556050600a5561dead6080526013805465ffffffffffff191665080003031e0f1790556014805462ffffff60a81b191661010160b01b17905560006015556016805463ffffffff191663010200001790553480156200017d57600080fd5b5060008054336001600160a01b031991821681178355600180549092168117909155604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060138054797a250d5630b4cf539739df2c5dacb4c659f2488d000000000000600160301b600160d01b031990911617908190556040805163c45a015560e01b8152905166010000000000009092046001600160a01b03169163c45a0155916004808201926020929091908290030181865afa15801562000250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000276919062000850565b6001600160a01b031663c9c6539630601360069054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ff919062000850565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200034d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000373919062000850565b601480546001600160a01b0319166001600160a01b03928316179055600554306000908152600c6020908152604080832060135466010000000000009004909516835293905291822055600190601090620003d66000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152601090935281832080548516600190811790915560085461010090048216845282842080548616821790556009548216845282842080548616821790556080519091168352908220805490931681179092556012906200046f6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260128452828120805486166001908117909155601480548416835284832080548816831790556008546101009004841683528483208054881683179055600954841683528483208054881683179055608051841683528483208054881683179055549092168152601190935290822080549093161790915560055490600b90620005273390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200058a91815260200190565b60405180910390a36200087b565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005c357607f821691505b602082108103620005e457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200063857600081815260208120601f850160051c81016020861015620006135750805b601f850160051c820191505b8181101562000634578281556001016200061f565b5050505b505050565b81516001600160401b0381111562000659576200065962000598565b62000671816200066a8454620005ae565b84620005ea565b602080601f831160018114620006a95760008415620006905750858301515b600019600386901b1c1916600185901b17855562000634565b600085815260208120601f198616915b82811015620006da57888601518255948401946001909101908401620006b9565b5085821015620006f95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200076057816000190482111562000744576200074462000709565b808516156200075257918102915b93841c939080029062000724565b509250929050565b600082620007795750600162000818565b81620007885750600062000818565b8160018114620007a15760028114620007ac57620007cc565b600191505062000818565b60ff841115620007c057620007c062000709565b50506001821b62000818565b5060208310610133831016604e8410600b8410161715620007f1575081810a62000818565b620007fd83836200071f565b806000190482111562000814576200081462000709565b0290505b92915050565b60006200082f60ff84168362000768565b9392505050565b808202811582820484141762000818576200081862000709565b6000602082840312156200086357600080fd5b81516001600160a01b03811681146200082f57600080fd5b60805161498f620008b360003960008181610c520152818161132a01528181612329015281816123bc01526133ab015261498f6000f3fe6080604052600436106104695760003560e01c8063796cb24111610243578063bd469ec911610143578063d158272d116100bb578063e8ce19241161008a578063ef422a181161006f578063ef422a1814610de6578063f2fde38b14610e06578063f42b10e914610e2657600080fd5b8063e8ce192414610d96578063eb1d815214610db657600080fd5b8063d158272d14610cc7578063dd62ed3e14610cf9578063de3a016f14610d4c578063e5c381a514610d6257600080fd5b8063c867d60b11610112578063c93eb866116100f7578063c93eb86614610c40578063cbecede014610c74578063d05e227114610ca757600080fd5b8063c867d60b14610bfb578063c8df245a14610c2b57600080fd5b8063bd469ec914610b91578063be5beae314610ba6578063c3d4869014610bc6578063c49b9a8014610bdb57600080fd5b8063988cf801116101d6578063a0b24b48116101a5578063a871376b1161018a578063a871376b14610b31578063a9059cbb14610b51578063b388c5c214610b7157600080fd5b8063a0b24b4814610af1578063a5d69d1f14610b1157600080fd5b8063988cf80114610a755780639cd441da14610a9c5780639fac68cb14610abc578063a073d37f14610adc57600080fd5b80638cd67723116102125780638cd67723146109f35780638da5cb5b14610a135780639426104414610a3e57806395d89b4114610a6057600080fd5b8063796cb241146109645780637d6dfb7e146109855780637e4c25ac146109b2578063844d591c146109d357600080fd5b80633ecad27111610369578063557ed1ba116102e15780636f52c822116102b057806370a082311161029557806370a08231146108ea578063715018a61461092d57806373e98e741461094257600080fd5b80636f52c822146108aa5780636fce6ef2146108ca57600080fd5b8063557ed1ba14610842578063590f897e146108555780635ee9069e146108745780636ea576061461088a57600080fd5b80634cb80fd511610338578063517e511a1161031d578063517e511a146107c85780635342acb4146107dd57806353b4e8611461080d57600080fd5b80634cb80fd51461077b5780634eb1e7c31461079b57600080fd5b80633ecad271146106ee57806340b9a54b1461071e5780634116d1131461073857806349f8138b1461075857600080fd5b806323531530116103fc5780632c2a4240116103cb5780633245a2a6116103b05780633245a2a6146106985780633730837c146106b85780633b97084a146106ce57600080fd5b80632c2a424014610649578063313ce5671461068057600080fd5b806323531530146105d457806323b872dd146105f45780632b112e49146106145780632b15eb9f1461062957600080fd5b80631341602c116104385780631341602c1461054457806318160ddd146105765780632198cf6c146105955780632277b489146105b557600080fd5b806306fdde0314610475578063095ea7b3146104a05780630e038813146104d0578063120a06121461052257600080fd5b3661047057005b600080fd5b34801561048157600080fd5b5061048a610e40565b60405161049791906141d0565b60405180910390f35b3480156104ac57600080fd5b506104c06104bb36600461425e565b610ed2565b6040519015158152602001610497565b3480156104dc57600080fd5b506009546104fd9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610497565b34801561052e57600080fd5b5061054261053d36600461428a565b610ee9565b005b34801561055057600080fd5b506016546105649062010000900460ff1681565b60405160ff9091168152602001610497565b34801561058257600080fd5b506005545b604051908152602001610497565b3480156105a157600080fd5b506105426105b03660046142c3565b610fe7565b3480156105c157600080fd5b5060165461056490610100900460ff1681565b3480156105e057600080fd5b506105426105ef366004614309565b6110e5565b34801561060057600080fd5b506104c061060f366004614333565b6111f3565b34801561062057600080fd5b50610587611313565b34801561063557600080fd5b5061054261064436600461441b565b61136b565b34801561065557600080fd5b506013546104fd906601000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561068c57600080fd5b5060045460ff16610564565b3480156106a457600080fd5b506105426106b33660046144f2565b6114d8565b3480156106c457600080fd5b5061058760065481565b3480156106da57600080fd5b506105426106e9366004614546565b611712565b3480156106fa57600080fd5b506104c061070936600461428a565b60116020526000908152604090205460ff1681565b34801561072a57600080fd5b506013546105649060ff1681565b34801561074457600080fd5b5061054261075336600461455f565b6117bf565b34801561076457600080fd5b506013546105649065010000000000900460ff1681565b34801561078757600080fd5b5061054261079636600461428a565b61196c565b3480156107a757600080fd5b506014546104fd9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156107d457600080fd5b50610587611a60565b3480156107e957600080fd5b506104c06107f836600461428a565b60106020526000908152604090205460ff1681565b34801561081957600080fd5b506014546104c09077010000000000000000000000000000000000000000000000900460ff1681565b34801561084e57600080fd5b5042610587565b34801561086157600080fd5b5060135461056490610100900460ff1681565b34801561088057600080fd5b5061058760155481565b34801561089657600080fd5b506105426108a5366004614546565b611a84565b3480156108b657600080fd5b506105426108c5366004614580565b611b4c565b3480156108d657600080fd5b506013546105649062010000900460ff1681565b3480156108f657600080fd5b5061058761090536600461428a565b73ffffffffffffffffffffffffffffffffffffffff166000908152600b602052604090205490565b34801561093957600080fd5b50610542611c2d565b34801561094e57600080fd5b50610957611d4a565b604051610497919061459b565b34801561097057600080fd5b50601354610564906301000000900460ff1681565b34801561099157600080fd5b506105876109a036600461428a565b600f6020526000908152604090205481565b3480156109be57600080fd5b506016546104c0906301000000900460ff1681565b3480156109df57600080fd5b506105426109ee3660046142c3565b611ebf565b3480156109ff57600080fd5b50610542610a0e366004614546565b611fbd565b348015610a1f57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166104fd565b348015610a4a57600080fd5b5060135461056490640100000000900460ff1681565b348015610a6c57600080fd5b5061048a61206a565b348015610a8157600080fd5b50601654610a8f9060ff1681565b604051610497919061462f565b348015610aa857600080fd5b50610542610ab7366004614670565b612079565b348015610ac857600080fd5b50610542610ad7366004614692565b612257565b348015610ae857600080fd5b50600754610587565b348015610afd57600080fd5b506104fd610b0c366004614546565b6123e1565b348015610b1d57600080fd5b50610542610b2c366004614580565b612418565b348015610b3d57600080fd5b50610542610b4c366004614309565b61250c565b348015610b5d57600080fd5b506104c0610b6c36600461425e565b612644565b348015610b7d57600080fd5b50610542610b8c366004614546565b612651565b348015610b9d57600080fd5b5061054261272c565b348015610bb257600080fd5b50610542610bc136600461441b565b6127e6565b348015610bd257600080fd5b50610542612991565b348015610be757600080fd5b50610542610bf6366004614580565b612a80565b348015610c0757600080fd5b506104c0610c1636600461428a565b60126020526000908152604090205460ff1681565b348015610c3757600080fd5b50610542612b73565b348015610c4c57600080fd5b506104fd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610c8057600080fd5b506014546104c0907501000000000000000000000000000000000000000000900460ff1681565b348015610cb357600080fd5b50610542610cc2366004614580565b612c9d565b348015610cd357600080fd5b506008546104fd90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b348015610d0557600080fd5b50610587610d143660046146b5565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600c6020908152604080832093909416825291909152205490565b348015610d5857600080fd5b50610587600a5481565b348015610d6e57600080fd5b506014546104c090760100000000000000000000000000000000000000000000900460ff1681565b348015610da257600080fd5b50610542610db13660046146ee565b612d92565b348015610dc257600080fd5b506104c0610dd136600461428a565b600d6020526000908152604090205460ff1681565b348015610df257600080fd5b50610542610e013660046142c3565b612eb7565b348015610e1257600080fd5b50610542610e2136600461428a565b612fb5565b348015610e3257600080fd5b506008546105649060ff1681565b606060028054610e4f90614709565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7b90614709565b8015610ec85780601f10610e9d57610100808354040283529160200191610ec8565b820191906000526020600020905b815481529060010190602001808311610eab57829003601f168201915b5050505050905090565b6000610edf33848461318d565b5060015b92915050565b6001610ef9565b60405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff163314610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff16331461108e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b5073ffffffffffffffffffffffffffffffffffffffff91909116600090815260126020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff16331461118c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50601680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff1661010060ff948516027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1617620100009290931691909102919091179055565b6000611200848484613340565b5073ffffffffffffffffffffffffffffffffffffffff84166000908152600c602090815260408083203384529091529020548211156112c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e63650000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c602090815260408083203380855292529091205461130991869161130490869061478b565b61318d565b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166000908152600b6020526040812054600554611366919061478b565b905090565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611412576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b60005b82518110156114d3578281815181106114305761143061479e565b602002602001015160000151601554106114c1578281815181106114565761145661479e565b60200260200101516000015160156000828254611473919061478b565b925050819055506114bf308483815181106114905761149061479e565b6020026020010151602001518584815181106114ae576114ae61479e565b60200260200101516000015161385c565b505b806114cb816147cd565b915050611415565b505050565b6000805473ffffffffffffffffffffffffffffffffffffffff16331461155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef0565b60196115668587614805565b60ff1611156115d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f42656172205461786573206578636565647320746865203235252e00000000006044820152606401610ef0565b60196115dd8484614805565b60ff161115611648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f42756c6c205461786573206578636565647320746865203235252e00000000006044820152606401610ef0565b50601380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000060ff968716027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff1617630100000094861694909402939093177fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffff16640100000000918516919091027fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff1617650100000000009190931602919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146117b9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50600755565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611866576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b601680548391907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360028111156118a3576118a3614600565b021790555060018260028111156118bc576118bc614600565b146118d25760135462010000900460ff166118e1565b601354640100000000900460ff165b601380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055600182600281111561192757611927614600565b1461193e576013546301000000900460ff1661194e565b60135465010000000000900460ff165b601360016101000a81548160ff021916908360ff1602179055505050565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b506008805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b6005546008546000916103e891611a7a919060ff1661481e565b6113669190614835565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b306000908152600b6020526040902054821015611b485760158290555b5050565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50601680549115156301000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff909216919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611cd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b6000805460405161dead9273ffffffffffffffffffffffffffffffffffffffff909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055565b600e5460609060009067ffffffffffffffff811115611d6b57611d6b614374565b604051908082528060200260200182016040528015611db057816020015b6040805180820190915260008082526020820152815260200190600190039081611d895790505b5090506000805b600e54811015611eb7576000600e8281548110611dd657611dd661479e565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600b90915260409091205490915015611ea45773ffffffffffffffffffffffffffffffffffffffff81166000908152600f6020908152604080832054600b909252822054611e4b9190614870565b905060405180604001604052808281526020018373ffffffffffffffffffffffffffffffffffffffff16815250858581518110611e8a57611e8a61479e565b6020908102919091010152611ea0600185614870565b9350505b5080611eaf816147cd565b915050611db7565b509092915050565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b5073ffffffffffffffffffffffffffffffffffffffff91909116600090815260116020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612064576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50600a55565b606060038054610e4f90614709565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612120576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b60135461214f9030906601000000000000900473ffffffffffffffffffffffffffffffffffffffff168561318d565b60135473ffffffffffffffffffffffffffffffffffffffff66010000000000009091041663f305d71983308660008061219d60005473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561222a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061224f9190614883565b505050505050565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146122fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b81801561230d57508260155410155b156123875782601554612320919061478b565b60155561234e307f00000000000000000000000000000000000000000000000000000000000000008561385c565b506040518381527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a1505050565b811580156123b15750601554306000908152600b602052604090205484916123ae9161478b565b10155b156114d35761234e307f00000000000000000000000000000000000000000000000000000000000000008561385c565b600e81815481106123f157600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146124bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b5060148054911515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff16331461258e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef0565b601961259a8385614805565b60ff161115612605576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5461786573206578636565647320746865203235252e000000000000000000006044820152606401610ef0565b506013805460ff938416610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009091169390921692909217179055565b6000611309338484613340565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146126f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b611b486000831161272657601554306000908152600b60205260409020545b612721919061478b565b6139cc565b826139cc565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146127d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b47156127e3576127e33347613abd565b50565b6001805473ffffffffffffffffffffffffffffffffffffffff16331461288d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b60005b82518110156114d3578281815181106128ab576128ab61479e565b602002602001015160000151600f60008584815181106128cd576128cd61479e565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291e9190614870565b600f60008584815181106129345761293461479e565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080612989906147cd565b915050612890565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b306000908152600b6020526040902054156127d3576000601581905530808252600b602052604090912054612a6f9190339061385c565b5047156127e3576127e33347613abd565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50601480549115157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b60055460065411156127e35760006002600554600654612c3a919061478b565b612c449190614835565b905080601554612c549190614870565b601555612c613082613b00565b604080518281524260208201527f394823b0bcaf78cd8f5876a52c05dbab91512a05f5da2a31e239a11ab66d605f910160405180910390a15050565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b506014805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff163314612e14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef0565b600a8260ff161015612e82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f49742063616e6e6f74206265206c657373207468616e203125000000000000006044820152606401610ef0565b50600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b5073ffffffffffffffffffffffffffffffffffffffff91909116600090815260106020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff16331461305c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff82166130ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef0565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808616939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff831661322f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff82166132d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600d602052604081205484908490849060ff161580156133a2575073ffffffffffffffffffffffffffffffffffffffff821660009081526011602052604090205460ff16155b80156133fa57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156134a85773ffffffffffffffffffffffffffffffffffffffff82166000818152600d6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790555b73ffffffffffffffffffffffffffffffffffffffff871661354b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff86166135ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600b602052604090205485111561367d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742042616c616e63650000000000000000000000006044820152606401610ef0565b60145474010000000000000000000000000000000000000000900460ff16156136b2576136ab87878761385c565b9350613852565b60006136bd88613b6f565b73ffffffffffffffffffffffffffffffffffffffff89166000908152601060205260408120549192509060ff168061371a575073ffffffffffffffffffffffffffffffffffffffff881660009081526010602052604090205460ff165b806137225750815b61373657613731898989613d2e565b613738565b865b90506137448882613e95565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600b602052604090205461377590889061478b565b73ffffffffffffffffffffffffffffffffffffffff8a166000908152600b60205260409020556137a488613f92565b6137ae9082614870565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600b60205260409020549091506137e2908290614870565b73ffffffffffffffffffffffffffffffffffffffff808a166000818152600b602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906138439085815260200190565b60405180910390a36001955050505b5050509392505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b60205260408120548211156138eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742042616c616e63650000000000000000000000006044820152606401610ef0565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600b602052604090205461391c90839061478b565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600b60205260408082209390935590851681522054613959908390614870565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906139ba9086815260200190565b60405180910390a35060019392505050565b601480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055613a1481613fea565b600a544790600090606490613a29908461481e565b613a339190614835565b90506000613a41828461478b565b600854909150613a6c90610100900473ffffffffffffffffffffffffffffffffffffffff1683613abd565b600954613a8f9073ffffffffffffffffffffffffffffffffffffffff1682613abd565b5050601480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690555050565b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f193505050501580156114d3573d6000803e3d6000fd5b80600554613b0e9190614870565b60055573ffffffffffffffffffffffffffffffffffffffff82166000908152600b6020526040902054613b42908290614870565b73ffffffffffffffffffffffffffffffffffffffff9092166000908152600b602052604090209190915550565b306000908152600b6020526040812054601554829110613bb057600754601554306000908152600b6020526040902054613ba9919061478b565b1015613bb3565b60005b9050808015613bdd575060145474010000000000000000000000000000000000000000900460ff16155b8015613c0f575073ffffffffffffffffffffffffffffffffffffffff831660009081526011602052604090205460ff16155b8015613c3657506014547501000000000000000000000000000000000000000000900460ff165b15613d255760165460ff620100008204811661010090920416101580613c6657506016546301000000900460ff16155b15613ced57601454760100000000000000000000000000000000000000000000900460ff1615613ca057613c9b6007546139cc565b613cbd565b601554306000908152600b6020526040902054613cbd9190612717565b5050601680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550600190565b6001601660018282829054906101000a900460ff16613d0c9190614805565b92506101000a81548160ff021916908360ff1602179055505b50600092915050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260116020526040812054819060ff168015613d69575060135460ff1615155b15613d9257601354606490613d819060ff168561481e565b613d8b9190614835565b9050613dfa565b73ffffffffffffffffffffffffffffffffffffffff841660009081526011602052604090205460ff168015613dd05750601354610100900460ff1615155b15613dfa57601354606490613ded90610100900460ff168561481e565b613df79190614835565b90505b8015613e8257306000908152600b6020526040902054613e1b908290614870565b306000818152600b60205260409081902092909255905173ffffffffffffffffffffffffffffffffffffffff8716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613e799085815260200190565b60405180910390a35b613e8c818461478b565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600b6020526040812054613ec6908390614870565b60145490915077010000000000000000000000000000000000000000000000900460ff168015613f1c575073ffffffffffffffffffffffffffffffffffffffff831660009081526012602052604090205460ff16155b156114d357613f29611a60565b8111156114d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610ef0565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600f60205260408120548015610ee35773ffffffffffffffffffffffffffffffffffffffff83166000908152600f602052604081205592915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061401f5761401f61479e565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360069054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140ea91906148b1565b816001815181106140fd576140fd61479e565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260135461413a91309166010000000000009004168461318d565b6013546040517f791ac947000000000000000000000000000000000000000000000000000000008152660100000000000090910473ffffffffffffffffffffffffffffffffffffffff169063791ac947906141a29085906000908690309042906004016148ce565b600060405180830381600087803b1580156141bc57600080fd5b505af115801561224f573d6000803e3d6000fd5b600060208083528351808285015260005b818110156141fd578581018301518582016040015282016141e1565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146127e357600080fd5b6000806040838503121561427157600080fd5b823561427c8161423c565b946020939093013593505050565b60006020828403121561429c57600080fd5b81356142a78161423c565b9392505050565b803580151581146142be57600080fd5b919050565b600080604083850312156142d657600080fd5b82356142e18161423c565b91506142ef602084016142ae565b90509250929050565b803560ff811681146142be57600080fd5b6000806040838503121561431c57600080fd5b614325836142f8565b91506142ef602084016142f8565b60008060006060848603121561434857600080fd5b83356143538161423c565b925060208401356143638161423c565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156143c6576143c6614374565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561441357614413614374565b604052919050565b6000602080838503121561442e57600080fd5b823567ffffffffffffffff8082111561444657600080fd5b818501915085601f83011261445a57600080fd5b81358181111561446c5761446c614374565b61447a848260051b016143cc565b818152848101925060069190911b83018401908782111561449a57600080fd5b928401925b818410156144e757604084890312156144b85760008081fd5b6144c06143a3565b84358152858501356144d18161423c565b818701528352604093909301929184019161449f565b979650505050505050565b6000806000806080858703121561450857600080fd5b614511856142f8565b935061451f602086016142f8565b925061452d604086016142f8565b915061453b606086016142f8565b905092959194509250565b60006020828403121561455857600080fd5b5035919050565b60006020828403121561457157600080fd5b8135600381106142a757600080fd5b60006020828403121561459257600080fd5b6142a7826142ae565b602080825282518282018190526000919060409081850190868401855b828110156145f35781518051855286015173ffffffffffffffffffffffffffffffffffffffff168685015292840192908501906001016145b8565b5091979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016003831061466a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561468357600080fd5b50508035926020909101359150565b600080604083850312156146a557600080fd5b823591506142ef602084016142ae565b600080604083850312156146c857600080fd5b82356146d38161423c565b915060208301356146e38161423c565b809150509250929050565b60006020828403121561470057600080fd5b6142a7826142f8565b600181811c9082168061471d57607f821691505b602082108103614756577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610ee357610ee361475c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147fe576147fe61475c565b5060010190565b60ff8181168382160190811115610ee357610ee361475c565b8082028115828204841417610ee357610ee361475c565b60008261486b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610ee357610ee361475c565b60008060006060848603121561489857600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156148c357600080fd5b81516142a78161423c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561492b57845173ffffffffffffffffffffffffffffffffffffffff16835293830193918301916001016148f9565b505073ffffffffffffffffffffffffffffffffffffffff96909616606085015250505060800152939250505056fea26469706673582212208354e96f4b98367dbfd3cdf2de364cf1fc0383ff2ce56b4b72888c29b071313864736f6c63430008110033
Deployed Bytecode
0x6080604052600436106104695760003560e01c8063796cb24111610243578063bd469ec911610143578063d158272d116100bb578063e8ce19241161008a578063ef422a181161006f578063ef422a1814610de6578063f2fde38b14610e06578063f42b10e914610e2657600080fd5b8063e8ce192414610d96578063eb1d815214610db657600080fd5b8063d158272d14610cc7578063dd62ed3e14610cf9578063de3a016f14610d4c578063e5c381a514610d6257600080fd5b8063c867d60b11610112578063c93eb866116100f7578063c93eb86614610c40578063cbecede014610c74578063d05e227114610ca757600080fd5b8063c867d60b14610bfb578063c8df245a14610c2b57600080fd5b8063bd469ec914610b91578063be5beae314610ba6578063c3d4869014610bc6578063c49b9a8014610bdb57600080fd5b8063988cf801116101d6578063a0b24b48116101a5578063a871376b1161018a578063a871376b14610b31578063a9059cbb14610b51578063b388c5c214610b7157600080fd5b8063a0b24b4814610af1578063a5d69d1f14610b1157600080fd5b8063988cf80114610a755780639cd441da14610a9c5780639fac68cb14610abc578063a073d37f14610adc57600080fd5b80638cd67723116102125780638cd67723146109f35780638da5cb5b14610a135780639426104414610a3e57806395d89b4114610a6057600080fd5b8063796cb241146109645780637d6dfb7e146109855780637e4c25ac146109b2578063844d591c146109d357600080fd5b80633ecad27111610369578063557ed1ba116102e15780636f52c822116102b057806370a082311161029557806370a08231146108ea578063715018a61461092d57806373e98e741461094257600080fd5b80636f52c822146108aa5780636fce6ef2146108ca57600080fd5b8063557ed1ba14610842578063590f897e146108555780635ee9069e146108745780636ea576061461088a57600080fd5b80634cb80fd511610338578063517e511a1161031d578063517e511a146107c85780635342acb4146107dd57806353b4e8611461080d57600080fd5b80634cb80fd51461077b5780634eb1e7c31461079b57600080fd5b80633ecad271146106ee57806340b9a54b1461071e5780634116d1131461073857806349f8138b1461075857600080fd5b806323531530116103fc5780632c2a4240116103cb5780633245a2a6116103b05780633245a2a6146106985780633730837c146106b85780633b97084a146106ce57600080fd5b80632c2a424014610649578063313ce5671461068057600080fd5b806323531530146105d457806323b872dd146105f45780632b112e49146106145780632b15eb9f1461062957600080fd5b80631341602c116104385780631341602c1461054457806318160ddd146105765780632198cf6c146105955780632277b489146105b557600080fd5b806306fdde0314610475578063095ea7b3146104a05780630e038813146104d0578063120a06121461052257600080fd5b3661047057005b600080fd5b34801561048157600080fd5b5061048a610e40565b60405161049791906141d0565b60405180910390f35b3480156104ac57600080fd5b506104c06104bb36600461425e565b610ed2565b6040519015158152602001610497565b3480156104dc57600080fd5b506009546104fd9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610497565b34801561052e57600080fd5b5061054261053d36600461428a565b610ee9565b005b34801561055057600080fd5b506016546105649062010000900460ff1681565b60405160ff9091168152602001610497565b34801561058257600080fd5b506005545b604051908152602001610497565b3480156105a157600080fd5b506105426105b03660046142c3565b610fe7565b3480156105c157600080fd5b5060165461056490610100900460ff1681565b3480156105e057600080fd5b506105426105ef366004614309565b6110e5565b34801561060057600080fd5b506104c061060f366004614333565b6111f3565b34801561062057600080fd5b50610587611313565b34801561063557600080fd5b5061054261064436600461441b565b61136b565b34801561065557600080fd5b506013546104fd906601000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561068c57600080fd5b5060045460ff16610564565b3480156106a457600080fd5b506105426106b33660046144f2565b6114d8565b3480156106c457600080fd5b5061058760065481565b3480156106da57600080fd5b506105426106e9366004614546565b611712565b3480156106fa57600080fd5b506104c061070936600461428a565b60116020526000908152604090205460ff1681565b34801561072a57600080fd5b506013546105649060ff1681565b34801561074457600080fd5b5061054261075336600461455f565b6117bf565b34801561076457600080fd5b506013546105649065010000000000900460ff1681565b34801561078757600080fd5b5061054261079636600461428a565b61196c565b3480156107a757600080fd5b506014546104fd9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156107d457600080fd5b50610587611a60565b3480156107e957600080fd5b506104c06107f836600461428a565b60106020526000908152604090205460ff1681565b34801561081957600080fd5b506014546104c09077010000000000000000000000000000000000000000000000900460ff1681565b34801561084e57600080fd5b5042610587565b34801561086157600080fd5b5060135461056490610100900460ff1681565b34801561088057600080fd5b5061058760155481565b34801561089657600080fd5b506105426108a5366004614546565b611a84565b3480156108b657600080fd5b506105426108c5366004614580565b611b4c565b3480156108d657600080fd5b506013546105649062010000900460ff1681565b3480156108f657600080fd5b5061058761090536600461428a565b73ffffffffffffffffffffffffffffffffffffffff166000908152600b602052604090205490565b34801561093957600080fd5b50610542611c2d565b34801561094e57600080fd5b50610957611d4a565b604051610497919061459b565b34801561097057600080fd5b50601354610564906301000000900460ff1681565b34801561099157600080fd5b506105876109a036600461428a565b600f6020526000908152604090205481565b3480156109be57600080fd5b506016546104c0906301000000900460ff1681565b3480156109df57600080fd5b506105426109ee3660046142c3565b611ebf565b3480156109ff57600080fd5b50610542610a0e366004614546565b611fbd565b348015610a1f57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166104fd565b348015610a4a57600080fd5b5060135461056490640100000000900460ff1681565b348015610a6c57600080fd5b5061048a61206a565b348015610a8157600080fd5b50601654610a8f9060ff1681565b604051610497919061462f565b348015610aa857600080fd5b50610542610ab7366004614670565b612079565b348015610ac857600080fd5b50610542610ad7366004614692565b612257565b348015610ae857600080fd5b50600754610587565b348015610afd57600080fd5b506104fd610b0c366004614546565b6123e1565b348015610b1d57600080fd5b50610542610b2c366004614580565b612418565b348015610b3d57600080fd5b50610542610b4c366004614309565b61250c565b348015610b5d57600080fd5b506104c0610b6c36600461425e565b612644565b348015610b7d57600080fd5b50610542610b8c366004614546565b612651565b348015610b9d57600080fd5b5061054261272c565b348015610bb257600080fd5b50610542610bc136600461441b565b6127e6565b348015610bd257600080fd5b50610542612991565b348015610be757600080fd5b50610542610bf6366004614580565b612a80565b348015610c0757600080fd5b506104c0610c1636600461428a565b60126020526000908152604090205460ff1681565b348015610c3757600080fd5b50610542612b73565b348015610c4c57600080fd5b506104fd7f000000000000000000000000000000000000000000000000000000000000dead81565b348015610c8057600080fd5b506014546104c0907501000000000000000000000000000000000000000000900460ff1681565b348015610cb357600080fd5b50610542610cc2366004614580565b612c9d565b348015610cd357600080fd5b506008546104fd90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b348015610d0557600080fd5b50610587610d143660046146b5565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600c6020908152604080832093909416825291909152205490565b348015610d5857600080fd5b50610587600a5481565b348015610d6e57600080fd5b506014546104c090760100000000000000000000000000000000000000000000900460ff1681565b348015610da257600080fd5b50610542610db13660046146ee565b612d92565b348015610dc257600080fd5b506104c0610dd136600461428a565b600d6020526000908152604090205460ff1681565b348015610df257600080fd5b50610542610e013660046142c3565b612eb7565b348015610e1257600080fd5b50610542610e2136600461428a565b612fb5565b348015610e3257600080fd5b506008546105649060ff1681565b606060028054610e4f90614709565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7b90614709565b8015610ec85780601f10610e9d57610100808354040283529160200191610ec8565b820191906000526020600020905b815481529060010190602001808311610eab57829003601f168201915b5050505050905090565b6000610edf33848461318d565b5060015b92915050565b6001610ef9565b60405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff163314610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff16331461108e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b5073ffffffffffffffffffffffffffffffffffffffff91909116600090815260126020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff16331461118c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50601680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff1661010060ff948516027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1617620100009290931691909102919091179055565b6000611200848484613340565b5073ffffffffffffffffffffffffffffffffffffffff84166000908152600c602090815260408083203384529091529020548211156112c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e63650000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c602090815260408083203380855292529091205461130991869161130490869061478b565b61318d565b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000dead166000908152600b6020526040812054600554611366919061478b565b905090565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611412576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b60005b82518110156114d3578281815181106114305761143061479e565b602002602001015160000151601554106114c1578281815181106114565761145661479e565b60200260200101516000015160156000828254611473919061478b565b925050819055506114bf308483815181106114905761149061479e565b6020026020010151602001518584815181106114ae576114ae61479e565b60200260200101516000015161385c565b505b806114cb816147cd565b915050611415565b505050565b6000805473ffffffffffffffffffffffffffffffffffffffff16331461155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef0565b60196115668587614805565b60ff1611156115d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f42656172205461786573206578636565647320746865203235252e00000000006044820152606401610ef0565b60196115dd8484614805565b60ff161115611648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f42756c6c205461786573206578636565647320746865203235252e00000000006044820152606401610ef0565b50601380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000060ff968716027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff1617630100000094861694909402939093177fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffff16640100000000918516919091027fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff1617650100000000009190931602919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146117b9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50600755565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611866576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b601680548391907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360028111156118a3576118a3614600565b021790555060018260028111156118bc576118bc614600565b146118d25760135462010000900460ff166118e1565b601354640100000000900460ff165b601380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055600182600281111561192757611927614600565b1461193e576013546301000000900460ff1661194e565b60135465010000000000900460ff165b601360016101000a81548160ff021916908360ff1602179055505050565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b506008805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b6005546008546000916103e891611a7a919060ff1661481e565b6113669190614835565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b306000908152600b6020526040902054821015611b485760158290555b5050565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50601680549115156301000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff909216919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611cd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b6000805460405161dead9273ffffffffffffffffffffffffffffffffffffffff909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055565b600e5460609060009067ffffffffffffffff811115611d6b57611d6b614374565b604051908082528060200260200182016040528015611db057816020015b6040805180820190915260008082526020820152815260200190600190039081611d895790505b5090506000805b600e54811015611eb7576000600e8281548110611dd657611dd661479e565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600b90915260409091205490915015611ea45773ffffffffffffffffffffffffffffffffffffffff81166000908152600f6020908152604080832054600b909252822054611e4b9190614870565b905060405180604001604052808281526020018373ffffffffffffffffffffffffffffffffffffffff16815250858581518110611e8a57611e8a61479e565b6020908102919091010152611ea0600185614870565b9350505b5080611eaf816147cd565b915050611db7565b509092915050565b6001805473ffffffffffffffffffffffffffffffffffffffff163314611f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b5073ffffffffffffffffffffffffffffffffffffffff91909116600090815260116020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612064576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50600a55565b606060038054610e4f90614709565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612120576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b60135461214f9030906601000000000000900473ffffffffffffffffffffffffffffffffffffffff168561318d565b60135473ffffffffffffffffffffffffffffffffffffffff66010000000000009091041663f305d71983308660008061219d60005473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561222a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061224f9190614883565b505050505050565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146122fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b81801561230d57508260155410155b156123875782601554612320919061478b565b60155561234e307f000000000000000000000000000000000000000000000000000000000000dead8561385c565b506040518381527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a1505050565b811580156123b15750601554306000908152600b602052604090205484916123ae9161478b565b10155b156114d35761234e307f000000000000000000000000000000000000000000000000000000000000dead8561385c565b600e81815481106123f157600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146124bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b5060148054911515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff16331461258e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef0565b601961259a8385614805565b60ff161115612605576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5461786573206578636565647320746865203235252e000000000000000000006044820152606401610ef0565b506013805460ff938416610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009091169390921692909217179055565b6000611309338484613340565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146126f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b611b486000831161272657601554306000908152600b60205260409020545b612721919061478b565b6139cc565b826139cc565b6001805473ffffffffffffffffffffffffffffffffffffffff1633146127d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b47156127e3576127e33347613abd565b50565b6001805473ffffffffffffffffffffffffffffffffffffffff16331461288d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b60005b82518110156114d3578281815181106128ab576128ab61479e565b602002602001015160000151600f60008584815181106128cd576128cd61479e565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291e9190614870565b600f60008584815181106129345761293461479e565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080612989906147cd565b915050612890565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b306000908152600b6020526040902054156127d3576000601581905530808252600b602052604090912054612a6f9190339061385c565b5047156127e3576127e33347613abd565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b50601480549115157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b60055460065411156127e35760006002600554600654612c3a919061478b565b612c449190614835565b905080601554612c549190614870565b601555612c613082613b00565b604080518281524260208201527f394823b0bcaf78cd8f5876a52c05dbab91512a05f5da2a31e239a11ab66d605f910160405180910390a15050565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b506014805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff163314612e14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef0565b600a8260ff161015612e82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f49742063616e6e6f74206265206c657373207468616e203125000000000000006044820152606401610ef0565b50600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff163314612f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b5073ffffffffffffffffffffffffffffffffffffffff91909116600090815260106020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6001805473ffffffffffffffffffffffffffffffffffffffff16331461305c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f60448201527f776e6572000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff82166130ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef0565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808616939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff831661322f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff82166132d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600d602052604081205484908490849060ff161580156133a2575073ffffffffffffffffffffffffffffffffffffffff821660009081526011602052604090205460ff16155b80156133fa57507f000000000000000000000000000000000000000000000000000000000000dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156134a85773ffffffffffffffffffffffffffffffffffffffff82166000818152600d6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790555b73ffffffffffffffffffffffffffffffffffffffff871661354b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff86166135ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610ef0565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600b602052604090205485111561367d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742042616c616e63650000000000000000000000006044820152606401610ef0565b60145474010000000000000000000000000000000000000000900460ff16156136b2576136ab87878761385c565b9350613852565b60006136bd88613b6f565b73ffffffffffffffffffffffffffffffffffffffff89166000908152601060205260408120549192509060ff168061371a575073ffffffffffffffffffffffffffffffffffffffff881660009081526010602052604090205460ff165b806137225750815b61373657613731898989613d2e565b613738565b865b90506137448882613e95565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600b602052604090205461377590889061478b565b73ffffffffffffffffffffffffffffffffffffffff8a166000908152600b60205260409020556137a488613f92565b6137ae9082614870565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600b60205260409020549091506137e2908290614870565b73ffffffffffffffffffffffffffffffffffffffff808a166000818152600b602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906138439085815260200190565b60405180910390a36001955050505b5050509392505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b60205260408120548211156138eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742042616c616e63650000000000000000000000006044820152606401610ef0565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600b602052604090205461391c90839061478b565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600b60205260408082209390935590851681522054613959908390614870565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906139ba9086815260200190565b60405180910390a35060019392505050565b601480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055613a1481613fea565b600a544790600090606490613a29908461481e565b613a339190614835565b90506000613a41828461478b565b600854909150613a6c90610100900473ffffffffffffffffffffffffffffffffffffffff1683613abd565b600954613a8f9073ffffffffffffffffffffffffffffffffffffffff1682613abd565b5050601480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690555050565b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f193505050501580156114d3573d6000803e3d6000fd5b80600554613b0e9190614870565b60055573ffffffffffffffffffffffffffffffffffffffff82166000908152600b6020526040902054613b42908290614870565b73ffffffffffffffffffffffffffffffffffffffff9092166000908152600b602052604090209190915550565b306000908152600b6020526040812054601554829110613bb057600754601554306000908152600b6020526040902054613ba9919061478b565b1015613bb3565b60005b9050808015613bdd575060145474010000000000000000000000000000000000000000900460ff16155b8015613c0f575073ffffffffffffffffffffffffffffffffffffffff831660009081526011602052604090205460ff16155b8015613c3657506014547501000000000000000000000000000000000000000000900460ff165b15613d255760165460ff620100008204811661010090920416101580613c6657506016546301000000900460ff16155b15613ced57601454760100000000000000000000000000000000000000000000900460ff1615613ca057613c9b6007546139cc565b613cbd565b601554306000908152600b6020526040902054613cbd9190612717565b5050601680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550600190565b6001601660018282829054906101000a900460ff16613d0c9190614805565b92506101000a81548160ff021916908360ff1602179055505b50600092915050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260116020526040812054819060ff168015613d69575060135460ff1615155b15613d9257601354606490613d819060ff168561481e565b613d8b9190614835565b9050613dfa565b73ffffffffffffffffffffffffffffffffffffffff841660009081526011602052604090205460ff168015613dd05750601354610100900460ff1615155b15613dfa57601354606490613ded90610100900460ff168561481e565b613df79190614835565b90505b8015613e8257306000908152600b6020526040902054613e1b908290614870565b306000818152600b60205260409081902092909255905173ffffffffffffffffffffffffffffffffffffffff8716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613e799085815260200190565b60405180910390a35b613e8c818461478b565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600b6020526040812054613ec6908390614870565b60145490915077010000000000000000000000000000000000000000000000900460ff168015613f1c575073ffffffffffffffffffffffffffffffffffffffff831660009081526012602052604090205460ff16155b156114d357613f29611a60565b8111156114d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610ef0565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600f60205260408120548015610ee35773ffffffffffffffffffffffffffffffffffffffff83166000908152600f602052604081205592915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061401f5761401f61479e565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360069054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140ea91906148b1565b816001815181106140fd576140fd61479e565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260135461413a91309166010000000000009004168461318d565b6013546040517f791ac947000000000000000000000000000000000000000000000000000000008152660100000000000090910473ffffffffffffffffffffffffffffffffffffffff169063791ac947906141a29085906000908690309042906004016148ce565b600060405180830381600087803b1580156141bc57600080fd5b505af115801561224f573d6000803e3d6000fd5b600060208083528351808285015260005b818110156141fd578581018301518582016040015282016141e1565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146127e357600080fd5b6000806040838503121561427157600080fd5b823561427c8161423c565b946020939093013593505050565b60006020828403121561429c57600080fd5b81356142a78161423c565b9392505050565b803580151581146142be57600080fd5b919050565b600080604083850312156142d657600080fd5b82356142e18161423c565b91506142ef602084016142ae565b90509250929050565b803560ff811681146142be57600080fd5b6000806040838503121561431c57600080fd5b614325836142f8565b91506142ef602084016142f8565b60008060006060848603121561434857600080fd5b83356143538161423c565b925060208401356143638161423c565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156143c6576143c6614374565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561441357614413614374565b604052919050565b6000602080838503121561442e57600080fd5b823567ffffffffffffffff8082111561444657600080fd5b818501915085601f83011261445a57600080fd5b81358181111561446c5761446c614374565b61447a848260051b016143cc565b818152848101925060069190911b83018401908782111561449a57600080fd5b928401925b818410156144e757604084890312156144b85760008081fd5b6144c06143a3565b84358152858501356144d18161423c565b818701528352604093909301929184019161449f565b979650505050505050565b6000806000806080858703121561450857600080fd5b614511856142f8565b935061451f602086016142f8565b925061452d604086016142f8565b915061453b606086016142f8565b905092959194509250565b60006020828403121561455857600080fd5b5035919050565b60006020828403121561457157600080fd5b8135600381106142a757600080fd5b60006020828403121561459257600080fd5b6142a7826142ae565b602080825282518282018190526000919060409081850190868401855b828110156145f35781518051855286015173ffffffffffffffffffffffffffffffffffffffff168685015292840192908501906001016145b8565b5091979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016003831061466a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561468357600080fd5b50508035926020909101359150565b600080604083850312156146a557600080fd5b823591506142ef602084016142ae565b600080604083850312156146c857600080fd5b82356146d38161423c565b915060208301356146e38161423c565b809150509250929050565b60006020828403121561470057600080fd5b6142a7826142f8565b600181811c9082168061471d57607f821691505b602082108103614756577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610ee357610ee361475c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147fe576147fe61475c565b5060010190565b60ff8181168382160190811115610ee357610ee361475c565b8082028115828204841417610ee357610ee361475c565b60008261486b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610ee357610ee361475c565b60008060006060848603121561489857600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156148c357600080fd5b81516142a78161423c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561492b57845173ffffffffffffffffffffffffffffffffffffffff16835293830193918301916001016148f9565b505073ffffffffffffffffffffffffffffffffffffffff96909616606085015250505060800152939250505056fea26469706673582212208354e96f4b98367dbfd3cdf2de364cf1fc0383ff2ce56b4b72888c29b071313864736f6c63430008110033
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.