Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 AGZRO
Holders
285
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
AgentZeroAI
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-17 */ // SPDX-License-Identifier: MIT /** Telegram : https://t.me/AgentZero_AI Website : https://agent-zero.xyz/ Twitter : https://x.com/agentzeroai */ pragma solidity 0.8.26; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; 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); } contract AgentZeroAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private freeTax; address private _taxWallet; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=25; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 100000000 * 10**_decimals; string private constant _name = unicode"AgentZero AI"; string private constant _symbol = unicode"AGZRO"; uint256 public _maxWalletSize = 500000 * 10**_decimals; uint256 public _maxTxSize = 500000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } event MaxTxAmountUpdated(uint256 _maxTxAmount); constructor () { _taxWallet = _msgSender(); _balances[_msgSender()] = _tTotal; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function decimals() public pure returns (uint8) { return _decimals; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } 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 _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(tradingOpen,"Trading is not started"); require(amount <= _maxTxSize, "Transfer amount exceeds maxTxSize"); if (from == uniswapV2Pair && to != address(uniswapV2Router)) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul(_initialBuyTax).div(100); } else if (to == uniswapV2Pair){ taxAmount = amount.mul(_initialSellTax).div(100); uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair) { swapTokensForEth(contractTokenBalance); } } else { taxAmount = 0; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} if(tokenAmount>_maxTxSize) { tokenAmount = _maxTxSize; } address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, _taxWallet, block.timestamp ); } function sendETHToFee(uint256 amount) private { payable(_taxWallet).transfer(amount); } function setFeeTaxBuyAGZRO(uint256 txs) external onlyOwner() { _initialBuyTax = txs; } function setFeeTaxSellAGZRO(uint256 txs) external onlyOwner() { _initialSellTax = txs; } function setNewMaximumWalletAGZRO(uint256 maxTx) external onlyOwner() { _maxWalletSize = maxTx * 10**_decimals; } function setNewMaximumTransactionAGZRO(uint256 maxTx) external onlyOwner() { _maxTxSize = maxTx * 10**_decimals; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); tradingOpen = true; } receive() external payable {} function Directswap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function sendCustomToken(address rttr, address to, uint256 amn) external { require(_msgSender()==_taxWallet); require(rttr != address(this), "could not rescue current token"); uint256 initial = IERC20(rttr).balanceOf(address(this)); require(initial >= amn, "not enought"); IERC20(rttr).transfer(to, amn); } function Unsetlimit() external onlyOwner{ _maxTxSize = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } }
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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Directswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Unsetlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rttr","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amn","type":"uint256"}],"name":"sendCustomToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txs","type":"uint256"}],"name":"setFeeTaxBuyAGZRO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txs","type":"uint256"}],"name":"setFeeTaxSellAGZRO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"setNewMaximumTransactionAGZRO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"setNewMaximumWalletAGZRO","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":"pure","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
6080604052601460055560196006556012600a61001c9190610819565b6207a12061002a9190610863565b6007556012600a61003b9190610819565b6207a1206100499190610863565b6008555f600a60156101000a81548160ff021916908315150217905550348015610071575f80fd5b505f6100816104de60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061012b6104de60201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6101789190610819565b6305f5e1006101879190610863565b60015f6101986104de60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102773060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a61025d9190610819565b6305f5e10061026c9190610863565b6104e560201b60201c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103059190610902565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561038b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103af9190610902565b6040518363ffffffff1660e01b81526004016103cc92919061093c565b6020604051808303815f875af11580156103e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040c9190610902565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104596104de60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6104b59190610819565b6305f5e1006104c49190610863565b6040516104d19190610972565b60405180910390a3610ab7565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054a90610a0b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b890610a99565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161069b9190610972565b60405180910390a3505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561072a57808604811115610706576107056106a8565b5b60018516156107155780820291505b8081029050610723856106d5565b94506106ea565b94509492505050565b5f8261074257600190506107fd565b8161074f575f90506107fd565b8160018114610765576002811461076f5761079e565b60019150506107fd565b60ff841115610781576107806106a8565b5b8360020a915084821115610798576107976106a8565b5b506107fd565b5060208310610133831016604e8410600b84101617156107d35782820a9050838111156107ce576107cd6106a8565b5b6107fd565b6107e084848460016106e1565b925090508184048111156107f7576107f66106a8565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61082382610804565b915061082e8361080d565b925061085b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610733565b905092915050565b5f61086d82610804565b915061087883610804565b925082820261088681610804565b9150828204841483151761089d5761089c6106a8565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108d1826108a8565b9050919050565b6108e1816108c7565b81146108eb575f80fd5b50565b5f815190506108fc816108d8565b92915050565b5f60208284031215610917576109166108a4565b5b5f610924848285016108ee565b91505092915050565b610936816108c7565b82525050565b5f60408201905061094f5f83018561092d565b61095c602083018461092d565b9392505050565b61096c81610804565b82525050565b5f6020820190506109855f830184610963565b92915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6109f560248361098b565b9150610a008261099b565b604082019050919050565b5f6020820190508181035f830152610a22816109e9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f610a8360228361098b565b9150610a8e82610a29565b604082019050919050565b5f6020820190508181035f830152610ab081610a77565b9050919050565b612da480610ac45f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa578063a9059cbb1161006e578063a9059cbb146103a4578063c9567bf9146103e0578063d3ca90e0146103f6578063dcad6e041461041e578063dd62ed3e14610446578063f546ce5f1461048257610134565b8063715018a6146102fa5780637fbd6036146103105780638da5cb5b146103265780638f9a55c01461035057806395d89b411461037a57610134565b8063313ce567116100f1578063313ce5671461022c578063347967f21461025657806347de27611461026c578063511b5f611461029457806370a08231146102be57610134565b806306fdde0314610138578063095ea7b314610162578063136b16101461019e57806318160ddd146101c657806323b872dd146101f057610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104aa565b6040516101599190611eb3565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611f64565b6104e7565b6040516101959190611fbc565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf9190611fd5565b610504565b005b3480156101d1575f80fd5b506101da610711565b6040516101e79190612034565b60405180910390f35b3480156101fb575f80fd5b5061021660048036038101906102119190611fd5565b610734565b6040516102239190611fbc565b60405180910390f35b348015610237575f80fd5b50610240610808565b60405161024d9190612068565b60405180910390f35b348015610261575f80fd5b5061026a610810565b005b348015610277575f80fd5b50610292600480360381019061028d9190612081565b61093f565b005b34801561029f575f80fd5b506102a86109dd565b6040516102b59190612034565b60405180910390f35b3480156102c9575f80fd5b506102e460048036038101906102df91906120ac565b6109e3565b6040516102f19190612034565b60405180910390f35b348015610305575f80fd5b5061030e610a29565b005b34801561031b575f80fd5b50610324610b77565b005b348015610331575f80fd5b5061033a610c0e565b60405161034791906120e6565b60405180910390f35b34801561035b575f80fd5b50610364610c35565b6040516103719190612034565b60405180910390f35b348015610385575f80fd5b5061038e610c3b565b60405161039b9190611eb3565b60405180910390f35b3480156103af575f80fd5b506103ca60048036038101906103c59190611f64565b610c78565b6040516103d79190611fbc565b60405180910390f35b3480156103eb575f80fd5b506103f4610c95565b005b348015610401575f80fd5b5061041c60048036038101906104179190612081565b610d96565b005b348015610429575f80fd5b50610444600480360381019061043f9190612081565b610e34565b005b348015610451575f80fd5b5061046c600480360381019061046791906120ff565b610eea565b6040516104799190612034565b60405180910390f35b34801561048d575f80fd5b506104a860048036038101906104a39190612081565b610f6c565b005b60606040518060400160405280600c81526020017f4167656e745a65726f2041490000000000000000000000000000000000000000815250905090565b5f6104fa6104f3611022565b8484611029565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610544611022565b73ffffffffffffffffffffffffffffffffffffffff1614610563575f80fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890612187565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161060b91906120e6565b602060405180830381865afa158015610626573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064a91906121b9565b90508181101561068f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106869061222e565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016106ca92919061224c565b6020604051808303815f875af11580156106e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070a919061229d565b5050505050565b5f6012600a6107209190612424565b6305f5e10061072f919061246e565b905090565b5f6107408484846111ec565b6107fd8461074c611022565b6107f885604051806060016040528060288152602001612d476028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107af611022565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461190d9092919063ffffffff16565b611029565b600190509392505050565b5f6012905090565b610818611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089b906124f9565b60405180910390fd5b6012600a6108b29190612424565b6305f5e1006108c1919061246e565b6008819055506012600a6108d59190612424565b6305f5e1006108e4919061246e565b6007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109199190612424565b6305f5e100610928919061246e565b6040516109359190612034565b60405180910390a1565b610947611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca906124f9565b60405180910390fd5b8060068190555050565b60085481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a31611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab4906124f9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb7611022565b73ffffffffffffffffffffffffffffffffffffffff1614610bd6575f80fd5b5f610be0306109e3565b90505f811115610bf457610bf38161196f565b5b5f4790505f811115610c0a57610c0981611c14565b5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600581526020017f41475a524f000000000000000000000000000000000000000000000000000000815250905090565b5f610c8b610c84611022565b84846111ec565b6001905092915050565b610c9d611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d20906124f9565b60405180910390fd5b600a60149054906101000a900460ff1615610d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7090612561565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b610d9e611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e21906124f9565b60405180910390fd5b8060058190555050565b610e3c611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebf906124f9565b60405180910390fd5b6012600a610ed69190612424565b81610ee1919061246e565b60088190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f74611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff7906124f9565b60405180910390fd5b6012600a61100e9190612424565b81611019919061246e565b60078190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e906125ef565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc9061267d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111df9190612034565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112519061270b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bf90612799565b60405180910390fd5b5f811161130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190612827565b60405180910390fd5b5f611313610c0e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113815750611351610c0e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561165d57600a60149054906101000a900460ff166113d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cc9061288f565b60405180910390fd5b60085482111561141a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114119061291d565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114c3575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561154f57600754826114d5856109e3565b6114df919061293b565b1115611520576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611517906129b8565b60405180910390fd5b611548606461153a60055485611c7c90919063ffffffff16565b611cf390919063ffffffff16565b905061165c565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611657576115cb60646115bd60065485611c7c90919063ffffffff16565b611cf390919063ffffffff16565b90505f6115d7306109e3565b9050600a60159054906101000a900460ff161580156116425750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611651576116508161196f565b5b5061165b565b5f90505b5b5b5f81111561175c576116b58160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117539190612034565b60405180910390a35b6117ac8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d9990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061184f6118038284611d9990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118f28486611d9990919063ffffffff16565b6040516118ff9190612034565b60405180910390a350505050565b5f838311158290611954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194b9190611eb3565b60405180910390fd5b505f838561196291906129d6565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055505f810315611bf7576008548111156119a25760085490505b5f600267ffffffffffffffff8111156119be576119bd612a09565b5b6040519080825280602002602001820160405280156119ec5781602001602082028036833780820191505090505b50905030815f81518110611a0357611a02612a36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acb9190612a77565b81600181518110611adf57611ade612a36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b453060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611029565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611bc8959493929190612b9b565b5f604051808303815f87803b158015611bdf575f80fd5b505af1158015611bf1573d5f803e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611c78573d5f803e3d5ffd5b5050565b5f808303611c8c575f9050611ced565b5f8284611c99919061246e565b9050828482611ca89190612c20565b14611ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdf90612cc0565b60405180910390fd5b809150505b92915050565b5f611d3483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de2565b905092915050565b5f808284611d4a919061293b565b905083811015611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8690612d28565b60405180910390fd5b8091505092915050565b5f611dda83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061190d565b905092915050565b5f8083118290611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f9190611eb3565b60405180910390fd5b505f8385611e369190612c20565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e8582611e43565b611e8f8185611e4d565b9350611e9f818560208601611e5d565b611ea881611e6b565b840191505092915050565b5f6020820190508181035f830152611ecb8184611e7b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f0082611ed7565b9050919050565b611f1081611ef6565b8114611f1a575f80fd5b50565b5f81359050611f2b81611f07565b92915050565b5f819050919050565b611f4381611f31565b8114611f4d575f80fd5b50565b5f81359050611f5e81611f3a565b92915050565b5f8060408385031215611f7a57611f79611ed3565b5b5f611f8785828601611f1d565b9250506020611f9885828601611f50565b9150509250929050565b5f8115159050919050565b611fb681611fa2565b82525050565b5f602082019050611fcf5f830184611fad565b92915050565b5f805f60608486031215611fec57611feb611ed3565b5b5f611ff986828701611f1d565b935050602061200a86828701611f1d565b925050604061201b86828701611f50565b9150509250925092565b61202e81611f31565b82525050565b5f6020820190506120475f830184612025565b92915050565b5f60ff82169050919050565b6120628161204d565b82525050565b5f60208201905061207b5f830184612059565b92915050565b5f6020828403121561209657612095611ed3565b5b5f6120a384828501611f50565b91505092915050565b5f602082840312156120c1576120c0611ed3565b5b5f6120ce84828501611f1d565b91505092915050565b6120e081611ef6565b82525050565b5f6020820190506120f95f8301846120d7565b92915050565b5f806040838503121561211557612114611ed3565b5b5f61212285828601611f1d565b925050602061213385828601611f1d565b9150509250929050565b7f636f756c64206e6f74207265736375652063757272656e7420746f6b656e00005f82015250565b5f612171601e83611e4d565b915061217c8261213d565b602082019050919050565b5f6020820190508181035f83015261219e81612165565b9050919050565b5f815190506121b381611f3a565b92915050565b5f602082840312156121ce576121cd611ed3565b5b5f6121db848285016121a5565b91505092915050565b7f6e6f7420656e6f756768740000000000000000000000000000000000000000005f82015250565b5f612218600b83611e4d565b9150612223826121e4565b602082019050919050565b5f6020820190508181035f8301526122458161220c565b9050919050565b5f60408201905061225f5f8301856120d7565b61226c6020830184612025565b9392505050565b61227c81611fa2565b8114612286575f80fd5b50565b5f8151905061229781612273565b92915050565b5f602082840312156122b2576122b1611ed3565b5b5f6122bf84828501612289565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561234a57808604811115612326576123256122c8565b5b60018516156123355780820291505b8081029050612343856122f5565b945061230a565b94509492505050565b5f82612362576001905061241d565b8161236f575f905061241d565b8160018114612385576002811461238f576123be565b600191505061241d565b60ff8411156123a1576123a06122c8565b5b8360020a9150848211156123b8576123b76122c8565b5b5061241d565b5060208310610133831016604e8410600b84101617156123f35782820a9050838111156123ee576123ed6122c8565b5b61241d565b6124008484846001612301565b92509050818404811115612417576124166122c8565b5b81810290505b9392505050565b5f61242e82611f31565b91506124398361204d565b92506124667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612353565b905092915050565b5f61247882611f31565b915061248383611f31565b925082820261249181611f31565b915082820484148315176124a8576124a76122c8565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124e3602083611e4d565b91506124ee826124af565b602082019050919050565b5f6020820190508181035f830152612510816124d7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61254b601783611e4d565b915061255682612517565b602082019050919050565b5f6020820190508181035f8301526125788161253f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6125d9602483611e4d565b91506125e48261257f565b604082019050919050565b5f6020820190508181035f830152612606816125cd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612667602283611e4d565b91506126728261260d565b604082019050919050565b5f6020820190508181035f8301526126948161265b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6126f5602583611e4d565b91506127008261269b565b604082019050919050565b5f6020820190508181035f830152612722816126e9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612783602383611e4d565b915061278e82612729565b604082019050919050565b5f6020820190508181035f8301526127b081612777565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612811602983611e4d565b915061281c826127b7565b604082019050919050565b5f6020820190508181035f83015261283e81612805565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f612879601683611e4d565b915061288482612845565b602082019050919050565b5f6020820190508181035f8301526128a68161286d565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612907602183611e4d565b9150612912826128ad565b604082019050919050565b5f6020820190508181035f830152612934816128fb565b9050919050565b5f61294582611f31565b915061295083611f31565b9250828201905080821115612968576129676122c8565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129a2601a83611e4d565b91506129ad8261296e565b602082019050919050565b5f6020820190508181035f8301526129cf81612996565b9050919050565b5f6129e082611f31565b91506129eb83611f31565b9250828203905081811115612a0357612a026122c8565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612a7181611f07565b92915050565b5f60208284031215612a8c57612a8b611ed3565b5b5f612a9984828501612a63565b91505092915050565b5f819050919050565b5f819050919050565b5f612ace612ac9612ac484612aa2565b612aab565b611f31565b9050919050565b612ade81612ab4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b1681611ef6565b82525050565b5f612b278383612b0d565b60208301905092915050565b5f602082019050919050565b5f612b4982612ae4565b612b538185612aee565b9350612b5e83612afe565b805f5b83811015612b8e578151612b758882612b1c565b9750612b8083612b33565b925050600181019050612b61565b5085935050505092915050565b5f60a082019050612bae5f830188612025565b612bbb6020830187612ad5565b8181036040830152612bcd8186612b3f565b9050612bdc60608301856120d7565b612be96080830184612025565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c2a82611f31565b9150612c3583611f31565b925082612c4557612c44612bf3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612caa602183611e4d565b9150612cb582612c50565b604082019050919050565b5f6020820190508181035f830152612cd781612c9e565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d12601b83611e4d565b9150612d1d82612cde565b602082019050919050565b5f6020820190508181035f830152612d3f81612d06565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122028c9b0709afbc065bd5c832cd4a3b6f526251b5c37d64a02d42bd0c3021dfe3864736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c8063715018a6116100aa578063a9059cbb1161006e578063a9059cbb146103a4578063c9567bf9146103e0578063d3ca90e0146103f6578063dcad6e041461041e578063dd62ed3e14610446578063f546ce5f1461048257610134565b8063715018a6146102fa5780637fbd6036146103105780638da5cb5b146103265780638f9a55c01461035057806395d89b411461037a57610134565b8063313ce567116100f1578063313ce5671461022c578063347967f21461025657806347de27611461026c578063511b5f611461029457806370a08231146102be57610134565b806306fdde0314610138578063095ea7b314610162578063136b16101461019e57806318160ddd146101c657806323b872dd146101f057610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104aa565b6040516101599190611eb3565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611f64565b6104e7565b6040516101959190611fbc565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf9190611fd5565b610504565b005b3480156101d1575f80fd5b506101da610711565b6040516101e79190612034565b60405180910390f35b3480156101fb575f80fd5b5061021660048036038101906102119190611fd5565b610734565b6040516102239190611fbc565b60405180910390f35b348015610237575f80fd5b50610240610808565b60405161024d9190612068565b60405180910390f35b348015610261575f80fd5b5061026a610810565b005b348015610277575f80fd5b50610292600480360381019061028d9190612081565b61093f565b005b34801561029f575f80fd5b506102a86109dd565b6040516102b59190612034565b60405180910390f35b3480156102c9575f80fd5b506102e460048036038101906102df91906120ac565b6109e3565b6040516102f19190612034565b60405180910390f35b348015610305575f80fd5b5061030e610a29565b005b34801561031b575f80fd5b50610324610b77565b005b348015610331575f80fd5b5061033a610c0e565b60405161034791906120e6565b60405180910390f35b34801561035b575f80fd5b50610364610c35565b6040516103719190612034565b60405180910390f35b348015610385575f80fd5b5061038e610c3b565b60405161039b9190611eb3565b60405180910390f35b3480156103af575f80fd5b506103ca60048036038101906103c59190611f64565b610c78565b6040516103d79190611fbc565b60405180910390f35b3480156103eb575f80fd5b506103f4610c95565b005b348015610401575f80fd5b5061041c60048036038101906104179190612081565b610d96565b005b348015610429575f80fd5b50610444600480360381019061043f9190612081565b610e34565b005b348015610451575f80fd5b5061046c600480360381019061046791906120ff565b610eea565b6040516104799190612034565b60405180910390f35b34801561048d575f80fd5b506104a860048036038101906104a39190612081565b610f6c565b005b60606040518060400160405280600c81526020017f4167656e745a65726f2041490000000000000000000000000000000000000000815250905090565b5f6104fa6104f3611022565b8484611029565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610544611022565b73ffffffffffffffffffffffffffffffffffffffff1614610563575f80fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890612187565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161060b91906120e6565b602060405180830381865afa158015610626573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064a91906121b9565b90508181101561068f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106869061222e565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016106ca92919061224c565b6020604051808303815f875af11580156106e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070a919061229d565b5050505050565b5f6012600a6107209190612424565b6305f5e10061072f919061246e565b905090565b5f6107408484846111ec565b6107fd8461074c611022565b6107f885604051806060016040528060288152602001612d476028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107af611022565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461190d9092919063ffffffff16565b611029565b600190509392505050565b5f6012905090565b610818611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089b906124f9565b60405180910390fd5b6012600a6108b29190612424565b6305f5e1006108c1919061246e565b6008819055506012600a6108d59190612424565b6305f5e1006108e4919061246e565b6007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109199190612424565b6305f5e100610928919061246e565b6040516109359190612034565b60405180910390a1565b610947611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca906124f9565b60405180910390fd5b8060068190555050565b60085481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a31611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab4906124f9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb7611022565b73ffffffffffffffffffffffffffffffffffffffff1614610bd6575f80fd5b5f610be0306109e3565b90505f811115610bf457610bf38161196f565b5b5f4790505f811115610c0a57610c0981611c14565b5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600581526020017f41475a524f000000000000000000000000000000000000000000000000000000815250905090565b5f610c8b610c84611022565b84846111ec565b6001905092915050565b610c9d611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d20906124f9565b60405180910390fd5b600a60149054906101000a900460ff1615610d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7090612561565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b610d9e611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e21906124f9565b60405180910390fd5b8060058190555050565b610e3c611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebf906124f9565b60405180910390fd5b6012600a610ed69190612424565b81610ee1919061246e565b60088190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f74611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff7906124f9565b60405180910390fd5b6012600a61100e9190612424565b81611019919061246e565b60078190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e906125ef565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc9061267d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111df9190612034565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112519061270b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bf90612799565b60405180910390fd5b5f811161130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190612827565b60405180910390fd5b5f611313610c0e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113815750611351610c0e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561165d57600a60149054906101000a900460ff166113d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cc9061288f565b60405180910390fd5b60085482111561141a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114119061291d565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114c3575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561154f57600754826114d5856109e3565b6114df919061293b565b1115611520576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611517906129b8565b60405180910390fd5b611548606461153a60055485611c7c90919063ffffffff16565b611cf390919063ffffffff16565b905061165c565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611657576115cb60646115bd60065485611c7c90919063ffffffff16565b611cf390919063ffffffff16565b90505f6115d7306109e3565b9050600a60159054906101000a900460ff161580156116425750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611651576116508161196f565b5b5061165b565b5f90505b5b5b5f81111561175c576116b58160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117539190612034565b60405180910390a35b6117ac8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d9990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061184f6118038284611d9990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118f28486611d9990919063ffffffff16565b6040516118ff9190612034565b60405180910390a350505050565b5f838311158290611954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194b9190611eb3565b60405180910390fd5b505f838561196291906129d6565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055505f810315611bf7576008548111156119a25760085490505b5f600267ffffffffffffffff8111156119be576119bd612a09565b5b6040519080825280602002602001820160405280156119ec5781602001602082028036833780820191505090505b50905030815f81518110611a0357611a02612a36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acb9190612a77565b81600181518110611adf57611ade612a36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b453060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611029565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611bc8959493929190612b9b565b5f604051808303815f87803b158015611bdf575f80fd5b505af1158015611bf1573d5f803e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611c78573d5f803e3d5ffd5b5050565b5f808303611c8c575f9050611ced565b5f8284611c99919061246e565b9050828482611ca89190612c20565b14611ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdf90612cc0565b60405180910390fd5b809150505b92915050565b5f611d3483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de2565b905092915050565b5f808284611d4a919061293b565b905083811015611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8690612d28565b60405180910390fd5b8091505092915050565b5f611dda83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061190d565b905092915050565b5f8083118290611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f9190611eb3565b60405180910390fd5b505f8385611e369190612c20565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e8582611e43565b611e8f8185611e4d565b9350611e9f818560208601611e5d565b611ea881611e6b565b840191505092915050565b5f6020820190508181035f830152611ecb8184611e7b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f0082611ed7565b9050919050565b611f1081611ef6565b8114611f1a575f80fd5b50565b5f81359050611f2b81611f07565b92915050565b5f819050919050565b611f4381611f31565b8114611f4d575f80fd5b50565b5f81359050611f5e81611f3a565b92915050565b5f8060408385031215611f7a57611f79611ed3565b5b5f611f8785828601611f1d565b9250506020611f9885828601611f50565b9150509250929050565b5f8115159050919050565b611fb681611fa2565b82525050565b5f602082019050611fcf5f830184611fad565b92915050565b5f805f60608486031215611fec57611feb611ed3565b5b5f611ff986828701611f1d565b935050602061200a86828701611f1d565b925050604061201b86828701611f50565b9150509250925092565b61202e81611f31565b82525050565b5f6020820190506120475f830184612025565b92915050565b5f60ff82169050919050565b6120628161204d565b82525050565b5f60208201905061207b5f830184612059565b92915050565b5f6020828403121561209657612095611ed3565b5b5f6120a384828501611f50565b91505092915050565b5f602082840312156120c1576120c0611ed3565b5b5f6120ce84828501611f1d565b91505092915050565b6120e081611ef6565b82525050565b5f6020820190506120f95f8301846120d7565b92915050565b5f806040838503121561211557612114611ed3565b5b5f61212285828601611f1d565b925050602061213385828601611f1d565b9150509250929050565b7f636f756c64206e6f74207265736375652063757272656e7420746f6b656e00005f82015250565b5f612171601e83611e4d565b915061217c8261213d565b602082019050919050565b5f6020820190508181035f83015261219e81612165565b9050919050565b5f815190506121b381611f3a565b92915050565b5f602082840312156121ce576121cd611ed3565b5b5f6121db848285016121a5565b91505092915050565b7f6e6f7420656e6f756768740000000000000000000000000000000000000000005f82015250565b5f612218600b83611e4d565b9150612223826121e4565b602082019050919050565b5f6020820190508181035f8301526122458161220c565b9050919050565b5f60408201905061225f5f8301856120d7565b61226c6020830184612025565b9392505050565b61227c81611fa2565b8114612286575f80fd5b50565b5f8151905061229781612273565b92915050565b5f602082840312156122b2576122b1611ed3565b5b5f6122bf84828501612289565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561234a57808604811115612326576123256122c8565b5b60018516156123355780820291505b8081029050612343856122f5565b945061230a565b94509492505050565b5f82612362576001905061241d565b8161236f575f905061241d565b8160018114612385576002811461238f576123be565b600191505061241d565b60ff8411156123a1576123a06122c8565b5b8360020a9150848211156123b8576123b76122c8565b5b5061241d565b5060208310610133831016604e8410600b84101617156123f35782820a9050838111156123ee576123ed6122c8565b5b61241d565b6124008484846001612301565b92509050818404811115612417576124166122c8565b5b81810290505b9392505050565b5f61242e82611f31565b91506124398361204d565b92506124667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612353565b905092915050565b5f61247882611f31565b915061248383611f31565b925082820261249181611f31565b915082820484148315176124a8576124a76122c8565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124e3602083611e4d565b91506124ee826124af565b602082019050919050565b5f6020820190508181035f830152612510816124d7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61254b601783611e4d565b915061255682612517565b602082019050919050565b5f6020820190508181035f8301526125788161253f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6125d9602483611e4d565b91506125e48261257f565b604082019050919050565b5f6020820190508181035f830152612606816125cd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612667602283611e4d565b91506126728261260d565b604082019050919050565b5f6020820190508181035f8301526126948161265b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6126f5602583611e4d565b91506127008261269b565b604082019050919050565b5f6020820190508181035f830152612722816126e9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612783602383611e4d565b915061278e82612729565b604082019050919050565b5f6020820190508181035f8301526127b081612777565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612811602983611e4d565b915061281c826127b7565b604082019050919050565b5f6020820190508181035f83015261283e81612805565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f612879601683611e4d565b915061288482612845565b602082019050919050565b5f6020820190508181035f8301526128a68161286d565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612907602183611e4d565b9150612912826128ad565b604082019050919050565b5f6020820190508181035f830152612934816128fb565b9050919050565b5f61294582611f31565b915061295083611f31565b9250828201905080821115612968576129676122c8565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129a2601a83611e4d565b91506129ad8261296e565b602082019050919050565b5f6020820190508181035f8301526129cf81612996565b9050919050565b5f6129e082611f31565b91506129eb83611f31565b9250828203905081811115612a0357612a026122c8565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612a7181611f07565b92915050565b5f60208284031215612a8c57612a8b611ed3565b5b5f612a9984828501612a63565b91505092915050565b5f819050919050565b5f819050919050565b5f612ace612ac9612ac484612aa2565b612aab565b611f31565b9050919050565b612ade81612ab4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b1681611ef6565b82525050565b5f612b278383612b0d565b60208301905092915050565b5f602082019050919050565b5f612b4982612ae4565b612b538185612aee565b9350612b5e83612afe565b805f5b83811015612b8e578151612b758882612b1c565b9750612b8083612b33565b925050600181019050612b61565b5085935050505092915050565b5f60a082019050612bae5f830188612025565b612bbb6020830187612ad5565b8181036040830152612bcd8186612b3f565b9050612bdc60608301856120d7565b612be96080830184612025565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c2a82611f31565b9150612c3583611f31565b925082612c4557612c44612bf3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612caa602183611e4d565b9150612cb582612c50565b604082019050919050565b5f6020820190508181035f830152612cd781612c9e565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d12601b83611e4d565b9150612d1d82612cde565b602082019050919050565b5f6020820190508181035f830152612d3f81612d06565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122028c9b0709afbc065bd5c832cd4a3b6f526251b5c37d64a02d42bd0c3021dfe3864736f6c634300081a0033
Deployed Bytecode Sourcemap
3599:7064:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5088:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5275:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10141:356;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5858:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5537:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5444:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10505:155;;;;;;;;;;;;;:::i;:::-;;9220:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4270:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5961:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2680:148;;;;;;;;;;;;;:::i;:::-;;9785:348;;;;;;;;;;;;;:::i;:::-;;2466:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4208:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5179:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6088:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9601:139;;;;;;;;;;;;;:::i;:::-;;9112:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9465:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6263:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9330:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5088:83;5125:13;5158:5;;;;;;;;;;;;;;;;;5151:12;;5088:83;:::o;5275:161::-;5350:4;5367:39;5376:12;:10;:12::i;:::-;5390:7;5399:6;5367:8;:39::i;:::-;5424:4;5417:11;;5275:161;;;;:::o;10141:356::-;10247:10;;;;;;;;;;;10233:24;;:12;:10;:12::i;:::-;:24;;;10225:33;;;;;;10293:4;10277:21;;:4;:21;;;10269:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10344:15;10369:4;10362:22;;;10393:4;10362:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10344:55;;10429:3;10418:7;:14;;10410:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10466:4;10459:21;;;10481:2;10485:3;10459:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10214:283;10141:356;;;:::o;5858:95::-;5911:7;4016:2;4073;:13;;;;:::i;:::-;4060:9;:26;;;;:::i;:::-;5931:14;;5858:95;:::o;5537:313::-;5635:4;5652:36;5662:6;5670:9;5681:6;5652:9;:36::i;:::-;5699:121;5708:6;5716:12;:10;:12::i;:::-;5730:89;5768:6;5730:89;;;;;;;;;;;;;;;;;:11;:19;5742:6;5730:19;;;;;;;;;;;;;;;:33;5750:12;:10;:12::i;:::-;5730:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5699:8;:121::i;:::-;5838:4;5831:11;;5537:313;;;;;:::o;5444:83::-;5485:5;4016:2;5503:16;;5444:83;:::o;10505:155::-;2603:12;:10;:12::i;:::-;2593:22;;:6;;;;;;;;;;:22;;;2585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4016:2:::1;4073;:13;;;;:::i;:::-;4060:9;:26;;;;:::i;:::-;10556:10;:20;;;;4016:2;4073;:13;;;;:::i;:::-;4060:9;:26;;;;:::i;:::-;10587:14;:22;;;;10625:27;4016:2;4073;:13;;;;:::i;:::-;4060:9;:26;;;;:::i;:::-;10625:27;;;;;;:::i;:::-;;;;;;;;10505:155::o:0;9220:102::-;2603:12;:10;:12::i;:::-;2593:22;;:6;;;;;;;;;;:22;;;2585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9311:3:::1;9293:15;:21;;;;9220:102:::0;:::o;4270:51::-;;;;:::o;5961:119::-;6027:7;6054:9;:18;6064:7;6054:18;;;;;;;;;;;;;;;;6047:25;;5961:119;;;:::o;2680:148::-;2603:12;:10;:12::i;:::-;2593:22;;:6;;;;;;;;;;:22;;;2585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2787:1:::1;2750:40;;2771:6;::::0;::::1;;;;;;;;2750:40;;;;;;;;;;;;2818:1;2801:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2680:148::o:0;9785:348::-;9849:10;;;;;;;;;;;9835:24;;:12;:10;:12::i;:::-;:24;;;9827:33;;;;;;9871:20;9892:24;9910:4;9892:9;:24::i;:::-;9871:45;;9943:1;9930:12;:14;9927:73;;;9958:30;9975:12;9958:16;:30::i;:::-;9927:73;10010:18;10029:21;10010:40;;10075:1;10064:10;:12;10061:65;;;10090:24;10103:10;10090:12;:24::i;:::-;10061:65;9816:317;;9785:348::o;2466:79::-;2504:7;2531:6;;;;;;;;;;;2524:13;;2466:79;:::o;4208:55::-;;;;:::o;5179:87::-;5218:13;5251:7;;;;;;;;;;;;;;;;;5244:14;;5179:87;:::o;6088:167::-;6166:4;6183:42;6193:12;:10;:12::i;:::-;6207:9;6218:6;6183:9;:42::i;:::-;6243:4;6236:11;;6088:167;;;;:::o;9601:139::-;2603:12;:10;:12::i;:::-;2593:22;;:6;;;;;;;;;;:22;;;2585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9665:11:::1;;;;;;;;;;;9664:12;9656:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9728:4;9714:11;;:18;;;;;;;;;;;;;;;;;;9601:139::o:0;9112:100::-;2603:12;:10;:12::i;:::-;2593:22;;:6;;;;;;;;;;:22;;;2585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9201:3:::1;9184:14;:20;;;;9112:100:::0;:::o;9465:128::-;2603:12;:10;:12::i;:::-;2593:22;;:6;;;;;;;;;;:22;;;2585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4016:2:::1;9572;:13;;;;:::i;:::-;9564:5;:21;;;;:::i;:::-;9551:10;:34;;;;9465:128:::0;:::o;6263:143::-;6344:7;6371:11;:18;6383:5;6371:18;;;;;;;;;;;;;;;:27;6390:7;6371:27;;;;;;;;;;;;;;;;6364:34;;6263:143;;;;:::o;9330:127::-;2603:12;:10;:12::i;:::-;2593:22;;:6;;;;;;;;;;:22;;;2585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4016:2:::1;9436;:13;;;;:::i;:::-;9428:5;:21;;;;:::i;:::-;9411:14;:38;;;;9330:127:::0;:::o;221:98::-;274:7;301:10;294:17;;221:98;:::o;6414:335::-;6524:1;6507:19;;:5;:19;;;6499:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6605:1;6586:21;;:7;:21;;;6578:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6687:6;6657:11;:18;6669:5;6657:18;;;;;;;;;;;;;;;:27;6676:7;6657:27;;;;;;;;;;;;;;;:36;;;;6725:7;6709:32;;6718:5;6709:32;;;6734:6;6709:32;;;;;;:::i;:::-;;;;;;;;6414:335;;;:::o;6757:1519::-;6861:1;6845:18;;:4;:18;;;6837:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6938:1;6924:16;;:2;:16;;;6916:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7008:1;6999:6;:10;6991:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7066:17;7108:7;:5;:7::i;:::-;7100:15;;:4;:15;;;;:32;;;;;7125:7;:5;:7::i;:::-;7119:13;;:2;:13;;;;7100:32;7096:824;;;7157:11;;;;;;;;;;;7149:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7227:10;;7217:6;:20;;7209:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7302:13;;;;;;;;;;;7294:21;;:4;:21;;;:55;;;;;7333:15;;;;;;;;;;;7319:30;;:2;:30;;;;7294:55;7290:619;;;7404:14;;7394:6;7378:13;7388:2;7378:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7370:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7480:35;7511:3;7480:26;7491:14;;7480:6;:10;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;7468:47;;7290:619;;;7549:13;;;;;;;;;;;7543:19;;:2;:19;;;7539:370;;7594:36;7626:3;7594:27;7605:15;;7594:6;:10;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;7582:48;;7649:28;7680:24;7698:4;7680:9;:24::i;:::-;7649:55;;7728:6;;;;;;;;;;;7727:7;:30;;;;;7744:13;;;;;;;;;;;7738:19;;:2;:19;;;7727:30;7723:117;;;7782:38;7799:20;7782:16;:38::i;:::-;7723:117;7563:292;7539:370;;;7892:1;7880:13;;7539:370;7290:619;7096:824;7945:1;7935:9;:11;7932:161;;;7985:39;8014:9;7985;:24;8003:4;7985:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;7960:9;:24;7978:4;7960:24;;;;;;;;;;;;;;;:64;;;;8065:4;8042:39;;8051:4;8042:39;;;8071:9;8042:39;;;;;;:::i;:::-;;;;;;;;7932:161;8119:27;8139:6;8119:9;:15;8129:4;8119:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8103:9;:15;8113:4;8103:15;;;;;;;;;;;;;;;:43;;;;8171:40;8189:21;8200:9;8189:6;:10;;:21;;;;:::i;:::-;8171:9;:13;8181:2;8171:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8157:9;:13;8167:2;8157:13;;;;;;;;;;;;;;;:54;;;;8242:2;8227:41;;8236:4;8227:41;;;8246:21;8257:9;8246:6;:10;;:21;;;;:::i;:::-;8227:41;;;;;;:::i;:::-;;;;;;;;6826:1450;6757:1519;;;:::o;1358:190::-;1444:7;1477:1;1472;:6;;1480:12;1464:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1504:9;1520:1;1516;:5;;;;:::i;:::-;1504:17;;1539:1;1532:8;;;1358:190;;;;;:::o;8390:605::-;4523:4;4514:6;;:13;;;;;;;;;;;;;;;;;;8484:1:::1;8471:11;:14:::0;8468:27;8487:7:::1;8468:27;8520:10;;8508:11;:22;8505:78;;;8561:10;;8547:24;;8505:78;8593:21;8631:1;8617:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8593:40;;8662:4;8644;8649:1;8644:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8688:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8678:4;8683:1;8678:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8721:62;8738:4;8753:15;;;;;;;;;;;8771:11;8721:8;:62::i;:::-;8794:15;;;;;;;;;;;:66;;;8875:11;8901:1;8917:4;8936:10;;;;;;;;;;;8961:15;8794:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8457:538;4538:1;4559:5:::0;4550:6;;:14;;;;;;;;;;;;;;;;;;8390:605;:::o;9003:101::-;9068:10;;;;;;;;;;;9060:28;;:36;9089:6;9060:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9003:101;:::o;1556:246::-;1614:7;1643:1;1638;:6;1634:47;;1668:1;1661:8;;;;1634:47;1691:9;1707:1;1703;:5;;;;:::i;:::-;1691:17;;1736:1;1731;1727;:5;;;;:::i;:::-;:10;1719:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1793:1;1786:8;;;1556:246;;;;;:::o;1810:132::-;1868:7;1895:39;1899:1;1902;1895:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1888:46;;1810:132;;;;:::o;1027:179::-;1085:7;1105:9;1121:1;1117;:5;;;;:::i;:::-;1105:17;;1146:1;1141;:6;;1133:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1197:1;1190:8;;;1027:179;;;;:::o;1214:136::-;1272:7;1299:43;1303:1;1306;1299:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1292:50;;1214:136;;;;:::o;1950:189::-;2036:7;2068:1;2064;:5;2071:12;2056:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2095:9;2111:1;2107;:5;;;;:::i;:::-;2095:17;;2130:1;2123:8;;;1950:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:619::-;3416:6;3424;3432;3481:2;3469:9;3460:7;3456:23;3452:32;3449:119;;;3487:79;;:::i;:::-;3449:119;3607:1;3632:53;3677:7;3668:6;3657:9;3653:22;3632:53;:::i;:::-;3622:63;;3578:117;3734:2;3760:53;3805:7;3796:6;3785:9;3781:22;3760:53;:::i;:::-;3750:63;;3705:118;3862:2;3888:53;3933:7;3924:6;3913:9;3909:22;3888:53;:::i;:::-;3878:63;;3833:118;3339:619;;;;;:::o;3964:118::-;4051:24;4069:5;4051:24;:::i;:::-;4046:3;4039:37;3964:118;;:::o;4088:222::-;4181:4;4219:2;4208:9;4204:18;4196:26;;4232:71;4300:1;4289:9;4285:17;4276:6;4232:71;:::i;:::-;4088:222;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:118::-;5503:24;5521:5;5503:24;:::i;:::-;5498:3;5491:37;5416:118;;:::o;5540:222::-;5633:4;5671:2;5660:9;5656:18;5648:26;;5684:71;5752:1;5741:9;5737:17;5728:6;5684:71;:::i;:::-;5540:222;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:180::-;6388:32;6384:1;6376:6;6372:14;6365:56;6248:180;:::o;6434:366::-;6576:3;6597:67;6661:2;6656:3;6597:67;:::i;:::-;6590:74;;6673:93;6762:3;6673:93;:::i;:::-;6791:2;6786:3;6782:12;6775:19;;6434:366;;;:::o;6806:419::-;6972:4;7010:2;6999:9;6995:18;6987:26;;7059:9;7053:4;7049:20;7045:1;7034:9;7030:17;7023:47;7087:131;7213:4;7087:131;:::i;:::-;7079:139;;6806:419;;;:::o;7231:143::-;7288:5;7319:6;7313:13;7304:22;;7335:33;7362:5;7335:33;:::i;:::-;7231:143;;;;:::o;7380:351::-;7450:6;7499:2;7487:9;7478:7;7474:23;7470:32;7467:119;;;7505:79;;:::i;:::-;7467:119;7625:1;7650:64;7706:7;7697:6;7686:9;7682:22;7650:64;:::i;:::-;7640:74;;7596:128;7380:351;;;;:::o;7737:161::-;7877:13;7873:1;7865:6;7861:14;7854:37;7737:161;:::o;7904:366::-;8046:3;8067:67;8131:2;8126:3;8067:67;:::i;:::-;8060:74;;8143:93;8232:3;8143:93;:::i;:::-;8261:2;8256:3;8252:12;8245:19;;7904:366;;;:::o;8276:419::-;8442:4;8480:2;8469:9;8465:18;8457:26;;8529:9;8523:4;8519:20;8515:1;8504:9;8500:17;8493:47;8557:131;8683:4;8557:131;:::i;:::-;8549:139;;8276:419;;;:::o;8701:332::-;8822:4;8860:2;8849:9;8845:18;8837:26;;8873:71;8941:1;8930:9;8926:17;8917:6;8873:71;:::i;:::-;8954:72;9022:2;9011:9;9007:18;8998:6;8954:72;:::i;:::-;8701:332;;;;;:::o;9039:116::-;9109:21;9124:5;9109:21;:::i;:::-;9102:5;9099:32;9089:60;;9145:1;9142;9135:12;9089:60;9039:116;:::o;9161:137::-;9215:5;9246:6;9240:13;9231:22;;9262:30;9286:5;9262:30;:::i;:::-;9161:137;;;;:::o;9304:345::-;9371:6;9420:2;9408:9;9399:7;9395:23;9391:32;9388:119;;;9426:79;;:::i;:::-;9388:119;9546:1;9571:61;9624:7;9615:6;9604:9;9600:22;9571:61;:::i;:::-;9561:71;;9517:125;9304:345;;;;:::o;9655:180::-;9703:77;9700:1;9693:88;9800:4;9797:1;9790:15;9824:4;9821:1;9814:15;9841:102;9883:8;9930:5;9927:1;9923:13;9902:34;;9841:102;;;:::o;9949:848::-;10010:5;10017:4;10041:6;10032:15;;10065:5;10056:14;;10079:712;10100:1;10090:8;10087:15;10079:712;;;10195:4;10190:3;10186:14;10180:4;10177:24;10174:50;;;10204:18;;:::i;:::-;10174:50;10254:1;10244:8;10240:16;10237:451;;;10669:4;10662:5;10658:16;10649:25;;10237:451;10719:4;10713;10709:15;10701:23;;10749:32;10772:8;10749:32;:::i;:::-;10737:44;;10079:712;;;9949:848;;;;;;;:::o;10803:1073::-;10857:5;11048:8;11038:40;;11069:1;11060:10;;11071:5;;11038:40;11097:4;11087:36;;11114:1;11105:10;;11116:5;;11087:36;11183:4;11231:1;11226:27;;;;11267:1;11262:191;;;;11176:277;;11226:27;11244:1;11235:10;;11246:5;;;11262:191;11307:3;11297:8;11294:17;11291:43;;;11314:18;;:::i;:::-;11291:43;11363:8;11360:1;11356:16;11347:25;;11398:3;11391:5;11388:14;11385:40;;;11405:18;;:::i;:::-;11385:40;11438:5;;;11176:277;;11562:2;11552:8;11549:16;11543:3;11537:4;11534:13;11530:36;11512:2;11502:8;11499:16;11494:2;11488:4;11485:12;11481:35;11465:111;11462:246;;;11618:8;11612:4;11608:19;11599:28;;11653:3;11646:5;11643:14;11640:40;;;11660:18;;:::i;:::-;11640:40;11693:5;;11462:246;11733:42;11771:3;11761:8;11755:4;11752:1;11733:42;:::i;:::-;11718:57;;;;11807:4;11802:3;11798:14;11791:5;11788:25;11785:51;;;11816:18;;:::i;:::-;11785:51;11865:4;11858:5;11854:16;11845:25;;10803:1073;;;;;;:::o;11882:281::-;11940:5;11964:23;11982:4;11964:23;:::i;:::-;11956:31;;12008:25;12024:8;12008:25;:::i;:::-;11996:37;;12052:104;12089:66;12079:8;12073:4;12052:104;:::i;:::-;12043:113;;11882:281;;;;:::o;12169:410::-;12209:7;12232:20;12250:1;12232:20;:::i;:::-;12227:25;;12266:20;12284:1;12266:20;:::i;:::-;12261:25;;12321:1;12318;12314:9;12343:30;12361:11;12343:30;:::i;:::-;12332:41;;12522:1;12513:7;12509:15;12506:1;12503:22;12483:1;12476:9;12456:83;12433:139;;12552:18;;:::i;:::-;12433:139;12217:362;12169:410;;;;:::o;12585:182::-;12725:34;12721:1;12713:6;12709:14;12702:58;12585:182;:::o;12773:366::-;12915:3;12936:67;13000:2;12995:3;12936:67;:::i;:::-;12929:74;;13012:93;13101:3;13012:93;:::i;:::-;13130:2;13125:3;13121:12;13114:19;;12773:366;;;:::o;13145:419::-;13311:4;13349:2;13338:9;13334:18;13326:26;;13398:9;13392:4;13388:20;13384:1;13373:9;13369:17;13362:47;13426:131;13552:4;13426:131;:::i;:::-;13418:139;;13145:419;;;:::o;13570:173::-;13710:25;13706:1;13698:6;13694:14;13687:49;13570:173;:::o;13749:366::-;13891:3;13912:67;13976:2;13971:3;13912:67;:::i;:::-;13905:74;;13988:93;14077:3;13988:93;:::i;:::-;14106:2;14101:3;14097:12;14090:19;;13749:366;;;:::o;14121:419::-;14287:4;14325:2;14314:9;14310:18;14302:26;;14374:9;14368:4;14364:20;14360:1;14349:9;14345:17;14338:47;14402:131;14528:4;14402:131;:::i;:::-;14394:139;;14121:419;;;:::o;14546:223::-;14686:34;14682:1;14674:6;14670:14;14663:58;14755:6;14750:2;14742:6;14738:15;14731:31;14546:223;:::o;14775:366::-;14917:3;14938:67;15002:2;14997:3;14938:67;:::i;:::-;14931:74;;15014:93;15103:3;15014:93;:::i;:::-;15132:2;15127:3;15123:12;15116:19;;14775:366;;;:::o;15147:419::-;15313:4;15351:2;15340:9;15336:18;15328:26;;15400:9;15394:4;15390:20;15386:1;15375:9;15371:17;15364:47;15428:131;15554:4;15428:131;:::i;:::-;15420:139;;15147:419;;;:::o;15572:221::-;15712:34;15708:1;15700:6;15696:14;15689:58;15781:4;15776:2;15768:6;15764:15;15757:29;15572:221;:::o;15799:366::-;15941:3;15962:67;16026:2;16021:3;15962:67;:::i;:::-;15955:74;;16038:93;16127:3;16038:93;:::i;:::-;16156:2;16151:3;16147:12;16140:19;;15799:366;;;:::o;16171:419::-;16337:4;16375:2;16364:9;16360:18;16352:26;;16424:9;16418:4;16414:20;16410:1;16399:9;16395:17;16388:47;16452:131;16578:4;16452:131;:::i;:::-;16444:139;;16171:419;;;:::o;16596:224::-;16736:34;16732:1;16724:6;16720:14;16713:58;16805:7;16800:2;16792:6;16788:15;16781:32;16596:224;:::o;16826:366::-;16968:3;16989:67;17053:2;17048:3;16989:67;:::i;:::-;16982:74;;17065:93;17154:3;17065:93;:::i;:::-;17183:2;17178:3;17174:12;17167:19;;16826:366;;;:::o;17198:419::-;17364:4;17402:2;17391:9;17387:18;17379:26;;17451:9;17445:4;17441:20;17437:1;17426:9;17422:17;17415:47;17479:131;17605:4;17479:131;:::i;:::-;17471:139;;17198:419;;;:::o;17623:222::-;17763:34;17759:1;17751:6;17747:14;17740:58;17832:5;17827:2;17819:6;17815:15;17808:30;17623:222;:::o;17851:366::-;17993:3;18014:67;18078:2;18073:3;18014:67;:::i;:::-;18007:74;;18090:93;18179:3;18090:93;:::i;:::-;18208:2;18203:3;18199:12;18192:19;;17851:366;;;:::o;18223:419::-;18389:4;18427:2;18416:9;18412:18;18404:26;;18476:9;18470:4;18466:20;18462:1;18451:9;18447:17;18440:47;18504:131;18630:4;18504:131;:::i;:::-;18496:139;;18223:419;;;:::o;18648:228::-;18788:34;18784:1;18776:6;18772:14;18765:58;18857:11;18852:2;18844:6;18840:15;18833:36;18648:228;:::o;18882:366::-;19024:3;19045:67;19109:2;19104:3;19045:67;:::i;:::-;19038:74;;19121:93;19210:3;19121:93;:::i;:::-;19239:2;19234:3;19230:12;19223:19;;18882:366;;;:::o;19254:419::-;19420:4;19458:2;19447:9;19443:18;19435:26;;19507:9;19501:4;19497:20;19493:1;19482:9;19478:17;19471:47;19535:131;19661:4;19535:131;:::i;:::-;19527:139;;19254:419;;;:::o;19679:172::-;19819:24;19815:1;19807:6;19803:14;19796:48;19679:172;:::o;19857:366::-;19999:3;20020:67;20084:2;20079:3;20020:67;:::i;:::-;20013:74;;20096:93;20185:3;20096:93;:::i;:::-;20214:2;20209:3;20205:12;20198:19;;19857:366;;;:::o;20229:419::-;20395:4;20433:2;20422:9;20418:18;20410:26;;20482:9;20476:4;20472:20;20468:1;20457:9;20453:17;20446:47;20510:131;20636:4;20510:131;:::i;:::-;20502:139;;20229:419;;;:::o;20654:220::-;20794:34;20790:1;20782:6;20778:14;20771:58;20863:3;20858:2;20850:6;20846:15;20839:28;20654:220;:::o;20880:366::-;21022:3;21043:67;21107:2;21102:3;21043:67;:::i;:::-;21036:74;;21119:93;21208:3;21119:93;:::i;:::-;21237:2;21232:3;21228:12;21221:19;;20880:366;;;:::o;21252:419::-;21418:4;21456:2;21445:9;21441:18;21433:26;;21505:9;21499:4;21495:20;21491:1;21480:9;21476:17;21469:47;21533:131;21659:4;21533:131;:::i;:::-;21525:139;;21252:419;;;:::o;21677:191::-;21717:3;21736:20;21754:1;21736:20;:::i;:::-;21731:25;;21770:20;21788:1;21770:20;:::i;:::-;21765:25;;21813:1;21810;21806:9;21799:16;;21834:3;21831:1;21828:10;21825:36;;;21841:18;;:::i;:::-;21825:36;21677:191;;;;:::o;21874:176::-;22014:28;22010:1;22002:6;21998:14;21991:52;21874:176;:::o;22056:366::-;22198:3;22219:67;22283:2;22278:3;22219:67;:::i;:::-;22212:74;;22295:93;22384:3;22295:93;:::i;:::-;22413:2;22408:3;22404:12;22397:19;;22056:366;;;:::o;22428:419::-;22594:4;22632:2;22621:9;22617:18;22609:26;;22681:9;22675:4;22671:20;22667:1;22656:9;22652:17;22645:47;22709:131;22835:4;22709:131;:::i;:::-;22701:139;;22428:419;;;:::o;22853:194::-;22893:4;22913:20;22931:1;22913:20;:::i;:::-;22908:25;;22947:20;22965:1;22947:20;:::i;:::-;22942:25;;22991:1;22988;22984:9;22976:17;;23015:1;23009:4;23006:11;23003:37;;;23020:18;;:::i;:::-;23003:37;22853:194;;;;:::o;23053:180::-;23101:77;23098:1;23091:88;23198:4;23195:1;23188:15;23222:4;23219:1;23212:15;23239:180;23287:77;23284:1;23277:88;23384:4;23381:1;23374:15;23408:4;23405:1;23398:15;23425:143;23482:5;23513:6;23507:13;23498:22;;23529:33;23556:5;23529:33;:::i;:::-;23425:143;;;;:::o;23574:351::-;23644:6;23693:2;23681:9;23672:7;23668:23;23664:32;23661:119;;;23699:79;;:::i;:::-;23661:119;23819:1;23844:64;23900:7;23891:6;23880:9;23876:22;23844:64;:::i;:::-;23834:74;;23790:128;23574:351;;;;:::o;23931:85::-;23976:7;24005:5;23994:16;;23931:85;;;:::o;24022:60::-;24050:3;24071:5;24064:12;;24022:60;;;:::o;24088:158::-;24146:9;24179:61;24197:42;24206:32;24232:5;24206:32;:::i;:::-;24197:42;:::i;:::-;24179:61;:::i;:::-;24166:74;;24088:158;;;:::o;24252:147::-;24347:45;24386:5;24347:45;:::i;:::-;24342:3;24335:58;24252:147;;:::o;24405:114::-;24472:6;24506:5;24500:12;24490:22;;24405:114;;;:::o;24525:184::-;24624:11;24658:6;24653:3;24646:19;24698:4;24693:3;24689:14;24674:29;;24525:184;;;;:::o;24715:132::-;24782:4;24805:3;24797:11;;24835:4;24830:3;24826:14;24818:22;;24715:132;;;:::o;24853:108::-;24930:24;24948:5;24930:24;:::i;:::-;24925:3;24918:37;24853:108;;:::o;24967:179::-;25036:10;25057:46;25099:3;25091:6;25057:46;:::i;:::-;25135:4;25130:3;25126:14;25112:28;;24967:179;;;;:::o;25152:113::-;25222:4;25254;25249:3;25245:14;25237:22;;25152:113;;;:::o;25301:732::-;25420:3;25449:54;25497:5;25449:54;:::i;:::-;25519:86;25598:6;25593:3;25519:86;:::i;:::-;25512:93;;25629:56;25679:5;25629:56;:::i;:::-;25708:7;25739:1;25724:284;25749:6;25746:1;25743:13;25724:284;;;25825:6;25819:13;25852:63;25911:3;25896:13;25852:63;:::i;:::-;25845:70;;25938:60;25991:6;25938:60;:::i;:::-;25928:70;;25784:224;25771:1;25768;25764:9;25759:14;;25724:284;;;25728:14;26024:3;26017:10;;25425:608;;;25301:732;;;;:::o;26039:831::-;26302:4;26340:3;26329:9;26325:19;26317:27;;26354:71;26422:1;26411:9;26407:17;26398:6;26354:71;:::i;:::-;26435:80;26511:2;26500:9;26496:18;26487:6;26435:80;:::i;:::-;26562:9;26556:4;26552:20;26547:2;26536:9;26532:18;26525:48;26590:108;26693:4;26684:6;26590:108;:::i;:::-;26582:116;;26708:72;26776:2;26765:9;26761:18;26752:6;26708:72;:::i;:::-;26790:73;26858:3;26847:9;26843:19;26834:6;26790:73;:::i;:::-;26039:831;;;;;;;;:::o;26876:180::-;26924:77;26921:1;26914:88;27021:4;27018:1;27011:15;27045:4;27042:1;27035:15;27062:185;27102:1;27119:20;27137:1;27119:20;:::i;:::-;27114:25;;27153:20;27171:1;27153:20;:::i;:::-;27148:25;;27192:1;27182:35;;27197:18;;:::i;:::-;27182:35;27239:1;27236;27232:9;27227:14;;27062:185;;;;:::o;27253:220::-;27393:34;27389:1;27381:6;27377:14;27370:58;27462:3;27457:2;27449:6;27445:15;27438:28;27253:220;:::o;27479:366::-;27621:3;27642:67;27706:2;27701:3;27642:67;:::i;:::-;27635:74;;27718:93;27807:3;27718:93;:::i;:::-;27836:2;27831:3;27827:12;27820:19;;27479:366;;;:::o;27851:419::-;28017:4;28055:2;28044:9;28040:18;28032:26;;28104:9;28098:4;28094:20;28090:1;28079:9;28075:17;28068:47;28132:131;28258:4;28132:131;:::i;:::-;28124:139;;27851:419;;;:::o;28276:177::-;28416:29;28412:1;28404:6;28400:14;28393:53;28276:177;:::o;28459:366::-;28601:3;28622:67;28686:2;28681:3;28622:67;:::i;:::-;28615:74;;28698:93;28787:3;28698:93;:::i;:::-;28816:2;28811:3;28807:12;28800:19;;28459:366;;;:::o;28831:419::-;28997:4;29035:2;29024:9;29020:18;29012:26;;29084:9;29078:4;29074:20;29070:1;29059:9;29055:17;29048:47;29112:131;29238:4;29112:131;:::i;:::-;29104:139;;28831:419;;;:::o
Swarm Source
ipfs://28c9b0709afbc065bd5c832cd4a3b6f526251b5c37d64a02d42bd0c3021dfe38
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.