ETH Price: $2,506.45 (+0.19%)

Token

HarryPotterSomethingSomethingGrok (GROK)
 

Overview

Max Total Supply

10,000,000 GROK

Holders

71

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.98298108578 GROK

Value
$0.00
0x9EF091812F3b679ecD96e774BD4e1109556a3c03
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:
HPSSG

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-11-13
*/

/**
    $GROK HarryPotterSomethingSomethingGrok

    https://t.me/HPSSGERC

    https://twitter.com/EFIERC20\

    https://www.hpssgerc.site/

   
**/
// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.12;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract HPSSG is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 10_000_000e18;
    uint256 private constant onePercent = 100_000e18;
    uint256 private constant minSwap = 25_000e18;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;

    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = onePercent * 2; //max Tx for first mins after launch

    string private constant _name = unicode"HarryPotterSomethingSomethingGrok";
    string private constant _symbol = unicode"GROK";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 30;
        sellTax = 30;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0x6E2c6E4e4f0667c40132bA96D019c9eF68D9DDCd);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function openTrading() external onlyOwner {
        launch = 1;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax < 31, "Cannot set buy tax greater than 60%");
        require(newSellTax < 41, "Cannot set sell tax greater than 60%");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 1% at launch"
            );

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > onePercent) {
                        tokensToSwap = onePercent;
                    }
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

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":"wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

