ERC-20
Overview
Max Total Supply
100,000,000 OPNAI
Holders
435
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
8,907.648113116991655895 OPNAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
OpenAgentsAI
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-14 */ // SPDX-License-Identifier: MIT /* The Intelligent Copilot for Tomorrow Revolutionizing Blockchain Through Agentic Payments and Automated Financial Solutions OpenAgents AI is building the infrastructure that transforms finance into a truly autonomous and accessible system for all, powered by AI and blockchain technology. Telegram : https://t.me/OpenAgents_AI Website : https://openagents-ai.io Twitter : https://twitter.com/OpenAgents_AI */ 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 OpenAgentsAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private feeTax; address private _taxFund; uint256 private _buyFee = 25; uint256 private _sellFee = 25; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 100000000 * 10 ** 18; string private constant _name = unicode"OpenAgents AI"; string private constant _symbol = unicode"OPNAI"; uint256 public _maxWalletAmount = 500000 * 10 ** 18; uint256 public _maxTxAmount = 500000 * 10 ** 18; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } event MaxTxAmountUpdated(uint256 _maxTxAmount); constructor () { _taxFund = _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 <= _maxTxAmount, "Transfer amount exceeds maxTxSize"); if (from == uniswapV2Pair && to != address(uniswapV2Router)) { require(balanceOf(to) + amount <= _maxWalletAmount, "Exceeds the maxWalletSize."); taxAmount = amount.mul(_buyFee).div(100); } else if (to == uniswapV2Pair){ taxAmount = amount.mul(_sellFee).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>_maxTxAmount) { tokenAmount = _maxTxAmount; } 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, _taxFund, block.timestamp ); } function sendETHToFee(uint256 amount) private { payable(_taxFund).transfer(amount); } function setbuyFee(uint256 fee) external onlyOwner() { _buyFee = fee; } function setsellFee(uint256 fee) external onlyOwner() { _sellFee = fee; } function updateMaxWalletLimit(uint256 maxWallet) external onlyOwner() { _maxWalletAmount = maxWallet * 10 ** 18; } function updateMaxTransactionLimit(uint256 maxTx) external onlyOwner() { _maxTxAmount = maxTx * 10 ** 18; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); tradingOpen = true; } receive() external payable {} function swapTokensAndSendETH() external { require(_msgSender() == _taxFund, "Unauthorized caller"); uint256 tokenBalance = balanceOf(address(this)); require(tokenBalance > 0, "No tokens to swap"); swapTokensForEth(tokenBalance); uint256 ethBalance = address(this).balance; require(ethBalance > 0, "No ETH to send"); sendETHToFee(ethBalance); } function transferToken( address tokenAddress, address recipient, uint256 amount ) external { require(_msgSender() == _taxFund, "Unauthorized caller"); require(tokenAddress != address(this), "Cannot rescue current token"); uint256 contractTokenBalance = IERC20(tokenAddress).balanceOf(address(this)); require(contractTokenBalance >= amount, "Insufficient token balance"); IERC20(tokenAddress).transfer(recipient, amount); } function removeTransactionLimit() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletAmount=_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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","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":"removeTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setbuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setsellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAndSendETH","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"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"updateMaxTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601960055560196006556969e10de76676d08000006007556969e10de76676d08000006008555f600a60156101000a81548160ff02191690831515021790555034801561004f575f80fd5b505f61005f61048960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061010961048960201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a52b7d2dcc80cd2e400000060015f61016561048960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102333060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a52b7d2dcc80cd2e400000061049060201b60201c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c191906106b1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036b91906106b1565b6040518363ffffffff1660e01b81526004016103889291906106eb565b6020604051808303815f875af11580156103a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c891906106b1565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061041561048960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e400000060405161047c919061072a565b60405180910390a361086f565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f5906107c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361056c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056390610851565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610646919061072a565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61068082610657565b9050919050565b61069081610676565b811461069a575f80fd5b50565b5f815190506106ab81610687565b92915050565b5f602082840312156106c6576106c5610653565b5b5f6106d38482850161069d565b91505092915050565b6106e581610676565b82525050565b5f6040820190506106fe5f8301856106dc565b61070b60208301846106dc565b9392505050565b5f819050919050565b61072481610712565b82525050565b5f60208201905061073d5f83018461071b565b92915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6107ad602483610743565b91506107b882610753565b604082019050919050565b5f6020820190508181035f8301526107da816107a1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61083b602283610743565b9150610846826107e1565b604082019050919050565b5f6020820190508181035f8301526108688161082f565b9050919050565b612df58061087c5f395ff3fe60806040526004361061012d575f3560e01c80638da5cb5b116100aa578063c9567bf91161006e578063c9567bf9146103dc578063d64c13bb146103f2578063dd62ed3e1461041a578063e2e8e77f14610456578063f178f0df1461046c578063f5537ede1461048257610134565b80638da5cb5b146102fc57806395d89b4114610326578063a6e30b6914610350578063a9059cbb14610378578063c1a63c02146103b457610134565b80634324deae116100f15780634324deae1461022e5780636c0a24eb1461025657806370a0823114610280578063715018a6146102bc5780637d1db4a5146102d257610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e57806323b872dd146101c8578063313ce5671461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104aa565b6040516101599190611f45565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611ff6565b6104e7565b604051610195919061204e565b60405180910390f35b3480156101a9575f80fd5b506101b2610504565b6040516101bf9190612076565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e9919061208f565b610516565b6040516101fb919061204e565b60405180910390f35b34801561020f575f80fd5b506102186105ea565b60405161022591906120fa565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f9190612113565b6105f2565b005b348015610261575f80fd5b5061026a6106a3565b6040516102779190612076565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a1919061213e565b6106a9565b6040516102b39190612076565b60405180910390f35b3480156102c7575f80fd5b506102d06106ef565b005b3480156102dd575f80fd5b506102e661083d565b6040516102f39190612076565b60405180910390f35b348015610307575f80fd5b50610310610843565b60405161031d9190612178565b60405180910390f35b348015610331575f80fd5b5061033a61086a565b6040516103479190611f45565b60405180910390f35b34801561035b575f80fd5b5061037660048036038101906103719190612113565b6108a7565b005b348015610383575f80fd5b5061039e60048036038101906103999190611ff6565b610945565b6040516103ab919061204e565b60405180910390f35b3480156103bf575f80fd5b506103da60048036038101906103d59190612113565b610962565b005b3480156103e7575f80fd5b506103f0610a00565b005b3480156103fd575f80fd5b5061041860048036038101906104139190612113565b610b01565b005b348015610425575f80fd5b50610440600480360381019061043b9190612191565b610bb2565b60405161044d9190612076565b60405180910390f35b348015610461575f80fd5b5061046a610c34565b005b348015610477575f80fd5b50610480610d30565b005b34801561048d575f80fd5b506104a860048036038101906104a3919061208f565b610e70565b005b60606040518060400160405280600d81526020017f4f70656e4167656e747320414900000000000000000000000000000000000000815250905090565b5f6104fa6104f36110b4565b84846110bb565b6001905092915050565b5f6a52b7d2dcc80cd2e4000000905090565b5f61052284848461127e565b6105df8461052e6110b4565b6105da85604051806060016040528060288152602001612d986028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105916110b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461199f9092919063ffffffff16565b6110bb565b600190509392505050565b5f6012905090565b6105fa6110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067d90612219565b60405180910390fd5b670de0b6b3a76400008161069a9190612264565b60078190555050565b60075481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106f76110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077a90612219565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4f504e4149000000000000000000000000000000000000000000000000000000815250905090565b6108af6110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093290612219565b60405180910390fd5b8060058190555050565b5f6109586109516110b4565b848461127e565b6001905092915050565b61096a6110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed90612219565b60405180910390fd5b8060068190555050565b610a086110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90612219565b60405180910390fd5b600a60149054906101000a900460ff1615610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb906122ef565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b610b096110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90612219565b60405180910390fd5b670de0b6b3a764000081610ba99190612264565b60088190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c3c6110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf90612219565b60405180910390fd5b6a52b7d2dcc80cd2e40000006008819055506a52b7d2dcc80cd2e40000006007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6a52b7d2dcc80cd2e4000000604051610d269190612076565b60405180910390a1565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d706110b4565b73ffffffffffffffffffffffffffffffffffffffff1614610dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbd90612357565b60405180910390fd5b5f610dd0306106a9565b90505f8111610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b906123bf565b60405180910390fd5b610e1d81611a01565b5f4790505f8111610e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5a90612427565b60405180910390fd5b610e6c81611ca6565b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb06110b4565b73ffffffffffffffffffffffffffffffffffffffff1614610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd90612357565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b9061248f565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fae9190612178565b602060405180830381865afa158015610fc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fed91906124c1565b905081811015611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990612536565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b815260040161106d929190612554565b6020604051808303815f875af1158015611089573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ad91906125a5565b5050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090612640565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e906126ce565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112719190612076565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e39061275c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611351906127ea565b60405180910390fd5b5f811161139c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139390612878565b60405180910390fd5b5f6113a5610843565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561141357506113e3610843565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116ef57600a60149054906101000a900460ff16611467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145e906128e0565b60405180910390fd5b6008548211156114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a39061296e565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611555575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115e15760075482611567856106a9565b611571919061298c565b11156115b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a990612a09565b60405180910390fd5b6115da60646115cc60055485611d0e90919063ffffffff16565b611d8590919063ffffffff16565b90506116ee565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116e95761165d606461164f60065485611d0e90919063ffffffff16565b611d8590919063ffffffff16565b90505f611669306106a9565b9050600a60159054906101000a900460ff161580156116d45750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156116e3576116e281611a01565b5b506116ed565b5f90505b5b5b5f8111156117ee576117478160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dce90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117e59190612076565b60405180910390a35b61183e8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e2b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118e16118958284611e2b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dce90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119848486611e2b90919063ffffffff16565b6040516119919190612076565b60405180910390a350505050565b5f8383111582906119e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dd9190611f45565b60405180910390fd5b505f83856119f49190612a27565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055505f810315611c8957600854811115611a345760085490505b5f600267ffffffffffffffff811115611a5057611a4f612a5a565b5b604051908082528060200260200182016040528015611a7e5781602001602082028036833780820191505090505b50905030815f81518110611a9557611a94612a87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5d9190612ac8565b81600181518110611b7157611b70612a87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bd73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bb565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611c5a959493929190612bec565b5f604051808303815f87803b158015611c71575f80fd5b505af1158015611c83573d5f803e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d0a573d5f803e3d5ffd5b5050565b5f808303611d1e575f9050611d7f565b5f8284611d2b9190612264565b9050828482611d3a9190612c71565b14611d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7190612d11565b60405180910390fd5b809150505b92915050565b5f611dc683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e74565b905092915050565b5f808284611ddc919061298c565b905083811015611e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1890612d79565b60405180910390fd5b8091505092915050565b5f611e6c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061199f565b905092915050565b5f8083118290611eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb19190611f45565b60405180910390fd5b505f8385611ec89190612c71565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f1782611ed5565b611f218185611edf565b9350611f31818560208601611eef565b611f3a81611efd565b840191505092915050565b5f6020820190508181035f830152611f5d8184611f0d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f9282611f69565b9050919050565b611fa281611f88565b8114611fac575f80fd5b50565b5f81359050611fbd81611f99565b92915050565b5f819050919050565b611fd581611fc3565b8114611fdf575f80fd5b50565b5f81359050611ff081611fcc565b92915050565b5f806040838503121561200c5761200b611f65565b5b5f61201985828601611faf565b925050602061202a85828601611fe2565b9150509250929050565b5f8115159050919050565b61204881612034565b82525050565b5f6020820190506120615f83018461203f565b92915050565b61207081611fc3565b82525050565b5f6020820190506120895f830184612067565b92915050565b5f805f606084860312156120a6576120a5611f65565b5b5f6120b386828701611faf565b93505060206120c486828701611faf565b92505060406120d586828701611fe2565b9150509250925092565b5f60ff82169050919050565b6120f4816120df565b82525050565b5f60208201905061210d5f8301846120eb565b92915050565b5f6020828403121561212857612127611f65565b5b5f61213584828501611fe2565b91505092915050565b5f6020828403121561215357612152611f65565b5b5f61216084828501611faf565b91505092915050565b61217281611f88565b82525050565b5f60208201905061218b5f830184612169565b92915050565b5f80604083850312156121a7576121a6611f65565b5b5f6121b485828601611faf565b92505060206121c585828601611faf565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612203602083611edf565b915061220e826121cf565b602082019050919050565b5f6020820190508181035f830152612230816121f7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61226e82611fc3565b915061227983611fc3565b925082820261228781611fc3565b9150828204841483151761229e5761229d612237565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6122d9601783611edf565b91506122e4826122a5565b602082019050919050565b5f6020820190508181035f830152612306816122cd565b9050919050565b7f556e617574686f72697a65642063616c6c6572000000000000000000000000005f82015250565b5f612341601383611edf565b915061234c8261230d565b602082019050919050565b5f6020820190508181035f83015261236e81612335565b9050919050565b7f4e6f20746f6b656e7320746f20737761700000000000000000000000000000005f82015250565b5f6123a9601183611edf565b91506123b482612375565b602082019050919050565b5f6020820190508181035f8301526123d68161239d565b9050919050565b7f4e6f2045544820746f2073656e640000000000000000000000000000000000005f82015250565b5f612411600e83611edf565b915061241c826123dd565b602082019050919050565b5f6020820190508181035f83015261243e81612405565b9050919050565b7f43616e6e6f74207265736375652063757272656e7420746f6b656e00000000005f82015250565b5f612479601b83611edf565b915061248482612445565b602082019050919050565b5f6020820190508181035f8301526124a68161246d565b9050919050565b5f815190506124bb81611fcc565b92915050565b5f602082840312156124d6576124d5611f65565b5b5f6124e3848285016124ad565b91505092915050565b7f496e73756666696369656e7420746f6b656e2062616c616e63650000000000005f82015250565b5f612520601a83611edf565b915061252b826124ec565b602082019050919050565b5f6020820190508181035f83015261254d81612514565b9050919050565b5f6040820190506125675f830185612169565b6125746020830184612067565b9392505050565b61258481612034565b811461258e575f80fd5b50565b5f8151905061259f8161257b565b92915050565b5f602082840312156125ba576125b9611f65565b5b5f6125c784828501612591565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61262a602483611edf565b9150612635826125d0565b604082019050919050565b5f6020820190508181035f8301526126578161261e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126b8602283611edf565b91506126c38261265e565b604082019050919050565b5f6020820190508181035f8301526126e5816126ac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612746602583611edf565b9150612751826126ec565b604082019050919050565b5f6020820190508181035f8301526127738161273a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127d4602383611edf565b91506127df8261277a565b604082019050919050565b5f6020820190508181035f830152612801816127c8565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612862602983611edf565b915061286d82612808565b604082019050919050565b5f6020820190508181035f83015261288f81612856565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f6128ca601683611edf565b91506128d582612896565b602082019050919050565b5f6020820190508181035f8301526128f7816128be565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612958602183611edf565b9150612963826128fe565b604082019050919050565b5f6020820190508181035f8301526129858161294c565b9050919050565b5f61299682611fc3565b91506129a183611fc3565b92508282019050808211156129b9576129b8612237565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129f3601a83611edf565b91506129fe826129bf565b602082019050919050565b5f6020820190508181035f830152612a20816129e7565b9050919050565b5f612a3182611fc3565b9150612a3c83611fc3565b9250828203905081811115612a5457612a53612237565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612ac281611f99565b92915050565b5f60208284031215612add57612adc611f65565b5b5f612aea84828501612ab4565b91505092915050565b5f819050919050565b5f819050919050565b5f612b1f612b1a612b1584612af3565b612afc565b611fc3565b9050919050565b612b2f81612b05565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b6781611f88565b82525050565b5f612b788383612b5e565b60208301905092915050565b5f602082019050919050565b5f612b9a82612b35565b612ba48185612b3f565b9350612baf83612b4f565b805f5b83811015612bdf578151612bc68882612b6d565b9750612bd183612b84565b925050600181019050612bb2565b5085935050505092915050565b5f60a082019050612bff5f830188612067565b612c0c6020830187612b26565b8181036040830152612c1e8186612b90565b9050612c2d6060830185612169565b612c3a6080830184612067565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c7b82611fc3565b9150612c8683611fc3565b925082612c9657612c95612c44565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cfb602183611edf565b9150612d0682612ca1565b604082019050919050565b5f6020820190508181035f830152612d2881612cef565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d63601b83611edf565b9150612d6e82612d2f565b602082019050919050565b5f6020820190508181035f830152612d9081612d57565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fe765191b170de736f9e166dd5cb2bbd39c6070aec67229663fd61dc90ca6ff664736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c80638da5cb5b116100aa578063c9567bf91161006e578063c9567bf9146103dc578063d64c13bb146103f2578063dd62ed3e1461041a578063e2e8e77f14610456578063f178f0df1461046c578063f5537ede1461048257610134565b80638da5cb5b146102fc57806395d89b4114610326578063a6e30b6914610350578063a9059cbb14610378578063c1a63c02146103b457610134565b80634324deae116100f15780634324deae1461022e5780636c0a24eb1461025657806370a0823114610280578063715018a6146102bc5780637d1db4a5146102d257610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e57806323b872dd146101c8578063313ce5671461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104aa565b6040516101599190611f45565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611ff6565b6104e7565b604051610195919061204e565b60405180910390f35b3480156101a9575f80fd5b506101b2610504565b6040516101bf9190612076565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e9919061208f565b610516565b6040516101fb919061204e565b60405180910390f35b34801561020f575f80fd5b506102186105ea565b60405161022591906120fa565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f9190612113565b6105f2565b005b348015610261575f80fd5b5061026a6106a3565b6040516102779190612076565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a1919061213e565b6106a9565b6040516102b39190612076565b60405180910390f35b3480156102c7575f80fd5b506102d06106ef565b005b3480156102dd575f80fd5b506102e661083d565b6040516102f39190612076565b60405180910390f35b348015610307575f80fd5b50610310610843565b60405161031d9190612178565b60405180910390f35b348015610331575f80fd5b5061033a61086a565b6040516103479190611f45565b60405180910390f35b34801561035b575f80fd5b5061037660048036038101906103719190612113565b6108a7565b005b348015610383575f80fd5b5061039e60048036038101906103999190611ff6565b610945565b6040516103ab919061204e565b60405180910390f35b3480156103bf575f80fd5b506103da60048036038101906103d59190612113565b610962565b005b3480156103e7575f80fd5b506103f0610a00565b005b3480156103fd575f80fd5b5061041860048036038101906104139190612113565b610b01565b005b348015610425575f80fd5b50610440600480360381019061043b9190612191565b610bb2565b60405161044d9190612076565b60405180910390f35b348015610461575f80fd5b5061046a610c34565b005b348015610477575f80fd5b50610480610d30565b005b34801561048d575f80fd5b506104a860048036038101906104a3919061208f565b610e70565b005b60606040518060400160405280600d81526020017f4f70656e4167656e747320414900000000000000000000000000000000000000815250905090565b5f6104fa6104f36110b4565b84846110bb565b6001905092915050565b5f6a52b7d2dcc80cd2e4000000905090565b5f61052284848461127e565b6105df8461052e6110b4565b6105da85604051806060016040528060288152602001612d986028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105916110b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461199f9092919063ffffffff16565b6110bb565b600190509392505050565b5f6012905090565b6105fa6110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067d90612219565b60405180910390fd5b670de0b6b3a76400008161069a9190612264565b60078190555050565b60075481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106f76110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077a90612219565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4f504e4149000000000000000000000000000000000000000000000000000000815250905090565b6108af6110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093290612219565b60405180910390fd5b8060058190555050565b5f6109586109516110b4565b848461127e565b6001905092915050565b61096a6110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed90612219565b60405180910390fd5b8060068190555050565b610a086110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90612219565b60405180910390fd5b600a60149054906101000a900460ff1615610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb906122ef565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b610b096110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90612219565b60405180910390fd5b670de0b6b3a764000081610ba99190612264565b60088190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c3c6110b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf90612219565b60405180910390fd5b6a52b7d2dcc80cd2e40000006008819055506a52b7d2dcc80cd2e40000006007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6a52b7d2dcc80cd2e4000000604051610d269190612076565b60405180910390a1565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d706110b4565b73ffffffffffffffffffffffffffffffffffffffff1614610dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbd90612357565b60405180910390fd5b5f610dd0306106a9565b90505f8111610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b906123bf565b60405180910390fd5b610e1d81611a01565b5f4790505f8111610e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5a90612427565b60405180910390fd5b610e6c81611ca6565b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb06110b4565b73ffffffffffffffffffffffffffffffffffffffff1614610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd90612357565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b9061248f565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fae9190612178565b602060405180830381865afa158015610fc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fed91906124c1565b905081811015611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990612536565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b815260040161106d929190612554565b6020604051808303815f875af1158015611089573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ad91906125a5565b5050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090612640565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e906126ce565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112719190612076565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e39061275c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611351906127ea565b60405180910390fd5b5f811161139c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139390612878565b60405180910390fd5b5f6113a5610843565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561141357506113e3610843565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116ef57600a60149054906101000a900460ff16611467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145e906128e0565b60405180910390fd5b6008548211156114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a39061296e565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611555575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115e15760075482611567856106a9565b611571919061298c565b11156115b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a990612a09565b60405180910390fd5b6115da60646115cc60055485611d0e90919063ffffffff16565b611d8590919063ffffffff16565b90506116ee565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116e95761165d606461164f60065485611d0e90919063ffffffff16565b611d8590919063ffffffff16565b90505f611669306106a9565b9050600a60159054906101000a900460ff161580156116d45750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156116e3576116e281611a01565b5b506116ed565b5f90505b5b5b5f8111156117ee576117478160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dce90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117e59190612076565b60405180910390a35b61183e8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e2b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118e16118958284611e2b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dce90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119848486611e2b90919063ffffffff16565b6040516119919190612076565b60405180910390a350505050565b5f8383111582906119e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dd9190611f45565b60405180910390fd5b505f83856119f49190612a27565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055505f810315611c8957600854811115611a345760085490505b5f600267ffffffffffffffff811115611a5057611a4f612a5a565b5b604051908082528060200260200182016040528015611a7e5781602001602082028036833780820191505090505b50905030815f81518110611a9557611a94612a87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5d9190612ac8565b81600181518110611b7157611b70612a87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bd73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bb565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611c5a959493929190612bec565b5f604051808303815f87803b158015611c71575f80fd5b505af1158015611c83573d5f803e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d0a573d5f803e3d5ffd5b5050565b5f808303611d1e575f9050611d7f565b5f8284611d2b9190612264565b9050828482611d3a9190612c71565b14611d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7190612d11565b60405180910390fd5b809150505b92915050565b5f611dc683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e74565b905092915050565b5f808284611ddc919061298c565b905083811015611e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1890612d79565b60405180910390fd5b8091505092915050565b5f611e6c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061199f565b905092915050565b5f8083118290611eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb19190611f45565b60405180910390fd5b505f8385611ec89190612c71565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f1782611ed5565b611f218185611edf565b9350611f31818560208601611eef565b611f3a81611efd565b840191505092915050565b5f6020820190508181035f830152611f5d8184611f0d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f9282611f69565b9050919050565b611fa281611f88565b8114611fac575f80fd5b50565b5f81359050611fbd81611f99565b92915050565b5f819050919050565b611fd581611fc3565b8114611fdf575f80fd5b50565b5f81359050611ff081611fcc565b92915050565b5f806040838503121561200c5761200b611f65565b5b5f61201985828601611faf565b925050602061202a85828601611fe2565b9150509250929050565b5f8115159050919050565b61204881612034565b82525050565b5f6020820190506120615f83018461203f565b92915050565b61207081611fc3565b82525050565b5f6020820190506120895f830184612067565b92915050565b5f805f606084860312156120a6576120a5611f65565b5b5f6120b386828701611faf565b93505060206120c486828701611faf565b92505060406120d586828701611fe2565b9150509250925092565b5f60ff82169050919050565b6120f4816120df565b82525050565b5f60208201905061210d5f8301846120eb565b92915050565b5f6020828403121561212857612127611f65565b5b5f61213584828501611fe2565b91505092915050565b5f6020828403121561215357612152611f65565b5b5f61216084828501611faf565b91505092915050565b61217281611f88565b82525050565b5f60208201905061218b5f830184612169565b92915050565b5f80604083850312156121a7576121a6611f65565b5b5f6121b485828601611faf565b92505060206121c585828601611faf565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612203602083611edf565b915061220e826121cf565b602082019050919050565b5f6020820190508181035f830152612230816121f7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61226e82611fc3565b915061227983611fc3565b925082820261228781611fc3565b9150828204841483151761229e5761229d612237565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6122d9601783611edf565b91506122e4826122a5565b602082019050919050565b5f6020820190508181035f830152612306816122cd565b9050919050565b7f556e617574686f72697a65642063616c6c6572000000000000000000000000005f82015250565b5f612341601383611edf565b915061234c8261230d565b602082019050919050565b5f6020820190508181035f83015261236e81612335565b9050919050565b7f4e6f20746f6b656e7320746f20737761700000000000000000000000000000005f82015250565b5f6123a9601183611edf565b91506123b482612375565b602082019050919050565b5f6020820190508181035f8301526123d68161239d565b9050919050565b7f4e6f2045544820746f2073656e640000000000000000000000000000000000005f82015250565b5f612411600e83611edf565b915061241c826123dd565b602082019050919050565b5f6020820190508181035f83015261243e81612405565b9050919050565b7f43616e6e6f74207265736375652063757272656e7420746f6b656e00000000005f82015250565b5f612479601b83611edf565b915061248482612445565b602082019050919050565b5f6020820190508181035f8301526124a68161246d565b9050919050565b5f815190506124bb81611fcc565b92915050565b5f602082840312156124d6576124d5611f65565b5b5f6124e3848285016124ad565b91505092915050565b7f496e73756666696369656e7420746f6b656e2062616c616e63650000000000005f82015250565b5f612520601a83611edf565b915061252b826124ec565b602082019050919050565b5f6020820190508181035f83015261254d81612514565b9050919050565b5f6040820190506125675f830185612169565b6125746020830184612067565b9392505050565b61258481612034565b811461258e575f80fd5b50565b5f8151905061259f8161257b565b92915050565b5f602082840312156125ba576125b9611f65565b5b5f6125c784828501612591565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61262a602483611edf565b9150612635826125d0565b604082019050919050565b5f6020820190508181035f8301526126578161261e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126b8602283611edf565b91506126c38261265e565b604082019050919050565b5f6020820190508181035f8301526126e5816126ac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612746602583611edf565b9150612751826126ec565b604082019050919050565b5f6020820190508181035f8301526127738161273a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127d4602383611edf565b91506127df8261277a565b604082019050919050565b5f6020820190508181035f830152612801816127c8565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612862602983611edf565b915061286d82612808565b604082019050919050565b5f6020820190508181035f83015261288f81612856565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f6128ca601683611edf565b91506128d582612896565b602082019050919050565b5f6020820190508181035f8301526128f7816128be565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612958602183611edf565b9150612963826128fe565b604082019050919050565b5f6020820190508181035f8301526129858161294c565b9050919050565b5f61299682611fc3565b91506129a183611fc3565b92508282019050808211156129b9576129b8612237565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129f3601a83611edf565b91506129fe826129bf565b602082019050919050565b5f6020820190508181035f830152612a20816129e7565b9050919050565b5f612a3182611fc3565b9150612a3c83611fc3565b9250828203905081811115612a5457612a53612237565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612ac281611f99565b92915050565b5f60208284031215612add57612adc611f65565b5b5f612aea84828501612ab4565b91505092915050565b5f819050919050565b5f819050919050565b5f612b1f612b1a612b1584612af3565b612afc565b611fc3565b9050919050565b612b2f81612b05565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b6781611f88565b82525050565b5f612b788383612b5e565b60208301905092915050565b5f602082019050919050565b5f612b9a82612b35565b612ba48185612b3f565b9350612baf83612b4f565b805f5b83811015612bdf578151612bc68882612b6d565b9750612bd183612b84565b925050600181019050612bb2565b5085935050505092915050565b5f60a082019050612bff5f830188612067565b612c0c6020830187612b26565b8181036040830152612c1e8186612b90565b9050612c2d6060830185612169565b612c3a6080830184612067565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c7b82611fc3565b9150612c8683611fc3565b925082612c9657612c95612c44565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cfb602183611edf565b9150612d0682612ca1565b604082019050919050565b5f6020820190508181035f830152612d2881612cef565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d63601b83611edf565b9150612d6e82612d2f565b602082019050919050565b5f6020820190508181035f830152612d9081612d57565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fe765191b170de736f9e166dd5cb2bbd39c6070aec67229663fd61dc90ca6ff664736f6c634300081a0033
Deployed Bytecode Sourcemap
3904:7223:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5366:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5553:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6136:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5815:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5722:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9568:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4496:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6239:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2985:148;;;;;;;;;;;;;:::i;:::-;;4554:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2771:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5457:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9380:85;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6366:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9473:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9833:139;;;;;;;;;;;;;:::i;:::-;;9704:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6541:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10953:171;;;;;;;;;;;;;:::i;:::-;;10017:420;;;;;;;;;;;;;:::i;:::-;;10445:500;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5366:83;5403:13;5436:5;;;;;;;;;;;;;;;;;5429:12;;5366:83;:::o;5553:161::-;5628:4;5645:39;5654:12;:10;:12::i;:::-;5668:7;5677:6;5645:8;:39::i;:::-;5702:4;5695:11;;5553:161;;;;:::o;6136:95::-;6189:7;4353:20;6209:14;;6136:95;:::o;5815:313::-;5913:4;5930:36;5940:6;5948:9;5959:6;5930:9;:36::i;:::-;5977:121;5986:6;5994:12;:10;:12::i;:::-;6008:89;6046:6;6008:89;;;;;;;;;;;;;;;;;:11;:19;6020:6;6008:19;;;;;;;;;;;;;;;:33;6028:12;:10;:12::i;:::-;6008:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5977:8;:121::i;:::-;6116:4;6109:11;;5815:313;;;;;:::o;5722:83::-;5763:5;4309:2;5781:16;;5722:83;:::o;9568:128::-;2908:12;:10;:12::i;:::-;2898:22;;:6;;;;;;;;;;:22;;;2890:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9680:8:::1;9668:9;:20;;;;:::i;:::-;9649:16;:39;;;;9568:128:::0;:::o;4496:51::-;;;;:::o;6239:119::-;6305:7;6332:9;:18;6342:7;6332:18;;;;;;;;;;;;;;;;6325:25;;6239:119;;;:::o;2985:148::-;2908:12;:10;:12::i;:::-;2898:22;;:6;;;;;;;;;;:22;;;2890:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3092:1:::1;3055:40;;3076:6;::::0;::::1;;;;;;;;3055:40;;;;;;;;;;;;3123:1;3106:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2985:148::o:0;4554:47::-;;;;:::o;2771:79::-;2809:7;2836:6;;;;;;;;;;;2829:13;;2771:79;:::o;5457:87::-;5496:13;5529:7;;;;;;;;;;;;;;;;;5522:14;;5457:87;:::o;9380:85::-;2908:12;:10;:12::i;:::-;2898:22;;:6;;;;;;;;;;:22;;;2890:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9454:3:::1;9444:7;:13;;;;9380:85:::0;:::o;6366:167::-;6444:4;6461:42;6471:12;:10;:12::i;:::-;6485:9;6496:6;6461:9;:42::i;:::-;6521:4;6514:11;;6366:167;;;;:::o;9473:87::-;2908:12;:10;:12::i;:::-;2898:22;;:6;;;;;;;;;;:22;;;2890:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9549:3:::1;9538:8;:14;;;;9473:87:::0;:::o;9833:139::-;2908:12;:10;:12::i;:::-;2898:22;;:6;;;;;;;;;;:22;;;2890:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9897:11:::1;;;;;;;;;;;9896:12;9888:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9960:4;9946:11;;:18;;;;;;;;;;;;;;;;;;9833:139::o:0;9704:121::-;2908:12;:10;:12::i;:::-;2898:22;;:6;;;;;;;;;;:22;;;2890:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9809:8:::1;9801:5;:16;;;;:::i;:::-;9786:12;:31;;;;9704:121:::0;:::o;6541:143::-;6622:7;6649:11;:18;6661:5;6649:18;;;;;;;;;;;;;;;:27;6668:7;6649:27;;;;;;;;;;;;;;;;6642:34;;6541:143;;;;:::o;10953:171::-;2908:12;:10;:12::i;:::-;2898:22;;:6;;;;;;;;;;:22;;;2890:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4353:20:::1;11016:12;:22;;;;4353:20;11049:16;:24;;;;11089:27;4353:20;11089:27;;;;;;:::i;:::-;;;;;;;;10953:171::o:0;10017:420::-;10093:8;;;;;;;;;;;10077:24;;:12;:10;:12::i;:::-;:24;;;10069:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;10142:20;10165:24;10183:4;10165:9;:24::i;:::-;10142:47;;10223:1;10208:12;:16;10200:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;10257:30;10274:12;10257:16;:30::i;:::-;10304:18;10325:21;10304:42;;10378:1;10365:10;:14;10357:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10409:24;10422:10;10409:12;:24::i;:::-;10058:379;;10017:420::o;10445:500::-;10603:8;;;;;;;;;;;10587:24;;:12;:10;:12::i;:::-;:24;;;10579:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;10678:4;10654:29;;:12;:29;;;10646:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10726:28;10764:12;10757:30;;;10796:4;10757:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10726:76;;10845:6;10821:20;:30;;10813:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10900:12;10893:29;;;10923:9;10934:6;10893:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10568:377;10445:500;;;:::o;526:98::-;579:7;606:10;599:17;;526:98;:::o;6692:335::-;6802:1;6785:19;;:5;:19;;;6777:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6883:1;6864:21;;:7;:21;;;6856:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6965:6;6935:11;:18;6947:5;6935:18;;;;;;;;;;;;;;;:27;6954:7;6935:27;;;;;;;;;;;;;;;:36;;;;7003:7;6987:32;;6996:5;6987:32;;;7012:6;6987:32;;;;;;:::i;:::-;;;;;;;;6692:335;;;:::o;7035:1509::-;7139:1;7123:18;;:4;:18;;;7115:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7216:1;7202:16;;:2;:16;;;7194:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7286:1;7277:6;:10;7269:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7344:17;7386:7;:5;:7::i;:::-;7378:15;;:4;:15;;;;:32;;;;;7403:7;:5;:7::i;:::-;7397:13;;:2;:13;;;;7378:32;7374:814;;;7435:11;;;;;;;;;;;7427:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7505:12;;7495:6;:22;;7487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7582:13;;;;;;;;;;;7574:21;;:4;:21;;;:55;;;;;7613:15;;;;;;;;;;;7599:30;;:2;:30;;;;7574:55;7570:607;;;7684:16;;7674:6;7658:13;7668:2;7658:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;7650:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;7762:28;7786:3;7762:19;7773:7;;7762:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7750:40;;7570:607;;;7824:13;;;;;;;;;;;7818:19;;:2;:19;;;7814:363;;7869:29;7894:3;7869:20;7880:8;;7869:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;7857:41;;7917:28;7948:24;7966:4;7948:9;:24::i;:::-;7917:55;;7996:6;;;;;;;;;;;7995:7;:30;;;;;8012:13;;;;;;;;;;;8006:19;;:2;:19;;;7995:30;7991:117;;;8050:38;8067:20;8050:16;:38::i;:::-;7991:117;7838:285;7814:363;;;8160:1;8148:13;;7814:363;7570:607;7374:814;8213:1;8203:9;:11;8200:161;;;8253:39;8282:9;8253;:24;8271:4;8253:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8228:9;:24;8246:4;8228:24;;;;;;;;;;;;;;;:64;;;;8333:4;8310:39;;8319:4;8310:39;;;8339:9;8310:39;;;;;;:::i;:::-;;;;;;;;8200:161;8387:27;8407:6;8387:9;:15;8397:4;8387:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8371:9;:15;8381:4;8371:15;;;;;;;;;;;;;;;:43;;;;8439:40;8457:21;8468:9;8457:6;:10;;:21;;;;:::i;:::-;8439:9;:13;8449:2;8439:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8425:9;:13;8435:2;8425:13;;;;;;;;;;;;;;;:54;;;;8510:2;8495:41;;8504:4;8495:41;;;8514:21;8525:9;8514:6;:10;;:21;;;;:::i;:::-;8495:41;;;;;;:::i;:::-;;;;;;;;7104:1440;7035:1509;;;:::o;1663:190::-;1749:7;1782:1;1777;:6;;1785:12;1769:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1809:9;1825:1;1821;:5;;;;:::i;:::-;1809:17;;1844:1;1837:8;;;1663:190;;;;;:::o;8658:607::-;4803:4;4794:6;;:13;;;;;;;;;;;;;;;;;;8752:1:::1;8739:11;:14:::0;8736:27;8755:7:::1;8736:27;8788:12;;8776:11;:24;8773:82;;;8831:12;;8817:26;;8773:82;8865:21;8903:1;8889:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8865:40;;8934:4;8916;8921:1;8916:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8960:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8950:4;8955:1;8950:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8993:62;9010:4;9025:15;;;;;;;;;;;9043:11;8993:8;:62::i;:::-;9066:15;;;;;;;;;;;:66;;;9147:11;9173:1;9189:4;9208:8;;;;;;;;;;;9231:15;9066:191;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8725:540;4818:1;4839:5:::0;4830:6;;:14;;;;;;;;;;;;;;;;;;8658:607;:::o;9273:99::-;9338:8;;;;;;;;;;;9330:26;;:34;9357:6;9330:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9273:99;:::o;1861:246::-;1919:7;1948:1;1943;:6;1939:47;;1973:1;1966:8;;;;1939:47;1996:9;2012:1;2008;:5;;;;:::i;:::-;1996:17;;2041:1;2036;2032;:5;;;;:::i;:::-;:10;2024:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2098:1;2091:8;;;1861:246;;;;;:::o;2115:132::-;2173:7;2200:39;2204:1;2207;2200:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2193:46;;2115:132;;;;:::o;1332:179::-;1390:7;1410:9;1426:1;1422;:5;;;;:::i;:::-;1410:17;;1451:1;1446;:6;;1438:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1502:1;1495:8;;;1332:179;;;;:::o;1519:136::-;1577:7;1604:43;1608:1;1611;1604:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1597:50;;1519:136;;;;:::o;2255:189::-;2341:7;2373:1;2369;:5;2376:12;2361:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2400:9;2416:1;2412;:5;;;;:::i;:::-;2400:17;;2435:1;2428:8;;;2255: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:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::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:182::-;6388:34;6384:1;6376:6;6372:14;6365:58;6248:182;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6436:366;;;:::o;6808:419::-;6974:4;7012:2;7001:9;6997:18;6989:26;;7061:9;7055:4;7051:20;7047:1;7036:9;7032:17;7025:47;7089:131;7215:4;7089:131;:::i;:::-;7081:139;;6808:419;;;:::o;7233:180::-;7281:77;7278:1;7271:88;7378:4;7375:1;7368:15;7402:4;7399:1;7392:15;7419:410;7459:7;7482:20;7500:1;7482:20;:::i;:::-;7477:25;;7516:20;7534:1;7516:20;:::i;:::-;7511:25;;7571:1;7568;7564:9;7593:30;7611:11;7593:30;:::i;:::-;7582:41;;7772:1;7763:7;7759:15;7756:1;7753:22;7733:1;7726:9;7706:83;7683:139;;7802:18;;:::i;:::-;7683:139;7467:362;7419:410;;;;:::o;7835:173::-;7975:25;7971:1;7963:6;7959:14;7952:49;7835:173;:::o;8014:366::-;8156:3;8177:67;8241:2;8236:3;8177:67;:::i;:::-;8170:74;;8253:93;8342:3;8253:93;:::i;:::-;8371:2;8366:3;8362:12;8355:19;;8014:366;;;:::o;8386:419::-;8552:4;8590:2;8579:9;8575:18;8567:26;;8639:9;8633:4;8629:20;8625:1;8614:9;8610:17;8603:47;8667:131;8793:4;8667:131;:::i;:::-;8659:139;;8386:419;;;:::o;8811:169::-;8951:21;8947:1;8939:6;8935:14;8928:45;8811:169;:::o;8986:366::-;9128:3;9149:67;9213:2;9208:3;9149:67;:::i;:::-;9142:74;;9225:93;9314:3;9225:93;:::i;:::-;9343:2;9338:3;9334:12;9327:19;;8986:366;;;:::o;9358:419::-;9524:4;9562:2;9551:9;9547:18;9539:26;;9611:9;9605:4;9601:20;9597:1;9586:9;9582:17;9575:47;9639:131;9765:4;9639:131;:::i;:::-;9631:139;;9358:419;;;:::o;9783:167::-;9923:19;9919:1;9911:6;9907:14;9900:43;9783:167;:::o;9956:366::-;10098:3;10119:67;10183:2;10178:3;10119:67;:::i;:::-;10112:74;;10195:93;10284:3;10195:93;:::i;:::-;10313:2;10308:3;10304:12;10297:19;;9956:366;;;:::o;10328:419::-;10494:4;10532:2;10521:9;10517:18;10509:26;;10581:9;10575:4;10571:20;10567:1;10556:9;10552:17;10545:47;10609:131;10735:4;10609:131;:::i;:::-;10601:139;;10328:419;;;:::o;10753:164::-;10893:16;10889:1;10881:6;10877:14;10870:40;10753:164;:::o;10923:366::-;11065:3;11086:67;11150:2;11145:3;11086:67;:::i;:::-;11079:74;;11162:93;11251:3;11162:93;:::i;:::-;11280:2;11275:3;11271:12;11264:19;;10923:366;;;:::o;11295:419::-;11461:4;11499:2;11488:9;11484:18;11476:26;;11548:9;11542:4;11538:20;11534:1;11523:9;11519:17;11512:47;11576:131;11702:4;11576:131;:::i;:::-;11568:139;;11295:419;;;:::o;11720:177::-;11860:29;11856:1;11848:6;11844:14;11837:53;11720:177;:::o;11903:366::-;12045:3;12066:67;12130:2;12125:3;12066:67;:::i;:::-;12059:74;;12142:93;12231:3;12142:93;:::i;:::-;12260:2;12255:3;12251:12;12244:19;;11903:366;;;:::o;12275:419::-;12441:4;12479:2;12468:9;12464:18;12456:26;;12528:9;12522:4;12518:20;12514:1;12503:9;12499:17;12492:47;12556:131;12682:4;12556:131;:::i;:::-;12548:139;;12275:419;;;:::o;12700:143::-;12757:5;12788:6;12782:13;12773:22;;12804:33;12831:5;12804:33;:::i;:::-;12700:143;;;;:::o;12849:351::-;12919:6;12968:2;12956:9;12947:7;12943:23;12939:32;12936:119;;;12974:79;;:::i;:::-;12936:119;13094:1;13119:64;13175:7;13166:6;13155:9;13151:22;13119:64;:::i;:::-;13109:74;;13065:128;12849:351;;;;:::o;13206:176::-;13346:28;13342:1;13334:6;13330:14;13323:52;13206:176;:::o;13388:366::-;13530:3;13551:67;13615:2;13610:3;13551:67;:::i;:::-;13544:74;;13627:93;13716:3;13627:93;:::i;:::-;13745:2;13740:3;13736:12;13729:19;;13388:366;;;:::o;13760:419::-;13926:4;13964:2;13953:9;13949:18;13941:26;;14013:9;14007:4;14003:20;13999:1;13988:9;13984:17;13977:47;14041:131;14167:4;14041:131;:::i;:::-;14033:139;;13760:419;;;:::o;14185:332::-;14306:4;14344:2;14333:9;14329:18;14321:26;;14357:71;14425:1;14414:9;14410:17;14401:6;14357:71;:::i;:::-;14438:72;14506:2;14495:9;14491:18;14482:6;14438:72;:::i;:::-;14185:332;;;;;:::o;14523:116::-;14593:21;14608:5;14593:21;:::i;:::-;14586:5;14583:32;14573:60;;14629:1;14626;14619:12;14573:60;14523:116;:::o;14645:137::-;14699:5;14730:6;14724:13;14715:22;;14746:30;14770:5;14746:30;:::i;:::-;14645:137;;;;:::o;14788:345::-;14855:6;14904:2;14892:9;14883:7;14879:23;14875:32;14872:119;;;14910:79;;:::i;:::-;14872:119;15030:1;15055:61;15108:7;15099:6;15088:9;15084:22;15055:61;:::i;:::-;15045:71;;15001:125;14788:345;;;;:::o;15139:223::-;15279:34;15275:1;15267:6;15263:14;15256:58;15348:6;15343:2;15335:6;15331:15;15324:31;15139:223;:::o;15368:366::-;15510:3;15531:67;15595:2;15590:3;15531:67;:::i;:::-;15524:74;;15607:93;15696:3;15607:93;:::i;:::-;15725:2;15720:3;15716:12;15709:19;;15368:366;;;:::o;15740:419::-;15906:4;15944:2;15933:9;15929:18;15921:26;;15993:9;15987:4;15983:20;15979:1;15968:9;15964:17;15957:47;16021:131;16147:4;16021:131;:::i;:::-;16013:139;;15740:419;;;:::o;16165:221::-;16305:34;16301:1;16293:6;16289:14;16282:58;16374:4;16369:2;16361:6;16357:15;16350:29;16165:221;:::o;16392:366::-;16534:3;16555:67;16619:2;16614:3;16555:67;:::i;:::-;16548:74;;16631:93;16720:3;16631:93;:::i;:::-;16749:2;16744:3;16740:12;16733:19;;16392:366;;;:::o;16764:419::-;16930:4;16968:2;16957:9;16953:18;16945:26;;17017:9;17011:4;17007:20;17003:1;16992:9;16988:17;16981:47;17045:131;17171:4;17045:131;:::i;:::-;17037:139;;16764:419;;;:::o;17189:224::-;17329:34;17325:1;17317:6;17313:14;17306:58;17398:7;17393:2;17385:6;17381:15;17374:32;17189:224;:::o;17419:366::-;17561:3;17582:67;17646:2;17641:3;17582:67;:::i;:::-;17575:74;;17658:93;17747:3;17658:93;:::i;:::-;17776:2;17771:3;17767:12;17760:19;;17419:366;;;:::o;17791:419::-;17957:4;17995:2;17984:9;17980:18;17972:26;;18044:9;18038:4;18034:20;18030:1;18019:9;18015:17;18008:47;18072:131;18198:4;18072:131;:::i;:::-;18064:139;;17791:419;;;:::o;18216:222::-;18356:34;18352:1;18344:6;18340:14;18333:58;18425:5;18420:2;18412:6;18408:15;18401:30;18216:222;:::o;18444:366::-;18586:3;18607:67;18671:2;18666:3;18607:67;:::i;:::-;18600:74;;18683:93;18772:3;18683:93;:::i;:::-;18801:2;18796:3;18792:12;18785:19;;18444:366;;;:::o;18816:419::-;18982:4;19020:2;19009:9;19005:18;18997:26;;19069:9;19063:4;19059:20;19055:1;19044:9;19040:17;19033:47;19097:131;19223:4;19097:131;:::i;:::-;19089:139;;18816:419;;;:::o;19241:228::-;19381:34;19377:1;19369:6;19365:14;19358:58;19450:11;19445:2;19437:6;19433:15;19426:36;19241:228;:::o;19475:366::-;19617:3;19638:67;19702:2;19697:3;19638:67;:::i;:::-;19631:74;;19714:93;19803:3;19714:93;:::i;:::-;19832:2;19827:3;19823:12;19816:19;;19475:366;;;:::o;19847:419::-;20013:4;20051:2;20040:9;20036:18;20028:26;;20100:9;20094:4;20090:20;20086:1;20075:9;20071:17;20064:47;20128:131;20254:4;20128:131;:::i;:::-;20120:139;;19847:419;;;:::o;20272:172::-;20412:24;20408:1;20400:6;20396:14;20389:48;20272:172;:::o;20450:366::-;20592:3;20613:67;20677:2;20672:3;20613:67;:::i;:::-;20606:74;;20689:93;20778:3;20689:93;:::i;:::-;20807:2;20802:3;20798:12;20791:19;;20450:366;;;:::o;20822:419::-;20988:4;21026:2;21015:9;21011:18;21003:26;;21075:9;21069:4;21065:20;21061:1;21050:9;21046:17;21039:47;21103:131;21229:4;21103:131;:::i;:::-;21095:139;;20822:419;;;:::o;21247:220::-;21387:34;21383:1;21375:6;21371:14;21364:58;21456:3;21451:2;21443:6;21439:15;21432:28;21247:220;:::o;21473:366::-;21615:3;21636:67;21700:2;21695:3;21636:67;:::i;:::-;21629:74;;21712:93;21801:3;21712:93;:::i;:::-;21830:2;21825:3;21821:12;21814:19;;21473:366;;;:::o;21845:419::-;22011:4;22049:2;22038:9;22034:18;22026:26;;22098:9;22092:4;22088:20;22084:1;22073:9;22069:17;22062:47;22126:131;22252:4;22126:131;:::i;:::-;22118:139;;21845:419;;;:::o;22270:191::-;22310:3;22329:20;22347:1;22329:20;:::i;:::-;22324:25;;22363:20;22381:1;22363:20;:::i;:::-;22358:25;;22406:1;22403;22399:9;22392:16;;22427:3;22424:1;22421:10;22418:36;;;22434:18;;:::i;:::-;22418:36;22270:191;;;;:::o;22467:176::-;22607:28;22603:1;22595:6;22591:14;22584:52;22467:176;:::o;22649:366::-;22791:3;22812:67;22876:2;22871:3;22812:67;:::i;:::-;22805:74;;22888:93;22977:3;22888:93;:::i;:::-;23006:2;23001:3;22997:12;22990:19;;22649:366;;;:::o;23021:419::-;23187:4;23225:2;23214:9;23210:18;23202:26;;23274:9;23268:4;23264:20;23260:1;23249:9;23245:17;23238:47;23302:131;23428:4;23302:131;:::i;:::-;23294:139;;23021:419;;;:::o;23446:194::-;23486:4;23506:20;23524:1;23506:20;:::i;:::-;23501:25;;23540:20;23558:1;23540:20;:::i;:::-;23535:25;;23584:1;23581;23577:9;23569:17;;23608:1;23602:4;23599:11;23596:37;;;23613:18;;:::i;:::-;23596:37;23446:194;;;;:::o;23646:180::-;23694:77;23691:1;23684:88;23791:4;23788:1;23781:15;23815:4;23812:1;23805:15;23832:180;23880:77;23877:1;23870:88;23977:4;23974:1;23967:15;24001:4;23998:1;23991:15;24018:143;24075:5;24106:6;24100:13;24091:22;;24122:33;24149:5;24122:33;:::i;:::-;24018:143;;;;:::o;24167:351::-;24237:6;24286:2;24274:9;24265:7;24261:23;24257:32;24254:119;;;24292:79;;:::i;:::-;24254:119;24412:1;24437:64;24493:7;24484:6;24473:9;24469:22;24437:64;:::i;:::-;24427:74;;24383:128;24167:351;;;;:::o;24524:85::-;24569:7;24598:5;24587:16;;24524:85;;;:::o;24615:60::-;24643:3;24664:5;24657:12;;24615:60;;;:::o;24681:158::-;24739:9;24772:61;24790:42;24799:32;24825:5;24799:32;:::i;:::-;24790:42;:::i;:::-;24772:61;:::i;:::-;24759:74;;24681:158;;;:::o;24845:147::-;24940:45;24979:5;24940:45;:::i;:::-;24935:3;24928:58;24845:147;;:::o;24998:114::-;25065:6;25099:5;25093:12;25083:22;;24998:114;;;:::o;25118:184::-;25217:11;25251:6;25246:3;25239:19;25291:4;25286:3;25282:14;25267:29;;25118:184;;;;:::o;25308:132::-;25375:4;25398:3;25390:11;;25428:4;25423:3;25419:14;25411:22;;25308:132;;;:::o;25446:108::-;25523:24;25541:5;25523:24;:::i;:::-;25518:3;25511:37;25446:108;;:::o;25560:179::-;25629:10;25650:46;25692:3;25684:6;25650:46;:::i;:::-;25728:4;25723:3;25719:14;25705:28;;25560:179;;;;:::o;25745:113::-;25815:4;25847;25842:3;25838:14;25830:22;;25745:113;;;:::o;25894:732::-;26013:3;26042:54;26090:5;26042:54;:::i;:::-;26112:86;26191:6;26186:3;26112:86;:::i;:::-;26105:93;;26222:56;26272:5;26222:56;:::i;:::-;26301:7;26332:1;26317:284;26342:6;26339:1;26336:13;26317:284;;;26418:6;26412:13;26445:63;26504:3;26489:13;26445:63;:::i;:::-;26438:70;;26531:60;26584:6;26531:60;:::i;:::-;26521:70;;26377:224;26364:1;26361;26357:9;26352:14;;26317:284;;;26321:14;26617:3;26610:10;;26018:608;;;25894:732;;;;:::o;26632:831::-;26895:4;26933:3;26922:9;26918:19;26910:27;;26947:71;27015:1;27004:9;27000:17;26991:6;26947:71;:::i;:::-;27028:80;27104:2;27093:9;27089:18;27080:6;27028:80;:::i;:::-;27155:9;27149:4;27145:20;27140:2;27129:9;27125:18;27118:48;27183:108;27286:4;27277:6;27183:108;:::i;:::-;27175:116;;27301:72;27369:2;27358:9;27354:18;27345:6;27301:72;:::i;:::-;27383:73;27451:3;27440:9;27436:19;27427:6;27383:73;:::i;:::-;26632:831;;;;;;;;:::o;27469:180::-;27517:77;27514:1;27507:88;27614:4;27611:1;27604:15;27638:4;27635:1;27628:15;27655:185;27695:1;27712:20;27730:1;27712:20;:::i;:::-;27707:25;;27746:20;27764:1;27746:20;:::i;:::-;27741:25;;27785:1;27775:35;;27790:18;;:::i;:::-;27775:35;27832:1;27829;27825:9;27820:14;;27655:185;;;;:::o;27846:220::-;27986:34;27982:1;27974:6;27970:14;27963:58;28055:3;28050:2;28042:6;28038:15;28031:28;27846:220;:::o;28072:366::-;28214:3;28235:67;28299:2;28294:3;28235:67;:::i;:::-;28228:74;;28311:93;28400:3;28311:93;:::i;:::-;28429:2;28424:3;28420:12;28413:19;;28072:366;;;:::o;28444:419::-;28610:4;28648:2;28637:9;28633:18;28625:26;;28697:9;28691:4;28687:20;28683:1;28672:9;28668:17;28661:47;28725:131;28851:4;28725:131;:::i;:::-;28717:139;;28444:419;;;:::o;28869:177::-;29009:29;29005:1;28997:6;28993:14;28986:53;28869:177;:::o;29052:366::-;29194:3;29215:67;29279:2;29274:3;29215:67;:::i;:::-;29208:74;;29291:93;29380:3;29291:93;:::i;:::-;29409:2;29404:3;29400:12;29393:19;;29052:366;;;:::o;29424:419::-;29590:4;29628:2;29617:9;29613:18;29605:26;;29677:9;29671:4;29667:20;29663:1;29652:9;29648:17;29641:47;29705:131;29831:4;29705:131;:::i;:::-;29697:139;;29424:419;;;:::o
Swarm Source
ipfs://fe765191b170de736f9e166dd5cb2bbd39c6070aec67229663fd61dc90ca6ff6
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.