Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 TVAULT
Holders
49
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,084,870.35545088 TVAULTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TrustVault
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-02-17 */ /*********** ******** ***** ████████╗██████╗░██╗░░░██╗░██████╗████████╗██╗░░░██╗░█████╗░██╗░░░██╗██╗░░░░░████████╗ ╚══██╔══╝██╔══██╗██║░░░██║██╔════╝╚══██╔══╝██║░░░██║██╔══██╗██║░░░██║██║░░░░░╚══██╔══╝ ░░░██║░░░██████╔╝██║░░░██║╚█████╗░░░░██║░░░╚██╗░██╔╝███████║██║░░░██║██║░░░░░░░░██║░░░ ░░░██║░░░██╔══██╗██║░░░██║░╚═══██╗░░░██║░░░░╚████╔╝░██╔══██║██║░░░██║██║░░░░░░░░██║░░░ ░░░██║░░░██║░░██║╚██████╔╝██████╔╝░░░██║░░░░░╚██╔╝░░██║░░██║╚██████╔╝███████╗░░░██║░░░ ░░░╚═╝░░░╚═╝░░╚═╝░╚═════╝░╚═════╝░░░░╚═╝░░░░░░╚═╝░░░╚═╝░░╚═╝░╚═════╝░╚══════╝░░░╚═╝░░░ The Gateway to PoS Rewards and Governance. Liquid Staking ◆ Validator Rewards ◆ DAO Governance WEB: https://www.trustvault.fund DAPP: https://app.trustvault.fund DOCS: https://docs.trustvault.fund TG: https://t.me/trustvaultfund X: https://x.com/trustvaultfund ***** ******** ***********/ // SPDX-License-Identifier: MIT pragma solidity 0.8.9; library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IFactory02{ function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } abstract contract Ownable { address internal owner; constructor(address _owner) {owner = _owner;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} function isOwner(address account) public view returns (bool) {return account == owner;} function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } interface IUniRouter02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } contract TrustVault is IERC20, Ownable { using SafeMath for uint256; string private constant _name = 'TrustVault'; string private constant _symbol = 'TVAULT'; uint8 private constant _decimals = 9; uint256 private _totalSupply = 1000000000 * (10 ** _decimals); mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; modifier lockTheSwap {swapping = true; _; swapping = false;} IUniRouter02 router; address public pair; bool private tradingAllowed = false; bool private swapEnabled = true; uint256 private swapTimes; bool private swapping; uint256 swapAmount = 0; mapping (address => bool) public isTRUSTFeeExempts; mapping (address => bool) public isTRUSTTxExempts; mapping (address => bool) private isBot; uint256 private swapThreshold = ( _totalSupply * 10 ) / 1000000; uint256 private minTokenAmount = ( _totalSupply * 10 ) / 1000000; uint256 public _maxTxAmount = ( _totalSupply * 200 ) / 10000; uint256 public _maxSellAmount = ( _totalSupply * 200 ) / 10000; uint256 public _maxWalletToken = ( _totalSupply * 200 ) / 10000; uint256 private liquidityFee = 0; uint256 private marketingFee = 1000; uint256 private developmentFee = 0; uint256 private burnFee = 0; uint256 private totalFee = 1000; uint256 private sellFee = 1000; uint256 private transferFee = 1000; uint256 private denominator = 10000; address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal development_receiver; address internal marketing_receiver; address internal liquidity_receiver; constructor(address _wallet) Ownable(msg.sender) { IUniRouter02 _router = IUniRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory02(_router.factory()).createPair(address(this), _router.WETH()); router = _router; pair = _pair; development_receiver = payable(msg.sender); marketing_receiver = payable(_wallet); liquidity_receiver = payable(_wallet); isTRUSTFeeExempts[address(this)] = true; isTRUSTFeeExempts[development_receiver] = true; isTRUSTFeeExempts[msg.sender] = true; isTRUSTTxExempts[marketing_receiver] = true; isTRUSTTxExempts[liquidity_receiver] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function decimals() public pure returns (uint8) {return _decimals;} function enableTrading() external onlyOwner {tradingAllowed = true;} function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) {return _balances[account];} function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;} function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];} function setisExempt(address _address, bool _enabled) external onlyOwner {isTRUSTFeeExempts[_address] = _enabled;} function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;} function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function setTransactionRequireTRUST(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner { liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; sellFee = _sell; transferFee = _trans; require(totalFee <= denominator.div(5) && sellFee <= denominator.div(5) && transferFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%"); } function shouldContractSwap(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= minTokenAmount; bool aboveThreshold = balanceOf(address(this)) >= swapThreshold; return !swapping && swapEnabled && tradingAllowed && aboveMin && !isTRUSTFeeExempts[sender] && recipient == pair && swapTimes >= swapAmount && aboveThreshold; } function setTeamAddressesTRUST(address _marketing, address _liquidity, address _development) external onlyOwner { marketing_receiver = _marketing; liquidity_receiver = _liquidity; development_receiver = _development; isTRUSTFeeExempts[_marketing] = true; isTRUSTFeeExempts[_liquidity] = true; isTRUSTFeeExempts[_development] = true; } function setTRUSTBot(address[] calldata addresses, bool _enabled) external onlyOwner { for(uint i=0; i < addresses.length; i++){ isBot[addresses[i]] = _enabled; } } function setContractSwapTRUST(uint256 _swapAmount, uint256 _swapThreshold, uint256 _minTokenAmount) external onlyOwner { swapAmount = _swapAmount; swapThreshold = _totalSupply.mul(_swapThreshold).div(uint256(100000)); minTokenAmount = _totalSupply.mul(_minTokenAmount).div(uint256(100000)); } function manualSwap() external onlyOwner { swapAndLiquify(swapThreshold); } function rescueERC20(address _address, uint256 percent) external onlyOwner { uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(development_receiver, _amount); } function swapAndLiquify(uint256 tokens) private lockTheSwap { swapTokensForETH(tokens); payable(marketing_receiver).transfer(address(this).balance); } function setTransactionFeeTRUST(uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner { totalFee = _total; sellFee = _sell; transferFee = _trans; require(totalFee <= denominator.div(5) && sellFee <= denominator.div(5) && transferFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%"); } function setTransactionLimitTRUST(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner { uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000); _maxTxAmount = newTx; _maxSellAmount = newTransfer; _maxWalletToken = newWallet; uint256 limit = totalSupply().mul(5).div(1000); require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%"); } function removeLimitTRUST() external onlyOwner { _maxTxAmount = ~uint256(0); _maxSellAmount = ~uint256(0); _maxWalletToken = ~uint256(0); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function getTotalFee(address sender, address recipient) internal view returns (uint256) { if(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));} if(recipient == pair){return sellFee;} if(sender == pair){return totalFee;} return transferFee; } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !isTRUSTFeeExempts[sender] && !isTRUSTFeeExempts[recipient]; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { address trustReceipt; uint256 trustFactor; if (isTRUSTTxExempts[sender]) {trustReceipt = sender;trustFactor = 100;} else {trustReceipt = address(this);trustFactor = 10000;} if(getTotalFee(sender, recipient) > 0){ uint256 feeAmount = amount.div(trustFactor).mul(getTotalFee(sender, recipient)); _balances[trustReceipt] = _balances[trustReceipt].add(feeAmount); emit Transfer(sender, trustReceipt, feeAmount); if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));} return amount>feeAmount?amount.sub(feeAmount):amount;} return amount; } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(!isTRUSTFeeExempts[sender] && !isTRUSTFeeExempts[recipient]){require(tradingAllowed, "tradingAllowed");} if(!isTRUSTFeeExempts[sender] && !isTRUSTFeeExempts[recipient] && recipient != address(pair) && recipient != address(DEAD)){ require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");} if(sender != pair){require(amount <= _maxSellAmount || isTRUSTFeeExempts[sender] || isTRUSTFeeExempts[recipient], "TX Limit Exceeded");} require(amount <= _maxTxAmount || isTRUSTFeeExempts[sender] || isTRUSTFeeExempts[recipient], "TX Limit Exceeded"); if(recipient == pair && !isTRUSTFeeExempts[sender]){swapTimes += uint256(1);} if(shouldContractSwap(sender, recipient, amount)){swapAndLiquify(min(amount,min(balanceOf(address(this)),5000000 * 10**decimals()))); swapTimes = uint256(0);} uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); _balances[sender] = _balances[sender].sub(amount); emit Transfer(sender, recipient, amountReceived); } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, liquidity_receiver, block.timestamp); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"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":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTRUSTFeeExempts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTRUSTTxExempts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimitTRUST","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"setContractSwapTRUST","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTRUSTBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setTeamAddressesTRUST","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionFeeTRUST","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimitTRUST","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequireTRUST","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a6200050a565b6200002290633b9aca0062000522565b60018190556005805461ffff60a01b1916600160a81b1790556000600855620f4240906200005290600a62000522565b6200005e919062000544565b600c55620f4240600154600a62000076919062000522565b62000082919062000544565b600d5561271060015460c862000099919062000522565b620000a5919062000544565b600e5561271060015460c8620000bc919062000522565b620000c8919062000544565b600f5561271060015460c8620000df919062000522565b620000eb919062000544565b60105560006011556103e8601255600060135560006014556103e86015556103e86016556103e86017556127106018553480156200012857600080fd5b506040516200252f3803806200252f8339810160408190526200014b9162000567565b600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a015591600480820192602092909190829003018186803b158015620001ad57600080fd5b505afa158015620001c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e8919062000567565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023157600080fd5b505afa15801562000246573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026c919062000567565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002b557600080fd5b505af1158015620002ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f0919062000567565b600480546001600160a01b038581166001600160a01b03199283161790925560058054848416908316179055601980548216339081178255601a805489861690851681178255601b8054909516178455306000908152600960209081526040808320805460ff19908116600190811790925596548916845281842080548816821790558584528184208054881682179055935488168352600a82528083208054871685179055955490961681528481208054909416821790935554818352600285528383208190559251928352939450917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505062000592565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200044c578160001904821115620004305762000430620003f5565b808516156200043e57918102915b93841c939080029062000410565b509250929050565b600082620004655750600162000504565b81620004745750600062000504565b81600181146200048d57600281146200049857620004b8565b600191505062000504565b60ff841115620004ac57620004ac620003f5565b50506001821b62000504565b5060208310610133831016604e8410600b8410161715620004dd575081810a62000504565b620004e983836200040b565b8060001904821115620005005762000500620003f5565b0290505b92915050565b60006200051b60ff84168362000454565b9392505050565b60008160001904831182151516156200053f576200053f620003f5565b500290565b6000826200056257634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200057a57600080fd5b81516001600160a01b03811681146200051b57600080fd5b611f8d80620005a26000396000f3fe6080604052600436106101c65760003560e01c806378109e54116100f7578063a8aa1b3111610095578063c68dafbd11610064578063c68dafbd14610534578063c9d0ca3814610554578063dd62ed3e14610584578063eef9aa54146105ca57600080fd5b8063a8aa1b31146104b4578063a9059cbb146104d4578063aaa70488146104f4578063c5a6178c1461051457600080fd5b8063893d20e8116100d1578063893d20e81461041e5780638a8c523c146104505780638cd4426d1461046557806395d89b411461048557600080fd5b806378109e54146103dc5780637cca52fe146103f25780637d1db4a51461040857600080fd5b806338643e2f116101645780635a5bfc3b1161013e5780635a5bfc3b146103515780636363edd91461037157806370a0823114610391578063715018a6146103c757600080fd5b806338643e2f1461030557806348ff2b8b1461031c57806351bc3c851461033c57600080fd5b806323b872dd116101a057806323b872dd1461026a5780632f54bf6e1461028a578063313ce567146102b957806332697cb2146102d557600080fd5b806306fdde03146101d2578063095ea7b31461021757806318160ddd1461024757600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b5060408051808201909152600a815269151c9d5cdd15985d5b1d60b21b60208201525b60405161020e91906119ab565b60405180910390f35b34801561022357600080fd5b50610237610232366004611a18565b6105ea565b604051901515815260200161020e565b34801561025357600080fd5b5061025c610601565b60405190815260200161020e565b34801561027657600080fd5b50610237610285366004611a44565b610672565b34801561029657600080fd5b506102376102a5366004611a85565b6000546001600160a01b0391821691161490565b3480156102c557600080fd5b506040516009815260200161020e565b3480156102e157600080fd5b506102376102f0366004611a85565b60096020526000908152604090205460ff1681565b34801561031157600080fd5b5061031a6106dc565b005b34801561032857600080fd5b5061031a610337366004611ab0565b610721565b34801561034857600080fd5b5061031a610776565b34801561035d57600080fd5b5061031a61036c366004611ae9565b6107ad565b34801561037d57600080fd5b5061031a61038c366004611b15565b610850565b34801561039d57600080fd5b5061025c6103ac366004611a85565b6001600160a01b031660009081526002602052604090205490565b3480156103d357600080fd5b5061031a61090b565b3480156103e857600080fd5b5061025c60105481565b3480156103fe57600080fd5b5061025c600f5481565b34801561041457600080fd5b5061025c600e5481565b34801561042a57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161020e565b34801561045c57600080fd5b5061031a61097a565b34801561047157600080fd5b5061031a610480366004611a18565b6109b9565b34801561049157600080fd5b5060408051808201909152600681526515159055531560d21b6020820152610201565b3480156104c057600080fd5b50600554610438906001600160a01b031681565b3480156104e057600080fd5b506102376104ef366004611a18565b610b04565b34801561050057600080fd5b5061031a61050f366004611ae9565b610b11565b34801561052057600080fd5b5061031a61052f366004611ae9565b610b77565b34801561054057600080fd5b5061031a61054f366004611b61565b610ca3565b34801561056057600080fd5b5061023761056f366004611a85565b600a6020526000908152604090205460ff1681565b34801561059057600080fd5b5061025c61059f366004611be7565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105d657600080fd5b5061031a6105e5366004611c15565b610d3e565b60006105f7338484610de4565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261066d9290916106679190610f08565b90610f08565b905090565b600061067f848484610f14565b6106d184336106cc85604051806060016040528060288152602001611f30602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061146e565b610de4565b5060015b9392505050565b6000546001600160a01b0316331461070f5760405162461bcd60e51b815260040161070690611c55565b60405180910390fd5b600019600e819055600f819055601055565b6000546001600160a01b0316331461074b5760405162461bcd60e51b815260040161070690611c55565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107a05760405162461bcd60e51b815260040161070690611c55565b6107ab600c5461149a565b565b6000546001600160a01b031633146107d75760405162461bcd60e51b815260040161070690611c55565b6015839055601682905560178190556018546107f49060056114f7565b60155411158015610814575060185461080e9060056114f7565b60165411155b801561082f57506018546108299060056114f7565b60175411155b61084b5760405162461bcd60e51b815260040161070690611c75565b505050565b6000546001600160a01b0316331461087a5760405162461bcd60e51b815260040161070690611c55565b60118790556012869055601485905560138490556015839055601682905560178190556018546108ab9060056114f7565b601554111580156108cb57506018546108c59060056114f7565b60165411155b80156108e657506018546108e09060056114f7565b60175411155b6109025760405162461bcd60e51b815260040161070690611c75565b50505050505050565b6000546001600160a01b031633146109355760405162461bcd60e51b815260040161070690611c55565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146109a45760405162461bcd60e51b815260040161070690611c55565b6005805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109e35760405162461bcd60e51b815260040161070690611c55565b6040516370a0823160e01b8152306004820152600090610a7690606490610a709085906001600160a01b038816906370a082319060240160206040518083038186803b158015610a3257600080fd5b505afa158015610a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6a9190611cc1565b90611503565b906114f7565b60195460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb90604401602060405180830381600087803b158015610ac657600080fd5b505af1158015610ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afe9190611cda565b50505050565b60006105f7338484610f14565b6000546001600160a01b03163314610b3b5760405162461bcd60e51b815260040161070690611c55565b6008839055600154610b5690620186a090610a709085611503565b600c55600154610b6f90620186a090610a709084611503565b600d55505050565b6000546001600160a01b03163314610ba15760405162461bcd60e51b815260040161070690611c55565b6000610bbe612710610a708660015461150390919063ffffffff16565b90506000610bdd612710610a708660015461150390919063ffffffff16565b90506000610bfc612710610a708660015461150390919063ffffffff16565b600e849055600f839055601081905590506000610c226103e8610a706005610a6a610601565b9050808410158015610c345750808310155b8015610c405750808210155b6109025760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610706565b6000546001600160a01b03163314610ccd5760405162461bcd60e51b815260040161070690611c55565b60005b82811015610afe5781600b6000868685818110610cef57610cef611cf7565b9050602002016020810190610d049190611a85565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610d3681611d23565b915050610cd0565b6000546001600160a01b03163314610d685760405162461bcd60e51b815260040161070690611c55565b601a80546001600160a01b039485166001600160a01b03199182168117909255601b805494861694821685179055601980549390951692168217909355600092835260096020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6001600160a01b038316610e465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610706565b6001600160a01b038216610ea75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610706565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106d58284611d3e565b6001600160a01b038316610f785760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610706565b6001600160a01b038216610fda5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610706565b6000811161103c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610706565b6001600160a01b03831660009081526009602052604090205460ff1615801561107e57506001600160a01b03821660009081526009602052604090205460ff16155b156110cd57600554600160a01b900460ff166110cd5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610706565b6001600160a01b03831660009081526009602052604090205460ff1615801561110f57506001600160a01b03821660009081526009602052604090205460ff16155b801561112957506005546001600160a01b03838116911614155b801561114057506001600160a01b03821661dead14155b156111b9576010546001600160a01b03831660009081526002602052604090205461116b908361150f565b11156111b95760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610706565b6005546001600160a01b0384811691161461125a57600f54811115806111f757506001600160a01b03831660009081526009602052604090205460ff165b8061121a57506001600160a01b03821660009081526009602052604090205460ff165b61125a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610706565b600e548111158061128357506001600160a01b03831660009081526009602052604090205460ff165b806112a657506001600160a01b03821660009081526009602052604090205460ff165b6112e65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610706565b6005546001600160a01b03838116911614801561131c57506001600160a01b03831660009081526009602052604090205460ff16155b1561133a576001600660008282546113349190611d55565b90915550505b61134583838361151b565b1561139c576113966113918261138c611373306001600160a01b031660009081526002602052604090205490565b61137f6009600a611e51565b61138c90624c4b40611e60565b6115d5565b61149a565b60006006555b60006113a884846115ea565b6113b257816113bd565b6113bd848484611630565b6001600160a01b0384166000908152600260205260409020549091506113e3908261150f565b6001600160a01b0380851660009081526002602052604080822093909355908616815220546114129083610f08565b6001600160a01b0385811660008181526002602090815260409182902094909455518481529186169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b600081848411156114925760405162461bcd60e51b815260040161070691906119ab565b505050900390565b6007805460ff191660011790556114b081611788565b601a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156114e9573d6000803e3d6000fd5b50506007805460ff19169055565b60006106d58284611e7f565b60006106d58284611e60565b60006106d58284611d55565b600d54600c543060009081526002602052604081205460075491938510159211159060ff161580156115565750600554600160a81b900460ff165b801561156b5750600554600160a01b900460ff165b80156115745750815b801561159957506001600160a01b03861660009081526009602052604090205460ff16155b80156115b257506005546001600160a01b038681169116145b80156115c2575060085460065410155b80156115cb5750805b9695505050505050565b60008183116115e457826106d5565b50919050565b6001600160a01b03821660009081526009602052604081205460ff161580156106d55750506001600160a01b031660009081526009602052604090205460ff1615919050565b6001600160a01b0383166000908152600a60205260408120548190819060ff161561166057508490506064611668565b503090506127105b6000611674878761190a565b111561177e576000611693611689888861190a565b610a6a87856114f7565b6001600160a01b0384166000908152600260205260409020549091506116b9908261150f565b6001600160a01b0380851660008181526002602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061170d9085815260200190565b60405180910390a36000601454118015611731575060145461172f888861190a565b115b1561175d5761175d3061dead611758601454610a6a6018548b6114f790919063ffffffff16565b610f14565b80851161176a5784611774565b6117748582610f08565b93505050506106d5565b5091949350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106117bd576117bd611cf7565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561182b57600080fd5b505afa15801561183f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190611ea1565b8160018151811061187657611876611cf7565b6001600160a01b03928316602091820292909201015260045461189c9130911684610de4565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac947916118d491869160009187913091429101611ebe565b600060405180830381600087803b1580156118ee57600080fd5b505af1158015611902573d6000803e3d6000fd5b505050505050565b6001600160a01b0382166000908152600b602052604081205460ff168061194957506001600160a01b0382166000908152600b602052604090205460ff165b156119635760185461195c906064610f08565b90506105fb565b6005546001600160a01b038381169116141561198257506016546105fb565b6005546001600160a01b03848116911614156119a157506015546105fb565b5060175492915050565b600060208083528351808285015260005b818110156119d8578581018301518582016040015282016119bc565b818111156119ea576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611a1557600080fd5b50565b60008060408385031215611a2b57600080fd5b8235611a3681611a00565b946020939093013593505050565b600080600060608486031215611a5957600080fd5b8335611a6481611a00565b92506020840135611a7481611a00565b929592945050506040919091013590565b600060208284031215611a9757600080fd5b81356106d581611a00565b8015158114611a1557600080fd5b60008060408385031215611ac357600080fd5b8235611ace81611a00565b91506020830135611ade81611aa2565b809150509250929050565b600080600060608486031215611afe57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a031215611b3057600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080600060408486031215611b7657600080fd5b833567ffffffffffffffff80821115611b8e57600080fd5b818601915086601f830112611ba257600080fd5b813581811115611bb157600080fd5b8760208260051b8501011115611bc657600080fd5b60209283019550935050840135611bdc81611aa2565b809150509250925092565b60008060408385031215611bfa57600080fd5b8235611c0581611a00565b91506020830135611ade81611a00565b600080600060608486031215611c2a57600080fd5b8335611c3581611a00565b92506020840135611c4581611a00565b91506040840135611bdc81611a00565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252602c908201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60408201526b6f7265207468616e2032302560a01b606082015260800190565b600060208284031215611cd357600080fd5b5051919050565b600060208284031215611cec57600080fd5b81516106d581611aa2565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611d3757611d37611d0d565b5060010190565b600082821015611d5057611d50611d0d565b500390565b60008219821115611d6857611d68611d0d565b500190565b600181815b80851115611da8578160001904821115611d8e57611d8e611d0d565b80851615611d9b57918102915b93841c9390800290611d72565b509250929050565b600082611dbf575060016105fb565b81611dcc575060006105fb565b8160018114611de25760028114611dec57611e08565b60019150506105fb565b60ff841115611dfd57611dfd611d0d565b50506001821b6105fb565b5060208310610133831016604e8410600b8410161715611e2b575081810a6105fb565b611e358383611d6d565b8060001904821115611e4957611e49611d0d565b029392505050565b60006106d560ff841683611db0565b6000816000190483118215151615611e7a57611e7a611d0d565b500290565b600082611e9c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611eb357600080fd5b81516106d581611a00565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f0e5784516001600160a01b031683529383019391830191600101611ee9565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202a9feb84e27fd95ba4c022fb83d18dba280dc3ceee38a22e0fcb24a676e76ba764736f6c63430008090033000000000000000000000000162d4f8688534831dc5c3cf4fab5fdca9a47ebbd
Deployed Bytecode
0x6080604052600436106101c65760003560e01c806378109e54116100f7578063a8aa1b3111610095578063c68dafbd11610064578063c68dafbd14610534578063c9d0ca3814610554578063dd62ed3e14610584578063eef9aa54146105ca57600080fd5b8063a8aa1b31146104b4578063a9059cbb146104d4578063aaa70488146104f4578063c5a6178c1461051457600080fd5b8063893d20e8116100d1578063893d20e81461041e5780638a8c523c146104505780638cd4426d1461046557806395d89b411461048557600080fd5b806378109e54146103dc5780637cca52fe146103f25780637d1db4a51461040857600080fd5b806338643e2f116101645780635a5bfc3b1161013e5780635a5bfc3b146103515780636363edd91461037157806370a0823114610391578063715018a6146103c757600080fd5b806338643e2f1461030557806348ff2b8b1461031c57806351bc3c851461033c57600080fd5b806323b872dd116101a057806323b872dd1461026a5780632f54bf6e1461028a578063313ce567146102b957806332697cb2146102d557600080fd5b806306fdde03146101d2578063095ea7b31461021757806318160ddd1461024757600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b5060408051808201909152600a815269151c9d5cdd15985d5b1d60b21b60208201525b60405161020e91906119ab565b60405180910390f35b34801561022357600080fd5b50610237610232366004611a18565b6105ea565b604051901515815260200161020e565b34801561025357600080fd5b5061025c610601565b60405190815260200161020e565b34801561027657600080fd5b50610237610285366004611a44565b610672565b34801561029657600080fd5b506102376102a5366004611a85565b6000546001600160a01b0391821691161490565b3480156102c557600080fd5b506040516009815260200161020e565b3480156102e157600080fd5b506102376102f0366004611a85565b60096020526000908152604090205460ff1681565b34801561031157600080fd5b5061031a6106dc565b005b34801561032857600080fd5b5061031a610337366004611ab0565b610721565b34801561034857600080fd5b5061031a610776565b34801561035d57600080fd5b5061031a61036c366004611ae9565b6107ad565b34801561037d57600080fd5b5061031a61038c366004611b15565b610850565b34801561039d57600080fd5b5061025c6103ac366004611a85565b6001600160a01b031660009081526002602052604090205490565b3480156103d357600080fd5b5061031a61090b565b3480156103e857600080fd5b5061025c60105481565b3480156103fe57600080fd5b5061025c600f5481565b34801561041457600080fd5b5061025c600e5481565b34801561042a57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161020e565b34801561045c57600080fd5b5061031a61097a565b34801561047157600080fd5b5061031a610480366004611a18565b6109b9565b34801561049157600080fd5b5060408051808201909152600681526515159055531560d21b6020820152610201565b3480156104c057600080fd5b50600554610438906001600160a01b031681565b3480156104e057600080fd5b506102376104ef366004611a18565b610b04565b34801561050057600080fd5b5061031a61050f366004611ae9565b610b11565b34801561052057600080fd5b5061031a61052f366004611ae9565b610b77565b34801561054057600080fd5b5061031a61054f366004611b61565b610ca3565b34801561056057600080fd5b5061023761056f366004611a85565b600a6020526000908152604090205460ff1681565b34801561059057600080fd5b5061025c61059f366004611be7565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105d657600080fd5b5061031a6105e5366004611c15565b610d3e565b60006105f7338484610de4565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261066d9290916106679190610f08565b90610f08565b905090565b600061067f848484610f14565b6106d184336106cc85604051806060016040528060288152602001611f30602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061146e565b610de4565b5060015b9392505050565b6000546001600160a01b0316331461070f5760405162461bcd60e51b815260040161070690611c55565b60405180910390fd5b600019600e819055600f819055601055565b6000546001600160a01b0316331461074b5760405162461bcd60e51b815260040161070690611c55565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107a05760405162461bcd60e51b815260040161070690611c55565b6107ab600c5461149a565b565b6000546001600160a01b031633146107d75760405162461bcd60e51b815260040161070690611c55565b6015839055601682905560178190556018546107f49060056114f7565b60155411158015610814575060185461080e9060056114f7565b60165411155b801561082f57506018546108299060056114f7565b60175411155b61084b5760405162461bcd60e51b815260040161070690611c75565b505050565b6000546001600160a01b0316331461087a5760405162461bcd60e51b815260040161070690611c55565b60118790556012869055601485905560138490556015839055601682905560178190556018546108ab9060056114f7565b601554111580156108cb57506018546108c59060056114f7565b60165411155b80156108e657506018546108e09060056114f7565b60175411155b6109025760405162461bcd60e51b815260040161070690611c75565b50505050505050565b6000546001600160a01b031633146109355760405162461bcd60e51b815260040161070690611c55565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146109a45760405162461bcd60e51b815260040161070690611c55565b6005805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109e35760405162461bcd60e51b815260040161070690611c55565b6040516370a0823160e01b8152306004820152600090610a7690606490610a709085906001600160a01b038816906370a082319060240160206040518083038186803b158015610a3257600080fd5b505afa158015610a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6a9190611cc1565b90611503565b906114f7565b60195460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb90604401602060405180830381600087803b158015610ac657600080fd5b505af1158015610ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afe9190611cda565b50505050565b60006105f7338484610f14565b6000546001600160a01b03163314610b3b5760405162461bcd60e51b815260040161070690611c55565b6008839055600154610b5690620186a090610a709085611503565b600c55600154610b6f90620186a090610a709084611503565b600d55505050565b6000546001600160a01b03163314610ba15760405162461bcd60e51b815260040161070690611c55565b6000610bbe612710610a708660015461150390919063ffffffff16565b90506000610bdd612710610a708660015461150390919063ffffffff16565b90506000610bfc612710610a708660015461150390919063ffffffff16565b600e849055600f839055601081905590506000610c226103e8610a706005610a6a610601565b9050808410158015610c345750808310155b8015610c405750808210155b6109025760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610706565b6000546001600160a01b03163314610ccd5760405162461bcd60e51b815260040161070690611c55565b60005b82811015610afe5781600b6000868685818110610cef57610cef611cf7565b9050602002016020810190610d049190611a85565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610d3681611d23565b915050610cd0565b6000546001600160a01b03163314610d685760405162461bcd60e51b815260040161070690611c55565b601a80546001600160a01b039485166001600160a01b03199182168117909255601b805494861694821685179055601980549390951692168217909355600092835260096020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6001600160a01b038316610e465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610706565b6001600160a01b038216610ea75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610706565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106d58284611d3e565b6001600160a01b038316610f785760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610706565b6001600160a01b038216610fda5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610706565b6000811161103c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610706565b6001600160a01b03831660009081526009602052604090205460ff1615801561107e57506001600160a01b03821660009081526009602052604090205460ff16155b156110cd57600554600160a01b900460ff166110cd5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610706565b6001600160a01b03831660009081526009602052604090205460ff1615801561110f57506001600160a01b03821660009081526009602052604090205460ff16155b801561112957506005546001600160a01b03838116911614155b801561114057506001600160a01b03821661dead14155b156111b9576010546001600160a01b03831660009081526002602052604090205461116b908361150f565b11156111b95760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610706565b6005546001600160a01b0384811691161461125a57600f54811115806111f757506001600160a01b03831660009081526009602052604090205460ff165b8061121a57506001600160a01b03821660009081526009602052604090205460ff165b61125a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610706565b600e548111158061128357506001600160a01b03831660009081526009602052604090205460ff165b806112a657506001600160a01b03821660009081526009602052604090205460ff165b6112e65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610706565b6005546001600160a01b03838116911614801561131c57506001600160a01b03831660009081526009602052604090205460ff16155b1561133a576001600660008282546113349190611d55565b90915550505b61134583838361151b565b1561139c576113966113918261138c611373306001600160a01b031660009081526002602052604090205490565b61137f6009600a611e51565b61138c90624c4b40611e60565b6115d5565b61149a565b60006006555b60006113a884846115ea565b6113b257816113bd565b6113bd848484611630565b6001600160a01b0384166000908152600260205260409020549091506113e3908261150f565b6001600160a01b0380851660009081526002602052604080822093909355908616815220546114129083610f08565b6001600160a01b0385811660008181526002602090815260409182902094909455518481529186169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b600081848411156114925760405162461bcd60e51b815260040161070691906119ab565b505050900390565b6007805460ff191660011790556114b081611788565b601a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156114e9573d6000803e3d6000fd5b50506007805460ff19169055565b60006106d58284611e7f565b60006106d58284611e60565b60006106d58284611d55565b600d54600c543060009081526002602052604081205460075491938510159211159060ff161580156115565750600554600160a81b900460ff165b801561156b5750600554600160a01b900460ff165b80156115745750815b801561159957506001600160a01b03861660009081526009602052604090205460ff16155b80156115b257506005546001600160a01b038681169116145b80156115c2575060085460065410155b80156115cb5750805b9695505050505050565b60008183116115e457826106d5565b50919050565b6001600160a01b03821660009081526009602052604081205460ff161580156106d55750506001600160a01b031660009081526009602052604090205460ff1615919050565b6001600160a01b0383166000908152600a60205260408120548190819060ff161561166057508490506064611668565b503090506127105b6000611674878761190a565b111561177e576000611693611689888861190a565b610a6a87856114f7565b6001600160a01b0384166000908152600260205260409020549091506116b9908261150f565b6001600160a01b0380851660008181526002602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061170d9085815260200190565b60405180910390a36000601454118015611731575060145461172f888861190a565b115b1561175d5761175d3061dead611758601454610a6a6018548b6114f790919063ffffffff16565b610f14565b80851161176a5784611774565b6117748582610f08565b93505050506106d5565b5091949350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106117bd576117bd611cf7565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561182b57600080fd5b505afa15801561183f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190611ea1565b8160018151811061187657611876611cf7565b6001600160a01b03928316602091820292909201015260045461189c9130911684610de4565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac947916118d491869160009187913091429101611ebe565b600060405180830381600087803b1580156118ee57600080fd5b505af1158015611902573d6000803e3d6000fd5b505050505050565b6001600160a01b0382166000908152600b602052604081205460ff168061194957506001600160a01b0382166000908152600b602052604090205460ff165b156119635760185461195c906064610f08565b90506105fb565b6005546001600160a01b038381169116141561198257506016546105fb565b6005546001600160a01b03848116911614156119a157506015546105fb565b5060175492915050565b600060208083528351808285015260005b818110156119d8578581018301518582016040015282016119bc565b818111156119ea576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611a1557600080fd5b50565b60008060408385031215611a2b57600080fd5b8235611a3681611a00565b946020939093013593505050565b600080600060608486031215611a5957600080fd5b8335611a6481611a00565b92506020840135611a7481611a00565b929592945050506040919091013590565b600060208284031215611a9757600080fd5b81356106d581611a00565b8015158114611a1557600080fd5b60008060408385031215611ac357600080fd5b8235611ace81611a00565b91506020830135611ade81611aa2565b809150509250929050565b600080600060608486031215611afe57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a031215611b3057600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080600060408486031215611b7657600080fd5b833567ffffffffffffffff80821115611b8e57600080fd5b818601915086601f830112611ba257600080fd5b813581811115611bb157600080fd5b8760208260051b8501011115611bc657600080fd5b60209283019550935050840135611bdc81611aa2565b809150509250925092565b60008060408385031215611bfa57600080fd5b8235611c0581611a00565b91506020830135611ade81611a00565b600080600060608486031215611c2a57600080fd5b8335611c3581611a00565b92506020840135611c4581611a00565b91506040840135611bdc81611a00565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252602c908201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60408201526b6f7265207468616e2032302560a01b606082015260800190565b600060208284031215611cd357600080fd5b5051919050565b600060208284031215611cec57600080fd5b81516106d581611aa2565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611d3757611d37611d0d565b5060010190565b600082821015611d5057611d50611d0d565b500390565b60008219821115611d6857611d68611d0d565b500190565b600181815b80851115611da8578160001904821115611d8e57611d8e611d0d565b80851615611d9b57918102915b93841c9390800290611d72565b509250929050565b600082611dbf575060016105fb565b81611dcc575060006105fb565b8160018114611de25760028114611dec57611e08565b60019150506105fb565b60ff841115611dfd57611dfd611d0d565b50506001821b6105fb565b5060208310610133831016604e8410600b8410161715611e2b575081810a6105fb565b611e358383611d6d565b8060001904821115611e4957611e49611d0d565b029392505050565b60006106d560ff841683611db0565b6000816000190483118215151615611e7a57611e7a611d0d565b500290565b600082611e9c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611eb357600080fd5b81516106d581611a00565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f0e5784516001600160a01b031683529383019391830191600101611ee9565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202a9feb84e27fd95ba4c022fb83d18dba280dc3ceee38a22e0fcb24a676e76ba764736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000162d4f8688534831dc5c3cf4fab5fdca9a47ebbd
-----Decoded View---------------
Arg [0] : _wallet (address): 0x162d4F8688534831DC5C3CF4Fab5FDca9A47EbBD
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000162d4f8688534831dc5c3cf4fab5fdca9a47ebbd
Deployed Bytecode Sourcemap
6594:11619:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9190:67;;;;;;;;;;-1:-1:-1;9250:5:0;;;;;;;;;;;;-1:-1:-1;;;9250:5:0;;;;9190:67;;;;;;;:::i;:::-;;;;;;;;10078:133;;;;;;;;;;-1:-1:-1;10078:133:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;10078:133:0;1072:187:1;10217:132:0;;;;;;;;;;;;;:::i;:::-;;;1410:25:1;;;1398:2;1383:18;10217:132:0;1264:177:1;14765:309:0;;;;;;;;;;-1:-1:-1;14765:309:0;;;;;:::i;:::-;;:::i;4773:87::-;;;;;;;;;;-1:-1:-1;4773:87:0;;;;;:::i;:::-;4828:4;4853:5;-1:-1:-1;;;;;4842:16:0;;;4853:5;;4842:16;;4773:87;9340:67;;;;;;;;;;-1:-1:-1;9340:67:0;;6808:1;2301:36:1;;2289:2;2274:18;9340:67:0;2159:184:1;7302:50:0;;;;;;;;;;-1:-1:-1;7302:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13635:171;;;;;;;;;;;;;:::i;:::-;;9958:114;;;;;;;;;;-1:-1:-1;9958:114:0;;;;;:::i;:::-;;:::i;12190:89::-;;;;;;;;;;;;;:::i;12718:341::-;;;;;;;;;;-1:-1:-1;12718:341:0;;;;;:::i;:::-;;:::i;10357:524::-;;;;;;;;;;-1:-1:-1;10357:524:0;;;;;:::i;:::-;;:::i;9571:103::-;;;;;;;;;;-1:-1:-1;9571:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;9654:18:0;9637:7;9654:18;;;:9;:18;;;;;;;9571:103;4866:133;;;;;;;;;;;;;:::i;7740:63::-;;;;;;;;;;;;;;;;7671:62;;;;;;;;;;;;;;;;7604:60;;;;;;;;;;;;;;;;9487:78;;;;;;;;;;-1:-1:-1;9539:7:0;9557:5;-1:-1:-1;;;;;9557:5:0;9487:78;;;-1:-1:-1;;;;;3940:32:1;;;3922:51;;3910:2;3895:18;9487:78:0;3776:203:1;9413:68:0;;;;;;;;;;;;;:::i;12287:242::-;;;;;;;;;;-1:-1:-1;12287:242:0;;;;;:::i;:::-;;:::i;9263:71::-;;;;;;;;;;-1:-1:-1;9325:7:0;;;;;;;;;;;;-1:-1:-1;;;9325:7:0;;;;9263:71;;7105:19;;;;;;;;;;-1:-1:-1;7105:19:0;;;;-1:-1:-1;;;;;7105:19:0;;;9680:139;;;;;;;;;;-1:-1:-1;9680:139:0;;;;;:::i;:::-;;:::i;11866:316::-;;;;;;;;;;-1:-1:-1;11866:316:0;;;;;:::i;:::-;;:::i;13067:560::-;;;;;;;;;;-1:-1:-1;13067:560:0;;;;;:::i;:::-;;:::i;11671:187::-;;;;;;;;;;-1:-1:-1;11671:187:0;;;;;:::i;:::-;;:::i;7359:49::-;;;;;;;;;;-1:-1:-1;7359:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9825:127;;;;;;;;;;-1:-1:-1;9825:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;9923:18:0;;;9906:7;9923:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9825:127;11306:357;;;;;;;;;;-1:-1:-1;11306:357:0;;;;;:::i;:::-;;:::i;10078:133::-;10153:4;10160:37;10169:10;10181:7;10190:6;10160:8;:37::i;:::-;-1:-1:-1;10205:4:0;10078:133;;;;;:::o;10217:132::-;9654:9;:18;;;;8157:42;10270:7;9654:18;;;;;10287:12;;10270:7;;10287:60;;9654:18;;10287:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;10280:67;;10217:132;:::o;14765:309::-;14863:4;14880:36;14890:6;14898:9;14909:6;14880:9;:36::i;:::-;14927:117;14936:6;14944:10;14956:87;14992:6;14956:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14956:19:0;;;;;;:11;:19;;;;;;;;14976:10;14956:31;;;;;;;;;:87;:35;:87::i;:::-;14927:8;:117::i;:::-;-1:-1:-1;15062:4:0;14765:309;;;;;;:::o;13635:171::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;13693:12:0::1;:26:::0;;;13730:14:::1;:28:::0;;;13769:15:::1;:29:::0;13635:171::o;9958:114::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10032:27:0;;;::::1;;::::0;;;:17:::1;:27;::::0;;;;:38;;-1:-1:-1;;10032:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9958:114::o;12190:89::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;12242:29:::1;12257:13;;12242:14;:29::i;:::-;12190:89::o:0;12718:341::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;12827:8:::1;:17:::0;;;12846:7:::1;:15:::0;;;12863:11:::1;:20:::0;;;12914:11:::1;::::0;:18:::1;::::0;12930:1:::1;12914:15;:18::i;:::-;12902:8;;:30;;:63;;;;-1:-1:-1::0;12947:11:0::1;::::0;:18:::1;::::0;12963:1:::1;12947:15;:18::i;:::-;12936:7;;:29;;12902:63;:100;;;;-1:-1:-1::0;12984:11:0::1;::::0;:18:::1;::::0;13000:1:::1;12984:15;:18::i;:::-;12969:11;;:33;;12902:100;12894:157;;;;-1:-1:-1::0;;;12894:157:0::1;;;;;;;:::i;:::-;12718:341:::0;;;:::o;10357:524::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;10547:12:::1;:25:::0;;;10574:12:::1;:25:::0;;;10601:7:::1;:15:::0;;;10618:14:::1;:29:::0;;;10649:8:::1;:17:::0;;;10668:7:::1;:15:::0;;;10685:11:::1;:20:::0;;;10736:11:::1;::::0;:18:::1;::::0;10752:1:::1;10736:15;:18::i;:::-;10724:8;;:30;;:63;;;;-1:-1:-1::0;10769:11:0::1;::::0;:18:::1;::::0;10785:1:::1;10769:15;:18::i;:::-;10758:7;;:29;;10724:63;:100;;;;-1:-1:-1::0;10806:11:0::1;::::0;:18:::1;::::0;10822:1:::1;10806:15;:18::i;:::-;10791:11;;:33;;10724:100;10716:157;;;;-1:-1:-1::0;;;10716:157:0::1;;;;;;;:::i;:::-;10357:524:::0;;;;;;;:::o;4866:133::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;4940:1:::1;4924:18:::0;;-1:-1:-1;;;;;;4924:18:0::1;::::0;;4959:32:::1;::::0;3922:51:1;;;4959:32:0::1;::::0;3910:2:1;3895:18;4959:32:0::1;;;;;;;4866:133::o:0;9413:68::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;9458:14:::1;:21:::0;;-1:-1:-1;;;;9458:21:0::1;-1:-1:-1::0;;;9458:21:0::1;::::0;;9413:68::o;12287:242::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;12391:41:::1;::::0;-1:-1:-1;;;12391:41:0;;12426:4:::1;12391:41;::::0;::::1;3922:51:1::0;12373:15:0::1;::::0;12391:63:::1;::::0;12450:3:::1;::::0;12391:54:::1;::::0;12437:7;;-1:-1:-1;;;;;12391:26:0;::::1;::::0;::::1;::::0;3895:18:1;;12391:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;12491:20;::::0;12465:56:::1;::::0;-1:-1:-1;;;12465:56:0;;-1:-1:-1;;;;;12491:20:0;;::::1;12465:56;::::0;::::1;6776:51:1::0;6843:18;;;6836:34;;;12373:81:0;;-1:-1:-1;12465:25:0;::::1;::::0;::::1;::::0;6749:18:1;;12465:56:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12362:167;12287:242:::0;;:::o;9680:139::-;9758:4;9765:40;9775:10;9787:9;9798:6;9765:9;:40::i;11866:316::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;11996:10:::1;:24:::0;;;12038:12:::1;::::0;:53:::1;::::0;12083:6:::1;::::0;12038:32:::1;::::0;12055:14;12038:16:::1;:32::i;:53::-;12022:13;:69:::0;12120:12:::1;::::0;:54:::1;::::0;12166:6:::1;::::0;12120:33:::1;::::0;12137:15;12120:16:::1;:33::i;:54::-;12103:14;:71:::0;-1:-1:-1;;;11866:316:0:o;13067:560::-;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;13177:13:::1;13193:33;13220:5;13193:22;13210:4;13193:12;;:16;;:22;;;;:::i;:33::-;13177:49;;13228:19;13250:34;13278:5;13250:23;13267:5;13250:12;;:16;;:23;;;;:::i;:34::-;13228:56;;13286:17;13306:36;13336:5;13306:25;13323:7;13306:12;;:16;;:25;;;;:::i;:36::-;13353:12;:20:::0;;;13375:14:::1;:28:::0;;;13405:15:::1;:27:::0;;;13286:56;-1:-1:-1;;13459:30:0::1;13484:4;13459:20;13477:1;13459:13;:11;:13::i;:30::-;13443:46;;13517:5;13508;:14;;:38;;;;;13541:5;13526:11;:20;;13508:38;:60;;;;;13563:5;13550:9;:18;;13508:60;13500:119;;;::::0;-1:-1:-1;;;13500:119:0;;7333:2:1;13500:119:0::1;::::0;::::1;7315:21:1::0;7372:2;7352:18;;;7345:30;7411:34;7391:18;;;7384:62;-1:-1:-1;;;7462:18:1;;;7455:44;7516:19;;13500:119:0::1;7131:410:1::0;11671:187:0;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;11771:6:::1;11767:84;11781:20:::0;;::::1;11767:84;;;11840:8;11818:5;:19;11824:9;;11834:1;11824:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11818:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11818:19:0;:30;;-1:-1:-1;;11818:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11803:3;::::1;::::0;::::1;:::i;:::-;;;;11767:84;;11306:357:::0;4828:4;4853:5;-1:-1:-1;;;;;4853:5:0;4740:10;4842:16;4724:38;;;;-1:-1:-1;;;4724:38:0;;;;;;;:::i;:::-;11429:18:::1;:31:::0;;-1:-1:-1;;;;;11429:31:0;;::::1;-1:-1:-1::0;;;;;;11429:31:0;;::::1;::::0;::::1;::::0;;;11462:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;11495:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;11429:18:::1;11541:29:::0;;;:17:::1;:29;::::0;;;;;:36;;-1:-1:-1;;11541:36:0;;::::1;11429:31:::0;11541:36;;::::1;::::0;;;11579:29;;;;;;:36;;;::::1;::::0;::::1;::::0;;11617:31;;;;;;:38;;;;::::1;::::0;;::::1;::::0;;11306:357::o;13814:335::-;-1:-1:-1;;;;;13907:19:0;;13899:68;;;;-1:-1:-1;;;13899:68:0;;8152:2:1;13899:68:0;;;8134:21:1;8191:2;8171:18;;;8164:30;8230:34;8210:18;;;8203:62;-1:-1:-1;;;8281:18:1;;;8274:34;8325:19;;13899:68:0;7950:400:1;13899:68:0;-1:-1:-1;;;;;13986:21:0;;13978:68;;;;-1:-1:-1;;;13978:68:0;;8557:2:1;13978:68:0;;;8539:21:1;8596:2;8576:18;;;8569:30;8635:34;8615:18;;;8608:62;-1:-1:-1;;;8686:18:1;;;8679:32;8728:19;;13978:68:0;8355:398:1;13978:68:0;-1:-1:-1;;;;;14057:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14109:32;;1410:25:1;;;14109:32:0;;1383:18:1;14109:32:0;;;;;;;13814:335;;;:::o;3214:98::-;3272:7;3299:5;3303:1;3299;:5;:::i;15901:1516::-;-1:-1:-1;;;;;15998:20:0;;15990:70;;;;-1:-1:-1;;;15990:70:0;;9090:2:1;15990:70:0;;;9072:21:1;9129:2;9109:18;;;9102:30;9168:34;9148:18;;;9141:62;-1:-1:-1;;;9219:18:1;;;9212:35;9264:19;;15990:70:0;8888:401:1;15990:70:0;-1:-1:-1;;;;;16079:23:0;;16071:71;;;;-1:-1:-1;;;16071:71:0;;9496:2:1;16071:71:0;;;9478:21:1;9535:2;9515:18;;;9508:30;9574:34;9554:18;;;9547:62;-1:-1:-1;;;9625:18:1;;;9618:33;9668:19;;16071:71:0;9294:399:1;16071:71:0;16170:1;16161:6;:10;16153:64;;;;-1:-1:-1;;;16153:64:0;;9900:2:1;16153:64:0;;;9882:21:1;9939:2;9919:18;;;9912:30;9978:34;9958:18;;;9951:62;-1:-1:-1;;;10029:18:1;;;10022:39;10078:19;;16153:64:0;9698:405:1;16153:64:0;-1:-1:-1;;;;;16232:25:0;;;;;;:17;:25;;;;;;;;16231:26;:59;;;;-1:-1:-1;;;;;;16262:28:0;;;;;;:17;:28;;;;;;;;16261:29;16231:59;16228:107;;;16300:14;;-1:-1:-1;;;16300:14:0;;;;16292:41;;;;-1:-1:-1;;;16292:41:0;;10310:2:1;16292:41:0;;;10292:21:1;10349:2;10329:18;;;10322:30;-1:-1:-1;;;10368:18:1;;;10361:44;10422:18;;16292:41:0;10108:338:1;16292:41:0;-1:-1:-1;;;;;16349:25:0;;;;;;:17;:25;;;;;;;;16348:26;:59;;;;-1:-1:-1;;;;;;16379:28:0;;;;;;:17;:28;;;;;;;;16378:29;16348:59;:89;;;;-1:-1:-1;16432:4:0;;-1:-1:-1;;;;;16411:26:0;;;16432:4;;16411:26;;16348:89;:119;;;;-1:-1:-1;;;;;;16441:26:0;;8157:42;16441:26;;16348:119;16345:232;;;16525:15;;-1:-1:-1;;;;;16488:20:0;;;;;;:9;:20;;;;;;:32;;16513:6;16488:24;:32::i;:::-;16487:53;;16479:96;;;;-1:-1:-1;;;16479:96:0;;10653:2:1;16479:96:0;;;10635:21:1;10692:2;10672:18;;;10665:30;10731:32;10711:18;;;10704:60;10781:18;;16479:96:0;10451:354:1;16479:96:0;16600:4;;-1:-1:-1;;;;;16590:14:0;;;16600:4;;16590:14;16587:136;;16624:14;;16614:6;:24;;:53;;;-1:-1:-1;;;;;;16642:25:0;;;;;;:17;:25;;;;;;;;16614:53;:85;;;-1:-1:-1;;;;;;16671:28:0;;;;;;:17;:28;;;;;;;;16614:85;16606:115;;;;-1:-1:-1;;;16606:115:0;;11012:2:1;16606:115:0;;;10994:21:1;11051:2;11031:18;;;11024:30;-1:-1:-1;;;11070:18:1;;;11063:47;11127:18;;16606:115:0;10810:341:1;16606:115:0;16751:12;;16741:6;:22;;:51;;;-1:-1:-1;;;;;;16767:25:0;;;;;;:17;:25;;;;;;;;16741:51;:83;;;-1:-1:-1;;;;;;16796:28:0;;;;;;:17;:28;;;;;;;;16741:83;16733:113;;;;-1:-1:-1;;;16733:113:0;;11012:2:1;16733:113:0;;;10994:21:1;11051:2;11031:18;;;11024:30;-1:-1:-1;;;11070:18:1;;;11063:47;11127:18;;16733:113:0;10810:341:1;16733:113:0;16874:4;;-1:-1:-1;;;;;16861:17:0;;;16874:4;;16861:17;:47;;;;-1:-1:-1;;;;;;16883:25:0;;;;;;:17;:25;;;;;;;;16882:26;16861:47;16858:77;;;16931:1;16910:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;16858:77:0;16948:45;16967:6;16975:9;16986:6;16948:18;:45::i;:::-;16945:158;;;16995:82;17010:66;17014:6;17021:54;17025:24;17043:4;-1:-1:-1;;;;;9654:18:0;9637:7;9654:18;;;:9;:18;;;;;;;9571:103;17025:24;17060:14;6808:1;17060:2;:14;:::i;:::-;17050:24;;:7;:24;:::i;:::-;17021:3;:54::i;17010:66::-;16995:14;:82::i;:::-;17099:1;17079:9;:22;16945:158;17113:22;17138:32;17152:6;17160:9;17138:13;:32::i;:::-;:78;;17210:6;17138:78;;;17173:34;17181:6;17189:9;17200:6;17173:7;:34::i;:::-;-1:-1:-1;;;;;17250:20:0;;;;;;:9;:20;;;;;;17113:103;;-1:-1:-1;17250:40:0;;17113:103;17250:24;:40::i;:::-;-1:-1:-1;;;;;17227:20:0;;;;;;;:9;:20;;;;;;:63;;;;17321:17;;;;;;;:29;;17343:6;17321:21;:29::i;:::-;-1:-1:-1;;;;;17301:17:0;;;;;;;:9;:17;;;;;;;;;:49;;;;17366:43;1410:25:1;;;17366:43:0;;;;17301:17;;17366:43;;1383:18:1;17366:43:0;;;;;;;15979:1438;15901:1516;;;:::o;3638:240::-;3758:7;3819:12;3811:6;;;;3803:29;;;;-1:-1:-1;;;3803:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3854:5:0;;;3638:240::o;12537:173::-;7029:8;:15;;-1:-1:-1;;7029:15:0;7040:4;7029:15;;;12608:24:::1;12625:6:::0;12608:16:::1;:24::i;:::-;12651:18;::::0;12643:59:::1;::::0;-1:-1:-1;;;;;12651:18:0;;::::1;::::0;12680:21:::1;12643:59:::0;::::1;;;::::0;12651:18:::1;12643:59:::0;12651:18;12643:59;12680:21;12651:18;12643:59;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7049:8:0;:16;;-1:-1:-1;;7049:16:0;;;12537:173::o;3426:98::-;3484:7;3511:5;3515:1;3511;:5;:::i;3320:98::-;3378:7;3405:5;3409:1;3405;:5;:::i;3108:98::-;3166:7;3193:5;3197:1;3193;:5;:::i;10889:409::-;11034:14;;11109:13;;11099:4;10991;9654:18;;;:9;:18;;;;;;11141:8;;10991:4;;11024:24;;;;-1:-1:-1;11081:41:0;;11141:8;;11140:9;:24;;;;-1:-1:-1;11153:11:0;;-1:-1:-1;;;11153:11:0;;;;11140:24;:42;;;;-1:-1:-1;11168:14:0;;-1:-1:-1;;;11168:14:0;;;;11140:42;:54;;;;;11186:8;11140:54;:84;;;;-1:-1:-1;;;;;;11199:25:0;;;;;;:17;:25;;;;;;;;11198:26;11140:84;:105;;;;-1:-1:-1;11241:4:0;;-1:-1:-1;;;;;11228:17:0;;;11241:4;;11228:17;11140:105;:132;;;;;11262:10;;11249:9;;:23;;11140:132;:150;;;;;11276:14;11140:150;11133:157;10889:409;-1:-1:-1;;;;;;10889:409:0:o;14470:107::-;14527:7;14559:1;14555;:5;14554:15;;14568:1;14554:15;;;-1:-1:-1;14564:1:0;14470:107;-1:-1:-1;14470:107:0:o;14585:172::-;-1:-1:-1;;;;;14691:25:0;;14666:4;14691:25;;;:17;:25;;;;;;;;14690:26;:59;;;;-1:-1:-1;;;;;;;14721:28:0;;;;;:17;:28;;;;;;;;14720:29;;14585:172;-1:-1:-1;14585:172:0:o;15082:811::-;-1:-1:-1;;;;;15244:24:0;;15168:7;15244:24;;;:16;:24;;;;;;15168:7;;;;15244:24;;15240:138;;;-1:-1:-1;15286:6:0;;-1:-1:-1;15307:3:0;15240:138;;;-1:-1:-1;15351:4:0;;-1:-1:-1;15371:5:0;15240:138;15424:1;15391:30;15403:6;15411:9;15391:11;:30::i;:::-;:34;15388:483;;;15437:17;15457:59;15485:30;15497:6;15505:9;15485:11;:30::i;:::-;15457:23;:6;15468:11;15457:10;:23::i;:59::-;-1:-1:-1;;;;;15553:23:0;;;;;;:9;:23;;;;;;15437:79;;-1:-1:-1;15553:38:0;;15437:79;15553:27;:38::i;:::-;-1:-1:-1;;;;;15527:23:0;;;;;;;:9;:23;;;;;;;:64;;;;15607:41;;;;;;;;;;15638:9;1410:25:1;;1398:2;1383:18;;1264:177;15607:41:0;;;;;;;;15680:1;15662:7;;:20;:64;;;;;15719:7;;15686:30;15698:6;15706:9;15686:11;:30::i;:::-;:40;15662:64;15659:148;;;15728:77;15746:4;8157:42;15768:36;15796:7;;15768:23;15779:11;;15768:6;:10;;:23;;;;:::i;:36::-;15728:9;:77::i;:::-;15831:9;15824:6;:16;:45;;15863:6;15824:45;;;15841:21;:6;15852:9;15841:10;:21::i;:::-;15817:52;;;;;;;15388:483;-1:-1:-1;15879:6:0;;15082:811;-1:-1:-1;;;;15082:811:0:o;17425:434::-;17515:16;;;17529:1;17515:16;;;;;;;;17491:21;;17515:16;;;;;;;;;;-1:-1:-1;17515:16:0;17491:40;;17560:4;17542;17547:1;17542:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17542:23:0;;;-1:-1:-1;;;;;17542:23:0;;;;;17586:6;;;;;;;;;-1:-1:-1;;;;;17586:6:0;-1:-1:-1;;;;;17586:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17576:4;17581:1;17576:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17576:23:0;;;:7;;;;;;;;;:23;17642:6;;17610:53;;17627:4;;17642:6;17651:11;17610:8;:53::i;:::-;17674:6;;;:177;;-1:-1:-1;;;17674:177:0;;-1:-1:-1;;;;;17674:6:0;;;;:57;;:177;;17746:11;;17674:6;;17788:4;;17815;;17835:15;;17674:177;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17480:379;17425:434;:::o;14157:305::-;-1:-1:-1;;;;;14259:13:0;;14236:7;14259:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;14276:16:0;;;;;;:5;:16;;;;;;;;14259:33;14256:76;;;14301:11;;:29;;14325:3;14301:15;:29::i;:::-;14294:36;;;;14256:76;14358:4;;-1:-1:-1;;;;;14345:17:0;;;14358:4;;14345:17;14342:38;;;-1:-1:-1;14371:7:0;;14364:14;;14342:38;14403:4;;-1:-1:-1;;;;;14393:14:0;;;14403:4;;14393:14;14390:36;;;-1:-1:-1;14416:8:0;;14409:15;;14390:36;-1:-1:-1;14443:11:0;;14157:305;;;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;1907:247::-;1966:6;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2074:9;2061:23;2093:31;2118:5;2093:31;:::i;2348:118::-;2434:5;2427:13;2420:21;2413:5;2410:32;2400:60;;2456:1;2453;2446:12;2471:382;2536:6;2544;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;:::-;2721:5;-1:-1:-1;2778:2:1;2763:18;;2750:32;2791:30;2750:32;2791:30;:::i;:::-;2840:7;2830:17;;;2471:382;;;;;:::o;2858:316::-;2935:6;2943;2951;3004:2;2992:9;2983:7;2979:23;2975:32;2972:52;;;3020:1;3017;3010:12;2972:52;-1:-1:-1;;3043:23:1;;;3113:2;3098:18;;3085:32;;-1:-1:-1;3164:2:1;3149:18;;;3136:32;;2858:316;-1:-1:-1;2858:316:1:o;3179:592::-;3292:6;3300;3308;3316;3324;3332;3340;3393:3;3381:9;3372:7;3368:23;3364:33;3361:53;;;3410:1;3407;3400:12;3361:53;-1:-1:-1;;3433:23:1;;;3503:2;3488:18;;3475:32;;-1:-1:-1;3554:2:1;3539:18;;3526:32;;3605:2;3590:18;;3577:32;;-1:-1:-1;3656:3:1;3641:19;;3628:33;;-1:-1:-1;3708:3:1;3693:19;;3680:33;;-1:-1:-1;3760:3:1;3745:19;3732:33;;-1:-1:-1;3179:592:1;-1:-1:-1;3179:592:1:o;3984:750::-;4076:6;4084;4092;4145:2;4133:9;4124:7;4120:23;4116:32;4113:52;;;4161:1;4158;4151:12;4113:52;4201:9;4188:23;4230:18;4271:2;4263:6;4260:14;4257:34;;;4287:1;4284;4277:12;4257:34;4325:6;4314:9;4310:22;4300:32;;4370:7;4363:4;4359:2;4355:13;4351:27;4341:55;;4392:1;4389;4382:12;4341:55;4432:2;4419:16;4458:2;4450:6;4447:14;4444:34;;;4474:1;4471;4464:12;4444:34;4529:7;4522:4;4512:6;4509:1;4505:14;4501:2;4497:23;4493:34;4490:47;4487:67;;;4550:1;4547;4540:12;4487:67;4581:4;4573:13;;;;-1:-1:-1;4605:6:1;-1:-1:-1;;4646:20:1;;4633:34;4676:28;4633:34;4676:28;:::i;:::-;4723:5;4713:15;;;3984:750;;;;;:::o;4739:388::-;4807:6;4815;4868:2;4856:9;4847:7;4843:23;4839:32;4836:52;;;4884:1;4881;4874:12;4836:52;4923:9;4910:23;4942:31;4967:5;4942:31;:::i;:::-;4992:5;-1:-1:-1;5049:2:1;5034:18;;5021:32;5062:33;5021:32;5062:33;:::i;5132:529::-;5209:6;5217;5225;5278:2;5266:9;5257:7;5253:23;5249:32;5246:52;;;5294:1;5291;5284:12;5246:52;5333:9;5320:23;5352:31;5377:5;5352:31;:::i;:::-;5402:5;-1:-1:-1;5459:2:1;5444:18;;5431:32;5472:33;5431:32;5472:33;:::i;:::-;5524:7;-1:-1:-1;5583:2:1;5568:18;;5555:32;5596:33;5555:32;5596:33;:::i;5666:329::-;5868:2;5850:21;;;5907:1;5887:18;;;5880:29;-1:-1:-1;;;5940:2:1;5925:18;;5918:36;5986:2;5971:18;;5666:329::o;6000:408::-;6202:2;6184:21;;;6241:2;6221:18;;;6214:30;6280:34;6275:2;6260:18;;6253:62;-1:-1:-1;;;6346:2:1;6331:18;;6324:42;6398:3;6383:19;;6000:408::o;6413:184::-;6483:6;6536:2;6524:9;6515:7;6511:23;6507:32;6504:52;;;6552:1;6549;6542:12;6504:52;-1:-1:-1;6575:16:1;;6413:184;-1:-1:-1;6413:184:1:o;6881:245::-;6948:6;7001:2;6989:9;6980:7;6976:23;6972:32;6969:52;;;7017:1;7014;7007:12;6969:52;7049:9;7043:16;7068:28;7090:5;7068:28;:::i;7546:127::-;7607:10;7602:3;7598:20;7595:1;7588:31;7638:4;7635:1;7628:15;7662:4;7659:1;7652:15;7678:127;7739:10;7734:3;7730:20;7727:1;7720:31;7770:4;7767:1;7760:15;7794:4;7791:1;7784:15;7810:135;7849:3;-1:-1:-1;;7870:17:1;;7867:43;;;7890:18;;:::i;:::-;-1:-1:-1;7937:1:1;7926:13;;7810:135::o;8758:125::-;8798:4;8826:1;8823;8820:8;8817:34;;;8831:18;;:::i;:::-;-1:-1:-1;8868:9:1;;8758:125::o;11156:128::-;11196:3;11227:1;11223:6;11220:1;11217:13;11214:39;;;11233:18;;:::i;:::-;-1:-1:-1;11269:9:1;;11156:128::o;11289:422::-;11378:1;11421:5;11378:1;11435:270;11456:7;11446:8;11443:21;11435:270;;;11515:4;11511:1;11507:6;11503:17;11497:4;11494:27;11491:53;;;11524:18;;:::i;:::-;11574:7;11564:8;11560:22;11557:55;;;11594:16;;;;11557:55;11673:22;;;;11633:15;;;;11435:270;;;11439:3;11289:422;;;;;:::o;11716:806::-;11765:5;11795:8;11785:80;;-1:-1:-1;11836:1:1;11850:5;;11785:80;11884:4;11874:76;;-1:-1:-1;11921:1:1;11935:5;;11874:76;11966:4;11984:1;11979:59;;;;12052:1;12047:130;;;;11959:218;;11979:59;12009:1;12000:10;;12023:5;;;12047:130;12084:3;12074:8;12071:17;12068:43;;;12091:18;;:::i;:::-;-1:-1:-1;;12147:1:1;12133:16;;12162:5;;11959:218;;12261:2;12251:8;12248:16;12242:3;12236:4;12233:13;12229:36;12223:2;12213:8;12210:16;12205:2;12199:4;12196:12;12192:35;12189:77;12186:159;;;-1:-1:-1;12298:19:1;;;12330:5;;12186:159;12377:34;12402:8;12396:4;12377:34;:::i;:::-;12447:6;12443:1;12439:6;12435:19;12426:7;12423:32;12420:58;;;12458:18;;:::i;:::-;12496:20;;11716:806;-1:-1:-1;;;11716:806:1:o;12527:140::-;12585:5;12614:47;12655:4;12645:8;12641:19;12635:4;12614:47;:::i;12672:168::-;12712:7;12778:1;12774;12770:6;12766:14;12763:1;12760:21;12755:1;12748:9;12741:17;12737:45;12734:71;;;12785:18;;:::i;:::-;-1:-1:-1;12825:9:1;;12672:168::o;12845:217::-;12885:1;12911;12901:132;;12955:10;12950:3;12946:20;12943:1;12936:31;12990:4;12987:1;12980:15;13018:4;13015:1;13008:15;12901:132;-1:-1:-1;13047:9:1;;12845:217::o;13199:251::-;13269:6;13322:2;13310:9;13301:7;13297:23;13293:32;13290:52;;;13338:1;13335;13328:12;13290:52;13370:9;13364:16;13389:31;13414:5;13389:31;:::i;13455:980::-;13717:4;13765:3;13754:9;13750:19;13796:6;13785:9;13778:25;13822:2;13860:6;13855:2;13844:9;13840:18;13833:34;13903:3;13898:2;13887:9;13883:18;13876:31;13927:6;13962;13956:13;13993:6;13985;13978:22;14031:3;14020:9;14016:19;14009:26;;14070:2;14062:6;14058:15;14044:29;;14091:1;14101:195;14115:6;14112:1;14109:13;14101:195;;;14180:13;;-1:-1:-1;;;;;14176:39:1;14164:52;;14271:15;;;;14236:12;;;;14212:1;14130:9;14101:195;;;-1:-1:-1;;;;;;;14352:32:1;;;;14347:2;14332:18;;14325:60;-1:-1:-1;;;14416:3:1;14401:19;14394:35;14313:3;13455:980;-1:-1:-1;;;13455:980:1:o
Swarm Source
ipfs://2a9feb84e27fd95ba4c022fb83d18dba280dc3ceee38a22e0fcb24a676e76ba7
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.