ERC-20
Overview
Max Total Supply
10,000,000 RUGBOMB
Holders
52
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
47,054.552470955796833984 RUGBOMBValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
RugBomb
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-24 */ pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface obcproto { function noSandwich(address sender, address recipient, address pairAd) external returns (bool); function toggle() external returns(bool); function isActive() external view returns(bool); function setProtected(address prot) external; } contract RugBomb is Context, IERC20{ //RugBomb tokenomics stuff mapping (uint256 => uint) private _epochTimestamp; mapping (uint16 => uint16) private _epochTax; mapping (uint16 => uint16) private _epochBurn; uint16 private _epoch; uint16 private _flatBuyFee = 3; bool private _liquifying; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private constant _totalSupply = 10 * 10**6 * 10**18; //ten million total supply string private _name = "RugBomb"; string private _symbol = "RUGBOMB"; uint8 private _decimals = 18; //hardcoded addresses - full transparency address payable private _devWallet = payable(0x8c750Cf74267476421A7b6E85E53BE47c003c20e); address private _lpWallet = 0x570a4FbCAA21C7Cb2a1A04fa3724b023b801C1f3; address payable private _buyBackWallet = payable(0xc78A2f1E6a5d1E3C6152D4270985fC70C6dE9eDb); address private _uniRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //canonical address for Uniswap Router02 address private _pairAd = address(0); address private _obcAddress = 0xCE6c65764111337324ca3617D681c0616a4EDed2; //address for the BotCannon IUniswapV2Router02 private UniV2Router; obcproto private OBC; constructor() { _epoch = 0; _epochTimestamp[0] = 1629993600; _epochTimestamp[1] = 1630015200; _epochTimestamp[2] = 1630036800; _epochTimestamp[3] = 1630058400; _epochTimestamp[4] = 1630076400; _epochTimestamp[5] = 1630080000; _epochTax[0] = 5; _epochTax[1] = 4; _epochTax[2] = 3; _epochTax[3] = 2; _epochTax[4] = 0; _epochBurn[0] = 20; _epochBurn[1] = 16; _epochBurn[2] = 12; _epochBurn[3] = 8; _epochBurn[4] = 0; _balances[_lpWallet] = _totalSupply; OBC = obcproto(_obcAddress); UniV2Router = IUniswapV2Router02(_uniRouter); } modifier noRecursion { _liquifying = true; _; _liquifying = false; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _totalSupply; } 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 spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { require (_allowances[sender][_msgSender()] >= amount, "ERC20: transfer amount exceeds allowance"); _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } 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 sender, address recipient, uint256 amount) private { //first, we check to be sure epoch is set correctly _checkEpoch(); //next, the BotCannon for sandwich prevention. this isn't a fucking deli. require (!OBC.noSandwich(sender, recipient, _pairAd)); //one-time set pair address during addLiquidity, since that should be the first use of this function if (_pairAd == address(0) && sender != address(0)) { _pairAd = recipient; } //ensure we're within the 24 hour countdown, unless it's the LP or the Uni router(for add/removeLiquidity) if (sender != _lpWallet && recipient != _lpWallet && recipient != _uniRouter) { require (block.timestamp >= _epochTimestamp[0] && block.timestamp <= _epochTimestamp[5], "RugBomb: No trades at this time"); //token limit for first 15 minutes require (amount <= (_totalSupply * 5 / 1000) || block.timestamp > 1629994500); } //the usual ERC20 checks require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(_balances[sender] >= amount, "ERC20: transfer exceeds balance"); require(amount > 0, "Transfer = 0"); //set defaults for fallback uint256 amountRemaining = amount; uint256 taxes = 0; uint256 buyBack = 0; //logic for buys if (sender == _pairAd && recipient != _lpWallet && recipient != _uniRouter && recipient != _buyBackWallet) { if (_epoch < 4) taxes = amount * _flatBuyFee / 100; amountRemaining = amount - taxes; } //logic for sells if (recipient == _pairAd && sender != _lpWallet && sender != address(this)) { taxes = amount * _epochTax[_epoch] / 100; amountRemaining = amount - taxes; buyBack = amount * _epochBurn[_epoch] / 100; amountRemaining = amountRemaining - buyBack; } _balances[address(this)] += buyBack; if (_balances[address(this)] > 100 * 10**18 && !_liquifying && recipient == _pairAd){ if (_balances[address(this)] >= buyBack && buyBack > 100 * 10**18) liquidateTokens(buyBack, _buyBackWallet); } _balances[address(this)] += taxes; if (_balances[address(this)] > 100 * 10**18 && !_liquifying && recipient == _pairAd){ uint256 _liqAmount = _balances[address(this)]; if (_liqAmount > amount * 10 / 100) _liqAmount = amount * 10 / 100; liquidateTokens(_liqAmount, _devWallet); } //_balances[_devWallet] += taxes; //_balances[address(0)] += burn; _balances[recipient] += amountRemaining; _balances[sender] -= amount; emit Transfer(sender, recipient, amount); } function _checkEpoch() private { if (_epoch == 0 && block.timestamp >= _epochTimestamp[1]) _epoch = 1; if (_epoch == 1 && block.timestamp >= _epochTimestamp[2]) _epoch = 2; if (_epoch == 2 && block.timestamp >= _epochTimestamp[3]) _epoch = 3; if (_epoch == 3 && block.timestamp >= _epochTimestamp[4]) _epoch = 4; if (_epoch == 4 && block.timestamp >= _epochTimestamp[5]) _epoch = 5; } function currentEpoch() public view returns (uint16){ return _epoch; } function pairAddr() public view returns (address){ return _pairAd; } function sendETH(uint256 amount, address payable _to) private { (bool sent, bytes memory data) = _to.call{value: amount}(""); require(sent, "Failed to send Ether"); } function liquidateTokens(uint256 amount, address payable recipient) private noRecursion { address[] memory path = new address[](2); path[0] = address(this); path[1] = UniV2Router.WETH(); _approve(address(this), _uniRouter, amount); uint256 approval = _allowances[address(this)][_uniRouter]; UniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, path, address(this), block.timestamp); if (address(this).balance > 0) sendETH(address(this).balance, recipient); } function emergencyWithdrawETH() external { require (_msgSender() == _buyBackWallet || _msgSender() == _devWallet, "Unauthorized"); (bool sent, bytes memory data) = _msgSender().call{value: address(this).balance}(""); require(sent, "Failed to send Ether"); } receive() external payable {} fallback() external payable {} }
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":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"},{"stateMutability":"payable","type":"fallback"},{"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":"currentEpoch","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyWithdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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
608060405260038060026101000a81548161ffff021916908361ffff1602179055506040518060400160405280600781526020017f527567426f6d6200000000000000000000000000000000000000000000000000815250600690805190602001906200006e929190620006da565b506040518060400160405280600781526020017f525547424f4d420000000000000000000000000000000000000000000000000081525060079080519060200190620000bc929190620006da565b506012600860006101000a81548160ff021916908360ff160217905550738c750cf74267476421a7b6e85e53be47c003c20e600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073570a4fbcaa21c7cb2a1a04fa3724b023b801c1f3600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c78a2f1e6a5d1e3c6152d4270985fc70c6de9edb600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ce6c65764111337324ca3617d681c0616a4eded2600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620002d157600080fd5b506000600360006101000a81548161ffff021916908361ffff160217905550636127ba80600080808152602001908152602001600020819055506361280ee0600080600181526020019081526020016000208190555063612863406000806002815260200190815260200160002081905550636128b7a06000806003815260200190815260200160002081905550636128fdf060008060048152602001908152602001600020819055506361290c0060008060058152602001908152602001600020819055506005600160008061ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600460016000600161ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600360016000600261ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600260016000600361ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600060016000600461ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055506014600260008061ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550601060026000600161ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600c60026000600261ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600860026000600361ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600060026000600461ffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055506a084595161401484a00000060046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620007ef565b828054620006e8906200078a565b90600052602060002090601f0160209004810192826200070c576000855562000758565b82601f106200072757805160ff191683800117855562000758565b8280016001018555821562000758579182015b82811115620007575782518255916020019190600101906200073a565b5b5090506200076791906200076b565b5090565b5b80821115620007865760008160009055506001016200076c565b5090565b60006002820490506001821680620007a357607f821691505b60208210811415620007ba57620007b9620007c0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b612a6880620007ff6000396000f3fe6080604052600436106100ab5760003560e01c806370a082311161006457806370a08231146101da5780637667180814610217578063845360171461024257806395d89b4114610259578063a9059cbb14610284578063dd62ed3e146102c1576100b2565b806306fdde03146100b4578063095ea7b3146100df57806318160ddd1461011c57806323b872dd14610147578063313ce567146101845780634f4fc99b146101af576100b2565b366100b257005b005b3480156100c057600080fd5b506100c96102fe565b6040516100d69190612235565b60405180910390f35b3480156100eb57600080fd5b5061010660048036038101906101019190611ead565b610390565b604051610113919061221a565b60405180910390f35b34801561012857600080fd5b506101316103ae565b60405161013e91906123b2565b60405180910390f35b34801561015357600080fd5b5061016e60048036038101906101699190611e5a565b6103c1565b60405161017b919061221a565b60405180910390f35b34801561019057600080fd5b5061019961053f565b6040516101a69190612427565b60405180910390f35b3480156101bb57600080fd5b506101c4610556565b6040516101d191906121c8565b60405180910390f35b3480156101e657600080fd5b5061020160048036038101906101fc9190611dc0565b610580565b60405161020e91906123b2565b60405180910390f35b34801561022357600080fd5b5061022c6105c9565b6040516102399190612397565b60405180910390f35b34801561024e57600080fd5b506102576105e1565b005b34801561026557600080fd5b5061026e610790565b60405161027b9190612235565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a69190611ead565b610822565b6040516102b8919061221a565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e39190611e1a565b610840565b6040516102f591906123b2565b60405180910390f35b60606006805461030d9061265f565b80601f01602080910402602001604051908101604052809291908181526020018280546103399061265f565b80156103865780601f1061035b57610100808354040283529160200191610386565b820191906000526020600020905b81548152906001019060200180831161036957829003601f168201915b5050505050905090565b60006103a461039d6108c7565b84846108cf565b6001905092915050565b60006a084595161401484a000000905090565b600081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061040d6108c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610489576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610480906122f7565b60405180910390fd5b610494848484610a9a565b610534846104a06108c7565b84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ea6108c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052f9190612583565b6108cf565b600190509392505050565b6000600860009054906101000a900460ff16905090565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900461ffff16905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106226108c7565b73ffffffffffffffffffffffffffffffffffffffff1614806106985750600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106806108c7565b73ffffffffffffffffffffffffffffffffffffffff16145b6106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90612277565b60405180910390fd5b6000806106e26108c7565b73ffffffffffffffffffffffffffffffffffffffff1647604051610705906121b3565b60006040518083038185875af1925050503d8060008114610742576040519150601f19603f3d011682016040523d82523d6000602084013e610747565b606091505b50915091508161078c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610783906122b7565b60405180910390fd5b5050565b60606007805461079f9061265f565b80601f01602080910402602001604051908101604052809291908181526020018280546107cb9061265f565b80156108185780601f106107ed57610100808354040283529160200191610818565b820191906000526020600020905b8154815290600101906020018083116107fb57829003601f168201915b5050505050905090565b600061083661082f6108c7565b8484610a9a565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093690612357565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690612297565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a8d91906123b2565b60405180910390a3505050565b610aa26117b0565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663775beb7c8484600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401610b23939291906121e3565b602060405180830381600087803b158015610b3d57600080fd5b505af1158015610b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b759190611eed565b15610b7f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610c0a5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610c515781600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cfd5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610d575750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610e1057600080808152602001908152602001600020544210158015610d91575060008060058152602001908152602001600020544211155b610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790612377565b60405180910390fd5b6103e860056a084595161401484a000000610deb9190612529565b610df591906124f8565b81111580610e065750636127be0442115b610e0f57600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7790612337565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee790612257565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f69906122d7565b60405180910390fd5b60008111610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac90612317565b60405180910390fd5b6000819050600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156110685750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156110c25750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561111c5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561117c576004600360009054906101000a900461ffff1661ffff16101561116d576064600360029054906101000a900461ffff1661ffff16856111609190612529565b61116a91906124f8565b91505b81846111799190612583565b92505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156112275750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b801561125f57503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b1561132f57606460016000600360009054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16856112af9190612529565b6112b991906124f8565b915081846112c79190612583565b9250606460026000600360009054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16856113149190612529565b61131e91906124f8565b9050808361132c9190612583565b92505b80600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461137e91906124a2565b9250508190555068056bc75e2d63100000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156113e95750600360049054906101000a900460ff16155b80156114425750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b156114d15780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561149e575068056bc75e2d6310000081115b156114d0576114cf81600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611977565b5b5b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152091906124a2565b9250508190555068056bc75e2d63100000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411801561158b5750600360049054906101000a900460ff16155b80156115e45750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611697576000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506064600a8661163c9190612529565b61164691906124f8565b811115611669576064600a8661165c9190612529565b61166691906124f8565b90505b61169581600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611977565b505b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116e691906124a2565b9250508190555083600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461173c9190612583565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516117a091906123b2565b60405180910390a3505050505050565b6000600360009054906101000a900461ffff1661ffff161480156117e7575060008060018152602001908152602001600020544210155b1561180b576001600360006101000a81548161ffff021916908361ffff1602179055505b6001600360009054906101000a900461ffff1661ffff16148015611842575060008060028152602001908152602001600020544210155b15611866576002600360006101000a81548161ffff021916908361ffff1602179055505b6002600360009054906101000a900461ffff1661ffff1614801561189d575060008060038152602001908152602001600020544210155b156118c05760038060006101000a81548161ffff021916908361ffff1602179055505b60038060009054906101000a900461ffff1661ffff161480156118f6575060008060048152602001908152602001600020544210155b1561191a576004600360006101000a81548161ffff021916908361ffff1602179055505b6004600360009054906101000a900461ffff1661ffff16148015611951575060008060058152602001908152602001600020544210155b15611975576005600360006101000a81548161ffff021916908361ffff1602179055505b565b6001600360046101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119af576119ae61274d565b5b6040519080825280602002602001820160405280156119dd5781602001602082028036833780820191505090505b50905030816000815181106119f5576119f461271e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9757600080fd5b505afa158015611aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acf9190611ded565b81600181518110611ae357611ae261271e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b4a30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856108cf565b6000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008530426040518663ffffffff1660e01b8152600401611c519594939291906123cd565b600060405180830381600087803b158015611c6b57600080fd5b505af1158015611c7f573d6000803e3d6000fd5b505050506000471115611c9757611c964784611cb8565b5b50506000600360046101000a81548160ff0219169083151502179055505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1684604051611cdf906121b3565b60006040518083038185875af1925050503d8060008114611d1c576040519150601f19603f3d011682016040523d82523d6000602084013e611d21565b606091505b509150915081611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d906122b7565b60405180910390fd5b50505050565b600081359050611d7b816129ed565b92915050565b600081519050611d90816129ed565b92915050565b600081519050611da581612a04565b92915050565b600081359050611dba81612a1b565b92915050565b600060208284031215611dd657611dd561277c565b5b6000611de484828501611d6c565b91505092915050565b600060208284031215611e0357611e0261277c565b5b6000611e1184828501611d81565b91505092915050565b60008060408385031215611e3157611e3061277c565b5b6000611e3f85828601611d6c565b9250506020611e5085828601611d6c565b9150509250929050565b600080600060608486031215611e7357611e7261277c565b5b6000611e8186828701611d6c565b9350506020611e9286828701611d6c565b9250506040611ea386828701611dab565b9150509250925092565b60008060408385031215611ec457611ec361277c565b5b6000611ed285828601611d6c565b9250506020611ee385828601611dab565b9150509250929050565b600060208284031215611f0357611f0261277c565b5b6000611f1184828501611d96565b91505092915050565b6000611f268383611f32565b60208301905092915050565b611f3b816125b7565b82525050565b611f4a816125b7565b82525050565b6000611f5b82612452565b611f658185612475565b9350611f7083612442565b8060005b83811015611fa1578151611f888882611f1a565b9750611f9383612468565b925050600181019050611f74565b5085935050505092915050565b611fb7816125c9565b82525050565b611fc68161261a565b82525050565b6000611fd78261245d565b611fe18185612491565b9350611ff181856020860161262c565b611ffa81612781565b840191505092915050565b6000612012602383612491565b915061201d82612792565b604082019050919050565b6000612035600c83612491565b9150612040826127e1565b602082019050919050565b6000612058602283612491565b91506120638261280a565b604082019050919050565b600061207b601483612491565b915061208682612859565b602082019050919050565b600061209e601f83612491565b91506120a982612882565b602082019050919050565b60006120c1602883612491565b91506120cc826128ab565b604082019050919050565b60006120e4600c83612491565b91506120ef826128fa565b602082019050919050565b6000612107602583612491565b915061211282612923565b604082019050919050565b600061212a600083612486565b915061213582612972565b600082019050919050565b600061214d602483612491565b915061215882612975565b604082019050919050565b6000612170601f83612491565b915061217b826129c4565b602082019050919050565b61218f816125d5565b82525050565b61219e81612603565b82525050565b6121ad8161260d565b82525050565b60006121be8261211d565b9150819050919050565b60006020820190506121dd6000830184611f41565b92915050565b60006060820190506121f86000830186611f41565b6122056020830185611f41565b6122126040830184611f41565b949350505050565b600060208201905061222f6000830184611fae565b92915050565b6000602082019050818103600083015261224f8184611fcc565b905092915050565b6000602082019050818103600083015261227081612005565b9050919050565b6000602082019050818103600083015261229081612028565b9050919050565b600060208201905081810360008301526122b08161204b565b9050919050565b600060208201905081810360008301526122d08161206e565b9050919050565b600060208201905081810360008301526122f081612091565b9050919050565b60006020820190508181036000830152612310816120b4565b9050919050565b60006020820190508181036000830152612330816120d7565b9050919050565b60006020820190508181036000830152612350816120fa565b9050919050565b6000602082019050818103600083015261237081612140565b9050919050565b6000602082019050818103600083015261239081612163565b9050919050565b60006020820190506123ac6000830184612186565b92915050565b60006020820190506123c76000830184612195565b92915050565b600060a0820190506123e26000830188612195565b6123ef6020830187611fbd565b81810360408301526124018186611f50565b90506124106060830185611f41565b61241d6080830184612195565b9695505050505050565b600060208201905061243c60008301846121a4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006124ad82612603565b91506124b883612603565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124ed576124ec612691565b5b828201905092915050565b600061250382612603565b915061250e83612603565b92508261251e5761251d6126c0565b5b828204905092915050565b600061253482612603565b915061253f83612603565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561257857612577612691565b5b828202905092915050565b600061258e82612603565b915061259983612603565b9250828210156125ac576125ab612691565b5b828203905092915050565b60006125c2826125e3565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061262582612603565b9050919050565b60005b8381101561264a57808201518184015260208101905061262f565b83811115612659576000848401525b50505050565b6000600282049050600182168061267757607f821691505b6020821081141561268b5761268a6126ef565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b7f45524332303a207472616e7366657220657863656564732062616c616e636500600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f5472616e73666572203d20300000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f527567426f6d623a204e6f2074726164657320617420746869732074696d6500600082015250565b6129f6816125b7565b8114612a0157600080fd5b50565b612a0d816125c9565b8114612a1857600080fd5b50565b612a2481612603565b8114612a2f57600080fd5b5056fea264697066735822122030eaf5ea85b2b394f199580578e94145bbaca5d94be2a744e777af5746ca27a564736f6c63430008070033
Deployed Bytecode
0x6080604052600436106100ab5760003560e01c806370a082311161006457806370a08231146101da5780637667180814610217578063845360171461024257806395d89b4114610259578063a9059cbb14610284578063dd62ed3e146102c1576100b2565b806306fdde03146100b4578063095ea7b3146100df57806318160ddd1461011c57806323b872dd14610147578063313ce567146101845780634f4fc99b146101af576100b2565b366100b257005b005b3480156100c057600080fd5b506100c96102fe565b6040516100d69190612235565b60405180910390f35b3480156100eb57600080fd5b5061010660048036038101906101019190611ead565b610390565b604051610113919061221a565b60405180910390f35b34801561012857600080fd5b506101316103ae565b60405161013e91906123b2565b60405180910390f35b34801561015357600080fd5b5061016e60048036038101906101699190611e5a565b6103c1565b60405161017b919061221a565b60405180910390f35b34801561019057600080fd5b5061019961053f565b6040516101a69190612427565b60405180910390f35b3480156101bb57600080fd5b506101c4610556565b6040516101d191906121c8565b60405180910390f35b3480156101e657600080fd5b5061020160048036038101906101fc9190611dc0565b610580565b60405161020e91906123b2565b60405180910390f35b34801561022357600080fd5b5061022c6105c9565b6040516102399190612397565b60405180910390f35b34801561024e57600080fd5b506102576105e1565b005b34801561026557600080fd5b5061026e610790565b60405161027b9190612235565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a69190611ead565b610822565b6040516102b8919061221a565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e39190611e1a565b610840565b6040516102f591906123b2565b60405180910390f35b60606006805461030d9061265f565b80601f01602080910402602001604051908101604052809291908181526020018280546103399061265f565b80156103865780601f1061035b57610100808354040283529160200191610386565b820191906000526020600020905b81548152906001019060200180831161036957829003601f168201915b5050505050905090565b60006103a461039d6108c7565b84846108cf565b6001905092915050565b60006a084595161401484a000000905090565b600081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061040d6108c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610489576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610480906122f7565b60405180910390fd5b610494848484610a9a565b610534846104a06108c7565b84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ea6108c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052f9190612583565b6108cf565b600190509392505050565b6000600860009054906101000a900460ff16905090565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900461ffff16905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106226108c7565b73ffffffffffffffffffffffffffffffffffffffff1614806106985750600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106806108c7565b73ffffffffffffffffffffffffffffffffffffffff16145b6106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90612277565b60405180910390fd5b6000806106e26108c7565b73ffffffffffffffffffffffffffffffffffffffff1647604051610705906121b3565b60006040518083038185875af1925050503d8060008114610742576040519150601f19603f3d011682016040523d82523d6000602084013e610747565b606091505b50915091508161078c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610783906122b7565b60405180910390fd5b5050565b60606007805461079f9061265f565b80601f01602080910402602001604051908101604052809291908181526020018280546107cb9061265f565b80156108185780601f106107ed57610100808354040283529160200191610818565b820191906000526020600020905b8154815290600101906020018083116107fb57829003601f168201915b5050505050905090565b600061083661082f6108c7565b8484610a9a565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093690612357565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690612297565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a8d91906123b2565b60405180910390a3505050565b610aa26117b0565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663775beb7c8484600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401610b23939291906121e3565b602060405180830381600087803b158015610b3d57600080fd5b505af1158015610b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b759190611eed565b15610b7f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610c0a5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610c515781600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cfd5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610d575750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610e1057600080808152602001908152602001600020544210158015610d91575060008060058152602001908152602001600020544211155b610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790612377565b60405180910390fd5b6103e860056a084595161401484a000000610deb9190612529565b610df591906124f8565b81111580610e065750636127be0442115b610e0f57600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7790612337565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee790612257565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f69906122d7565b60405180910390fd5b60008111610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac90612317565b60405180910390fd5b6000819050600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156110685750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156110c25750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561111c5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561117c576004600360009054906101000a900461ffff1661ffff16101561116d576064600360029054906101000a900461ffff1661ffff16856111609190612529565b61116a91906124f8565b91505b81846111799190612583565b92505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156112275750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b801561125f57503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b1561132f57606460016000600360009054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16856112af9190612529565b6112b991906124f8565b915081846112c79190612583565b9250606460026000600360009054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16856113149190612529565b61131e91906124f8565b9050808361132c9190612583565b92505b80600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461137e91906124a2565b9250508190555068056bc75e2d63100000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156113e95750600360049054906101000a900460ff16155b80156114425750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b156114d15780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561149e575068056bc75e2d6310000081115b156114d0576114cf81600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611977565b5b5b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152091906124a2565b9250508190555068056bc75e2d63100000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411801561158b5750600360049054906101000a900460ff16155b80156115e45750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611697576000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506064600a8661163c9190612529565b61164691906124f8565b811115611669576064600a8661165c9190612529565b61166691906124f8565b90505b61169581600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611977565b505b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116e691906124a2565b9250508190555083600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461173c9190612583565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516117a091906123b2565b60405180910390a3505050505050565b6000600360009054906101000a900461ffff1661ffff161480156117e7575060008060018152602001908152602001600020544210155b1561180b576001600360006101000a81548161ffff021916908361ffff1602179055505b6001600360009054906101000a900461ffff1661ffff16148015611842575060008060028152602001908152602001600020544210155b15611866576002600360006101000a81548161ffff021916908361ffff1602179055505b6002600360009054906101000a900461ffff1661ffff1614801561189d575060008060038152602001908152602001600020544210155b156118c05760038060006101000a81548161ffff021916908361ffff1602179055505b60038060009054906101000a900461ffff1661ffff161480156118f6575060008060048152602001908152602001600020544210155b1561191a576004600360006101000a81548161ffff021916908361ffff1602179055505b6004600360009054906101000a900461ffff1661ffff16148015611951575060008060058152602001908152602001600020544210155b15611975576005600360006101000a81548161ffff021916908361ffff1602179055505b565b6001600360046101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119af576119ae61274d565b5b6040519080825280602002602001820160405280156119dd5781602001602082028036833780820191505090505b50905030816000815181106119f5576119f461271e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9757600080fd5b505afa158015611aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acf9190611ded565b81600181518110611ae357611ae261271e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b4a30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856108cf565b6000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008530426040518663ffffffff1660e01b8152600401611c519594939291906123cd565b600060405180830381600087803b158015611c6b57600080fd5b505af1158015611c7f573d6000803e3d6000fd5b505050506000471115611c9757611c964784611cb8565b5b50506000600360046101000a81548160ff0219169083151502179055505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1684604051611cdf906121b3565b60006040518083038185875af1925050503d8060008114611d1c576040519150601f19603f3d011682016040523d82523d6000602084013e611d21565b606091505b509150915081611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d906122b7565b60405180910390fd5b50505050565b600081359050611d7b816129ed565b92915050565b600081519050611d90816129ed565b92915050565b600081519050611da581612a04565b92915050565b600081359050611dba81612a1b565b92915050565b600060208284031215611dd657611dd561277c565b5b6000611de484828501611d6c565b91505092915050565b600060208284031215611e0357611e0261277c565b5b6000611e1184828501611d81565b91505092915050565b60008060408385031215611e3157611e3061277c565b5b6000611e3f85828601611d6c565b9250506020611e5085828601611d6c565b9150509250929050565b600080600060608486031215611e7357611e7261277c565b5b6000611e8186828701611d6c565b9350506020611e9286828701611d6c565b9250506040611ea386828701611dab565b9150509250925092565b60008060408385031215611ec457611ec361277c565b5b6000611ed285828601611d6c565b9250506020611ee385828601611dab565b9150509250929050565b600060208284031215611f0357611f0261277c565b5b6000611f1184828501611d96565b91505092915050565b6000611f268383611f32565b60208301905092915050565b611f3b816125b7565b82525050565b611f4a816125b7565b82525050565b6000611f5b82612452565b611f658185612475565b9350611f7083612442565b8060005b83811015611fa1578151611f888882611f1a565b9750611f9383612468565b925050600181019050611f74565b5085935050505092915050565b611fb7816125c9565b82525050565b611fc68161261a565b82525050565b6000611fd78261245d565b611fe18185612491565b9350611ff181856020860161262c565b611ffa81612781565b840191505092915050565b6000612012602383612491565b915061201d82612792565b604082019050919050565b6000612035600c83612491565b9150612040826127e1565b602082019050919050565b6000612058602283612491565b91506120638261280a565b604082019050919050565b600061207b601483612491565b915061208682612859565b602082019050919050565b600061209e601f83612491565b91506120a982612882565b602082019050919050565b60006120c1602883612491565b91506120cc826128ab565b604082019050919050565b60006120e4600c83612491565b91506120ef826128fa565b602082019050919050565b6000612107602583612491565b915061211282612923565b604082019050919050565b600061212a600083612486565b915061213582612972565b600082019050919050565b600061214d602483612491565b915061215882612975565b604082019050919050565b6000612170601f83612491565b915061217b826129c4565b602082019050919050565b61218f816125d5565b82525050565b61219e81612603565b82525050565b6121ad8161260d565b82525050565b60006121be8261211d565b9150819050919050565b60006020820190506121dd6000830184611f41565b92915050565b60006060820190506121f86000830186611f41565b6122056020830185611f41565b6122126040830184611f41565b949350505050565b600060208201905061222f6000830184611fae565b92915050565b6000602082019050818103600083015261224f8184611fcc565b905092915050565b6000602082019050818103600083015261227081612005565b9050919050565b6000602082019050818103600083015261229081612028565b9050919050565b600060208201905081810360008301526122b08161204b565b9050919050565b600060208201905081810360008301526122d08161206e565b9050919050565b600060208201905081810360008301526122f081612091565b9050919050565b60006020820190508181036000830152612310816120b4565b9050919050565b60006020820190508181036000830152612330816120d7565b9050919050565b60006020820190508181036000830152612350816120fa565b9050919050565b6000602082019050818103600083015261237081612140565b9050919050565b6000602082019050818103600083015261239081612163565b9050919050565b60006020820190506123ac6000830184612186565b92915050565b60006020820190506123c76000830184612195565b92915050565b600060a0820190506123e26000830188612195565b6123ef6020830187611fbd565b81810360408301526124018186611f50565b90506124106060830185611f41565b61241d6080830184612195565b9695505050505050565b600060208201905061243c60008301846121a4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006124ad82612603565b91506124b883612603565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124ed576124ec612691565b5b828201905092915050565b600061250382612603565b915061250e83612603565b92508261251e5761251d6126c0565b5b828204905092915050565b600061253482612603565b915061253f83612603565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561257857612577612691565b5b828202905092915050565b600061258e82612603565b915061259983612603565b9250828210156125ac576125ab612691565b5b828203905092915050565b60006125c2826125e3565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061262582612603565b9050919050565b60005b8381101561264a57808201518184015260208101905061262f565b83811115612659576000848401525b50505050565b6000600282049050600182168061267757607f821691505b6020821081141561268b5761268a6126ef565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b7f45524332303a207472616e7366657220657863656564732062616c616e636500600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f5472616e73666572203d20300000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f527567426f6d623a204e6f2074726164657320617420746869732074696d6500600082015250565b6129f6816125b7565b8114612a0157600080fd5b50565b612a0d816125c9565b8114612a1857600080fd5b50565b612a2481612603565b8114612a2f57600080fd5b5056fea264697066735822122030eaf5ea85b2b394f199580578e94145bbaca5d94be2a744e777af5746ca27a564736f6c63430008070033
Deployed Bytecode Sourcemap
8170:8715:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10338:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11176:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10615:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11345:374;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10524:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15672:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10723:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15580:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16518:289;;;;;;;;;;;;;:::i;:::-;;10429:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10850:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11025:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10338:83;10375:13;10408:5;10401:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10338:83;:::o;11176:161::-;11251:4;11268:39;11277:12;:10;:12::i;:::-;11291:7;11300:6;11268:8;:39::i;:::-;11325:4;11318:11;;11176:161;;;;:::o;10615:100::-;10668:7;8674:19;10688;;10615:100;:::o;11345:374::-;11443:4;11506:6;11469:11;:19;11481:6;11469:19;;;;;;;;;;;;;;;:33;11489:12;:10;:12::i;:::-;11469:33;;;;;;;;;;;;;;;;:43;;11460:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;11568:36;11578:6;11586:9;11597:6;11568:9;:36::i;:::-;11615:74;11624:6;11632:12;:10;:12::i;:::-;11682:6;11646:11;:19;11658:6;11646:19;;;;;;;;;;;;;;;:33;11666:12;:10;:12::i;:::-;11646:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;11615:8;:74::i;:::-;11707:4;11700:11;;11345:374;;;;;:::o;10524:83::-;10565:5;10590:9;;;;;;;;;;;10583:16;;10524:83;:::o;15672:82::-;15713:7;15739;;;;;;;;;;;15732:14;;15672:82;:::o;10723:119::-;10789:7;10816:9;:18;10826:7;10816:18;;;;;;;;;;;;;;;;10809:25;;10723:119;;;:::o;15580:84::-;15625:6;15650;;;;;;;;;;;15643:13;;15580:84;:::o;16518:289::-;16595:14;;;;;;;;;;;16579:30;;:12;:10;:12::i;:::-;:30;;;:60;;;;16629:10;;;;;;;;;;;16613:26;;:12;:10;:12::i;:::-;:26;;;16579:60;16570:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;16668:9;16679:17;16700:12;:10;:12::i;:::-;:17;;16725:21;16700:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16667:84;;;;16770:4;16762:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;16559:248;;16518:289::o;10429:87::-;10468:13;10501:7;10494:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10429:87;:::o;10850:167::-;10928:4;10945:42;10955:12;:10;:12::i;:::-;10969:9;10980:6;10945:9;:42::i;:::-;11005:4;10998:11;;10850:167;;;;:::o;11025:143::-;11106:7;11133:11;:18;11145:5;11133:18;;;;;;;;;;;;;;;:27;11152:7;11133:27;;;;;;;;;;;;;;;;11126:34;;11025:143;;;;:::o;2807:98::-;2860:7;2887:10;2880:17;;2807:98;:::o;11727:337::-;11837:1;11820:19;;:5;:19;;;;11812:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11918:1;11899:21;;:7;:21;;;;11891:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12002:6;11972:11;:18;11984:5;11972:18;;;;;;;;;;;;;;;:27;11991:7;11972:27;;;;;;;;;;;;;;;:36;;;;12040:7;12024:32;;12033:5;12024:32;;;12049:6;12024:32;;;;;;:::i;:::-;;;;;;;;11727:337;;;:::o;12072:3054::-;12222:13;:11;:13::i;:::-;12341:3;;;;;;;;;;;:14;;;12356:6;12364:9;12375:7;;;;;;;;;;;12341:42;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12340:43;12331:53;;;;;;12538:1;12519:21;;:7;;;;;;;;;;;:21;;;:45;;;;;12562:1;12544:20;;:6;:20;;;;12519:45;12515:98;;;12591:9;12581:7;;:19;;;;;;;;;;;;;;;;;;12515:98;12755:9;;;;;;;;;;;12745:19;;:6;:19;;;;:45;;;;;12781:9;;;;;;;;;;;12768:22;;:9;:22;;;;12745:45;:72;;;;;12807:10;;;;;;;;;;;12794:23;;:9;:23;;;;12745:72;12741:377;;;12871:15;:18;12887:1;12871:18;;;;;;;;;;;;12852:15;:37;;:78;;;;;12912:15;:18;12928:1;12912:18;;;;;;;;;;;;12893:15;:37;;12852:78;12843:123;;;;;;;;;;;;:::i;:::-;;;;;;;;;13068:4;13064:1;8674:19;13049:16;;;;:::i;:::-;:23;;;;:::i;:::-;13038:6;:35;;:67;;;;13095:10;13077:15;:28;13038:67;13029:77;;;;;;12741:377;13200:1;13182:20;;:6;:20;;;;13174:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13284:1;13263:23;;:9;:23;;;;13255:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13366:6;13345:9;:17;13355:6;13345:17;;;;;;;;;;;;;;;;:27;;13337:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13436:1;13427:6;:10;13419:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;13512:23;13538:6;13512:32;;13555:13;13583:15;13655:7;;;;;;;;;;;13645:17;;:6;:17;;;:43;;;;;13679:9;;;;;;;;;;;13666:22;;:9;:22;;;;13645:43;:70;;;;;13705:10;;;;;;;;;;;13692:23;;:9;:23;;;;13645:70;:101;;;;;13732:14;;;;;;;;;;;13719:27;;:9;:27;;;;13645:101;13641:240;;;13785:1;13776:6;;;;;;;;;;;:10;;;13772:50;;;13819:3;13805:11;;;;;;;;;;;13796:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;13788:34;;13772:50;13864:5;13855:6;:14;;;;:::i;:::-;13837:32;;13641:240;13935:7;;;;;;;;;;;13922:20;;:9;:20;;;:43;;;;;13956:9;;;;;;;;;;;13946:19;;:6;:19;;;;13922:43;:70;;;;;13987:4;13969:23;;:6;:23;;;;13922:70;13918:317;;;14055:3;14035:9;:17;14045:6;;;;;;;;;;;14035:17;;;;;;;;;;;;;;;;;;;;;;;;;14026:26;;:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;14018:40;;14100:5;14091:6;:14;;;;:::i;:::-;14073:32;;14162:3;14141:10;:18;14152:6;;;;;;;;;;;14141:18;;;;;;;;;;;;;;;;;;;;;;;;;14132:27;;:6;:27;;;;:::i;:::-;:33;;;;:::i;:::-;14122:43;;14216:7;14198:15;:25;;;;:::i;:::-;14180:43;;13918:317;14283:7;14255:9;:24;14273:4;14255:24;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;14340:12;14313:9;:24;14331:4;14313:24;;;;;;;;;;;;;;;;:39;:55;;;;;14357:11;;;;;;;;;;;14356:12;14313:55;:79;;;;;14385:7;;;;;;;;;;;14372:20;;:9;:20;;;14313:79;14309:236;;;14440:7;14412:9;:24;14430:4;14412:24;;;;;;;;;;;;;;;;:35;;:61;;;;;14461:12;14451:7;:22;14412:61;14408:125;;;14493:40;14509:7;14518:14;;;;;;;;;;;14493:15;:40::i;:::-;14408:125;14309:236;14586:5;14558:9;:24;14576:4;14558:24;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;14633:12;14606:9;:24;14624:4;14606:24;;;;;;;;;;;;;;;;:39;:55;;;;;14650:11;;;;;;;;;;;14649:12;14606:55;:79;;;;;14678:7;;;;;;;;;;;14665:20;;:9;:20;;;14606:79;14602:291;;;14701:18;14722:9;:24;14740:4;14722:24;;;;;;;;;;;;;;;;14701:45;;14792:3;14787:2;14778:6;:11;;;;:::i;:::-;:17;;;;:::i;:::-;14765:10;:30;14761:66;;;14824:3;14819:2;14810:6;:11;;;;:::i;:::-;:17;;;;:::i;:::-;14797:30;;14761:66;14842:39;14858:10;14870;;;;;;;;;;;14842:15;:39::i;:::-;14686:207;14602:291;15012:15;14988:9;:20;14998:9;14988:20;;;;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;;;;;;;;15059:6;15038:9;:17;15048:6;15038:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;15100:9;15083:35;;15092:6;15083:35;;;15111:6;15083:35;;;;;;:::i;:::-;;;;;;;;12150:2976;;;12072:3054;;;:::o;15138:434::-;15194:1;15184:6;;;;;;;;;;;:11;;;:52;;;;;15218:15;:18;15234:1;15218:18;;;;;;;;;;;;15199:15;:37;;15184:52;15180:68;;;15247:1;15238:6;;:10;;;;;;;;;;;;;;;;;;15180:68;15273:1;15263:6;;;;;;;;;;;:11;;;:52;;;;;15297:15;:18;15313:1;15297:18;;;;;;;;;;;;15278:15;:37;;15263:52;15259:68;;;15326:1;15317:6;;:10;;;;;;;;;;;;;;;;;;15259:68;15352:1;15342:6;;;;;;;;;;;:11;;;:52;;;;;15376:15;:18;15392:1;15376:18;;;;;;;;;;;;15357:15;:37;;15342:52;15338:68;;;15405:1;15396:6;;:10;;;;;;;;;;;;;;;;;;15338:68;15431:1;15421:6;;;;;;;;;;;:11;;;:52;;;;;15455:15;:18;15471:1;15455:18;;;;;;;;;;;;15436:15;:37;;15421:52;15417:68;;;15484:1;15475:6;;:10;;;;;;;;;;;;;;;;;;15417:68;15510:1;15500:6;;;;;;;;;;;:11;;;:52;;;;;15534:15;:18;15550:1;15534:18;;;;;;;;;;;;15515:15;:37;;15500:52;15496:68;;;15563:1;15554:6;;:10;;;;;;;;;;;;;;;;;;15496:68;15138:434::o;15959:551::-;10276:4;10262:11;;:18;;;;;;;;;;;;;;;;;;16058:21:::1;16096:1;16082:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16058:40;;16127:4;16109;16114:1;16109:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;16153:11;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16143:4;16148:1;16143:7;;;;;;;;:::i;:::-;;;;;;;:28;;;;;;;;;::::0;::::1;16184:43;16201:4;16208:10;;;;;;;;;;;16220:6;16184:8;:43::i;:::-;16238:16;16257:11;:26;16277:4;16257:26;;;;;;;;;;;;;;;:38;16284:10;;;;;;;;;;;16257:38;;;;;;;;;;;;;;;;16238:57;;16306:11;;;;;;;;;;;:62;;;16369:6;16377:1;16380:4;16394;16401:15;16306:111;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16458:1;16434:21;:25;16430:72;;;16461:41;16469:21;16492:9;16461:7;:41::i;:::-;16430:72;16047:463;;10317:5:::0;10303:11;;:19;;;;;;;;;;;;;;;;;;15959:551;;:::o;15762:189::-;15836:9;15847:17;15868:3;:8;;15884:6;15868:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15835:60;;;;15914:4;15906:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;15824:127;;15762:189;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:329::-;648:6;697:2;685:9;676:7;672:23;668:32;665:119;;;703:79;;:::i;:::-;665:119;823:1;848:53;893:7;884:6;873:9;869:22;848:53;:::i;:::-;838:63;;794:117;589:329;;;;:::o;924:351::-;994:6;1043:2;1031:9;1022:7;1018:23;1014:32;1011:119;;;1049:79;;:::i;:::-;1011:119;1169:1;1194:64;1250:7;1241:6;1230:9;1226:22;1194:64;:::i;:::-;1184:74;;1140:128;924:351;;;;:::o;1281:474::-;1349:6;1357;1406:2;1394:9;1385:7;1381:23;1377:32;1374:119;;;1412:79;;:::i;:::-;1374:119;1532:1;1557:53;1602:7;1593:6;1582:9;1578:22;1557:53;:::i;:::-;1547:63;;1503:117;1659:2;1685:53;1730:7;1721:6;1710:9;1706:22;1685:53;:::i;:::-;1675:63;;1630:118;1281:474;;;;;:::o;1761:619::-;1838:6;1846;1854;1903:2;1891:9;1882:7;1878:23;1874:32;1871:119;;;1909:79;;:::i;:::-;1871:119;2029:1;2054:53;2099:7;2090:6;2079:9;2075:22;2054:53;:::i;:::-;2044:63;;2000:117;2156:2;2182:53;2227:7;2218:6;2207:9;2203:22;2182:53;:::i;:::-;2172:63;;2127:118;2284:2;2310:53;2355:7;2346:6;2335:9;2331:22;2310:53;:::i;:::-;2300:63;;2255:118;1761:619;;;;;:::o;2386:474::-;2454:6;2462;2511:2;2499:9;2490:7;2486:23;2482:32;2479:119;;;2517:79;;:::i;:::-;2479:119;2637:1;2662:53;2707:7;2698:6;2687:9;2683:22;2662:53;:::i;:::-;2652:63;;2608:117;2764:2;2790:53;2835:7;2826:6;2815:9;2811:22;2790:53;:::i;:::-;2780:63;;2735:118;2386:474;;;;;:::o;2866:345::-;2933:6;2982:2;2970:9;2961:7;2957:23;2953:32;2950:119;;;2988:79;;:::i;:::-;2950:119;3108:1;3133:61;3186:7;3177:6;3166:9;3162:22;3133:61;:::i;:::-;3123:71;;3079:125;2866:345;;;;:::o;3217:179::-;3286:10;3307:46;3349:3;3341:6;3307:46;:::i;:::-;3385:4;3380:3;3376:14;3362:28;;3217:179;;;;:::o;3402:108::-;3479:24;3497:5;3479:24;:::i;:::-;3474:3;3467:37;3402:108;;:::o;3516:118::-;3603:24;3621:5;3603:24;:::i;:::-;3598:3;3591:37;3516:118;;:::o;3670:732::-;3789:3;3818:54;3866:5;3818:54;:::i;:::-;3888:86;3967:6;3962:3;3888:86;:::i;:::-;3881:93;;3998:56;4048:5;3998:56;:::i;:::-;4077:7;4108:1;4093:284;4118:6;4115:1;4112:13;4093:284;;;4194:6;4188:13;4221:63;4280:3;4265:13;4221:63;:::i;:::-;4214:70;;4307:60;4360:6;4307:60;:::i;:::-;4297:70;;4153:224;4140:1;4137;4133:9;4128:14;;4093:284;;;4097:14;4393:3;4386:10;;3794:608;;;3670:732;;;;:::o;4408:109::-;4489:21;4504:5;4489:21;:::i;:::-;4484:3;4477:34;4408:109;;:::o;4523:147::-;4618:45;4657:5;4618:45;:::i;:::-;4613:3;4606:58;4523:147;;:::o;4676:364::-;4764:3;4792:39;4825:5;4792:39;:::i;:::-;4847:71;4911:6;4906:3;4847:71;:::i;:::-;4840:78;;4927:52;4972:6;4967:3;4960:4;4953:5;4949:16;4927:52;:::i;:::-;5004:29;5026:6;5004:29;:::i;:::-;4999:3;4995:39;4988:46;;4768:272;4676:364;;;;:::o;5046:366::-;5188:3;5209:67;5273:2;5268:3;5209:67;:::i;:::-;5202:74;;5285:93;5374:3;5285:93;:::i;:::-;5403:2;5398:3;5394:12;5387:19;;5046:366;;;:::o;5418:::-;5560:3;5581:67;5645:2;5640:3;5581:67;:::i;:::-;5574:74;;5657:93;5746:3;5657:93;:::i;:::-;5775:2;5770:3;5766:12;5759:19;;5418:366;;;:::o;5790:::-;5932:3;5953:67;6017:2;6012:3;5953:67;:::i;:::-;5946:74;;6029:93;6118:3;6029:93;:::i;:::-;6147:2;6142:3;6138:12;6131:19;;5790:366;;;:::o;6162:::-;6304:3;6325:67;6389:2;6384:3;6325:67;:::i;:::-;6318:74;;6401:93;6490:3;6401:93;:::i;:::-;6519:2;6514:3;6510:12;6503:19;;6162:366;;;:::o;6534:::-;6676:3;6697:67;6761:2;6756:3;6697:67;:::i;:::-;6690:74;;6773:93;6862:3;6773:93;:::i;:::-;6891:2;6886:3;6882:12;6875:19;;6534:366;;;:::o;6906:::-;7048:3;7069:67;7133:2;7128:3;7069:67;:::i;:::-;7062:74;;7145:93;7234:3;7145:93;:::i;:::-;7263:2;7258:3;7254:12;7247:19;;6906:366;;;:::o;7278:::-;7420:3;7441:67;7505:2;7500:3;7441:67;:::i;:::-;7434:74;;7517:93;7606:3;7517:93;:::i;:::-;7635:2;7630:3;7626:12;7619:19;;7278:366;;;:::o;7650:::-;7792:3;7813:67;7877:2;7872:3;7813:67;:::i;:::-;7806:74;;7889:93;7978:3;7889:93;:::i;:::-;8007:2;8002:3;7998:12;7991:19;;7650:366;;;:::o;8022:398::-;8181:3;8202:83;8283:1;8278:3;8202:83;:::i;:::-;8195:90;;8294:93;8383:3;8294:93;:::i;:::-;8412:1;8407:3;8403:11;8396:18;;8022:398;;;:::o;8426:366::-;8568:3;8589:67;8653:2;8648:3;8589:67;:::i;:::-;8582:74;;8665:93;8754:3;8665:93;:::i;:::-;8783:2;8778:3;8774:12;8767:19;;8426:366;;;:::o;8798:::-;8940:3;8961:67;9025:2;9020:3;8961:67;:::i;:::-;8954:74;;9037:93;9126:3;9037:93;:::i;:::-;9155:2;9150:3;9146:12;9139:19;;8798:366;;;:::o;9170:115::-;9255:23;9272:5;9255:23;:::i;:::-;9250:3;9243:36;9170:115;;:::o;9291:118::-;9378:24;9396:5;9378:24;:::i;:::-;9373:3;9366:37;9291:118;;:::o;9415:112::-;9498:22;9514:5;9498:22;:::i;:::-;9493:3;9486:35;9415:112;;:::o;9533:379::-;9717:3;9739:147;9882:3;9739:147;:::i;:::-;9732:154;;9903:3;9896:10;;9533:379;;;:::o;9918:222::-;10011:4;10049:2;10038:9;10034:18;10026:26;;10062:71;10130:1;10119:9;10115:17;10106:6;10062:71;:::i;:::-;9918:222;;;;:::o;10146:442::-;10295:4;10333:2;10322:9;10318:18;10310:26;;10346:71;10414:1;10403:9;10399:17;10390:6;10346:71;:::i;:::-;10427:72;10495:2;10484:9;10480:18;10471:6;10427:72;:::i;:::-;10509;10577:2;10566:9;10562:18;10553:6;10509:72;:::i;:::-;10146:442;;;;;;:::o;10594:210::-;10681:4;10719:2;10708:9;10704:18;10696:26;;10732:65;10794:1;10783:9;10779:17;10770:6;10732:65;:::i;:::-;10594:210;;;;:::o;10810:313::-;10923:4;10961:2;10950:9;10946:18;10938:26;;11010:9;11004:4;11000:20;10996:1;10985:9;10981:17;10974:47;11038:78;11111:4;11102:6;11038:78;:::i;:::-;11030:86;;10810:313;;;;:::o;11129:419::-;11295:4;11333:2;11322:9;11318:18;11310:26;;11382:9;11376:4;11372:20;11368:1;11357:9;11353:17;11346:47;11410:131;11536:4;11410:131;:::i;:::-;11402:139;;11129:419;;;:::o;11554:::-;11720:4;11758:2;11747:9;11743:18;11735:26;;11807:9;11801:4;11797:20;11793:1;11782:9;11778:17;11771:47;11835:131;11961:4;11835:131;:::i;:::-;11827:139;;11554:419;;;:::o;11979:::-;12145:4;12183:2;12172:9;12168:18;12160:26;;12232:9;12226:4;12222:20;12218:1;12207:9;12203:17;12196:47;12260:131;12386:4;12260:131;:::i;:::-;12252:139;;11979:419;;;:::o;12404:::-;12570:4;12608:2;12597:9;12593:18;12585:26;;12657:9;12651:4;12647:20;12643:1;12632:9;12628:17;12621:47;12685:131;12811:4;12685:131;:::i;:::-;12677:139;;12404:419;;;:::o;12829:::-;12995:4;13033:2;13022:9;13018:18;13010:26;;13082:9;13076:4;13072:20;13068:1;13057:9;13053:17;13046:47;13110:131;13236:4;13110:131;:::i;:::-;13102:139;;12829:419;;;:::o;13254:::-;13420:4;13458:2;13447:9;13443:18;13435:26;;13507:9;13501:4;13497:20;13493:1;13482:9;13478:17;13471:47;13535:131;13661:4;13535:131;:::i;:::-;13527:139;;13254:419;;;:::o;13679:::-;13845:4;13883:2;13872:9;13868:18;13860:26;;13932:9;13926:4;13922:20;13918:1;13907:9;13903:17;13896:47;13960:131;14086:4;13960:131;:::i;:::-;13952:139;;13679:419;;;:::o;14104:::-;14270:4;14308:2;14297:9;14293:18;14285:26;;14357:9;14351:4;14347:20;14343:1;14332:9;14328:17;14321:47;14385:131;14511:4;14385:131;:::i;:::-;14377:139;;14104:419;;;:::o;14529:::-;14695:4;14733:2;14722:9;14718:18;14710:26;;14782:9;14776:4;14772:20;14768:1;14757:9;14753:17;14746:47;14810:131;14936:4;14810:131;:::i;:::-;14802:139;;14529:419;;;:::o;14954:::-;15120:4;15158:2;15147:9;15143:18;15135:26;;15207:9;15201:4;15197:20;15193:1;15182:9;15178:17;15171:47;15235:131;15361:4;15235:131;:::i;:::-;15227:139;;14954:419;;;:::o;15379:218::-;15470:4;15508:2;15497:9;15493:18;15485:26;;15521:69;15587:1;15576:9;15572:17;15563:6;15521:69;:::i;:::-;15379:218;;;;:::o;15603:222::-;15696:4;15734:2;15723:9;15719:18;15711:26;;15747:71;15815:1;15804:9;15800:17;15791:6;15747:71;:::i;:::-;15603:222;;;;:::o;15831:831::-;16094:4;16132:3;16121:9;16117:19;16109:27;;16146:71;16214:1;16203:9;16199:17;16190:6;16146:71;:::i;:::-;16227:80;16303:2;16292:9;16288:18;16279:6;16227:80;:::i;:::-;16354:9;16348:4;16344:20;16339:2;16328:9;16324:18;16317:48;16382:108;16485:4;16476:6;16382:108;:::i;:::-;16374:116;;16500:72;16568:2;16557:9;16553:18;16544:6;16500:72;:::i;:::-;16582:73;16650:3;16639:9;16635:19;16626:6;16582:73;:::i;:::-;15831:831;;;;;;;;:::o;16668:214::-;16757:4;16795:2;16784:9;16780:18;16772:26;;16808:67;16872:1;16861:9;16857:17;16848:6;16808:67;:::i;:::-;16668:214;;;;:::o;16969:132::-;17036:4;17059:3;17051:11;;17089:4;17084:3;17080:14;17072:22;;16969:132;;;:::o;17107:114::-;17174:6;17208:5;17202:12;17192:22;;17107:114;;;:::o;17227:99::-;17279:6;17313:5;17307:12;17297:22;;17227:99;;;:::o;17332:113::-;17402:4;17434;17429:3;17425:14;17417:22;;17332:113;;;:::o;17451:184::-;17550:11;17584:6;17579:3;17572:19;17624:4;17619:3;17615:14;17600:29;;17451:184;;;;:::o;17641:147::-;17742:11;17779:3;17764:18;;17641:147;;;;:::o;17794:169::-;17878:11;17912:6;17907:3;17900:19;17952:4;17947:3;17943:14;17928:29;;17794:169;;;;:::o;17969:305::-;18009:3;18028:20;18046:1;18028:20;:::i;:::-;18023:25;;18062:20;18080:1;18062:20;:::i;:::-;18057:25;;18216:1;18148:66;18144:74;18141:1;18138:81;18135:107;;;18222:18;;:::i;:::-;18135:107;18266:1;18263;18259:9;18252:16;;17969:305;;;;:::o;18280:185::-;18320:1;18337:20;18355:1;18337:20;:::i;:::-;18332:25;;18371:20;18389:1;18371:20;:::i;:::-;18366:25;;18410:1;18400:35;;18415:18;;:::i;:::-;18400:35;18457:1;18454;18450:9;18445:14;;18280:185;;;;:::o;18471:348::-;18511:7;18534:20;18552:1;18534:20;:::i;:::-;18529:25;;18568:20;18586:1;18568:20;:::i;:::-;18563:25;;18756:1;18688:66;18684:74;18681:1;18678:81;18673:1;18666:9;18659:17;18655:105;18652:131;;;18763:18;;:::i;:::-;18652:131;18811:1;18808;18804:9;18793:20;;18471:348;;;;:::o;18825:191::-;18865:4;18885:20;18903:1;18885:20;:::i;:::-;18880:25;;18919:20;18937:1;18919:20;:::i;:::-;18914:25;;18958:1;18955;18952:8;18949:34;;;18963:18;;:::i;:::-;18949:34;19008:1;19005;19001:9;18993:17;;18825:191;;;;:::o;19022:96::-;19059:7;19088:24;19106:5;19088:24;:::i;:::-;19077:35;;19022:96;;;:::o;19124:90::-;19158:7;19201:5;19194:13;19187:21;19176:32;;19124:90;;;:::o;19220:89::-;19256:7;19296:6;19289:5;19285:18;19274:29;;19220:89;;;:::o;19315:126::-;19352:7;19392:42;19385:5;19381:54;19370:65;;19315:126;;;:::o;19447:77::-;19484:7;19513:5;19502:16;;19447:77;;;:::o;19530:86::-;19565:7;19605:4;19598:5;19594:16;19583:27;;19530:86;;;:::o;19622:121::-;19680:9;19713:24;19731:5;19713:24;:::i;:::-;19700:37;;19622:121;;;:::o;19749:307::-;19817:1;19827:113;19841:6;19838:1;19835:13;19827:113;;;19926:1;19921:3;19917:11;19911:18;19907:1;19902:3;19898:11;19891:39;19863:2;19860:1;19856:10;19851:15;;19827:113;;;19958:6;19955:1;19952:13;19949:101;;;20038:1;20029:6;20024:3;20020:16;20013:27;19949:101;19798:258;19749:307;;;:::o;20062:320::-;20106:6;20143:1;20137:4;20133:12;20123:22;;20190:1;20184:4;20180:12;20211:18;20201:81;;20267:4;20259:6;20255:17;20245:27;;20201:81;20329:2;20321:6;20318:14;20298:18;20295:38;20292:84;;;20348:18;;:::i;:::-;20292:84;20113:269;20062:320;;;:::o;20388:180::-;20436:77;20433:1;20426:88;20533:4;20530:1;20523:15;20557:4;20554:1;20547:15;20574:180;20622:77;20619:1;20612:88;20719:4;20716:1;20709:15;20743:4;20740:1;20733:15;20760:180;20808:77;20805:1;20798:88;20905:4;20902:1;20895:15;20929:4;20926:1;20919:15;20946:180;20994:77;20991:1;20984:88;21091:4;21088:1;21081:15;21115:4;21112:1;21105:15;21132:180;21180:77;21177:1;21170:88;21277:4;21274:1;21267:15;21301:4;21298:1;21291:15;21441:117;21550:1;21547;21540:12;21564:102;21605:6;21656:2;21652:7;21647:2;21640:5;21636:14;21632:28;21622:38;;21564:102;;;:::o;21672:222::-;21812:34;21808:1;21800:6;21796:14;21789:58;21881:5;21876:2;21868:6;21864:15;21857:30;21672:222;:::o;21900:162::-;22040:14;22036:1;22028:6;22024:14;22017:38;21900:162;:::o;22068:221::-;22208:34;22204:1;22196:6;22192:14;22185:58;22277:4;22272:2;22264:6;22260:15;22253:29;22068:221;:::o;22295:170::-;22435:22;22431:1;22423:6;22419:14;22412:46;22295:170;:::o;22471:181::-;22611:33;22607:1;22599:6;22595:14;22588:57;22471:181;:::o;22658:227::-;22798:34;22794:1;22786:6;22782:14;22775:58;22867:10;22862:2;22854:6;22850:15;22843:35;22658:227;:::o;22891:162::-;23031:14;23027:1;23019:6;23015:14;23008:38;22891:162;:::o;23059:224::-;23199:34;23195:1;23187:6;23183:14;23176:58;23268:7;23263:2;23255:6;23251:15;23244:32;23059:224;:::o;23289:114::-;;:::o;23409:223::-;23549:34;23545:1;23537:6;23533:14;23526:58;23618:6;23613:2;23605:6;23601:15;23594:31;23409:223;:::o;23638:181::-;23778:33;23774:1;23766:6;23762:14;23755:57;23638:181;:::o;23825:122::-;23898:24;23916:5;23898:24;:::i;:::-;23891:5;23888:35;23878:63;;23937:1;23934;23927:12;23878:63;23825:122;:::o;23953:116::-;24023:21;24038:5;24023:21;:::i;:::-;24016:5;24013:32;24003:60;;24059:1;24056;24049:12;24003:60;23953:116;:::o;24075:122::-;24148:24;24166:5;24148:24;:::i;:::-;24141:5;24138:35;24128:63;;24187:1;24184;24177:12;24128:63;24075:122;:::o
Swarm Source
ipfs://30eaf5ea85b2b394f199580578e94145bbaca5d94be2a744e777af5746ca27a5
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.