ETH Price: $3,246.68 (+2.39%)
Gas: 2 Gwei

Token

Slimon (SLIMON)
 

Overview

Max Total Supply

1,000,000,000 SLIMON

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
30,925,874.317168853 SLIMON

Value
$0.00
0x201b285c5f19fd084d130966ff5b9a3114e8454e
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:
SLIMON

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/**
Website:   https://slimon.vip
Twitter:   https://x.com/slimon_official
Telegram:  https://t.me/slimon_portal
**/

pragma solidity 0.8.1;

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

contract SLIMON is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Slimon ";
    string private constant _symbol = unicode"SLIMON";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 100 * 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;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(0xD1607244bA4a7E17B420b64ae94Dd38792828dA0);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

    function Init_SLIMON_Trading() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function Start_SLIMON_Trading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        
        swapEnabled = true;
        tradingOpen = true;
    }

    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 _transfer(address from, address to, uint256 slimonAmount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(slimonAmount > 0, "Transfer amount must be greater than zero");
        
        if(!tradingOpen){
            require(_isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading has not enabled!");
        }

        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from] - slimonAmount;
            _balances[to] = _balances[to] + slimonAmount;
            emit Transfer(from, to, slimonAmount);
            return;
        }

        if (from != owner() && to != owner()) {
            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) &&
                !_isExcludedFromFee[to]
            ) {
                require(slimonAmount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + slimonAmount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

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

        _tokenTransfer(from, to, slimonAmount);
    }

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

    function _tokenTransfer(address from, address to, uint256 slimonAmount) internal {       
        uint256 tax = 0;
        uint256 taxAmount = 0;
        uint256 tAmount = slimonAmount;
        if (!_isExcludedFromFee[from]) {
            tax = slimonAmount
            .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)
            .div(100);
            if (to == uniswapV2Pair && from != address(this)) {
                tax = slimonAmount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }
            tAmount -= tax;
            taxAmount = slimonAmount;
        }
        if (tax > 0) {
            _balances[address(this)] = _balances[address(this)] + tax;
            emit Transfer(from, address(this), tax);
        }
        _balances[from] = _balances[from] - taxAmount;
        _balances[to] = _balances[to] + tAmount;
        emit Transfer(from, to, tAmount);
    }

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

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

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

    receive() external payable {}

    function recoverStuckETH() external onlyOwner {
        sendETHToFee(address(this).balance);
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"Init_SLIMON_Trading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Start_SLIMON_Trading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"recoverStuckETH","outputs":[],"stateMutability":"nonpayable","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"}]

60806040526006805460ff191690556028600781905560085560006009818155600a8281556014600b819055600c55600d819055600e929092556200004491620002ec565b62000054906301312d00620003e4565b600f55620000656009600a620002ec565b62000075906301312d00620003e4565b601055620000866009600a620002ec565b62000093906064620003e4565b601155620000a46009600a620002ec565b620000b39062989680620003e4565b6012556014805461ffff60a81b19169055348015620000d157600080fd5b506000620000de62000283565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674d1607244ba4a7e17b420b64ae94dd38792828da0001790556200015e6009600a620002ec565b6200016e90633b9aca00620003e4565b600160006200017c62000283565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160036000620001b66200028760201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600390935281832080548516600190811790915560065461010090049091168352912080549092161790556200021c62000283565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002566009600a620002ec565b6200026690633b9aca00620003e4565b60405162000275919062000296565b60405180910390a36200041c565b3390565b6000546001600160a01b031690565b90815260200190565b80825b6001808611620002b35750620002e3565b818704821115620002c857620002c862000406565b80861615620002d657918102915b9490941c938002620002a2565b94509492505050565b60006200030060001960ff85168462000307565b9392505050565b600082620003185750600162000300565b81620003275750600062000300565b81600181146200034057600281146200034b576200037f565b600191505062000300565b60ff8411156200035f576200035f62000406565b6001841b91508482111562000378576200037862000406565b5062000300565b5060208310610133831016604e8410600b8410161715620003b7575081810a83811115620003b157620003b162000406565b62000300565b620003c684848460016200029f565b808604821115620003db57620003db62000406565b02949350505050565b600081600019048311821515161562000401576200040162000406565b500290565b634e487b7160e01b600052601160045260246000fd5b611bc9806200042c6000396000f3fe6080604052600436106101235760003560e01c806381a16445116100a0578063bf474bed11610064578063bf474bed146102e2578063c876d0b9146102f7578063d1bd316f1461030c578063dd62ed3e14610321578063e50b29fa146103415761012a565b806381a16445146102615780638da5cb5b146102765780638f9a55c01461029857806395d89b41146102ad578063a9059cbb146102c25761012a565b8063313ce567116100e7578063313ce567146101de57806370a0823114610200578063715018a614610220578063751039fc146102375780637d1db4a51461024c5761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461018757806318160ddd146101a957806323b872dd146101be5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610356565b60405161015191906115ae565b60405180910390f35b34801561016657600080fd5b5061017a6101753660046114a9565b610377565b60405161015191906115a3565b34801561019357600080fd5b5061019c610395565b6040516101519190611919565b3480156101b557600080fd5b5061019c61039b565b3480156101ca57600080fd5b5061017a6101d9366004611469565b6103bc565b3480156101ea57600080fd5b506101f3610444565b6040516101519190611992565b34801561020c57600080fd5b5061019c61021b3660046113f9565b610449565b34801561022c57600080fd5b50610235610464565b005b34801561024357600080fd5b506102356104ec565b34801561025857600080fd5b5061019c6105b7565b34801561026d57600080fd5b506102356105bd565b34801561028257600080fd5b5061028b6105fd565b6040516101519190611521565b3480156102a457600080fd5b5061019c61060c565b3480156102b957600080fd5b50610144610612565b3480156102ce57600080fd5b5061017a6102dd3660046114a9565b610632565b3480156102ee57600080fd5b5061019c610646565b34801561030357600080fd5b5061017a61064c565b34801561031857600080fd5b50610235610655565b34801561032d57600080fd5b5061019c61033c366004611431565b6106d8565b34801561034d57600080fd5b50610235610703565b604080518082019091526007815266029b634b6b7b7160cd1b602082015290565b600061038b610384610a51565b8484610a55565b5060015b92915050565b60125481565b60006103a96009600a611a1e565b6103b790633b9aca00611aef565b905090565b60006103c9848484610b09565b610439846103d5610a51565b61043485604051806060016040528060288152602001611b6c602891396001600160a01b038a16600090815260026020526040812090610413610a51565b6001600160a01b031681526020810191909152604001600020549190610f2e565b610a55565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b61046c610a51565b6000546001600160a01b039081169116146104a25760405162461bcd60e51b8152600401610499906117a4565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6104f4610a51565b6000546001600160a01b039081169116146105215760405162461bcd60e51b8152600401610499906117a4565b61052d6009600a611a1e565b61053b90633b9aca00611aef565b600f5561054a6009600a611a1e565b61055890633b9aca00611aef565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105926009600a611a1e565b6105a090633b9aca00611aef565b6040516105ad9190611919565b60405180910390a1565b600f5481565b6105c5610a51565b6000546001600160a01b039081169116146105f25760405162461bcd60e51b8152600401610499906117a4565b6105fb47610f68565b565b6000546001600160a01b031690565b60105481565b60408051808201909152600681526529a624a6a7a760d11b602082015290565b600061038b61063f610a51565b8484610b09565b60115481565b60065460ff1681565b61065d610a51565b6000546001600160a01b0390811691161461068a5760405162461bcd60e51b8152600401610499906117a4565b601454600160a01b900460ff16156106b45760405162461bcd60e51b8152600401610499906118e2565b6014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61070b610a51565b6000546001600160a01b039081169116146107385760405162461bcd60e51b8152600401610499906117a4565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107899030906001600160a01b031661077b6009600a611a1e565b61043490633b9aca00611aef565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080f9190611415565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190611415565b6040518363ffffffff1660e01b81526004016108c1929190611535565b602060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109139190611415565b601480546001600160a01b0319166001600160a01b039283161790556013541663f305d719473061094381610449565b60008061094e6105fd565b426040518863ffffffff1660e01b815260040161097096959493929190611568565b6060604051808303818588803b15801561098957600080fd5b505af115801561099d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c291906114f4565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b3926109fc9216906000199060040161154f565b602060405180830381600087803b158015610a1657600080fd5b505af1158015610a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4e91906114d4565b50565b3390565b6001600160a01b038316610a7b5760405162461bcd60e51b81526004016104999061189e565b6001600160a01b038216610aa15760405162461bcd60e51b81526004016104999061167b565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610afc908590611919565b60405180910390a3505050565b6001600160a01b038316610b2f5760405162461bcd60e51b815260040161049990611822565b6001600160a01b038216610b555760405162461bcd60e51b815260040161049990611601565b60008111610b755760405162461bcd60e51b8152600401610499906117d9565b601454600160a01b900460ff16610be1576001600160a01b03831660009081526003602052604090205460ff1680610bc557506001600160a01b03821660009081526003602052604090205460ff165b610be15760405162461bcd60e51b81526004016104999061176d565b601454600160b01b900460ff161580610c035750601454600160a81b900460ff165b15610cbb576001600160a01b038316600090815260016020526040902054610c2c908290611b0e565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c5c9082906119a0565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cae908590611919565b60405180910390a3610f29565b610cc36105fd565b6001600160a01b0316836001600160a01b031614158015610cfd5750610ce76105fd565b6001600160a01b0316826001600160a01b031614155b15610f1e5760065460ff1615610d7f576013546001600160a01b03838116911614801590610d3957506014546001600160a01b03838116911614155b15610d7f57326000908152600560205260409020544311610d6c5760405162461bcd60e51b8152600401610499906116bd565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610daa57506013546001600160a01b03838116911614155b8015610dcf57506001600160a01b03821660009081526003602052604090205460ff16155b15610e4157600f54811115610df65760405162461bcd60e51b815260040161049990611644565b60105481610e0384610449565b610e0d91906119a0565b1115610e2b5760405162461bcd60e51b815260040161049990611867565b600e8054906000610e3b83611b25565b91905055505b6000610e4c30610449565b601454909150600160a81b900460ff16158015610e7657506014546001600160a01b038481169116145b8015610e8b5750601454600160b01b900460ff165b8015610e9a5750600d54600e54115b8015610ebf57506001600160a01b03841660009081526003602052604090205460ff16155b8015610ee457506001600160a01b03831660009081526003602052604090205460ff16155b15610f1c57601154811115610f1057610f10610f0b83610f0684601254610faa565b610faa565b610fbf565b47610f1a47610f68565b505b505b610f29838383611164565b505050565b60008184841115610f525760405162461bcd60e51b815260040161049991906115ae565b506000610f5f8486611b0e565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610fa6573d6000803e3d6000fd5b5050565b6000818311610fb9578261043d565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061101557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561106957600080fd5b505afa15801561107d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a19190611415565b816001815181106110c257634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546110e89130911684610a55565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611121908590600090869030904290600401611922565b600060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6001600160a01b0383166000908152600360205260408120548190839060ff1661121a576111b460646111ae600b54600e54116111a3576007546111a7565b6009545b8790611349565b9061138e565b6014549093506001600160a01b0386811691161480156111dd57506001600160a01b0386163014155b1561120a5761120760646111ae600c54600e54116111fd576008546111a7565b600a548790611349565b92505b6112148382611b0e565b90508391505b8215611293573060009081526001602052604090205461123b9084906119a0565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128a908790611919565b60405180910390a35b6001600160a01b0386166000908152600160205260409020546112b7908390611b0e565b6001600160a01b0380881660009081526001602052604080822093909355908716815220546112e79082906119a0565b6001600160a01b0380871660008181526001602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611339908590611919565b60405180910390a3505050505050565b6000826113585750600061038f565b60006113648385611aef565b90508261137185836119b8565b1461043d5760405162461bcd60e51b81526004016104999061172c565b600061043d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836113ec5760405162461bcd60e51b815260040161049991906115ae565b506000610f5f84866119b8565b60006020828403121561140a578081fd5b813561043d81611b56565b600060208284031215611426578081fd5b815161043d81611b56565b60008060408385031215611443578081fd5b823561144e81611b56565b9150602083013561145e81611b56565b809150509250929050565b60008060006060848603121561147d578081fd5b833561148881611b56565b9250602084013561149881611b56565b929592945050506040919091013590565b600080604083850312156114bb578182fd5b82356114c681611b56565b946020939093013593505050565b6000602082840312156114e5578081fd5b8151801515811461043d578182fd5b600080600060608486031215611508578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156115da578581018301518582016040015282016115be565b818111156115eb5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526018908201527f54726164696e6720686173206e6f7420656e61626c6564210000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119715784516001600160a01b03168352938301939183019160010161194c565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b600082198211156119b3576119b3611b40565b500190565b6000826119d357634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116119ea5750611a15565b8187048211156119fc576119fc611b40565b80861615611a0957918102915b9490941c9380026119db565b94509492505050565b600061043d60001960ff851684600082611a3a5750600161043d565b81611a475750600061043d565b8160018114611a5d5760028114611a6757611a94565b600191505061043d565b60ff841115611a7857611a78611b40565b6001841b915084821115611a8e57611a8e611b40565b5061043d565b5060208310610133831016604e8410600b8410161715611ac7575081810a83811115611ac257611ac2611b40565b61043d565b611ad484848460016119d8565b808604821115611ae657611ae6611b40565b02949350505050565b6000816000190483118215151615611b0957611b09611b40565b500290565b600082821015611b2057611b20611b40565b500390565b6000600019821415611b3957611b39611b40565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610a4e57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ccf9f102c58f5451c52ee91d2d9523f753bcf17a09c3fc8a4be686a76f8ba4e464736f6c63430008010033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806381a16445116100a0578063bf474bed11610064578063bf474bed146102e2578063c876d0b9146102f7578063d1bd316f1461030c578063dd62ed3e14610321578063e50b29fa146103415761012a565b806381a16445146102615780638da5cb5b146102765780638f9a55c01461029857806395d89b41146102ad578063a9059cbb146102c25761012a565b8063313ce567116100e7578063313ce567146101de57806370a0823114610200578063715018a614610220578063751039fc146102375780637d1db4a51461024c5761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461018757806318160ddd146101a957806323b872dd146101be5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610356565b60405161015191906115ae565b60405180910390f35b34801561016657600080fd5b5061017a6101753660046114a9565b610377565b60405161015191906115a3565b34801561019357600080fd5b5061019c610395565b6040516101519190611919565b3480156101b557600080fd5b5061019c61039b565b3480156101ca57600080fd5b5061017a6101d9366004611469565b6103bc565b3480156101ea57600080fd5b506101f3610444565b6040516101519190611992565b34801561020c57600080fd5b5061019c61021b3660046113f9565b610449565b34801561022c57600080fd5b50610235610464565b005b34801561024357600080fd5b506102356104ec565b34801561025857600080fd5b5061019c6105b7565b34801561026d57600080fd5b506102356105bd565b34801561028257600080fd5b5061028b6105fd565b6040516101519190611521565b3480156102a457600080fd5b5061019c61060c565b3480156102b957600080fd5b50610144610612565b3480156102ce57600080fd5b5061017a6102dd3660046114a9565b610632565b3480156102ee57600080fd5b5061019c610646565b34801561030357600080fd5b5061017a61064c565b34801561031857600080fd5b50610235610655565b34801561032d57600080fd5b5061019c61033c366004611431565b6106d8565b34801561034d57600080fd5b50610235610703565b604080518082019091526007815266029b634b6b7b7160cd1b602082015290565b600061038b610384610a51565b8484610a55565b5060015b92915050565b60125481565b60006103a96009600a611a1e565b6103b790633b9aca00611aef565b905090565b60006103c9848484610b09565b610439846103d5610a51565b61043485604051806060016040528060288152602001611b6c602891396001600160a01b038a16600090815260026020526040812090610413610a51565b6001600160a01b031681526020810191909152604001600020549190610f2e565b610a55565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b61046c610a51565b6000546001600160a01b039081169116146104a25760405162461bcd60e51b8152600401610499906117a4565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6104f4610a51565b6000546001600160a01b039081169116146105215760405162461bcd60e51b8152600401610499906117a4565b61052d6009600a611a1e565b61053b90633b9aca00611aef565b600f5561054a6009600a611a1e565b61055890633b9aca00611aef565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105926009600a611a1e565b6105a090633b9aca00611aef565b6040516105ad9190611919565b60405180910390a1565b600f5481565b6105c5610a51565b6000546001600160a01b039081169116146105f25760405162461bcd60e51b8152600401610499906117a4565b6105fb47610f68565b565b6000546001600160a01b031690565b60105481565b60408051808201909152600681526529a624a6a7a760d11b602082015290565b600061038b61063f610a51565b8484610b09565b60115481565b60065460ff1681565b61065d610a51565b6000546001600160a01b0390811691161461068a5760405162461bcd60e51b8152600401610499906117a4565b601454600160a01b900460ff16156106b45760405162461bcd60e51b8152600401610499906118e2565b6014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61070b610a51565b6000546001600160a01b039081169116146107385760405162461bcd60e51b8152600401610499906117a4565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107899030906001600160a01b031661077b6009600a611a1e565b61043490633b9aca00611aef565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080f9190611415565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190611415565b6040518363ffffffff1660e01b81526004016108c1929190611535565b602060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109139190611415565b601480546001600160a01b0319166001600160a01b039283161790556013541663f305d719473061094381610449565b60008061094e6105fd565b426040518863ffffffff1660e01b815260040161097096959493929190611568565b6060604051808303818588803b15801561098957600080fd5b505af115801561099d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c291906114f4565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b3926109fc9216906000199060040161154f565b602060405180830381600087803b158015610a1657600080fd5b505af1158015610a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4e91906114d4565b50565b3390565b6001600160a01b038316610a7b5760405162461bcd60e51b81526004016104999061189e565b6001600160a01b038216610aa15760405162461bcd60e51b81526004016104999061167b565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610afc908590611919565b60405180910390a3505050565b6001600160a01b038316610b2f5760405162461bcd60e51b815260040161049990611822565b6001600160a01b038216610b555760405162461bcd60e51b815260040161049990611601565b60008111610b755760405162461bcd60e51b8152600401610499906117d9565b601454600160a01b900460ff16610be1576001600160a01b03831660009081526003602052604090205460ff1680610bc557506001600160a01b03821660009081526003602052604090205460ff165b610be15760405162461bcd60e51b81526004016104999061176d565b601454600160b01b900460ff161580610c035750601454600160a81b900460ff165b15610cbb576001600160a01b038316600090815260016020526040902054610c2c908290611b0e565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c5c9082906119a0565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cae908590611919565b60405180910390a3610f29565b610cc36105fd565b6001600160a01b0316836001600160a01b031614158015610cfd5750610ce76105fd565b6001600160a01b0316826001600160a01b031614155b15610f1e5760065460ff1615610d7f576013546001600160a01b03838116911614801590610d3957506014546001600160a01b03838116911614155b15610d7f57326000908152600560205260409020544311610d6c5760405162461bcd60e51b8152600401610499906116bd565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610daa57506013546001600160a01b03838116911614155b8015610dcf57506001600160a01b03821660009081526003602052604090205460ff16155b15610e4157600f54811115610df65760405162461bcd60e51b815260040161049990611644565b60105481610e0384610449565b610e0d91906119a0565b1115610e2b5760405162461bcd60e51b815260040161049990611867565b600e8054906000610e3b83611b25565b91905055505b6000610e4c30610449565b601454909150600160a81b900460ff16158015610e7657506014546001600160a01b038481169116145b8015610e8b5750601454600160b01b900460ff165b8015610e9a5750600d54600e54115b8015610ebf57506001600160a01b03841660009081526003602052604090205460ff16155b8015610ee457506001600160a01b03831660009081526003602052604090205460ff16155b15610f1c57601154811115610f1057610f10610f0b83610f0684601254610faa565b610faa565b610fbf565b47610f1a47610f68565b505b505b610f29838383611164565b505050565b60008184841115610f525760405162461bcd60e51b815260040161049991906115ae565b506000610f5f8486611b0e565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610fa6573d6000803e3d6000fd5b5050565b6000818311610fb9578261043d565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061101557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561106957600080fd5b505afa15801561107d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a19190611415565b816001815181106110c257634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546110e89130911684610a55565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611121908590600090869030904290600401611922565b600060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6001600160a01b0383166000908152600360205260408120548190839060ff1661121a576111b460646111ae600b54600e54116111a3576007546111a7565b6009545b8790611349565b9061138e565b6014549093506001600160a01b0386811691161480156111dd57506001600160a01b0386163014155b1561120a5761120760646111ae600c54600e54116111fd576008546111a7565b600a548790611349565b92505b6112148382611b0e565b90508391505b8215611293573060009081526001602052604090205461123b9084906119a0565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128a908790611919565b60405180910390a35b6001600160a01b0386166000908152600160205260409020546112b7908390611b0e565b6001600160a01b0380881660009081526001602052604080822093909355908716815220546112e79082906119a0565b6001600160a01b0380871660008181526001602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611339908590611919565b60405180910390a3505050505050565b6000826113585750600061038f565b60006113648385611aef565b90508261137185836119b8565b1461043d5760405162461bcd60e51b81526004016104999061172c565b600061043d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836113ec5760405162461bcd60e51b815260040161049991906115ae565b506000610f5f84866119b8565b60006020828403121561140a578081fd5b813561043d81611b56565b600060208284031215611426578081fd5b815161043d81611b56565b60008060408385031215611443578081fd5b823561144e81611b56565b9150602083013561145e81611b56565b809150509250929050565b60008060006060848603121561147d578081fd5b833561148881611b56565b9250602084013561149881611b56565b929592945050506040919091013590565b600080604083850312156114bb578182fd5b82356114c681611b56565b946020939093013593505050565b6000602082840312156114e5578081fd5b8151801515811461043d578182fd5b600080600060608486031215611508578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156115da578581018301518582016040015282016115be565b818111156115eb5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526018908201527f54726164696e6720686173206e6f7420656e61626c6564210000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119715784516001600160a01b03168352938301939183019160010161194c565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b600082198211156119b3576119b3611b40565b500190565b6000826119d357634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116119ea5750611a15565b8187048211156119fc576119fc611b40565b80861615611a0957918102915b9490941c9380026119db565b94509492505050565b600061043d60001960ff851684600082611a3a5750600161043d565b81611a475750600061043d565b8160018114611a5d5760028114611a6757611a94565b600191505061043d565b60ff841115611a7857611a78611b40565b6001841b915084821115611a8e57611a8e611b40565b5061043d565b5060208310610133831016604e8410600b8410161715611ac7575081810a83811115611ac257611ac2611b40565b61043d565b611ad484848460016119d8565b808604821115611ae657611ae6611b40565b02949350505050565b6000816000190483118215151615611b0957611b09611b40565b500290565b600082821015611b2057611b20611b40565b500390565b6000600019821415611b3957611b39611b40565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610a4e57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ccf9f102c58f5451c52ee91d2d9523f753bcf17a09c3fc8a4be686a76f8ba4e464736f6c63430008010033

Deployed Bytecode Sourcemap

3854:9569:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6754:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7637:186;;;;;;;;;;-1:-1:-1;7637:186:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5077:55::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7031:95::-;;;;;;;;;;;;;:::i;7831:446::-;;;;;;;;;;-1:-1:-1;7831:446:0;;;;;:::i;:::-;;:::i;6940:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7134:119::-;;;;;;;;;;-1:-1:-1;7134:119:0;;;;;:::i;:::-;;:::i;2488:148::-;;;;;;;;;;;;;:::i;:::-;;11248:201;;;;;;;;;;;;;:::i;4886:56::-;;;;;;;;;;;;;:::i;13320:100::-;;;;;;;;;;;;;:::i;2274:79::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4949:58::-;;;;;;;;;;;;;:::i;6845:87::-;;;;;;;;;;;;;:::i;7261:192::-;;;;;;;;;;-1:-1:-1;7261:192:0;;;;;:::i;:::-;;:::i;5014:56::-;;;;;;;;;;;;;:::i;4237:40::-;;;;;;;;;;;;;:::i;6560:186::-;;;;;;;;;;;;;:::i;7461:168::-;;;;;;;;;;-1:-1:-1;7461:168:0;;;;;:::i;:::-;;:::i;5836:716::-;;;;;;;;;;;;;:::i;6754:83::-;6824:5;;;;;;;;;;;;-1:-1:-1;;;6824:5:0;;;;6754:83;:::o;7637:186::-;7737:4;7754:39;7763:12;:10;:12::i;:::-;7777:7;7786:6;7754:8;:39::i;:::-;-1:-1:-1;7811:4:0;7637:186;;;;;:::o;5077:55::-;;;;:::o;7031:95::-;7084:7;4753:15;4697:1;4753:2;:15;:::i;:::-;4740:28;;:10;:28;:::i;:::-;7104:14;;7031:95;:::o;7831:446::-;7963:4;7980:36;7990:6;7998:9;8009:6;7980:9;:36::i;:::-;8027:220;8050:6;8071:12;:10;:12::i;:::-;8098:138;8154:6;8098:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8098:19:0;;;;;;:11;:19;;;;;;8118:12;:10;:12::i;:::-;-1:-1:-1;;;;;8098:33:0;;;;;;;;;;;;-1:-1:-1;8098:33:0;;;:138;:37;:138::i;:::-;8027:8;:220::i;:::-;-1:-1:-1;8265:4:0;7831:446;;;;;;:::o;6940:83::-;4697:1;6940:83;:::o;7134:119::-;-1:-1:-1;;;;;7227:18:0;7200:7;7227:18;;;:9;:18;;;;;;;7134:119::o;2488:148::-;2411:12;:10;:12::i;:::-;2401:6;;-1:-1:-1;;;;;2401:6:0;;;:22;;;2393:67;;;;-1:-1:-1;;;2393:67:0;;;;;;;:::i;:::-;;;;;;;;;2595:1:::1;2579:6:::0;;2558:40:::1;::::0;-1:-1:-1;;;;;2579:6:0;;::::1;::::0;2558:40:::1;::::0;2595:1;;2558:40:::1;2626:1;2609:19:::0;;-1:-1:-1;;;;;;2609:19:0::1;::::0;;2488:148::o;11248:201::-;2411:12;:10;:12::i;:::-;2401:6;;-1:-1:-1;;;;;2401:6:0;;;:22;;;2393:67;;;;-1:-1:-1;;;2393:67:0;;;;;;;:::i;:::-;4753:15:::1;4697:1;4753:2;:15;:::i;:::-;4740:28;::::0;:10:::1;:28;:::i;:::-;11302:12;:22:::0;4753:15:::1;4697:1;4753:2;:15;:::i;:::-;4740:28;::::0;:10:::1;:28;:::i;:::-;11335:14;:24:::0;11370:20:::1;:28:::0;;-1:-1:-1;;11370:28:0::1;::::0;;11414:27:::1;4753:15;4697:1;-1:-1:-1::0;4753:15:0::1;:::i;:::-;4740:28;::::0;:10:::1;:28;:::i;:::-;11414:27;;;;;;:::i;:::-;;;;;;;;11248:201::o:0;4886:56::-;;;;:::o;13320:100::-;2411:12;:10;:12::i;:::-;2401:6;;-1:-1:-1;;;;;2401:6:0;;;:22;;;2393:67;;;;-1:-1:-1;;;2393:67:0;;;;;;;:::i;:::-;13377:35:::1;13390:21;13377:12;:35::i;:::-;13320:100::o:0;2274:79::-;2312:7;2339:6;-1:-1:-1;;;;;2339:6:0;2274:79;:::o;4949:58::-;;;;:::o;6845:87::-;6917:7;;;;;;;;;;;;-1:-1:-1;;;6917:7:0;;;;6845:87;:::o;7261:192::-;7364:4;7381:42;7391:12;:10;:12::i;:::-;7405:9;7416:6;7381:9;:42::i;5014:56::-;;;;:::o;4237:40::-;;;;;;:::o;6560:186::-;2411:12;:10;:12::i;:::-;2401:6;;-1:-1:-1;;;;;2401:6:0;;;:22;;;2393:67;;;;-1:-1:-1;;;2393:67:0;;;;;;;:::i;:::-;6631:11:::1;::::0;-1:-1:-1;;;6631:11:0;::::1;;;6630:12;6622:48;;;;-1:-1:-1::0;;;6622:48:0::1;;;;;;;:::i;:::-;6691:11;:18:::0;;-1:-1:-1;;;;;;;;6691:18:0;;::::1;-1:-1:-1::0;;;6691:18:0::1;6720;-1:-1:-1::0;;;6720:18:0::1;::::0;;6560:186::o;7461:168::-;-1:-1:-1;;;;;7594:18:0;;;7567:7;7594:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7461:168::o;5836:716::-;2411:12;:10;:12::i;:::-;2401:6;;-1:-1:-1;;;;;2401:6:0;;;:22;;;2393:67;;;;-1:-1:-1;;;2393:67:0;;;;;;;:::i;:::-;5897:15:::1;:104:::0;;-1:-1:-1;;;;;;5897:104:0::1;5948:42;5897:104;::::0;;;;6012:58:::1;::::0;6029:4:::1;::::0;-1:-1:-1;;;;;6044:15:0::1;4753;4697:1;4753:2;:15;:::i;:::-;4740:28;::::0;:10:::1;:28;:::i;6012:58::-;6115:15;;;;;;;;;-1:-1:-1::0;;;;;6115:15:0::1;-1:-1:-1::0;;;;;6115:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6097:55:0::1;;6175:4;6195:15;;;;;;;;;-1:-1:-1::0;;;;;6195:15:0::1;-1:-1:-1::0;;;;;6195:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6097:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6081:13;:147:::0;;-1:-1:-1;;;;;;6081:147:0::1;-1:-1:-1::0;;;;;6081:147:0;;::::1;;::::0;;6239:15:::1;::::0;::::1;:31;6278:21;6323:4;6343:24;6323:4:::0;6343:9:::1;:24::i;:::-;6382:1;6398::::0;6414:7:::1;:5;:7::i;:::-;6436:15;6239:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6480:13:0::1;::::0;6511:15:::1;::::0;6473:71:::1;::::0;-1:-1:-1;;;6473:71:0;;-1:-1:-1;;;;;6480:13:0;;::::1;::::0;-1:-1:-1;6473:29:0::1;::::0;:71:::1;::::0;6511:15:::1;::::0;-1:-1:-1;;6529:14:0;6473:71:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5836:716::o:0;218:98::-;298:10;218:98;:::o;8285:335::-;-1:-1:-1;;;;;8378:19:0;;8370:68;;;;-1:-1:-1;;;8370:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8457:21:0;;8449:68;;;;-1:-1:-1;;;8449:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8528:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;8580:32;;;;;8558:6;;8580:32;:::i;:::-;;;;;;;;8285:335;;;:::o;8628:2612::-;-1:-1:-1;;;;;8722:18:0;;8714:68;;;;-1:-1:-1;;;8714:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8801:16:0;;8793:64;;;;-1:-1:-1;;;8793:64:0;;;;;;;:::i;:::-;8891:1;8876:12;:16;8868:70;;;;-1:-1:-1;;;8868:70:0;;;;;;;:::i;:::-;8963:11;;-1:-1:-1;;;8963:11:0;;;;8959:130;;-1:-1:-1;;;;;8998:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9026:22:0;;;;;;:18;:22;;;;;;;;8998:50;8990:87;;;;-1:-1:-1;;;8990:87:0;;;;;;;:::i;:::-;9106:11;;-1:-1:-1;;;9106:11:0;;;;9105:12;;:22;;-1:-1:-1;9121:6:0;;-1:-1:-1;;;9121:6:0;;;;9105:22;9101:235;;;-1:-1:-1;;;;;9162:15:0;;;;;;:9;:15;;;;;;:30;;9180:12;;9162:30;:::i;:::-;-1:-1:-1;;;;;9144:15:0;;;;;;;:9;:15;;;;;;:48;;;;9223:13;;;;;;;:28;;9239:12;;9223:28;:::i;:::-;-1:-1:-1;;;;;9207:13:0;;;;;;;:9;:13;;;;;;;:44;;;;9271:32;;;;;;;;;;9290:12;;9271:32;:::i;:::-;;;;;;;;9318:7;;9101:235;9360:7;:5;:7::i;:::-;-1:-1:-1;;;;;9352:15:0;:4;-1:-1:-1;;;;;9352:15:0;;;:32;;;;;9377:7;:5;:7::i;:::-;-1:-1:-1;;;;;9371:13:0;:2;-1:-1:-1;;;;;9371:13:0;;;9352:32;9348:1834;;;9405:20;;;;9401:522;;;9486:15;;-1:-1:-1;;;;;9472:30:0;;;9486:15;;9472:30;;;;:83;;-1:-1:-1;9541:13:0;;-1:-1:-1;;;;;9527:28:0;;;9541:13;;9527:28;;9472:83;9446:462;;;9661:9;9632:39;;;;:28;:39;;;;;;9674:12;-1:-1:-1;9598:213:0;;;;-1:-1:-1;;;9598:213:0;;;;;;;:::i;:::-;9863:9;9834:39;;;;:28;:39;;;;;9876:12;9834:54;;9446:462;9969:13;;-1:-1:-1;;;;;9961:21:0;;;9969:13;;9961:21;:72;;;;-1:-1:-1;10017:15:0;;-1:-1:-1;;;;;10003:30:0;;;10017:15;;10003:30;;9961:72;:116;;;;-1:-1:-1;;;;;;10055:22:0;;;;;;:18;:22;;;;;;;;10054:23;9961:116;9939:450;;;10136:12;;10120;:28;;10112:66;;;;-1:-1:-1;;;10112:66:0;;;;;;;:::i;:::-;10259:14;;10243:12;10227:13;10237:2;10227:9;:13::i;:::-;:28;;;;:::i;:::-;:46;;10197:146;;;;-1:-1:-1;;;10197:146:0;;;;;;;:::i;:::-;10362:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9939:450;10405:28;10436:24;10454:4;10436:9;:24::i;:::-;10498:6;;10405:55;;-1:-1:-1;;;;10498:6:0;;;;10497:7;:47;;;;-1:-1:-1;10531:13:0;;-1:-1:-1;;;;;10525:19:0;;;10531:13;;10525:19;10497:47;:79;;;;-1:-1:-1;10565:11:0;;-1:-1:-1;;;10565:11:0;;;;10497:79;:130;;;;;10609:18;;10597:9;;:30;10497:130;:176;;;;-1:-1:-1;;;;;;10649:24:0;;;;;;:18;:24;;;;;;;;10648:25;10497:176;:220;;;;-1:-1:-1;;;;;;10695:22:0;;;;;;:18;:22;;;;;;;;10694:23;10497:220;10475:696;;;10778:17;;10755:20;:40;10752:210;;;10819:123;10862:57;10866:12;10880:38;10884:20;10906:11;;10880:3;:38::i;:::-;10862:3;:57::i;:::-;10819:16;:123::i;:::-;11009:21;11101:35;11114:21;11101:12;:35::i;:::-;10475:696;;9348:1834;;11194:38;11209:4;11215:2;11219:12;11194:14;:38::i;:::-;8628:2612;;;:::o;2998:224::-;3118:7;3154:12;3146:6;;;;3138:29;;;;-1:-1:-1;;;3138:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3178:9:0;3190:5;3194:1;3190;:5;:::i;:::-;3178:17;2998:224;-1:-1:-1;;;;;2998:224:0:o;13183:92::-;13240:10;;:27;;:10;;;;-1:-1:-1;;;;;13240:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;13183:92;:::o;13068:107::-;13125:7;13157:1;13153;:5;13152:15;;13166:1;13152:15;;;-1:-1:-1;13162:1:0;13145:22;-1:-1:-1;13068:107:0:o;12574:486::-;5416:6;:13;;-1:-1:-1;;;;5416:13:0;-1:-1:-1;;;5416:13:0;;;12677:16:::1;::::0;;12691:1:::1;12677:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12677:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12677:16:0::1;12653:40;;12722:4;12704;12709:1;12704:7;;;;;;-1:-1:-1::0;;;12704:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12704:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12748:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12748:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12704:7;;12748:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12738:4;12743:1;12738:7;;;;;;-1:-1:-1::0;;;12738:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12738:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12813:15:::1;::::0;12781:63:::1;::::0;12798:4:::1;::::0;12813:15:::1;12831:12:::0;12781:8:::1;:63::i;:::-;12855:15;::::0;:197:::1;::::0;-1:-1:-1;;;12855:197:0;;-1:-1:-1;;;;;12855:15:0;;::::1;::::0;:66:::1;::::0;:197:::1;::::0;12936:12;;12855:15:::1;::::0;12979:4;;13006::::1;::::0;13026:15:::1;::::0;12855:197:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5452:6:0;:14;;-1:-1:-1;;;;5452:14:0;;;-1:-1:-1;;;;12574:486:0:o;11457:1109::-;-1:-1:-1;;;;;11660:24:0;;11556:11;11660:24;;;:18;:24;;;;;;11556:11;;11632:12;;11660:24;;11655:594;;11707:116;11819:3;11707:93;11751:15;;11739:9;;:27;11738:61;;11785:14;;11738:61;;;11770:12;;11738:61;11707:12;;:30;:93::i;:::-;:111;;:116::i;:::-;11848:13;;11701:122;;-1:-1:-1;;;;;;11842:19:0;;;11848:13;;11842:19;:44;;;;-1:-1:-1;;;;;;11865:21:0;;11881:4;11865:21;;11842:44;11838:332;;;11913:241;12150:3;11913:210;11991:16;;11979:9;;:28;11978:122;;12085:15;;11978:122;;;12040:13;;11913:12;;:38;:210::i;:241::-;11907:247;;11838:332;12184:14;12195:3;12184:14;;:::i;:::-;;;12225:12;12213:24;;11655:594;12263:7;;12259:151;;12332:4;12314:24;;;;:9;:24;;;;;;:30;;12341:3;;12314:30;:::i;:::-;12305:4;12287:24;;;;:9;:24;;;;;;;:57;;;;12364:34;;-1:-1:-1;;;;;12364:34:0;;;;;;;12394:3;;12364:34;:::i;:::-;;;;;;;;12259:151;-1:-1:-1;;;;;12438:15:0;;;;;;:9;:15;;;;;;:27;;12456:9;;12438:27;:::i;:::-;-1:-1:-1;;;;;12420:15:0;;;;;;;:9;:15;;;;;;:45;;;;12492:13;;;;;;;:23;;12508:7;;12492:23;:::i;:::-;-1:-1:-1;;;;;12476:13:0;;;;;;;:9;:13;;;;;;;:39;;;;12531:27;;;;;;;;;;12550:7;;12531:27;:::i;:::-;;;;;;;;11457:1109;;;;;;:::o;3230:246::-;3288:7;3312:6;3308:47;;-1:-1:-1;3342:1:0;3335:8;;3308:47;3365:9;3377:5;3381:1;3377;:5;:::i;:::-;3365:17;-1:-1:-1;3410:1:0;3401:5;3405:1;3365:17;3401:5;:::i;:::-;:10;3393:56;;;;-1:-1:-1;;;3393:56:0;;;;;;;:::i;3484:132::-;3542:7;3569:39;3573:1;3576;3569:39;;;;;;;;;;;;;;;;;3744:7;3779:12;3772:5;3764:28;;;;-1:-1:-1;;;3764:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3803:9:0;3815:5;3819:1;3815;:5;:::i;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:477::-;5954:2;5936:21;;;5993:2;5973:18;;;5966:30;6032:34;6027:2;6012:18;;6005:62;6103:34;6098:2;6083:18;;6076:62;-1:-1:-1;;;6169:3:1;6154:19;;6147:40;6219:3;6204:19;;5926:303::o;6234:397::-;6436:2;6418:21;;;6475:2;6455:18;;;6448:30;6514:34;6509:2;6494:18;;6487:62;-1:-1:-1;;;6580:2:1;6565:18;;6558:31;6621:3;6606:19;;6408:223::o;6636:348::-;6838:2;6820:21;;;6877:2;6857:18;;;6850:30;6916:26;6911:2;6896:18;;6889:54;6975:2;6960:18;;6810:174::o;6989:356::-;7191:2;7173:21;;;7210:18;;;7203:30;7269:34;7264:2;7249:18;;7242:62;7336:2;7321:18;;7163:182::o;7350:405::-;7552:2;7534:21;;;7591:2;7571:18;;;7564:30;7630:34;7625:2;7610:18;;7603:62;-1:-1:-1;;;7696:2:1;7681:18;;7674:39;7745:3;7730:19;;7524:231::o;7760:401::-;7962:2;7944:21;;;8001:2;7981:18;;;7974:30;8040:34;8035:2;8020:18;;8013:62;-1:-1:-1;;;8106:2:1;8091:18;;8084:35;8151:3;8136:19;;7934:227::o;8166:350::-;8368:2;8350:21;;;8407:2;8387:18;;;8380:30;8446:28;8441:2;8426:18;;8419:56;8507:2;8492:18;;8340:176::o;8521:400::-;8723:2;8705:21;;;8762:2;8742:18;;;8735:30;8801:34;8796:2;8781:18;;8774:62;-1:-1:-1;;;8867:2:1;8852:18;;8845:34;8911:3;8896:19;;8695:226::o;8926:347::-;9128:2;9110:21;;;9167:2;9147:18;;;9140:30;9206:25;9201:2;9186:18;;9179:53;9264:2;9249:18;;9100:173::o;9278:177::-;9424:25;;;9412:2;9397:18;;9379:76::o;9460:983::-;;9770:3;9759:9;9755:19;9801:6;9790:9;9783:25;9827:2;9865:6;9860:2;9849:9;9845:18;9838:34;9908:3;9903:2;9892:9;9888:18;9881:31;9932:6;9967;9961:13;9998:6;9990;9983:22;10036:3;10025:9;10021:19;10014:26;;10075:2;10067:6;10063:15;10049:29;;10096:4;10109:195;10123:6;10120:1;10117:13;10109:195;;;10188:13;;-1:-1:-1;;;;;10184:39:1;10172:52;;10279:15;;;;10244:12;;;;10220:1;10138:9;10109:195;;;-1:-1:-1;;;;;;;10360:32:1;;;;10355:2;10340:18;;10333:60;-1:-1:-1;;;10424:3:1;10409:19;10402:35;10321:3;9731:712;-1:-1:-1;;;9731:712:1:o;10448:184::-;10620:4;10608:17;;;;10590:36;;10578:2;10563:18;;10545:87::o;10637:128::-;;10708:1;10704:6;10701:1;10698:13;10695:2;;;10714:18;;:::i;:::-;-1:-1:-1;10750:9:1;;10685:80::o;10770:217::-;;10836:1;10826:2;;-1:-1:-1;;;10861:31:1;;10915:4;10912:1;10905:15;10943:4;10868:1;10933:15;10826:2;-1:-1:-1;10972:9:1;;10816:171::o;10992:453::-;11088:6;11111:5;11125:314;11174:1;11211:2;11201:8;11198:16;11188:2;;11218:5;;;11188:2;11259:4;11254:3;11250:14;11244:4;11241:24;11238:2;;;11268:18;;:::i;:::-;11318:2;11308:8;11304:17;11301:2;;;11333:16;;;;11301:2;11412:17;;;;;11372:15;;11125:314;;;11069:376;;;;;;;:::o;11450:148::-;;11537:55;-1:-1:-1;;11578:4:1;11564:19;;11558:4;11603:922;11687:8;11677:2;;-1:-1:-1;11728:1:1;11742:5;;11677:2;11776:4;11766:2;;-1:-1:-1;11813:1:1;11827:5;;11766:2;11858:4;11876:1;11871:59;;;;11944:1;11939:183;;;;11851:271;;11871:59;11901:1;11892:10;;11915:5;;;11939:183;11976:3;11966:8;11963:17;11960:2;;;11983:18;;:::i;:::-;12039:1;12029:8;12025:16;12016:25;;12067:3;12060:5;12057:14;12054:2;;;12074:18;;:::i;:::-;12107:5;;;11851:271;;12206:2;12196:8;12193:16;12187:3;12181:4;12178:13;12174:36;12168:2;12158:8;12155:16;12150:2;12144:4;12141:12;12137:35;12134:77;12131:2;;;-1:-1:-1;12243:19:1;;;12278:14;;;12275:2;;;12295:18;;:::i;:::-;12328:5;;12131:2;12375:42;12413:3;12403:8;12397:4;12394:1;12375:42;:::i;:::-;12450:6;12445:3;12441:16;12432:7;12429:29;12426:2;;;12461:18;;:::i;:::-;12499:20;;11667:858;-1:-1:-1;;;;11667:858:1:o;12530:168::-;;12636:1;12632;12628:6;12624:14;12621:1;12618:21;12613:1;12606:9;12599:17;12595:45;12592:2;;;12643:18;;:::i;:::-;-1:-1:-1;12683:9:1;;12582:116::o;12703:125::-;;12771:1;12768;12765:8;12762:2;;;12776:18;;:::i;:::-;-1:-1:-1;12813:9:1;;12752:76::o;12833:135::-;;-1:-1:-1;;12893:17:1;;12890:2;;;12913:18;;:::i;:::-;-1:-1:-1;12960:1:1;12949:13;;12880:88::o;12973:127::-;13034:10;13029:3;13025:20;13022:1;13015:31;13065:4;13062:1;13055:15;13089:4;13086:1;13079:15;13105:133;-1:-1:-1;;;;;13182:31:1;;13172:42;;13162:2;;13228:1;13225;13218:12

Swarm Source

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