610100604052600269152d02c7e14af68000006200001e91906200075e565b6006553480156200002e57600080fd5b506000620000416200071d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019b919062000829565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050601e600281905550601e60038190555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000252919062000829565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b8152600401620002909291906200086c565b6020604051808303816000875af1158015620002b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d6919062000829565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050736e2c6e4e4f0667c40132ba96d019c9ef68d9ddcd73ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506a084595161401484a000000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016009600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6008600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006a56200071d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a0000006040516200070f9190620008aa565b60405180910390a3620008c7565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200076b8262000725565b9150620007788362000725565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007b457620007b36200072f565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007f182620007c4565b9050919050565b6200080381620007e4565b81146200080f57600080fd5b50565b6000815190506200082381620007f8565b92915050565b600060208284031215620008425762000841620007bf565b5b6000620008528482850162000812565b91505092915050565b6200086681620007e4565b82525050565b60006040820190506200088360008301856200085b565b6200089260208301846200085b565b9392505050565b620008a48162000725565b82525050565b6000602082019050620008c1600083018462000899565b92915050565b60805160a05160c05160e0516124cd6200090860003960006113d90152600061132a01526000818161112b01526111890152600061139901526124cd6000f3fe6080604052600436106101185760003560e01c80638c0b5e22116100a0578063c9567bf911610064578063c9567bf91461039c578063cc1776d3146103b3578063dba9d420146103de578063dd62ed3e14610407578063f2fde38b146104445761011f565b80638c0b5e22146102b55780638da5cb5b146102e05780639036ed4d1461030b57806395d89b4114610334578063a9059cbb1461035f5761011f565b8063313ce567116100e7578063313ce567146101f45780634f7041a51461021f57806370a082311461024a578063715018a614610287578063751039fc1461029e5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961046d565b6040516101469190611961565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611a1c565b61048d565b6040516101839190611a77565b60405180910390f35b34801561019857600080fd5b506101a16104ab565b6040516101ae9190611aa1565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190611abc565b6104be565b6040516101eb9190611a77565b60405180910390f35b34801561020057600080fd5b50610209610576565b6040516102169190611b2b565b60405180910390f35b34801561022b57600080fd5b5061023461057f565b6040516102419190611aa1565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c9190611b46565b610585565b60405161027e9190611aa1565b60405180910390f35b34801561029357600080fd5b5061029c6105ce565b005b3480156102aa57600080fd5b506102b3610721565b005b3480156102c157600080fd5b506102ca6107ca565b6040516102d79190611aa1565b60405180910390f35b3480156102ec57600080fd5b506102f56107d0565b6040516103029190611b82565b60405180910390f35b34801561031757600080fd5b50610332600480360381019061032d9190611b9d565b6107f9565b005b34801561034057600080fd5b50610349610926565b6040516103569190611961565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190611a1c565b610963565b6040516103939190611a77565b60405180910390f35b3480156103a857600080fd5b506103b1610981565b005b3480156103bf57600080fd5b506103c8610a3b565b6040516103d59190611aa1565b60405180910390f35b3480156103ea57600080fd5b5061040560048036038101906104009190611b46565b610a41565b005b34801561041357600080fd5b5061042e60048036038101906104299190611bdd565b610b31565b60405161043b9190611aa1565b60405180910390f35b34801561045057600080fd5b5061046b60048036038101906104669190611b46565b610bb8565b005b606060405180606001604052806021815260200161247760219139905090565b60006104a161049a610c59565b8484610c61565b6001905092915050565b60006a084595161401484a000000905090565b60006104cb848484610e2c565b61056b846104d7610c59565b84600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610521610c59565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105669190611c4c565b610c61565b600190509392505050565b60006012905090565b60025481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105d6610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065a90611ccc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610729610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90611ccc565b60405180910390fd5b6a084595161401484a000000600681905550565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610801610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088590611ccc565b60405180910390fd5b601f82106108d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c890611d5e565b60405180910390fd5b60298110610914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090b90611df0565b60405180910390fd5b81600281905550806003819055505050565b60606040518060400160405280600481526020017f47524f4b00000000000000000000000000000000000000000000000000000000815250905090565b6000610977610970610c59565b8484610e2c565b6001905092915050565b610989610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d90611ccc565b60405180910390fd5b6001600460006101000a81548160ff021916908360ff16021790555043600581905550565b60035481565b610a49610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd90611ccc565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610bc0610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4490611ccc565b60405180910390fd5b610c568161179b565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc890611e82565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3890611f14565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e1f9190611aa1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9390611fa6565b60405180910390fd5b633b9aca008111610ee2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed990612012565b60405180910390fd5b6000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f855750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f93576000905061147b565b6000600460009054906101000a900460ff1660ff1614158015610fb857506006548211155b610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee906120a4565b60405180910390fd5b6001600460019054906101000a900460ff1660ff1614156111295781600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110619190611c4c565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110b791906120c4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161111b9190611aa1565b60405180910390a350611796565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561118757600254905061147a565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611474576000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905069054b40b1f852bda000008111801561124a57506000600460019054906101000a900460ff1660ff16145b156114695769152d02c7e14af680000081111561126f5769152d02c7e14af680000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156112a8576112a761211a565b5b6040519080825280602002602001820160405280156112d65781602001602082028036833780820191505090505b50905030816000815181106112ee576112ed612149565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061135d5761135c612149565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b81526004016114199594939291906122d0565b600060405180830381600087803b15801561143357600080fd5b505af1158015611447573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff160217905550505b600354915050611479565b600090505b5b5b6000811461168257600060648284611493919061232a565b61149d91906123b3565b9050600081846114ad9190611c4c565b905083600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114fe9190611c4c565b9250508190555080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155491906120c4565b9250508190555081600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115aa91906120c4565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161160e9190611aa1565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116739190611aa1565b60405180910390a35050611794565b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116d19190611c4c565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461172791906120c4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161178b9190611aa1565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561180b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180290612456565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119025780820151818401526020810190506118e7565b83811115611911576000848401525b50505050565b6000601f19601f8301169050919050565b6000611933826118c8565b61193d81856118d3565b935061194d8185602086016118e4565b61195681611917565b840191505092915050565b6000602082019050818103600083015261197b8184611928565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119b382611988565b9050919050565b6119c3816119a8565b81146119ce57600080fd5b50565b6000813590506119e0816119ba565b92915050565b6000819050919050565b6119f9816119e6565b8114611a0457600080fd5b50565b600081359050611a16816119f0565b92915050565b60008060408385031215611a3357611a32611983565b5b6000611a41858286016119d1565b9250506020611a5285828601611a07565b9150509250929050565b60008115159050919050565b611a7181611a5c565b82525050565b6000602082019050611a8c6000830184611a68565b92915050565b611a9b816119e6565b82525050565b6000602082019050611ab66000830184611a92565b92915050565b600080600060608486031215611ad557611ad4611983565b5b6000611ae3868287016119d1565b9350506020611af4868287016119d1565b9250506040611b0586828701611a07565b9150509250925092565b600060ff82169050919050565b611b2581611b0f565b82525050565b6000602082019050611b406000830184611b1c565b92915050565b600060208284031215611b5c57611b5b611983565b5b6000611b6a848285016119d1565b91505092915050565b611b7c816119a8565b82525050565b6000602082019050611b976000830184611b73565b92915050565b60008060408385031215611bb457611bb3611983565b5b6000611bc285828601611a07565b9250506020611bd385828601611a07565b9150509250929050565b60008060408385031215611bf457611bf3611983565b5b6000611c02858286016119d1565b9250506020611c13858286016119d1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c57826119e6565b9150611c62836119e6565b925082821015611c7557611c74611c1d565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611cb66020836118d3565b9150611cc182611c80565b602082019050919050565b60006020820190508181036000830152611ce581611ca9565b9050919050565b7f43616e6e6f742073657420627579207461782067726561746572207468616e2060008201527f3630250000000000000000000000000000000000000000000000000000000000602082015250565b6000611d486023836118d3565b9150611d5382611cec565b604082019050919050565b60006020820190508181036000830152611d7781611d3b565b9050919050565b7f43616e6e6f74207365742073656c6c207461782067726561746572207468616e60008201527f2036302500000000000000000000000000000000000000000000000000000000602082015250565b6000611dda6024836118d3565b9150611de582611d7e565b604082019050919050565b60006020820190508181036000830152611e0981611dcd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611e6c6024836118d3565b9150611e7782611e10565b604082019050919050565b60006020820190508181036000830152611e9b81611e5f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611efe6022836118d3565b9150611f0982611ea2565b604082019050919050565b60006020820190508181036000830152611f2d81611ef1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f906025836118d3565b9150611f9b82611f34565b604082019050919050565b60006020820190508181036000830152611fbf81611f83565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000611ffc6010836118d3565b915061200782611fc6565b602082019050919050565b6000602082019050818103600083015261202b81611fef565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b600061208e6022836118d3565b915061209982612032565b604082019050919050565b600060208201905081810360008301526120bd81612081565b9050919050565b60006120cf826119e6565b91506120da836119e6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561210f5761210e611c1d565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b60006121a76121a261219d84612178565b612182565b6119e6565b9050919050565b6121b78161218c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121f2816119a8565b82525050565b600061220483836121e9565b60208301905092915050565b6000602082019050919050565b6000612228826121bd565b61223281856121c8565b935061223d836121d9565b8060005b8381101561226e57815161225588826121f8565b975061226083612210565b925050600181019050612241565b5085935050505092915050565b600061229661229161228c84611988565b612182565b611988565b9050919050565b60006122a88261227b565b9050919050565b60006122ba8261229d565b9050919050565b6122ca816122af565b82525050565b600060a0820190506122e56000830188611a92565b6122f260208301876121ae565b8181036040830152612304818661221d565b905061231360608301856122c1565b6123206080830184611a92565b9695505050505050565b6000612335826119e6565b9150612340836119e6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561237957612378611c1d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123be826119e6565b91506123c9836119e6565b9250826123d9576123d8612384565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124406026836118d3565b915061244b826123e4565b604082019050919050565b6000602082019050818103600083015261246f81612433565b905091905056fe4861727279506f74746572536f6d657468696e67536f6d657468696e6747726f6ba264697066735822122049fa59d5ca74686a37eee862c5cf2658b40a7522d09b2999daa77d2a1996fbc764736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101185760003560e01c80638c0b5e22116100a0578063c9567bf911610064578063c9567bf91461039c578063cc1776d3146103b3578063dba9d420146103de578063dd62ed3e14610407578063f2fde38b146104445761011f565b80638c0b5e22146102b55780638da5cb5b146102e05780639036ed4d1461030b57806395d89b4114610334578063a9059cbb1461035f5761011f565b8063313ce567116100e7578063313ce567146101f45780634f7041a51461021f57806370a082311461024a578063715018a614610287578063751039fc1461029e5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961046d565b6040516101469190611961565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611a1c565b61048d565b6040516101839190611a77565b60405180910390f35b34801561019857600080fd5b506101a16104ab565b6040516101ae9190611aa1565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190611abc565b6104be565b6040516101eb9190611a77565b60405180910390f35b34801561020057600080fd5b50610209610576565b6040516102169190611b2b565b60405180910390f35b34801561022b57600080fd5b5061023461057f565b6040516102419190611aa1565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c9190611b46565b610585565b60405161027e9190611aa1565b60405180910390f35b34801561029357600080fd5b5061029c6105ce565b005b3480156102aa57600080fd5b506102b3610721565b005b3480156102c157600080fd5b506102ca6107ca565b6040516102d79190611aa1565b60405180910390f35b3480156102ec57600080fd5b506102f56107d0565b6040516103029190611b82565b60405180910390f35b34801561031757600080fd5b50610332600480360381019061032d9190611b9d565b6107f9565b005b34801561034057600080fd5b50610349610926565b6040516103569190611961565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190611a1c565b610963565b6040516103939190611a77565b60405180910390f35b3480156103a857600080fd5b506103b1610981565b005b3480156103bf57600080fd5b506103c8610a3b565b6040516103d59190611aa1565b60405180910390f35b3480156103ea57600080fd5b5061040560048036038101906104009190611b46565b610a41565b005b34801561041357600080fd5b5061042e60048036038101906104299190611bdd565b610b31565b60405161043b9190611aa1565b60405180910390f35b34801561045057600080fd5b5061046b60048036038101906104669190611b46565b610bb8565b005b606060405180606001604052806021815260200161247760219139905090565b60006104a161049a610c59565b8484610c61565b6001905092915050565b60006a084595161401484a000000905090565b60006104cb848484610e2c565b61056b846104d7610c59565b84600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610521610c59565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105669190611c4c565b610c61565b600190509392505050565b60006012905090565b60025481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105d6610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065a90611ccc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610729610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90611ccc565b60405180910390fd5b6a084595161401484a000000600681905550565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610801610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088590611ccc565b60405180910390fd5b601f82106108d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c890611d5e565b60405180910390fd5b60298110610914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090b90611df0565b60405180910390fd5b81600281905550806003819055505050565b60606040518060400160405280600481526020017f47524f4b00000000000000000000000000000000000000000000000000000000815250905090565b6000610977610970610c59565b8484610e2c565b6001905092915050565b610989610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d90611ccc565b60405180910390fd5b6001600460006101000a81548160ff021916908360ff16021790555043600581905550565b60035481565b610a49610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd90611ccc565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610bc0610c59565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4490611ccc565b60405180910390fd5b610c568161179b565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc890611e82565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3890611f14565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e1f9190611aa1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9390611fa6565b60405180910390fd5b633b9aca008111610ee2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed990612012565b60405180910390fd5b6000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f855750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f93576000905061147b565b6000600460009054906101000a900460ff1660ff1614158015610fb857506006548211155b610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee906120a4565b60405180910390fd5b6001600460019054906101000a900460ff1660ff1614156111295781600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110619190611c4c565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110b791906120c4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161111b9190611aa1565b60405180910390a350611796565b7f00000000000000000000000088c45d6d18944f02e56871fb86a8ac09c603d13973ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561118757600254905061147a565b7f00000000000000000000000088c45d6d18944f02e56871fb86a8ac09c603d13973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611474576000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905069054b40b1f852bda000008111801561124a57506000600460019054906101000a900460ff1660ff16145b156114695769152d02c7e14af680000081111561126f5769152d02c7e14af680000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156112a8576112a761211a565b5b6040519080825280602002602001820160405280156112d65781602001602082028036833780820191505090505b50905030816000815181106112ee576112ed612149565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061135d5761135c612149565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000006e2c6e4e4f0667c40132ba96d019c9ef68d9ddcd426040518663ffffffff1660e01b81526004016114199594939291906122d0565b600060405180830381600087803b15801561143357600080fd5b505af1158015611447573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff160217905550505b600354915050611479565b600090505b5b5b6000811461168257600060648284611493919061232a565b61149d91906123b3565b9050600081846114ad9190611c4c565b905083600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114fe9190611c4c565b9250508190555080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155491906120c4565b9250508190555081600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115aa91906120c4565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161160e9190611aa1565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116739190611aa1565b60405180910390a35050611794565b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116d19190611c4c565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461172791906120c4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161178b9190611aa1565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561180b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180290612456565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119025780820151818401526020810190506118e7565b83811115611911576000848401525b50505050565b6000601f19601f8301169050919050565b6000611933826118c8565b61193d81856118d3565b935061194d8185602086016118e4565b61195681611917565b840191505092915050565b6000602082019050818103600083015261197b8184611928565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119b382611988565b9050919050565b6119c3816119a8565b81146119ce57600080fd5b50565b6000813590506119e0816119ba565b92915050565b6000819050919050565b6119f9816119e6565b8114611a0457600080fd5b50565b600081359050611a16816119f0565b92915050565b60008060408385031215611a3357611a32611983565b5b6000611a41858286016119d1565b9250506020611a5285828601611a07565b9150509250929050565b60008115159050919050565b611a7181611a5c565b82525050565b6000602082019050611a8c6000830184611a68565b92915050565b611a9b816119e6565b82525050565b6000602082019050611ab66000830184611a92565b92915050565b600080600060608486031215611ad557611ad4611983565b5b6000611ae3868287016119d1565b9350506020611af4868287016119d1565b9250506040611b0586828701611a07565b9150509250925092565b600060ff82169050919050565b611b2581611b0f565b82525050565b6000602082019050611b406000830184611b1c565b92915050565b600060208284031215611b5c57611b5b611983565b5b6000611b6a848285016119d1565b91505092915050565b611b7c816119a8565b82525050565b6000602082019050611b976000830184611b73565b92915050565b60008060408385031215611bb457611bb3611983565b5b6000611bc285828601611a07565b9250506020611bd385828601611a07565b9150509250929050565b60008060408385031215611bf457611bf3611983565b5b6000611c02858286016119d1565b9250506020611c13858286016119d1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c57826119e6565b9150611c62836119e6565b925082821015611c7557611c74611c1d565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611cb66020836118d3565b9150611cc182611c80565b602082019050919050565b60006020820190508181036000830152611ce581611ca9565b9050919050565b7f43616e6e6f742073657420627579207461782067726561746572207468616e2060008201527f3630250000000000000000000000000000000000000000000000000000000000602082015250565b6000611d486023836118d3565b9150611d5382611cec565b604082019050919050565b60006020820190508181036000830152611d7781611d3b565b9050919050565b7f43616e6e6f74207365742073656c6c207461782067726561746572207468616e60008201527f2036302500000000000000000000000000000000000000000000000000000000602082015250565b6000611dda6024836118d3565b9150611de582611d7e565b604082019050919050565b60006020820190508181036000830152611e0981611dcd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611e6c6024836118d3565b9150611e7782611e10565b604082019050919050565b60006020820190508181036000830152611e9b81611e5f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611efe6022836118d3565b9150611f0982611ea2565b604082019050919050565b60006020820190508181036000830152611f2d81611ef1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f906025836118d3565b9150611f9b82611f34565b604082019050919050565b60006020820190508181036000830152611fbf81611f83565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000611ffc6010836118d3565b915061200782611fc6565b602082019050919050565b6000602082019050818103600083015261202b81611fef565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b600061208e6022836118d3565b915061209982612032565b604082019050919050565b600060208201905081810360008301526120bd81612081565b9050919050565b60006120cf826119e6565b91506120da836119e6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561210f5761210e611c1d565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b60006121a76121a261219d84612178565b612182565b6119e6565b9050919050565b6121b78161218c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121f2816119a8565b82525050565b600061220483836121e9565b60208301905092915050565b6000602082019050919050565b6000612228826121bd565b61223281856121c8565b935061223d836121d9565b8060005b8381101561226e57815161225588826121f8565b975061226083612210565b925050600181019050612241565b5085935050505092915050565b600061229661229161228c84611988565b612182565b611988565b9050919050565b60006122a88261227b565b9050919050565b60006122ba8261229d565b9050919050565b6122ca816122af565b82525050565b600060a0820190506122e56000830188611a92565b6122f260208301876121ae565b8181036040830152612304818661221d565b905061231360608301856122c1565b6123206080830184611a92565b9695505050505050565b6000612335826119e6565b9150612340836119e6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561237957612378611c1d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123be826119e6565b91506123c9836119e6565b9250826123d9576123d8612384565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124406026836118d3565b915061244b826123e4565b604082019050919050565b6000602082019050818103600083015261246f81612433565b905091905056fe4861727279506f74746572536f6d657468696e67536f6d657468696e6747726f6ba264697066735822122049fa59d5ca74686a37eee862c5cf2658b40a7522d09b2999daa77d2a1996fbc764736f6c634300080c0033

