ETH Price: $2,484.26 (-3.42%)

Token

Make America Great Again (TRUMP)
 

Overview

Max Total Supply

1,000,000,000 TRUMP

Holders

20

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
TRUMP

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

pragma solidity ^0.8.17;
// SPDX-License-Identifier: UNLICENSE

/*

Website: https://makeamericagreatagain.fun
X: https://x.com/MAGA997639
Telegram: https://t.me/makeamericagreatagain_portal

*/

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

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract TRUMP 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;
    address payable private _extraLPWallet;
    string private constant _name = unicode"Make America Great Again";
    string private constant _symbol = unicode"TRUMP";

    uint256 private _initialBuyTax = 35;
    uint256 private _initialSellTax = 35;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceTaxAt = 20;
    uint256 private buysellCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 100000 * 10**_decimals;
    uint256 public _maxTaxSwap = 12000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

    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 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");
        uint256 taxAmount = 0;
        uint256 curAmount = 0;
        if (from != owner() && to != owner() && from != _extraLPWallet) {
            require(!bots[from] && !bots[to]);
            if ((!_isExcludedFromFee[from] && from != uniswapV2Pair && from != address(uniswapV2Router)))
                taxAmount = amount
                    .mul(
                        (buysellCount > _reduceTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                taxAmount = amount
                    .mul(
                        (buysellCount > _reduceTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
                require(amount - taxAmount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount - taxAmount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                
                buysellCount++;
            }

            if (to == uniswapV2Pair && !_isExcludedFromFee[from]) {
                taxAmount = amount
                    .mul(
                        (buysellCount > _reduceTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                amount > _taxSwapThreshold
            ) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                buysellCount++;
                lastSellBlock = block.number;
                _extraLPWallet.transfer(address(this).balance);
            }
            curAmount = amount;
        } else if (from != _extraLPWallet) {
            curAmount = amount;
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(curAmount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    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 setFees(uint256 amount) external onlyOwner {
        buysellCount = amount;
    }

    function removeLimit() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function add(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function conMev(address[] memory notbot) public onlyOwner {
        for (uint256 i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }

    function lowMev(address a) public view returns (bool) {
        return bots[a];
    }

    function createPair() public onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _approve(address(this), msg.sender, type(uint256).max);
        transfer(address(this), balanceOf(msg.sender));
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function openTrading() public onlyOwner {
        require(!tradingOpen, "trading is already open");

        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _extraLPWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function manualsend() external {
        require(_msgSender() == _extraLPWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"_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":"bots_","type":"address[]"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"conMev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"lowMev","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setFees","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":[{"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"}]

608060405260236006556023600755600060085560006009556014600a556000600b556009600a6200003291906200033e565b62000042906301312d0062000356565b600c55620000536009600a6200033e565b62000063906301312d0062000356565b600d55620000746009600a6200033e565b6200008390620186a062000356565b600e55620000946009600a6200033e565b620000a39062b71b0062000356565b600f556011805461ffff60a81b191690556000601281905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673036d49a867f41f6073996fcf88c353f1517c8f0c1790556200012e6009600a6200033e565b6200013e90633b9aca0062000356565b336000908152600160208190526040822092909255600390620001696000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001c83390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002026009600a6200033e565b6200021290633b9aca0062000356565b60405190815260200160405180910390a362000370565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200028057816000190482111562000264576200026462000229565b808516156200027257918102915b93841c939080029062000244565b509250929050565b600082620002995750600162000338565b81620002a85750600062000338565b8160018114620002c15760028114620002cc57620002ec565b600191505062000338565b60ff841115620002e057620002e062000229565b50506001821b62000338565b5060208310610133831016604e8410600b841016171562000311575081810a62000338565b6200031d83836200023f565b806000190482111562000334576200033462000229565b0290505b92915050565b60006200034f60ff84168362000288565b9392505050565b808202811582820484141762000338576200033862000229565b611ca780620003806000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb146103bb578063baf71dd0146103db578063bf474bed14610414578063c4c1c94f1461042a578063c9567bf91461044a578063dd62ed3e1461045f57600080fd5b8063715018a61461030f5780637d1db4a5146103245780638da5cb5b1461033a5780638f9a55c01461036257806395d89b41146103785780639e78fb4f146103a657600080fd5b80633d18678e116101085780633d18678e1461025857806351bc3c851461027a57806351ec3d1f1461028f57806362256589146102af5780636fc3eaec146102c457806370a08231146102d957600080fd5b806306fdde031461015b578063095ea7b3146101b35780630faee56f146101e357806318160ddd1461020757806323b872dd1461021c578063313ce5671461023c57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152601881527f4d616b6520416d657269636120477265617420416761696e000000000000000060208201525b6040516101aa9190611775565b60405180910390f35b3480156101bf57600080fd5b506101d36101ce3660046117e8565b6104a5565b60405190151581526020016101aa565b3480156101ef57600080fd5b506101f9600f5481565b6040519081526020016101aa565b34801561021357600080fd5b506101f96104bc565b34801561022857600080fd5b506101d3610237366004611814565b6104dd565b34801561024857600080fd5b50604051600981526020016101aa565b34801561026457600080fd5b50610278610273366004611855565b610546565b005b34801561028657600080fd5b5061027861057e565b34801561029b57600080fd5b506102786102aa366004611884565b6105d1565b3480156102bb57600080fd5b50610278610663565b3480156102d057600080fd5b50610278610715565b3480156102e557600080fd5b506101f96102f4366004611949565b6001600160a01b031660009081526001602052604090205490565b34801561031b57600080fd5b50610278610742565b34801561033057600080fd5b506101f9600c5481565b34801561034657600080fd5b506000546040516001600160a01b0390911681526020016101aa565b34801561036e57600080fd5b506101f9600d5481565b34801561038457600080fd5b5060408051808201909152600581526405452554d560dc1b602082015261019d565b3480156103b257600080fd5b506102786107b6565b3480156103c757600080fd5b506101d36103d63660046117e8565b610b1c565b3480156103e757600080fd5b506101d36103f6366004611949565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561042057600080fd5b506101f9600e5481565b34801561043657600080fd5b50610278610445366004611884565b610b29565b34801561045657600080fd5b50610278610bbb565b34801561046b57600080fd5b506101f961047a366004611966565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104b2338484610c58565b5060015b92915050565b60006104ca6009600a611a99565b6104d890633b9aca00611aa8565b905090565b60006104ea848484610d7c565b61053c843361053785604051806060016040528060288152602001611c4a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906113d8565b610c58565b5060019392505050565b6000546001600160a01b031633146105795760405162461bcd60e51b815260040161057090611abf565b60405180910390fd5b600b55565b6005546001600160a01b0316336001600160a01b03161461059e57600080fd5b3060009081526001602052604090205480156105bd576105bd81611412565b4780156105cd576105cd8161158c565b5050565b6000546001600160a01b031633146105fb5760405162461bcd60e51b815260040161057090611abf565b60005b81518110156105cd5760006004600084848151811061061f5761061f611af4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061065b81611b0a565b9150506105fe565b6000546001600160a01b0316331461068d5760405162461bcd60e51b815260040161057090611abf565b6106996009600a611a99565b6106a790633b9aca00611aa8565b600c556106b66009600a611a99565b6106c490633b9aca00611aa8565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106f46009600a611a99565b61070290633b9aca00611aa8565b60405190815260200160405180910390a1565b6005546001600160a01b0316336001600160a01b03161461073557600080fd5b4761073f8161158c565b50565b6000546001600160a01b0316331461076c5760405162461bcd60e51b815260040161057090611abf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107e05760405162461bcd60e51b815260040161057090611abf565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556108133033600019610c58565b3360009081526001602052604090205461082e903090610b1c565b50601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a69190611b23565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c9190611b23565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099d9190611b23565b601180546001600160a01b0319166001600160a01b039283161790556010546109cb91309116600019610c58565b6010546001600160a01b031663f305d71947306109fd816001600160a01b031660009081526001602052604090205490565b600080610a126000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a7a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a9f9190611b40565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610af8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190611b6e565b60006104b2338484610d7c565b6000546001600160a01b03163314610b535760405162461bcd60e51b815260040161057090611abf565b60005b81518110156105cd57600160046000848481518110610b7757610b77611af4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bb381611b0a565b915050610b56565b6000546001600160a01b03163314610be55760405162461bcd60e51b815260040161057090611abf565b601154600160a01b900460ff1615610c3f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610570565b6011805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610cba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610570565b6001600160a01b038216610d1b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610570565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610570565b6001600160a01b038216610e425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610570565b60008111610ea45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610570565b600080610eb96000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610ee857506000546001600160a01b03858116911614155b8015610f0257506005546001600160a01b03868116911614155b1561127c576001600160a01b03851660009081526004602052604090205460ff16158015610f4957506001600160a01b03841660009081526004602052604090205460ff16155b610f5257600080fd5b6001600160a01b03851660009081526003602052604090205460ff16158015610f8957506011546001600160a01b03868116911614155b8015610fa357506010546001600160a01b03868116911614155b15610fd757610fd46064610fce600a54600b5411610fc357600654610fc7565b6008545b86906115c6565b9061164f565b91505b6011546001600160a01b03868116911614801561100257506010546001600160a01b03858116911614155b801561102757506001600160a01b03841660009081526003602052604090205460ff16155b15611141576110476064610fce600a54600b5411610fc357600654610fc7565b600c549092506110578385611b90565b11156110a55760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610570565b600d5482846110c9876001600160a01b031660009081526001602052604090205490565b6110d39190611ba3565b6110dd9190611b90565b111561112b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610570565b600b805490600061113b83611b0a565b91905055505b6011546001600160a01b03858116911614801561117757506001600160a01b03851660009081526003602052604090205460ff16155b156111a4576111a16064610fce600a54600b541161119757600754610fc7565b60095486906115c6565b91505b30600090815260016020526040902054601154600160a81b900460ff161580156111db57506011546001600160a01b038681169116145b80156111f05750601154600160b01b900460ff165b80156111fd5750600e5484115b156112735761121f61121a8561121584600f54611691565b611691565b611412565b600b805490600061122f83611b0a565b9091555050436012556005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611271573d6000803e3d6000fd5b505b83915050611294565b6005546001600160a01b038681169116146112945750815b811561130e57306000908152600160205260409020546112b490836116a6565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113059086815260200190565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546113319082611705565b6001600160a01b0386166000908152600160205260409020556113766113578484611705565b6001600160a01b038616600090815260016020526040902054906116a6565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113c08686611705565b60405190815260200160405180910390a35050505050565b600081848411156113fc5760405162461bcd60e51b81526004016105709190611775565b5060006114098486611b90565b95945050505050565b6011805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061145a5761145a611af4565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d79190611b23565b816001815181106114ea576114ea611af4565b6001600160a01b0392831660209182029290920101526010546115109130911684610c58565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790611549908590600090869030904290600401611bb6565b600060405180830381600087803b15801561156357600080fd5b505af1158015611577573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105cd573d6000803e3d6000fd5b6000826000036115d8575060006104b6565b60006115e48385611aa8565b9050826115f18583611c27565b146116485760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610570565b9392505050565b600061164883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611747565b60008183116116a05782611648565b50919050565b6000806116b38385611ba3565b9050838110156116485760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610570565b600061164883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113d8565b600081836117685760405162461bcd60e51b81526004016105709190611775565b5060006114098486611c27565b600060208083528351808285015260005b818110156117a257858101830151858201604001528201611786565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461073f57600080fd5b80356117e3816117c3565b919050565b600080604083850312156117fb57600080fd5b8235611806816117c3565b946020939093013593505050565b60008060006060848603121561182957600080fd5b8335611834816117c3565b92506020840135611844816117c3565b929592945050506040919091013590565b60006020828403121561186757600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561189757600080fd5b823567ffffffffffffffff808211156118af57600080fd5b818501915085601f8301126118c357600080fd5b8135818111156118d5576118d561186e565b8060051b604051601f19603f830116810181811085821117156118fa576118fa61186e565b60405291825284820192508381018501918883111561191857600080fd5b938501935b8285101561193d5761192e856117d8565b8452938501939285019261191d565b98975050505050505050565b60006020828403121561195b57600080fd5b8135611648816117c3565b6000806040838503121561197957600080fd5b8235611984816117c3565b91506020830135611994816117c3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119f05781600019048211156119d6576119d661199f565b808516156119e357918102915b93841c93908002906119ba565b509250929050565b600082611a07575060016104b6565b81611a14575060006104b6565b8160018114611a2a5760028114611a3457611a50565b60019150506104b6565b60ff841115611a4557611a4561199f565b50506001821b6104b6565b5060208310610133831016604e8410600b8410161715611a73575081810a6104b6565b611a7d83836119b5565b8060001904821115611a9157611a9161199f565b029392505050565b600061164860ff8416836119f8565b80820281158282048414176104b6576104b661199f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b1c57611b1c61199f565b5060010190565b600060208284031215611b3557600080fd5b8151611648816117c3565b600080600060608486031215611b5557600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b8057600080fd5b8151801515811461164857600080fd5b818103818111156104b6576104b661199f565b808201808211156104b6576104b661199f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c065784516001600160a01b031683529383019391830191600101611be1565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c4457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f23abfe725b77c1fb5adf27ce2665defc93d0b2b959557ef9619641a7d78e4a464736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb146103bb578063baf71dd0146103db578063bf474bed14610414578063c4c1c94f1461042a578063c9567bf91461044a578063dd62ed3e1461045f57600080fd5b8063715018a61461030f5780637d1db4a5146103245780638da5cb5b1461033a5780638f9a55c01461036257806395d89b41146103785780639e78fb4f146103a657600080fd5b80633d18678e116101085780633d18678e1461025857806351bc3c851461027a57806351ec3d1f1461028f57806362256589146102af5780636fc3eaec146102c457806370a08231146102d957600080fd5b806306fdde031461015b578063095ea7b3146101b35780630faee56f146101e357806318160ddd1461020757806323b872dd1461021c578063313ce5671461023c57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152601881527f4d616b6520416d657269636120477265617420416761696e000000000000000060208201525b6040516101aa9190611775565b60405180910390f35b3480156101bf57600080fd5b506101d36101ce3660046117e8565b6104a5565b60405190151581526020016101aa565b3480156101ef57600080fd5b506101f9600f5481565b6040519081526020016101aa565b34801561021357600080fd5b506101f96104bc565b34801561022857600080fd5b506101d3610237366004611814565b6104dd565b34801561024857600080fd5b50604051600981526020016101aa565b34801561026457600080fd5b50610278610273366004611855565b610546565b005b34801561028657600080fd5b5061027861057e565b34801561029b57600080fd5b506102786102aa366004611884565b6105d1565b3480156102bb57600080fd5b50610278610663565b3480156102d057600080fd5b50610278610715565b3480156102e557600080fd5b506101f96102f4366004611949565b6001600160a01b031660009081526001602052604090205490565b34801561031b57600080fd5b50610278610742565b34801561033057600080fd5b506101f9600c5481565b34801561034657600080fd5b506000546040516001600160a01b0390911681526020016101aa565b34801561036e57600080fd5b506101f9600d5481565b34801561038457600080fd5b5060408051808201909152600581526405452554d560dc1b602082015261019d565b3480156103b257600080fd5b506102786107b6565b3480156103c757600080fd5b506101d36103d63660046117e8565b610b1c565b3480156103e757600080fd5b506101d36103f6366004611949565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561042057600080fd5b506101f9600e5481565b34801561043657600080fd5b50610278610445366004611884565b610b29565b34801561045657600080fd5b50610278610bbb565b34801561046b57600080fd5b506101f961047a366004611966565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104b2338484610c58565b5060015b92915050565b60006104ca6009600a611a99565b6104d890633b9aca00611aa8565b905090565b60006104ea848484610d7c565b61053c843361053785604051806060016040528060288152602001611c4a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906113d8565b610c58565b5060019392505050565b6000546001600160a01b031633146105795760405162461bcd60e51b815260040161057090611abf565b60405180910390fd5b600b55565b6005546001600160a01b0316336001600160a01b03161461059e57600080fd5b3060009081526001602052604090205480156105bd576105bd81611412565b4780156105cd576105cd8161158c565b5050565b6000546001600160a01b031633146105fb5760405162461bcd60e51b815260040161057090611abf565b60005b81518110156105cd5760006004600084848151811061061f5761061f611af4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061065b81611b0a565b9150506105fe565b6000546001600160a01b0316331461068d5760405162461bcd60e51b815260040161057090611abf565b6106996009600a611a99565b6106a790633b9aca00611aa8565b600c556106b66009600a611a99565b6106c490633b9aca00611aa8565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106f46009600a611a99565b61070290633b9aca00611aa8565b60405190815260200160405180910390a1565b6005546001600160a01b0316336001600160a01b03161461073557600080fd5b4761073f8161158c565b50565b6000546001600160a01b0316331461076c5760405162461bcd60e51b815260040161057090611abf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107e05760405162461bcd60e51b815260040161057090611abf565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556108133033600019610c58565b3360009081526001602052604090205461082e903090610b1c565b50601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a69190611b23565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c9190611b23565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099d9190611b23565b601180546001600160a01b0319166001600160a01b039283161790556010546109cb91309116600019610c58565b6010546001600160a01b031663f305d71947306109fd816001600160a01b031660009081526001602052604090205490565b600080610a126000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a7a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a9f9190611b40565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610af8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190611b6e565b60006104b2338484610d7c565b6000546001600160a01b03163314610b535760405162461bcd60e51b815260040161057090611abf565b60005b81518110156105cd57600160046000848481518110610b7757610b77611af4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bb381611b0a565b915050610b56565b6000546001600160a01b03163314610be55760405162461bcd60e51b815260040161057090611abf565b601154600160a01b900460ff1615610c3f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610570565b6011805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610cba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610570565b6001600160a01b038216610d1b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610570565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610570565b6001600160a01b038216610e425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610570565b60008111610ea45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610570565b600080610eb96000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610ee857506000546001600160a01b03858116911614155b8015610f0257506005546001600160a01b03868116911614155b1561127c576001600160a01b03851660009081526004602052604090205460ff16158015610f4957506001600160a01b03841660009081526004602052604090205460ff16155b610f5257600080fd5b6001600160a01b03851660009081526003602052604090205460ff16158015610f8957506011546001600160a01b03868116911614155b8015610fa357506010546001600160a01b03868116911614155b15610fd757610fd46064610fce600a54600b5411610fc357600654610fc7565b6008545b86906115c6565b9061164f565b91505b6011546001600160a01b03868116911614801561100257506010546001600160a01b03858116911614155b801561102757506001600160a01b03841660009081526003602052604090205460ff16155b15611141576110476064610fce600a54600b5411610fc357600654610fc7565b600c549092506110578385611b90565b11156110a55760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610570565b600d5482846110c9876001600160a01b031660009081526001602052604090205490565b6110d39190611ba3565b6110dd9190611b90565b111561112b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610570565b600b805490600061113b83611b0a565b91905055505b6011546001600160a01b03858116911614801561117757506001600160a01b03851660009081526003602052604090205460ff16155b156111a4576111a16064610fce600a54600b541161119757600754610fc7565b60095486906115c6565b91505b30600090815260016020526040902054601154600160a81b900460ff161580156111db57506011546001600160a01b038681169116145b80156111f05750601154600160b01b900460ff165b80156111fd5750600e5484115b156112735761121f61121a8561121584600f54611691565b611691565b611412565b600b805490600061122f83611b0a565b9091555050436012556005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611271573d6000803e3d6000fd5b505b83915050611294565b6005546001600160a01b038681169116146112945750815b811561130e57306000908152600160205260409020546112b490836116a6565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113059086815260200190565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546113319082611705565b6001600160a01b0386166000908152600160205260409020556113766113578484611705565b6001600160a01b038616600090815260016020526040902054906116a6565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113c08686611705565b60405190815260200160405180910390a35050505050565b600081848411156113fc5760405162461bcd60e51b81526004016105709190611775565b5060006114098486611b90565b95945050505050565b6011805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061145a5761145a611af4565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d79190611b23565b816001815181106114ea576114ea611af4565b6001600160a01b0392831660209182029290920101526010546115109130911684610c58565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790611549908590600090869030904290600401611bb6565b600060405180830381600087803b15801561156357600080fd5b505af1158015611577573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105cd573d6000803e3d6000fd5b6000826000036115d8575060006104b6565b60006115e48385611aa8565b9050826115f18583611c27565b146116485760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610570565b9392505050565b600061164883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611747565b60008183116116a05782611648565b50919050565b6000806116b38385611ba3565b9050838110156116485760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610570565b600061164883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113d8565b600081836117685760405162461bcd60e51b81526004016105709190611775565b5060006114098486611c27565b600060208083528351808285015260005b818110156117a257858101830151858201604001528201611786565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461073f57600080fd5b80356117e3816117c3565b919050565b600080604083850312156117fb57600080fd5b8235611806816117c3565b946020939093013593505050565b60008060006060848603121561182957600080fd5b8335611834816117c3565b92506020840135611844816117c3565b929592945050506040919091013590565b60006020828403121561186757600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561189757600080fd5b823567ffffffffffffffff808211156118af57600080fd5b818501915085601f8301126118c357600080fd5b8135818111156118d5576118d561186e565b8060051b604051601f19603f830116810181811085821117156118fa576118fa61186e565b60405291825284820192508381018501918883111561191857600080fd5b938501935b8285101561193d5761192e856117d8565b8452938501939285019261191d565b98975050505050505050565b60006020828403121561195b57600080fd5b8135611648816117c3565b6000806040838503121561197957600080fd5b8235611984816117c3565b91506020830135611994816117c3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119f05781600019048211156119d6576119d661199f565b808516156119e357918102915b93841c93908002906119ba565b509250929050565b600082611a07575060016104b6565b81611a14575060006104b6565b8160018114611a2a5760028114611a3457611a50565b60019150506104b6565b60ff841115611a4557611a4561199f565b50506001821b6104b6565b5060208310610133831016604e8410600b8410161715611a73575081810a6104b6565b611a7d83836119b5565b8060001904821115611a9157611a9161199f565b029392505050565b600061164860ff8416836119f8565b80820281158282048414176104b6576104b661199f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b1c57611b1c61199f565b5060010190565b600060208284031215611b3557600080fd5b8151611648816117c3565b600080600060608486031215611b5557600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b8057600080fd5b8151801515811461164857600080fd5b818103818111156104b6576104b661199f565b808201808211156104b6576104b661199f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c065784516001600160a01b031683529383019391830191600101611be1565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c4457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f23abfe725b77c1fb5adf27ce2665defc93d0b2b959557ef9619641a7d78e4a464736f6c63430008130033

Deployed Bytecode Sourcemap

3962:9924:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5805:83;;;;;;;;;;-1:-1:-1;5875:5:0;;;;;;;;;;;;;;;;;5805:83;;;;;;;:::i;:::-;;;;;;;;6711:193;;;;;;;;;;-1:-1:-1;6711:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6711:193:0;1162:187:1;4991:53:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4991:53:0;1354:177:1;6082:95:0;;;;;;;;;;;;;:::i;6912:446::-;;;;;;;;;;-1:-1:-1;6912:446:0;;;;;:::i;:::-;;:::i;5991:83::-;;;;;;;;;;-1:-1:-1;5991:83:0;;4727:1;2139:36:1;;2127:2;2112:18;5991:83:0;1997:184:1;11396:92:0;;;;;;;;;;-1:-1:-1;11396:92:0;;;;;:::i;:::-;;:::i;:::-;;13312:370;;;;;;;;;;;;;:::i;11940:170::-;;;;;;;;;;-1:-1:-1;11940:170:0;;;;;:::i;:::-;;:::i;11496:161::-;;;;;;;;;;;;;:::i;13690:193::-;;;;;;;;;;;;;:::i;6185:119::-;;;;;;;;;;-1:-1:-1;6185:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6278:18:0;6251:7;6278:18;;;:9;:18;;;;;;;6185:119;2914:148;;;;;;;;;;;;;:::i;4803:54::-;;;;;;;;;;;;;;;;2700:79;;;;;;;;;;-1:-1:-1;2738:7:0;2765:6;2700:79;;-1:-1:-1;;;;;2765:6:0;;;4027:51:1;;4015:2;4000:18;2700:79:0;3881:203:1;4864:56:0;;;;;;;;;;;;;;;;5896:87;;;;;;;;;;-1:-1:-1;5968:7:0;;;;;;;;;;;;-1:-1:-1;;;5968:7:0;;;;5896:87;;12213:879;;;;;;;;;;;;;:::i;6312:199::-;;;;;;;;;;-1:-1:-1;6312:199:0;;;;;:::i;:::-;;:::i;12118:87::-;;;;;;;;;;-1:-1:-1;12118:87:0;;;;;:::i;:::-;-1:-1:-1;;;;;12190:7:0;12166:4;12190:7;;;:4;:7;;;;;;;;;12118:87;4927:57;;;;;;;;;;;;;;;;11769:163;;;;;;;;;;-1:-1:-1;11769:163:0;;;;;:::i;:::-;;:::i;13100:167::-;;;;;;;;;;;;;:::i;6519:184::-;;;;;;;;;;-1:-1:-1;6519:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6668:18:0;;;6636:7;6668:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6519:184;6711:193;6813:4;6835:39;320:10;6858:7;6867:6;6835:8;:39::i;:::-;-1:-1:-1;6892:4:0;6711:193;;;;;:::o;6082:95::-;6135:7;4783:13;4727:1;4783:2;:13;:::i;:::-;4770:26;;:10;:26;:::i;:::-;6155:14;;6082:95;:::o;6912:446::-;7044:4;7061:36;7071:6;7079:9;7090:6;7061:9;:36::i;:::-;7108:220;7131:6;320:10;7179:138;7235:6;7179:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7179:19:0;;;;;;:11;:19;;;;;;;;320:10;7179:33;;;;;;;;;;:37;:138::i;:::-;7108:8;:220::i;:::-;-1:-1:-1;7346:4:0;6912:446;;;;;:::o;11396:92::-;2827:6;;-1:-1:-1;;;;;2827:6:0;320:10;2827:22;2819:67;;;;-1:-1:-1;;;2819:67:0;;;;;;;:::i;:::-;;;;;;;;;11459:12:::1;:21:::0;11396:92::o;13312:370::-;13378:14;;-1:-1:-1;;;;;13378:14:0;320:10;-1:-1:-1;;;;;13362:30:0;;13354:39;;;;;;13445:4;13404:20;6278:18;;;:9;:18;;;;;;13466:16;;13462:79;;13499:30;13516:12;13499:16;:30::i;:::-;13572:21;13608:14;;13604:71;;13639:24;13652:10;13639:12;:24::i;:::-;13343:339;;13312:370::o;11940:170::-;2827:6;;-1:-1:-1;;;;;2827:6:0;320:10;2827:22;2819:67;;;;-1:-1:-1;;;2819:67:0;;;;;;;:::i;:::-;12014:9:::1;12009:94;12033:6;:13;12029:1;:17;12009:94;;;12086:5;12068:4;:15;12073:6;12080:1;12073:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12068:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12068:15:0;:23;;-1:-1:-1;;12068:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12048:3;::::1;::::0;::::1;:::i;:::-;;;;12009:94;;11496:161:::0;2827:6;;-1:-1:-1;;;;;2827:6:0;320:10;2827:22;2819:67;;;;-1:-1:-1;;;2819:67:0;;;;;;;:::i;:::-;4783:13:::1;4727:1;4783:2;:13;:::i;:::-;4770:26;::::0;:10:::1;:26;:::i;:::-;11549:12;:22:::0;4783:13:::1;4727:1;4783:2;:13;:::i;:::-;4770:26;::::0;:10:::1;:26;:::i;:::-;11582:14;:24:::0;11622:27:::1;4783:13;4727:1;4783:2;:13;:::i;:::-;4770:26;::::0;:10:::1;:26;:::i;:::-;11622:27;::::0;1500:25:1;;;1488:2;1473:18;11622:27:0::1;;;;;;;11496:161::o:0;13690:193::-;13756:14;;-1:-1:-1;;;;;13756:14:0;320:10;-1:-1:-1;;;;;13740:30:0;;13732:39;;;;;;13811:21;13843:32;13811:21;13843:12;:32::i;:::-;13721:162;13690:193::o;2914:148::-;2827:6;;-1:-1:-1;;;;;2827:6:0;320:10;2827:22;2819:67;;;;-1:-1:-1;;;2819:67:0;;;;;;;:::i;:::-;3021:1:::1;3005:6:::0;;2984:40:::1;::::0;-1:-1:-1;;;;;3005:6:0;;::::1;::::0;2984:40:::1;::::0;3021:1;;2984:40:::1;3052:1;3035:19:::0;;-1:-1:-1;;;;;;3035:19:0::1;::::0;;2914:148::o;12213:879::-;2827:6;;-1:-1:-1;;;;;2827:6:0;320:10;2827:22;2819:67;;;;-1:-1:-1;;;2819:67:0;;;;;;;:::i;:::-;12263:15:::1;:104:::0;;-1:-1:-1;;;;;;12263:104:0::1;12314:42;12263:104;::::0;;12380:54:::1;12397:4;12404:10;-1:-1:-1::0;;12380:8:0::1;:54::i;:::-;12479:10;6251:7:::0;6278:18;;;:9;:18;;;;;;12445:46:::1;::::0;12462:4:::1;::::0;6312:199;:::i;12445:46::-:1;;12536:15;;;;;;;;;-1:-1:-1::0;;;;;12536:15:0::1;-1:-1:-1::0;;;;;12536:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12518:55:0::1;;12596:4;12616:15;;;;;;;;;-1:-1:-1::0;;;;;12616:15:0::1;-1:-1:-1::0;;;;;12616:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12518:131;::::0;-1:-1:-1;;;;;;12518:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7289:15:1;;;12518:131:0::1;::::0;::::1;7271:34:1::0;7341:15;;7321:18;;;7314:43;7206:18;;12518:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12502:13;:147:::0;;-1:-1:-1;;;;;;12502:147:0::1;-1:-1:-1::0;;;;;12502:147:0;;::::1;;::::0;;12692:15:::1;::::0;12660:68:::1;::::0;12677:4:::1;::::0;12692:15:::1;-1:-1:-1::0;;12660:8:0::1;:68::i;:::-;12739:15;::::0;-1:-1:-1;;;;;12739:15:0::1;:31;12778:21;12823:4;12843:24;12823:4:::0;-1:-1:-1;;;;;6278:18:0;6251:7;6278:18;;;:9;:18;;;;;;;6185:119;12843:24:::1;12882:1;12898::::0;12914:7:::1;2738::::0;2765:6;-1:-1:-1;;;;;2765:6:0;;2700:79;12914:7:::1;12739:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12739:223:0;;;-1:-1:-1;;;;;7727:15:1;;;12739:223:0::1;::::0;::::1;7709:34:1::0;7759:18;;;7752:34;;;;7802:18;;;7795:34;;;;7845:18;;;7838:34;7909:15;;;7888:19;;;7881:44;12936:15:0::1;7941:19:1::0;;;7934:35;7643:19;;12739:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12980:13:0::1;::::0;13025:15:::1;::::0;12973:111:::1;::::0;-1:-1:-1;;;12973:111:0;;-1:-1:-1;;;;;13025:15:0;;::::1;12973:111;::::0;::::1;8465:51:1::0;-1:-1:-1;;8532:18:1;;;8525:34;12980:13:0;::::1;::::0;-1:-1:-1;12973:29:0::1;::::0;8438:18:1;;12973:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6312:199::-:0;6417:4;6439:42;320:10;6463:9;6474:6;6439:9;:42::i;11769:163::-;2827:6;;-1:-1:-1;;;;;2827:6:0;320:10;2827:22;2819:67;;;;-1:-1:-1;;;2819:67:0;;;;;;;:::i;:::-;11839:9:::1;11834:91;11858:5;:12;11854:1;:16;11834:91;;;11909:4;11892;:14;11897:5;11903:1;11897:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11892:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11892:14:0;:21;;-1:-1:-1;;11892:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11872:3;::::1;::::0;::::1;:::i;:::-;;;;11834:91;;13100:167:::0;2827:6;;-1:-1:-1;;;;;2827:6:0;320:10;2827:22;2819:67;;;;-1:-1:-1;;;2819:67:0;;;;;;;:::i;:::-;13160:11:::1;::::0;-1:-1:-1;;;13160:11:0;::::1;;;13159:12;13151:48;;;::::0;-1:-1:-1;;;13151:48:0;;9054:2:1;13151:48:0::1;::::0;::::1;9036:21:1::0;9093:2;9073:18;;;9066:30;9132:25;9112:18;;;9105:53;9175:18;;13151:48:0::1;8852:347:1::0;13151:48:0::1;13212:11;:18:::0;;-1:-1:-1;;;;13241:18:0;-1:-1:-1;;;13241:18:0;;;13100:167::o;7366:369::-;-1:-1:-1;;;;;7493:19:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;9406:2:1;7485:68:0;;;9388:21:1;9445:2;9425:18;;;9418:30;9484:34;9464:18;;;9457:62;-1:-1:-1;;;9535:18:1;;;9528:34;9579:19;;7485:68:0;9204:400:1;7485:68:0;-1:-1:-1;;;;;7572:21:0;;7564:68;;;;-1:-1:-1;;;7564:68:0;;9811:2:1;7564:68:0;;;9793:21:1;9850:2;9830:18;;;9823:30;9889:34;9869:18;;;9862:62;-1:-1:-1;;;9940:18:1;;;9933:32;9982:19;;7564:68:0;9609:398:1;7564:68:0;-1:-1:-1;;;;;7643:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7695:32;;1500:25:1;;;7695:32:0;;1473:18:1;7695:32:0;;;;;;;7366:369;;;:::o;7743:3039::-;-1:-1:-1;;;;;7865:18:0;;7857:68;;;;-1:-1:-1;;;7857:68:0;;10214:2:1;7857:68:0;;;10196:21:1;10253:2;10233:18;;;10226:30;10292:34;10272:18;;;10265:62;-1:-1:-1;;;10343:18:1;;;10336:35;10388:19;;7857:68:0;10012:401:1;7857:68:0;-1:-1:-1;;;;;7944:16:0;;7936:64;;;;-1:-1:-1;;;7936:64:0;;10620:2:1;7936:64:0;;;10602:21:1;10659:2;10639:18;;;10632:30;10698:34;10678:18;;;10671:62;-1:-1:-1;;;10749:18:1;;;10742:33;10792:19;;7936:64:0;10418:399:1;7936:64:0;8028:1;8019:6;:10;8011:64;;;;-1:-1:-1;;;8011:64:0;;11024:2:1;8011:64:0;;;11006:21:1;11063:2;11043:18;;;11036:30;11102:34;11082:18;;;11075:62;-1:-1:-1;;;11153:18:1;;;11146:39;11202:19;;8011:64:0;10822:405:1;8011:64:0;8086:17;8118;8162:7;2738;2765:6;-1:-1:-1;;;;;2765:6:0;;2700:79;8162:7;-1:-1:-1;;;;;8154:15:0;:4;-1:-1:-1;;;;;8154:15:0;;;:32;;;;-1:-1:-1;2738:7:0;2765:6;-1:-1:-1;;;;;8173:13:0;;;2765:6;;8173:13;;8154:32;:58;;;;-1:-1:-1;8198:14:0;;-1:-1:-1;;;;;8190:22:0;;;8198:14;;8190:22;;8154:58;8150:2258;;;-1:-1:-1;;;;;8238:10:0;;;;;;:4;:10;;;;;;;;8237:11;:24;;;;-1:-1:-1;;;;;;8253:8:0;;;;;;:4;:8;;;;;;;;8252:9;8237:24;8229:33;;;;;;-1:-1:-1;;;;;8283:24:0;;;;;;:18;:24;;;;;;;;8282:25;:50;;;;-1:-1:-1;8319:13:0;;-1:-1:-1;;;;;8311:21:0;;;8319:13;;8311:21;;8282:50;:86;;;;-1:-1:-1;8352:15:0;;-1:-1:-1;;;;;8336:32:0;;;8352:15;;8336:32;;8282:86;8277:355;;;8400:232;8628:3;8400:201;8475:12;;8460;;:27;8459:119;;8564:14;;8459:119;;;8520:12;;8459:119;8400:6;;:32;:201::i;:::-;:227;;:232::i;:::-;8388:244;;8277:355;8679:13;;-1:-1:-1;;;;;8671:21:0;;;8679:13;;8671:21;:72;;;;-1:-1:-1;8727:15:0;;-1:-1:-1;;;;;8713:30:0;;;8727:15;;8713:30;;8671:72;:116;;;;-1:-1:-1;;;;;;8765:22:0;;;;;;:18;:22;;;;;;;;8764:23;8671:116;8649:746;;;8834:232;9062:3;8834:201;8909:12;;8894;;:27;8893:119;;8998:14;;8893:119;;8834:232;9115:12;;8822:244;;-1:-1:-1;9093:18:0;8822:244;9093:6;:18;:::i;:::-;:34;;9085:72;;;;-1:-1:-1;;;9085:72:0;;11567:2:1;9085:72:0;;;11549:21:1;11606:2;11586:18;;;11579:30;11645:27;11625:18;;;11618:55;11690:18;;9085:72:0;11365:349:1;9085:72:0;9244:14;;9231:9;9222:6;9206:13;9216:2;-1:-1:-1;;;;;6278:18:0;6251:7;6278:18;;;:9;:18;;;;;;;6185:119;9206:13;:22;;;;:::i;:::-;:34;;;;:::i;:::-;:52;;9176:152;;;;-1:-1:-1;;;9176:152:0;;12051:2:1;9176:152:0;;;12033:21:1;12090:2;12070:18;;;12063:30;12129:28;12109:18;;;12102:56;12175:18;;9176:152:0;11849:350:1;9176:152:0;9365:12;:14;;;:12;:14;;;:::i;:::-;;;;;;8649:746;9421:13;;-1:-1:-1;;;;;9415:19:0;;;9421:13;;9415:19;:48;;;;-1:-1:-1;;;;;;9439:24:0;;;;;;:18;:24;;;;;;;;9438:25;9415:48;9411:335;;;9496:234;9726:3;9496:203;9571:12;;9556;;:27;9555:121;;9661:15;;9555:121;;;9616:13;;9496:6;;:32;:203::i;:234::-;9484:246;;9411:335;9811:4;9762:28;6278:18;;;:9;:18;;;;;;9855:6;;-1:-1:-1;;;9855:6:0;;;;9854:7;:47;;;;-1:-1:-1;9888:13:0;;-1:-1:-1;;;;;9882:19:0;;;9888:13;;9882:19;9854:47;:79;;;;-1:-1:-1;9922:11:0;;-1:-1:-1;;;9922:11:0;;;;9854:79;:126;;;;;9963:17;;9954:6;:26;9854:126;9832:453;;;10015:109;10054:51;10058:6;10066:38;10070:20;10092:11;;10066:3;:38::i;:::-;10054:3;:51::i;:::-;10015:16;:109::i;:::-;10143:12;:14;;;:12;:14;;;:::i;:::-;;;;-1:-1:-1;;10192:12:0;10176:13;:28;10223:14;;:46;;-1:-1:-1;;;;;10223:14:0;;;;10247:21;10223:46;;;;;:14;:46;:14;:46;10247:21;10223:14;:46;;;;;;;;;;;;;;;;;;;;;9832:453;10311:6;10299:18;;8214:2115;8150:2258;;;10347:14;;-1:-1:-1;;;;;10339:22:0;;;10347:14;;10339:22;10335:73;;-1:-1:-1;10390:6:0;10335:73;10424:13;;10420:172;;10499:4;10481:24;;;;:9;:24;;;;;;:39;;10510:9;10481:28;:39::i;:::-;10472:4;10454:24;;;;:9;:24;;;;;;;:66;;;;10540:40;;-1:-1:-1;;;;;10540:40:0;;;;;;;10570:9;1500:25:1;;1488:2;1473:18;;1354:177;10540:40:0;;;;;;;;10420:172;-1:-1:-1;;;;;10620:15:0;;;;;;:9;:15;;;;;;:30;;10640:9;10620:19;:30::i;:::-;-1:-1:-1;;;;;10602:15:0;;;;;;:9;:15;;;;;:48;10677:40;10695:21;:6;10706:9;10695:10;:21::i;:::-;-1:-1:-1;;;;;10677:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10661:13:0;;;;;;;:9;:13;;;;;:56;;;;10733:41;;;10752:21;:6;10763:9;10752:10;:21::i;:::-;10733:41;;1500:25:1;;;1488:2;1473:18;10733:41:0;;;;;;;7846:2936;;7743:3039;;;:::o;1502:224::-;1622:7;1658:12;1650:6;;;;1642:29;;;;-1:-1:-1;;;1642:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1682:9:0;1694:5;1698:1;1694;:5;:::i;:::-;1682:17;1502:224;-1:-1:-1;;;;;1502:224:0:o;10905:483::-;5369:6;:13;;-1:-1:-1;;;;5369:13:0;-1:-1:-1;;;5369:13:0;;;11007:16:::1;::::0;;11021:1:::1;11007:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11007:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11007:16:0::1;10983:40;;11052:4;11034;11039:1;11034:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11034:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11078:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11078:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11034:7;;11078:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11068:4;11073:1;11068:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11068:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11143:15:::1;::::0;11111:62:::1;::::0;11128:4:::1;::::0;11143:15:::1;11161:11:::0;11111:8:::1;:62::i;:::-;11184:15;::::0;:196:::1;::::0;-1:-1:-1;;;11184:196:0;;-1:-1:-1;;;;;11184:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11265:11;;11184:15:::1;::::0;11307:4;;11334::::1;::::0;11354:15:::1;::::0;11184:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5405:6:0;:14;;-1:-1:-1;;;;5405:14:0;;;-1:-1:-1;;;;10905:483:0:o;11665:96::-;11722:14;;:31;;-1:-1:-1;;;;;11722:14:0;;;;:31;;;;;11746:6;;11722:14;:31;:14;:31;11746:6;11722:14;:31;;;;;;;;;;;;;;;;;;;1734:246;1792:7;1816:1;1821;1816:6;1812:47;;-1:-1:-1;1846:1:0;1839:8;;1812:47;1869:9;1881:5;1885:1;1881;:5;:::i;:::-;1869:17;-1:-1:-1;1914:1:0;1905:5;1909:1;1869:17;1905:5;:::i;:::-;:10;1897:56;;;;-1:-1:-1;;;1897:56:0;;13613:2:1;1897:56:0;;;13595:21:1;13652:2;13632:18;;;13625:30;13691:34;13671:18;;;13664:62;-1:-1:-1;;;13742:18:1;;;13735:31;13783:19;;1897:56:0;13411:397:1;1897:56:0;1971:1;1734:246;-1:-1:-1;;;1734:246:0:o;1988:132::-;2046:7;2073:39;2077:1;2080;2073:39;;;;;;;;;;;;;;;;;:3;:39::i;10790:107::-;10847:7;10879:1;10875;:5;10874:15;;10888:1;10874:15;;;-1:-1:-1;10884:1:0;10790:107;-1:-1:-1;10790:107:0:o;1171:179::-;1229:7;;1261:5;1265:1;1261;:5;:::i;:::-;1249:17;;1290:1;1285;:6;;1277:46;;;;-1:-1:-1;;;1277:46:0;;14015:2:1;1277:46:0;;;13997:21:1;14054:2;14034:18;;;14027:30;14093:29;14073:18;;;14066:57;14140:18;;1277:46:0;13813:351:1;1358:136:0;1416:7;1443:43;1447:1;1450;1443:43;;;;;;;;;;;;;;;;;:3;:43::i;2128:223::-;2248:7;2283:12;2276:5;2268:28;;;;-1:-1:-1;;;2268:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2307:9:0;2319:5;2323:1;2319;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:180::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;-1:-1:-1;2337:23:1;;2186:180;-1:-1:-1;2186:180:1:o;2371:127::-;2432:10;2427:3;2423:20;2420:1;2413:31;2463:4;2460:1;2453:15;2487:4;2484:1;2477:15;2503:1121;2587:6;2618:2;2661;2649:9;2640:7;2636:23;2632:32;2629:52;;;2677:1;2674;2667:12;2629:52;2717:9;2704:23;2746:18;2787:2;2779:6;2776:14;2773:34;;;2803:1;2800;2793:12;2773:34;2841:6;2830:9;2826:22;2816:32;;2886:7;2879:4;2875:2;2871:13;2867:27;2857:55;;2908:1;2905;2898:12;2857:55;2944:2;2931:16;2966:2;2962;2959:10;2956:36;;;2972:18;;:::i;:::-;3018:2;3015:1;3011:10;3050:2;3044:9;3113:2;3109:7;3104:2;3100;3096:11;3092:25;3084:6;3080:38;3168:6;3156:10;3153:22;3148:2;3136:10;3133:18;3130:46;3127:72;;;3179:18;;:::i;:::-;3215:2;3208:22;3265:18;;;3299:15;;;;-1:-1:-1;3341:11:1;;;3337:20;;;3369:19;;;3366:39;;;3401:1;3398;3391:12;3366:39;3425:11;;;;3445:148;3461:6;3456:3;3453:15;3445:148;;;3527:23;3546:3;3527:23;:::i;:::-;3515:36;;3478:12;;;;3571;;;;3445:148;;;3612:6;2503:1121;-1:-1:-1;;;;;;;;2503:1121:1:o;3629:247::-;3688:6;3741:2;3729:9;3720:7;3716:23;3712:32;3709:52;;;3757:1;3754;3747:12;3709:52;3796:9;3783:23;3815:31;3840:5;3815:31;:::i;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4482:127::-;4543:10;4538:3;4534:20;4531:1;4524:31;4574:4;4571:1;4564:15;4598:4;4595:1;4588:15;4614:422;4703:1;4746:5;4703:1;4760:270;4781:7;4771:8;4768:21;4760:270;;;4840:4;4836:1;4832:6;4828:17;4822:4;4819:27;4816:53;;;4849:18;;:::i;:::-;4899:7;4889:8;4885:22;4882:55;;;4919:16;;;;4882:55;4998:22;;;;4958:15;;;;4760:270;;;4764:3;4614:422;;;;;:::o;5041:806::-;5090:5;5120:8;5110:80;;-1:-1:-1;5161:1:1;5175:5;;5110:80;5209:4;5199:76;;-1:-1:-1;5246:1:1;5260:5;;5199:76;5291:4;5309:1;5304:59;;;;5377:1;5372:130;;;;5284:218;;5304:59;5334:1;5325:10;;5348:5;;;5372:130;5409:3;5399:8;5396:17;5393:43;;;5416:18;;:::i;:::-;-1:-1:-1;;5472:1:1;5458:16;;5487:5;;5284:218;;5586:2;5576:8;5573:16;5567:3;5561:4;5558:13;5554:36;5548:2;5538:8;5535:16;5530:2;5524:4;5521:12;5517:35;5514:77;5511:159;;;-1:-1:-1;5623:19:1;;;5655:5;;5511:159;5702:34;5727:8;5721:4;5702:34;:::i;:::-;5772:6;5768:1;5764:6;5760:19;5751:7;5748:32;5745:58;;;5783:18;;:::i;:::-;5821:20;;5041:806;-1:-1:-1;;;5041:806:1:o;5852:140::-;5910:5;5939:47;5980:4;5970:8;5966:19;5960:4;5939:47;:::i;5997:168::-;6070:9;;;6101;;6118:15;;;6112:22;;6098:37;6088:71;;6139:18;;:::i;6170:356::-;6372:2;6354:21;;;6391:18;;;6384:30;6450:34;6445:2;6430:18;;6423:62;6517:2;6502:18;;6170:356::o;6531:127::-;6592:10;6587:3;6583:20;6580:1;6573:31;6623:4;6620:1;6613:15;6647:4;6644:1;6637:15;6663:135;6702:3;6723:17;;;6720:43;;6743:18;;:::i;:::-;-1:-1:-1;6790:1:1;6779:13;;6663:135::o;6803:251::-;6873:6;6926:2;6914:9;6905:7;6901:23;6897:32;6894:52;;;6942:1;6939;6932:12;6894:52;6974:9;6968:16;6993:31;7018:5;6993:31;:::i;7980:306::-;8068:6;8076;8084;8137:2;8125:9;8116:7;8112:23;8108:32;8105:52;;;8153:1;8150;8143:12;8105:52;8182:9;8176:16;8166:26;;8232:2;8221:9;8217:18;8211:25;8201:35;;8276:2;8265:9;8261:18;8255:25;8245:35;;7980:306;;;;;:::o;8570:277::-;8637:6;8690:2;8678:9;8669:7;8665:23;8661:32;8658:52;;;8706:1;8703;8696:12;8658:52;8738:9;8732:16;8791:5;8784:13;8777:21;8770:5;8767:32;8757:60;;8813:1;8810;8803:12;11232:128;11299:9;;;11320:11;;;11317:37;;;11334:18;;:::i;11719:125::-;11784:9;;;11805:10;;;11802:36;;;11818:18;;:::i;12204:980::-;12466:4;12514:3;12503:9;12499:19;12545:6;12534:9;12527:25;12571:2;12609:6;12604:2;12593:9;12589:18;12582:34;12652:3;12647:2;12636:9;12632:18;12625:31;12676:6;12711;12705:13;12742:6;12734;12727:22;12780:3;12769:9;12765:19;12758:26;;12819:2;12811:6;12807:15;12793:29;;12840:1;12850:195;12864:6;12861:1;12858:13;12850:195;;;12929:13;;-1:-1:-1;;;;;12925:39:1;12913:52;;13020:15;;;;12985:12;;;;12961:1;12879:9;12850:195;;;-1:-1:-1;;;;;;;13101:32:1;;;;13096:2;13081:18;;13074:60;-1:-1:-1;;;13165:3:1;13150:19;13143:35;13062:3;12204:980;-1:-1:-1;;;12204:980:1:o;13189:217::-;13229:1;13255;13245:132;;13299:10;13294:3;13290:20;13287:1;13280:31;13334:4;13331:1;13324:15;13362:4;13359:1;13352:15;13245:132;-1:-1:-1;13391:9:1;;13189:217::o

Swarm Source

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