Deployed Bytecode Sourcemap

2828:7076:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4846:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5756:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5123:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5957:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5032:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3258:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5231:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2155:148;;;;;;;;;;;;;:::i;:::-;;6936:88;;;;;;;;;;;;;:::i;:::-;;3417:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1550:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7032:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4937:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5357:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6692:108;;;;;;;;;;;;;:::i;:::-;;3286:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6808:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5564:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1764:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4846:83;4883:13;4916:5;;;;;;;;;;;;;;;;;4909:12;;4846:83;:::o;5756:193::-;5858:4;5880:39;5889:12;:10;:12::i;:::-;5903:7;5912:6;5880:8;:39::i;:::-;5937:4;5930:11;;5756:193;;;;:::o;5123:100::-;5176:7;2918:13;5196:19;;5123:100;:::o;5957:350::-;6089:4;6106:36;6116:6;6124:9;6135:6;6106:9;:36::i;:::-;6153:124;6176:6;6197:12;:10;:12::i;:::-;6260:6;6224:11;:19;6236:6;6224:19;;;;;;;;;;;;;;;:33;6244:12;:10;:12::i;:::-;6224:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6153:8;:124::i;:::-;6295:4;6288:11;;5957:350;;;;;:::o;5032:83::-;5073:5;3079:2;5091:16;;5032:83;:::o;3258:21::-;;;;:::o;5231:118::-;5297:7;5324:8;:17;5333:7;5324:17;;;;;;;;;;;;;;;;5317:24;;5231:118;;;:::o;2155:148::-;1687:12;:10;:12::i;:::-;1677:22;;:6;;;;;;;;;;:22;;;1669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2262:1:::1;2225:40;;2246:6;::::0;::::1;;;;;;;;2225:40;;;;;;;;;;;;2293:1;2276:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2155:148::o:0;6936:88::-;1687:12;:10;:12::i;:::-;1677:22;;:6;;;;;;;;;;:22;;;1669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2918:13:::1;6990:11;:26;;;;6936:88::o:0;3417:43::-;;;;:::o;1550:79::-;1588:7;1615:6;;;;;;;;;;;1608:13;;1550:79;:::o;7032:293::-;1687:12;:10;:12::i;:::-;1677:22;;:6;;;;;;;;;;:22;;;1669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7140:2:::1;7128:9;:14;7120:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;7214:2;7201:10;:15;7193:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7277:9;7268:6;:18;;;;7307:10;7297:7;:20;;;;7032:293:::0;;:::o;4937:87::-;4976:13;5009:7;;;;;;;;;;;;;;;;;5002:14;;4937:87;:::o;5357:199::-;5462:4;5484:42;5494:12;:10;:12::i;:::-;5508:9;5519:6;5484:9;:42::i;:::-;5544:4;5537:11;;5357:199;;;;:::o;6692:108::-;1687:12;:10;:12::i;:::-;1677:22;;:6;;;;;;;;;;:22;;;1669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6754:1:::1;6745:6;;:10;;;;;;;;;;;;;;;;;;6780:12;6766:11;:26;;;;6692:108::o:0;3286:22::-;;;;:::o;6808:120::-;1687:12;:10;:12::i;:::-;1677:22;;:6;;;;;;;;;;:22;;;1669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6916:4:::1;6881:24;:32;6906:6;6881:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6808:120:::0;:::o;5564:184::-;5681:7;5713:11;:18;5725:5;5713:18;;;;;;;;;;;;;;;:27;5732:7;5713:27;;;;;;;;;;;;;;;;5706:34;;5564:184;;;;:::o;1764:109::-;1687:12;:10;:12::i;:::-;1677:22;;:6;;;;;;;;;;:22;;;1669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1837:28:::1;1856:8;1837:18;:28::i;:::-;1764:109:::0;:::o;264:98::-;317:7;344:10;337:17;;264:98;:::o;6315:369::-;6459:1;6442:19;;:5;:19;;;;6434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6540:1;6521:21;;:7;:21;;;;6513:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6622:6;6592:11;:18;6604:5;6592:18;;;;;;;;;;;;;;;:27;6611:7;6592:27;;;;;;;;;;;;;;;:36;;;;6660:7;6644:32;;6653:5;6644:32;;;6669:6;6644:32;;;;;;:::i;:::-;;;;;;;;6315:369;;;:::o;7333:2531::-;7471:1;7455:18;;:4;:18;;;;7447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7543:3;7534:6;:12;7526:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;7580:12;7607:24;:30;7632:4;7607:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;7641:24;:28;7666:2;7641:28;;;;;;;;;;;;;;;;;;;;;;;;;7607:62;7603:1604;;;7693:1;7686:8;;7603:1604;;;7763:1;7753:6;;;;;;;;;;;:11;;;;:36;;;;;7778:11;;7768:6;:21;;7753:36;7727:132;;;;;;;;;;;;:::i;:::-;;;;;;;;;7900:1;7880:16;;;;;;;;;;;:21;;;7876:239;;;7975:6;7957:8;:14;7966:4;7957:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;8016:6;8000:8;:12;8009:2;8000:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;8063:2;8048:26;;8057:4;8048:26;;;8067:6;8048:26;;;;;;:::i;:::-;;;;;;;;8093:7;;;7876:239;8143:13;8135:21;;:4;:21;;;8131:1065;;;8184:6;;8177:13;;8131:1065;;;8222:13;8216:19;;:2;:19;;;8212:984;;;8256:20;8279:8;:23;8296:4;8279:23;;;;;;;;;;;;;;;;8256:46;;3028:9;8325:12;:22;:47;;;;;8371:1;8351:16;;;;;;;;;;;:21;;;8325:47;8321:778;;;2976:10;8401:12;:25;8397:107;;;2976:10;8455:25;;8397:107;8545:1;8526:16;;:20;;;;;;;;;;;;;;;;;;8569:21;8607:1;8593:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8569:40;;8650:4;8632;8637:1;8632:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8688:4;8678;8683:1;8678:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;8715:15;:92;;;8838:12;8881:1;8913:4;8948:15;8994;8715:321;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9078:1;9059:16;;:20;;;;;;;;;;;;;;;;;;8374:725;8321:778;9124:7;;9117:14;;8237:910;8212:984;;;9179:1;9172:8;;8212:984;8131:1065;7603:1604;9276:1;9268:4;:9;9264:593;;9322:17;9360:3;9352:4;9343:6;:13;;;;:::i;:::-;9342:21;;;;:::i;:::-;9322:41;;9378:22;9412:9;9403:6;:18;;;;:::i;:::-;9378:43;;9456:6;9438:8;:14;9447:4;9438:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9493:14;9477:8;:12;9486:2;9477:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;9549:9;9522:8;:23;9539:4;9522:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;9601:4;9578:40;;9587:4;9578:40;;;9608:9;9578:40;;;;;;:::i;:::-;;;;;;;;9653:2;9638:34;;9647:4;9638:34;;;9657:14;9638:34;;;;;;:::i;:::-;;;;;;;;9279:405;;9264:593;;;9754:6;9736:8;:14;9745:4;9736:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9791:6;9775:8;:12;9784:2;9775:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;9834:2;9819:26;;9828:4;9819:26;;;9838:6;9819:26;;;;;;:::i;:::-;;;;;;;;9264:593;7436:2428;7333:2531;;;;:::o;1881:266::-;1989:1;1969:22;;:8;:22;;;;1947:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2102:8;2073:38;;2094:6;;;;;;;;;;2073:38;;;;;;;;;;;;2131:8;2122:6;;:17;;;;;;;;;;;;;;;;;;1881:266;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:::-;6136:6;6144;6193:2;6181:9;6172:7;6168:23;6164:32;6161:119;;;6199:79;;:::i;:::-;6161:119;6319:1;6344:53;6389:7;6380:6;6369:9;6365:22;6344:53;:::i;:::-;6334:63;;6290:117;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;6068:474;;;;;:::o;6548:180::-;6596:77;6593:1;6586:88;6693:4;6690:1;6683:15;6717:4;6714:1;6707:15;6734:191;6774:4;6794:20;6812:1;6794:20;:::i;:::-;6789:25;;6828:20;6846:1;6828:20;:::i;:::-;6823:25;;6867:1;6864;6861:8;6858:34;;;6872:18;;:::i;:::-;6858:34;6917:1;6914;6910:9;6902:17;;6734:191;;;;:::o;6931:182::-;7071:34;7067:1;7059:6;7055:14;7048:58;6931:182;:::o;7119:366::-;7261:3;7282:67;7346:2;7341:3;7282:67;:::i;:::-;7275:74;;7358:93;7447:3;7358:93;:::i;:::-;7476:2;7471:3;7467:12;7460:19;;7119:366;;;:::o;7491:419::-;7657:4;7695:2;7684:9;7680:18;7672:26;;7744:9;7738:4;7734:20;7730:1;7719:9;7715:17;7708:47;7772:131;7898:4;7772:131;:::i;:::-;7764:139;;7491:419;;;:::o;7916:222::-;8056:34;8052:1;8044:6;8040:14;8033:58;8125:5;8120:2;8112:6;8108:15;8101:30;7916:222;:::o;8144:366::-;8286:3;8307:67;8371:2;8366:3;8307:67;:::i;:::-;8300:74;;8383:93;8472:3;8383:93;:::i;:::-;8501:2;8496:3;8492:12;8485:19;;8144:366;;;:::o;8516:419::-;8682:4;8720:2;8709:9;8705:18;8697:26;;8769:9;8763:4;8759:20;8755:1;8744:9;8740:17;8733:47;8797:131;8923:4;8797:131;:::i;:::-;8789:139;;8516:419;;;:::o;8941:223::-;9081:34;9077:1;9069:6;9065:14;9058:58;9150:6;9145:2;9137:6;9133:15;9126:31;8941:223;:::o;9170:366::-;9312:3;9333:67;9397:2;9392:3;9333:67;:::i;:::-;9326:74;;9409:93;9498:3;9409:93;:::i;:::-;9527:2;9522:3;9518:12;9511:19;;9170:366;;;:::o;9542:419::-;9708:4;9746:2;9735:9;9731:18;9723:26;;9795:9;9789:4;9785:20;9781:1;9770:9;9766:17;9759:47;9823:131;9949:4;9823:131;:::i;:::-;9815:139;;9542:419;;;:::o;9967:223::-;10107:34;10103:1;10095:6;10091:14;10084:58;10176:6;10171:2;10163:6;10159:15;10152:31;9967:223;:::o;10196:366::-;10338:3;10359:67;10423:2;10418:3;10359:67;:::i;:::-;10352:74;;10435:93;10524:3;10435:93;:::i;:::-;10553:2;10548:3;10544:12;10537:19;;10196:366;;;:::o;10568:419::-;10734:4;10772:2;10761:9;10757:18;10749:26;;10821:9;10815:4;10811:20;10807:1;10796:9;10792:17;10785:47;10849:131;10975:4;10849:131;:::i;:::-;10841:139;;10568:419;;;:::o;10993:221::-;11133:34;11129:1;11121:6;11117:14;11110:58;11202:4;11197:2;11189:6;11185:15;11178:29;10993:221;:::o;11220:366::-;11362:3;11383:67;11447:2;11442:3;11383:67;:::i;:::-;11376:74;;11459:93;11548:3;11459:93;:::i;:::-;11577:2;11572:3;11568:12;11561:19;;11220:366;;;:::o;11592:419::-;11758:4;11796:2;11785:9;11781:18;11773:26;;11845:9;11839:4;11835:20;11831:1;11820:9;11816:17;11809:47;11873:131;11999:4;11873:131;:::i;:::-;11865:139;;11592:419;;;:::o;12017:224::-;12157:34;12153:1;12145:6;12141:14;12134:58;12226:7;12221:2;12213:6;12209:15;12202:32;12017:224;:::o;12247:366::-;12389:3;12410:67;12474:2;12469:3;12410:67;:::i;:::-;12403:74;;12486:93;12575:3;12486:93;:::i;:::-;12604:2;12599:3;12595:12;12588:19;;12247:366;;;:::o;12619:419::-;12785:4;12823:2;12812:9;12808:18;12800:26;;12872:9;12866:4;12862:20;12858:1;12847:9;12843:17;12836:47;12900:131;13026:4;12900:131;:::i;:::-;12892:139;;12619:419;;;:::o;13044:166::-;13184:18;13180:1;13172:6;13168:14;13161:42;13044:166;:::o;13216:366::-;13358:3;13379:67;13443:2;13438:3;13379:67;:::i;:::-;13372:74;;13455:93;13544:3;13455:93;:::i;:::-;13573:2;13568:3;13564:12;13557:19;;13216:366;;;:::o;13588:419::-;13754:4;13792:2;13781:9;13777:18;13769:26;;13841:9;13835:4;13831:20;13827:1;13816:9;13812:17;13805:47;13869:131;13995:4;13869:131;:::i;:::-;13861:139;;13588:419;;;:::o;14013:221::-;14153:34;14149:1;14141:6;14137:14;14130:58;14222:4;14217:2;14209:6;14205:15;14198:29;14013:221;:::o;14240:366::-;14382:3;14403:67;14467:2;14462:3;14403:67;:::i;:::-;14396:74;;14479:93;14568:3;14479:93;:::i;:::-;14597:2;14592:3;14588:12;14581:19;;14240:366;;;:::o;14612:419::-;14778:4;14816:2;14805:9;14801:18;14793:26;;14865:9;14859:4;14855:20;14851:1;14840:9;14836:17;14829:47;14893:131;15019:4;14893:131;:::i;:::-;14885:139;;14612:419;;;:::o;15037:305::-;15077:3;15096:20;15114:1;15096:20;:::i;:::-;15091:25;;15130:20;15148:1;15130:20;:::i;:::-;15125:25;;15284:1;15216:66;15212:74;15209:1;15206:81;15203:107;;;15290:18;;:::i;:::-;15203:107;15334:1;15331;15327:9;15320:16;;15037:305;;;;:::o;15348:180::-;15396:77;15393:1;15386:88;15493:4;15490:1;15483:15;15517:4;15514:1;15507:15;15534:180;15582:77;15579:1;15572:88;15679:4;15676:1;15669:15;15703:4;15700:1;15693:15;15720:85;15765:7;15794:5;15783:16;;15720:85;;;:::o;15811:60::-;15839:3;15860:5;15853:12;;15811:60;;;:::o;15877:158::-;15935:9;15968:61;15986:42;15995:32;16021:5;15995:32;:::i;:::-;15986:42;:::i;:::-;15968:61;:::i;:::-;15955:74;;15877:158;;;:::o;16041:147::-;16136:45;16175:5;16136:45;:::i;:::-;16131:3;16124:58;16041:147;;:::o;16194:114::-;16261:6;16295:5;16289:12;16279:22;;16194:114;;;:::o;16314:184::-;16413:11;16447:6;16442:3;16435:19;16487:4;16482:3;16478:14;16463:29;;16314:184;;;;:::o;16504:132::-;16571:4;16594:3;16586:11;;16624:4;16619:3;16615:14;16607:22;;16504:132;;;:::o;16642:108::-;16719:24;16737:5;16719:24;:::i;:::-;16714:3;16707:37;16642:108;;:::o;16756:179::-;16825:10;16846:46;16888:3;16880:6;16846:46;:::i;:::-;16924:4;16919:3;16915:14;16901:28;;16756:179;;;;:::o;16941:113::-;17011:4;17043;17038:3;17034:14;17026:22;;16941:113;;;:::o;17090:732::-;17209:3;17238:54;17286:5;17238:54;:::i;:::-;17308:86;17387:6;17382:3;17308:86;:::i;:::-;17301:93;;17418:56;17468:5;17418:56;:::i;:::-;17497:7;17528:1;17513:284;17538:6;17535:1;17532:13;17513:284;;;17614:6;17608:13;17641:63;17700:3;17685:13;17641:63;:::i;:::-;17634:70;;17727:60;17780:6;17727:60;:::i;:::-;17717:70;;17573:224;17560:1;17557;17553:9;17548:14;;17513:284;;;17517:14;17813:3;17806:10;;17214:608;;;17090:732;;;;:::o;17828:142::-;17878:9;17911:53;17929:34;17938:24;17956:5;17938:24;:::i;:::-;17929:34;:::i;:::-;17911:53;:::i;:::-;17898:66;;17828:142;;;:::o;17976:126::-;18026:9;18059:37;18090:5;18059:37;:::i;:::-;18046:50;;17976:126;;;:::o;18108:134::-;18166:9;18199:37;18230:5;18199:37;:::i;:::-;18186:50;;18108:134;;;:::o;18248:147::-;18343:45;18382:5;18343:45;:::i;:::-;18338:3;18331:58;18248:147;;:::o;18401:847::-;18672:4;18710:3;18699:9;18695:19;18687:27;;18724:71;18792:1;18781:9;18777:17;18768:6;18724:71;:::i;:::-;18805:80;18881:2;18870:9;18866:18;18857:6;18805:80;:::i;:::-;18932:9;18926:4;18922:20;18917:2;18906:9;18902:18;18895:48;18960:108;19063:4;19054:6;18960:108;:::i;:::-;18952:116;;19078:80;19154:2;19143:9;19139:18;19130:6;19078:80;:::i;:::-;19168:73;19236:3;19225:9;19221:19;19212:6;19168:73;:::i;:::-;18401:847;;;;;;;;:::o;19254:348::-;19294:7;19317:20;19335:1;19317:20;:::i;:::-;19312:25;;19351:20;19369:1;19351:20;:::i;:::-;19346:25;;19539:1;19471:66;19467:74;19464:1;19461:81;19456:1;19449:9;19442:17;19438:105;19435:131;;;19546:18;;:::i;:::-;19435:131;19594:1;19591;19587:9;19576:20;;19254:348;;;;:::o;19608:180::-;19656:77;19653:1;19646:88;19753:4;19750:1;19743:15;19777:4;19774:1;19767:15;19794:185;19834:1;19851:20;19869:1;19851:20;:::i;:::-;19846:25;;19885:20;19903:1;19885:20;:::i;:::-;19880:25;;19924:1;19914:35;;19929:18;;:::i;:::-;19914:35;19971:1;19968;19964:9;19959:14;;19794:185;;;;:::o;19985:225::-;20125:34;20121:1;20113:6;20109:14;20102:58;20194:8;20189:2;20181:6;20177:15;20170:33;19985:225;:::o;20216:366::-;20358:3;20379:67;20443:2;20438:3;20379:67;:::i;:::-;20372:74;;20455:93;20544:3;20455:93;:::i;:::-;20573:2;20568:3;20564:12;20557:19;;20216:366;;;:::o;20588:419::-;20754:4;20792:2;20781:9;20777:18;20769:26;;20841:9;20835:4;20831:20;20827:1;20816:9;20812:17;20805:47;20869:131;20995:4;20869:131;:::i;:::-;20861:139;;20588:419;;;:::o

Swarm Source

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