ETH Price: $2,268.03 (+1.96%)

Token

BeatTrumpsConviction (BTC)
 

Overview

Max Total Supply

1,000,000,000 BTC

Holders

53

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
24,161,711.084684148 BTC

Value
$0.00
0x49695748d0b3ca34f4458e9a6ee9b2f582949593
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:
BeatTrumpsConviction

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**

I have been found guilty in the hush-money case and 34 counts of felony falsification of business records. Screw them, everybody knows I am innocent.

Website:  https://136years.wtf
Tg:       https://t.me/btc136_erc
Twitter:  https://twitter.com/btc136_erc

**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;

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

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

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 IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

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

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

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

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

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

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 BeatTrumpsConviction is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedForFees;
    mapping(address => bool) private bots;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"BeatTrumpsConviction";
    string private constant _symbol = unicode"BTC";
    uint256 public _maxTxAmount = 20_000_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 200 * 10 ** _decimals;
    uint256 public _feeTotal = 800_000_000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10_000_000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    address payable private _taxWallet;
    uint256 firstBlock;

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

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

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            _feeTotal,
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        swapEnabled = true;
        tradingOpen = true;

        firstBlock = block.number;
    }

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

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

    receive() external payable {}

    function _basicTransfer(address from, address to, uint256 amount) internal {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function _transferExcluded(
        address from,
        address to,
        uint256 amount,
        bool takeTax
    ) internal {
        if (takeTax) {
            uint256 taxAmount = 0;
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);
            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }
            if (taxAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(
                    taxAmount
                );
                emit Transfer(from, address(this), taxAmount);
            }
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount.sub(taxAmount));
            emit Transfer(from, to, amount.sub(taxAmount));
        } else {
            unchecked {
                _balances[from] = _balances[from] - amount;
                _balances[to] = _balances[to] + amount;
            }
            emit Transfer(from, to, amount);
        }
    }

    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 initTradingPair() external onlyOwner {
        require(!tradingOpen, "trading is already open");

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

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

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

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

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

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

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

    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 contractTokenBalance = balanceOf(address(this));

        if (!swapEnabled || inSwap) {
            _basicTransfer(from, to, amount);
            return;
        }

        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

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

                if (firstBlock + 3 > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && !_isExcludedForFees[to]) {
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }

            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedForFees[from] &&
                !_isExcludedForFees[to]
            ) {
                bool doSwapBack = contractTokenBalance > _taxSwapThreshold;

                if(doSwapBack){
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                _taxWallet.transfer(address(this).balance);
            }
        }
        bool takeTax = true;
        if (_isExcludedForFees[from]) takeTax = false;
        _transferExcluded(from, to, amount, takeTax);
    }
}

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":"_feeTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initTradingPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}]

6080604052620000126009600a6200035e565b62000022906301312d0062000376565b600555620000336009600a6200035e565b62000043906301312d0062000376565b600655620000546009600a6200035e565b620000619060c862000376565b600755620000726009600a6200035e565b6200008290632faf080062000376565b600855620000936009600a6200035e565b620000a2906298968062000376565b600955600b805461ffff60a81b191681556014600c819055600d556000600e819055600f81905560108290556011829055601291909155601355348015620000e957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601480546001600160a01b031916734ee1f475a2238b2b65127b4e24d69d0582b51eb21790556001600360006200016a6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155601454909116835291208054909216179055620001cf6009600a6200035e565b620001df90633b9aca0062000376565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002226009600a6200035e565b6200023290633b9aca0062000376565b60405190815260200160405180910390a362000390565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a057816000190482111562000284576200028462000249565b808516156200029257918102915b93841c939080029062000264565b509250929050565b600082620002b95750600162000358565b81620002c85750600062000358565b8160018114620002e15760028114620002ec576200030c565b600191505062000358565b60ff84111562000300576200030062000249565b50506001821b62000358565b5060208310610133831016604e8410600b841016171562000331575081810a62000358565b6200033d83836200025f565b806000190482111562000354576200035462000249565b0290505b92915050565b60006200036f60ff841683620002a8565b9392505050565b808202811582820484141762000358576200035862000249565b611d0f80620003a06000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b4114610372578063a9059cbb1461039e578063bf474bed146103be578063d12f9b85146103d4578063d34628cc146103ea578063dd62ed3e1461040a57600080fd5b8063751039fc146102f45780637d1db4a5146103095780638a8c523c1461031f5780638da5cb5b146103345780638f9a55c01461035c57600080fd5b8063313ce567116100fd578063313ce5671461021d57806331c2d847146102395780633bbac5791461025b5780634769a1e51461029457806370a08231146102a9578063715018a6146102df57600080fd5b806306fdde0314610145578063095ea7b3146101945780630faee56f146101c457806318160ddd146101e857806323b872dd146101fd57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260148152732132b0ba2a393ab6b839a1b7b73b34b1ba34b7b760611b60208201525b60405161018b91906117d3565b60405180910390f35b3480156101a057600080fd5b506101b46101af366004611849565b610450565b604051901515815260200161018b565b3480156101d057600080fd5b506101da60095481565b60405190815260200161018b565b3480156101f457600080fd5b506101da610467565b34801561020957600080fd5b506101b4610218366004611875565b610488565b34801561022957600080fd5b506040516009815260200161018b565b34801561024557600080fd5b506102596102543660046118cc565b6104f1565b005b34801561026757600080fd5b506101b4610276366004611991565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102a057600080fd5b50610259610590565b3480156102b557600080fd5b506101da6102c4366004611991565b6001600160a01b031660009081526001602052604090205490565b3480156102eb57600080fd5b506102596107e7565b34801561030057600080fd5b5061025961085b565b34801561031557600080fd5b506101da60055481565b34801561032b57600080fd5b5061025961090d565b34801561034057600080fd5b506000546040516001600160a01b03909116815260200161018b565b34801561036857600080fd5b506101da60065481565b34801561037e57600080fd5b5060408051808201909152600381526242544360e81b602082015261017e565b3480156103aa57600080fd5b506101b46103b9366004611849565b610ae4565b3480156103ca57600080fd5b506101da60075481565b3480156103e057600080fd5b506101da60085481565b3480156103f657600080fd5b506102596104053660046118cc565b610af1565b34801561041657600080fd5b506101da6104253660046119ae565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061045d338484610b83565b5060015b92915050565b60006104756009600a611ae1565b61048390633b9aca00611af0565b905090565b6000610495848484610ca8565b6104e784336104e285604051806060016040528060288152602001611c92602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111de565b610b83565b5060019392505050565b6000546001600160a01b031633146105245760405162461bcd60e51b815260040161051b90611b07565b60405180910390fd5b60005b815181101561058c5760006004600084848151811061054857610548611b3c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061058481611b52565b915050610527565b5050565b6000546001600160a01b031633146105ba5760405162461bcd60e51b815260040161051b90611b07565b600b54600160a01b900460ff161561060e5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161051b565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556106579130919061064990600990611ae1565b6104e290633b9aca00611af0565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ce9190611b6b565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107549190611b6b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c59190611b6b565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108115760405162461bcd60e51b815260040161051b90611b07565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108855760405162461bcd60e51b815260040161051b90611b07565b6108916009600a611ae1565b61089f90633b9aca00611af0565b6005556108ae6009600a611ae1565b6108bc90633b9aca00611af0565b6006557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ec6009600a611ae1565b6108fa90633b9aca00611af0565b60405190815260200160405180910390a1565b6000546001600160a01b031633146109375760405162461bcd60e51b815260040161051b90611b07565b600b54600160a01b900460ff161561098b5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161051b565b600a546008546001600160a01b039091169063f305d71990479030906000806109bc6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a24573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a499190611b88565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190611bb6565b50600b805462ff00ff60a01b19166201000160a01b17905543601555565b600061045d338484610ca8565b6000546001600160a01b03163314610b1b5760405162461bcd60e51b815260040161051b90611b07565b60005b815181101561058c57600160046000848481518110610b3f57610b3f611b3c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b7b81611b52565b915050610b1e565b6001600160a01b038316610be55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051b565b6001600160a01b038216610c465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051b565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d0c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051b565b6001600160a01b038216610d6e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051b565b60008111610dd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161051b565b30600090815260016020526040902054600b54600160b01b900460ff161580610e025750600b54600160a81b900460ff165b15610e1857610e12848484611218565b50505050565b6000546001600160a01b03858116911614801590610e4457506000546001600160a01b03848116911614155b156111a3576001600160a01b03841660009081526004602052604090205460ff16158015610e8b57506001600160a01b03831660009081526004602052604090205460ff16155b610e9457600080fd5b600b546001600160a01b038581169116148015610ebf5750600a546001600160a01b03848116911614155b8015610ee457506001600160a01b03831660009081526003602052604090205460ff16155b15610fee57600554821115610f3b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161051b565b60065482610f5e856001600160a01b031660009081526001602052604090205490565b610f689190611bd8565b1115610fb65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161051b565b436015546003610fc69190611bd8565b1115610fd857823b15610fd857600080fd5b60138054906000610fe883611b52565b91905055505b600b546001600160a01b0384811691161480159061102557506001600160a01b03831660009081526003602052604090205460ff16155b156110a5576006548261104d856001600160a01b031660009081526001602052604090205490565b6110579190611bd8565b11156110a55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161051b565b600b54600160a81b900460ff161580156110cc5750600b546001600160a01b038481169116145b80156110e15750600b54600160b01b900460ff165b80156110f05750601254601354115b801561111557506001600160a01b03841660009081526003602052604090205460ff16155b801561113a57506001600160a01b03831660009081526003602052604090205460ff16155b156111a35760075481118015611167576111676111628461115d856009546112ac565b6112ac565b6112c4565b6014546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156111a0573d6000803e3d6000fd5b50505b6001600160a01b03841660009081526003602052604090205460019060ff16156111cb575060005b6111d78585858461143e565b5050505050565b600081848411156112025760405162461bcd60e51b815260040161051b91906117d3565b50600061120f8486611beb565b95945050505050565b6001600160a01b03831660009081526001602052604090205461123b9082611645565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461126a9082611687565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611cba83398151915290610c9b9085815260200190565b60008183116112bb57826112bd565b815b9392505050565b600b805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061130c5761130c611b3c565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113899190611b6b565b8160018151811061139c5761139c611b3c565b6001600160a01b039283166020918202929092010152600a546113c29130911684610b83565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113fb908590600090869030904290600401611bfe565b600060405180830381600087803b15801561141557600080fd5b505af1158015611429573d6000803e3d6000fd5b5050600b805460ff60a81b1916905550505050565b80156115e7576000611472606461146c6010546013541161146157600c54611465565b600e545b86906116e6565b90611768565b600b549091506001600160a01b03858116911614801561149b57506001600160a01b0385163014155b156114c8576114c5606461146c601154601354116114bb57600d54611465565b600f5486906116e6565b90505b801561153057306000908152600160205260409020546114e89082611687565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611cba833981519152906115279085815260200190565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546115539084611645565b6001600160a01b0386166000908152600160205260409020556115986115798483611645565b6001600160a01b03861660009081526001602052604090205490611687565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611cba8339815191526115d08685611645565b60405190815260200160405180910390a350610e12565b6001600160a01b0380851660008181526001602052604080822080548790039055928616808252908390208054860190559151600080516020611cba833981519152906116379086815260200190565b60405180910390a350505050565b60006112bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111de565b6000806116948385611bd8565b9050838110156112bd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161051b565b6000826000036116f857506000610461565b60006117048385611af0565b9050826117118583611c6f565b146112bd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161051b565b60006112bd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836117c65760405162461bcd60e51b815260040161051b91906117d3565b50600061120f8486611c6f565b600060208083528351808285015260005b81811015611800578581018301518582016040015282016117e4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461183657600080fd5b50565b803561184481611821565b919050565b6000806040838503121561185c57600080fd5b823561186781611821565b946020939093013593505050565b60008060006060848603121561188a57600080fd5b833561189581611821565b925060208401356118a581611821565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118df57600080fd5b823567ffffffffffffffff808211156118f757600080fd5b818501915085601f83011261190b57600080fd5b81358181111561191d5761191d6118b6565b8060051b604051601f19603f83011681018181108582111715611942576119426118b6565b60405291825284820192508381018501918883111561196057600080fd5b938501935b828510156119855761197685611839565b84529385019392850192611965565b98975050505050505050565b6000602082840312156119a357600080fd5b81356112bd81611821565b600080604083850312156119c157600080fd5b82356119cc81611821565b915060208301356119dc81611821565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a38578160001904821115611a1e57611a1e6119e7565b80851615611a2b57918102915b93841c9390800290611a02565b509250929050565b600082611a4f57506001610461565b81611a5c57506000610461565b8160018114611a725760028114611a7c57611a98565b6001915050610461565b60ff841115611a8d57611a8d6119e7565b50506001821b610461565b5060208310610133831016604e8410600b8410161715611abb575081810a610461565b611ac583836119fd565b8060001904821115611ad957611ad96119e7565b029392505050565b60006112bd60ff841683611a40565b8082028115828204841417610461576104616119e7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b6457611b646119e7565b5060010190565b600060208284031215611b7d57600080fd5b81516112bd81611821565b600080600060608486031215611b9d57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611bc857600080fd5b815180151581146112bd57600080fd5b80820180821115610461576104616119e7565b81810381811115610461576104616119e7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c4e5784516001600160a01b031683529383019391830191600101611c29565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c8c57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122009926dadd361b9f7f523270bcf61b24b1391554a96c22c3013b212f88feffcd164736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b4114610372578063a9059cbb1461039e578063bf474bed146103be578063d12f9b85146103d4578063d34628cc146103ea578063dd62ed3e1461040a57600080fd5b8063751039fc146102f45780637d1db4a5146103095780638a8c523c1461031f5780638da5cb5b146103345780638f9a55c01461035c57600080fd5b8063313ce567116100fd578063313ce5671461021d57806331c2d847146102395780633bbac5791461025b5780634769a1e51461029457806370a08231146102a9578063715018a6146102df57600080fd5b806306fdde0314610145578063095ea7b3146101945780630faee56f146101c457806318160ddd146101e857806323b872dd146101fd57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260148152732132b0ba2a393ab6b839a1b7b73b34b1ba34b7b760611b60208201525b60405161018b91906117d3565b60405180910390f35b3480156101a057600080fd5b506101b46101af366004611849565b610450565b604051901515815260200161018b565b3480156101d057600080fd5b506101da60095481565b60405190815260200161018b565b3480156101f457600080fd5b506101da610467565b34801561020957600080fd5b506101b4610218366004611875565b610488565b34801561022957600080fd5b506040516009815260200161018b565b34801561024557600080fd5b506102596102543660046118cc565b6104f1565b005b34801561026757600080fd5b506101b4610276366004611991565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102a057600080fd5b50610259610590565b3480156102b557600080fd5b506101da6102c4366004611991565b6001600160a01b031660009081526001602052604090205490565b3480156102eb57600080fd5b506102596107e7565b34801561030057600080fd5b5061025961085b565b34801561031557600080fd5b506101da60055481565b34801561032b57600080fd5b5061025961090d565b34801561034057600080fd5b506000546040516001600160a01b03909116815260200161018b565b34801561036857600080fd5b506101da60065481565b34801561037e57600080fd5b5060408051808201909152600381526242544360e81b602082015261017e565b3480156103aa57600080fd5b506101b46103b9366004611849565b610ae4565b3480156103ca57600080fd5b506101da60075481565b3480156103e057600080fd5b506101da60085481565b3480156103f657600080fd5b506102596104053660046118cc565b610af1565b34801561041657600080fd5b506101da6104253660046119ae565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061045d338484610b83565b5060015b92915050565b60006104756009600a611ae1565b61048390633b9aca00611af0565b905090565b6000610495848484610ca8565b6104e784336104e285604051806060016040528060288152602001611c92602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111de565b610b83565b5060019392505050565b6000546001600160a01b031633146105245760405162461bcd60e51b815260040161051b90611b07565b60405180910390fd5b60005b815181101561058c5760006004600084848151811061054857610548611b3c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061058481611b52565b915050610527565b5050565b6000546001600160a01b031633146105ba5760405162461bcd60e51b815260040161051b90611b07565b600b54600160a01b900460ff161561060e5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161051b565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556106579130919061064990600990611ae1565b6104e290633b9aca00611af0565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ce9190611b6b565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107549190611b6b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c59190611b6b565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108115760405162461bcd60e51b815260040161051b90611b07565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108855760405162461bcd60e51b815260040161051b90611b07565b6108916009600a611ae1565b61089f90633b9aca00611af0565b6005556108ae6009600a611ae1565b6108bc90633b9aca00611af0565b6006557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ec6009600a611ae1565b6108fa90633b9aca00611af0565b60405190815260200160405180910390a1565b6000546001600160a01b031633146109375760405162461bcd60e51b815260040161051b90611b07565b600b54600160a01b900460ff161561098b5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161051b565b600a546008546001600160a01b039091169063f305d71990479030906000806109bc6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a24573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a499190611b88565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190611bb6565b50600b805462ff00ff60a01b19166201000160a01b17905543601555565b600061045d338484610ca8565b6000546001600160a01b03163314610b1b5760405162461bcd60e51b815260040161051b90611b07565b60005b815181101561058c57600160046000848481518110610b3f57610b3f611b3c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b7b81611b52565b915050610b1e565b6001600160a01b038316610be55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051b565b6001600160a01b038216610c465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051b565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d0c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051b565b6001600160a01b038216610d6e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051b565b60008111610dd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161051b565b30600090815260016020526040902054600b54600160b01b900460ff161580610e025750600b54600160a81b900460ff165b15610e1857610e12848484611218565b50505050565b6000546001600160a01b03858116911614801590610e4457506000546001600160a01b03848116911614155b156111a3576001600160a01b03841660009081526004602052604090205460ff16158015610e8b57506001600160a01b03831660009081526004602052604090205460ff16155b610e9457600080fd5b600b546001600160a01b038581169116148015610ebf5750600a546001600160a01b03848116911614155b8015610ee457506001600160a01b03831660009081526003602052604090205460ff16155b15610fee57600554821115610f3b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161051b565b60065482610f5e856001600160a01b031660009081526001602052604090205490565b610f689190611bd8565b1115610fb65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161051b565b436015546003610fc69190611bd8565b1115610fd857823b15610fd857600080fd5b60138054906000610fe883611b52565b91905055505b600b546001600160a01b0384811691161480159061102557506001600160a01b03831660009081526003602052604090205460ff16155b156110a5576006548261104d856001600160a01b031660009081526001602052604090205490565b6110579190611bd8565b11156110a55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161051b565b600b54600160a81b900460ff161580156110cc5750600b546001600160a01b038481169116145b80156110e15750600b54600160b01b900460ff165b80156110f05750601254601354115b801561111557506001600160a01b03841660009081526003602052604090205460ff16155b801561113a57506001600160a01b03831660009081526003602052604090205460ff16155b156111a35760075481118015611167576111676111628461115d856009546112ac565b6112ac565b6112c4565b6014546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156111a0573d6000803e3d6000fd5b50505b6001600160a01b03841660009081526003602052604090205460019060ff16156111cb575060005b6111d78585858461143e565b5050505050565b600081848411156112025760405162461bcd60e51b815260040161051b91906117d3565b50600061120f8486611beb565b95945050505050565b6001600160a01b03831660009081526001602052604090205461123b9082611645565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461126a9082611687565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611cba83398151915290610c9b9085815260200190565b60008183116112bb57826112bd565b815b9392505050565b600b805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061130c5761130c611b3c565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113899190611b6b565b8160018151811061139c5761139c611b3c565b6001600160a01b039283166020918202929092010152600a546113c29130911684610b83565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113fb908590600090869030904290600401611bfe565b600060405180830381600087803b15801561141557600080fd5b505af1158015611429573d6000803e3d6000fd5b5050600b805460ff60a81b1916905550505050565b80156115e7576000611472606461146c6010546013541161146157600c54611465565b600e545b86906116e6565b90611768565b600b549091506001600160a01b03858116911614801561149b57506001600160a01b0385163014155b156114c8576114c5606461146c601154601354116114bb57600d54611465565b600f5486906116e6565b90505b801561153057306000908152600160205260409020546114e89082611687565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611cba833981519152906115279085815260200190565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546115539084611645565b6001600160a01b0386166000908152600160205260409020556115986115798483611645565b6001600160a01b03861660009081526001602052604090205490611687565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611cba8339815191526115d08685611645565b60405190815260200160405180910390a350610e12565b6001600160a01b0380851660008181526001602052604080822080548790039055928616808252908390208054860190559151600080516020611cba833981519152906116379086815260200190565b60405180910390a350505050565b60006112bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111de565b6000806116948385611bd8565b9050838110156112bd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161051b565b6000826000036116f857506000610461565b60006117048385611af0565b9050826117118583611c6f565b146112bd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161051b565b60006112bd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836117c65760405162461bcd60e51b815260040161051b91906117d3565b50600061120f8486611c6f565b600060208083528351808285015260005b81811015611800578581018301518582016040015282016117e4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461183657600080fd5b50565b803561184481611821565b919050565b6000806040838503121561185c57600080fd5b823561186781611821565b946020939093013593505050565b60008060006060848603121561188a57600080fd5b833561189581611821565b925060208401356118a581611821565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118df57600080fd5b823567ffffffffffffffff808211156118f757600080fd5b818501915085601f83011261190b57600080fd5b81358181111561191d5761191d6118b6565b8060051b604051601f19603f83011681018181108582111715611942576119426118b6565b60405291825284820192508381018501918883111561196057600080fd5b938501935b828510156119855761197685611839565b84529385019392850192611965565b98975050505050505050565b6000602082840312156119a357600080fd5b81356112bd81611821565b600080604083850312156119c157600080fd5b82356119cc81611821565b915060208301356119dc81611821565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a38578160001904821115611a1e57611a1e6119e7565b80851615611a2b57918102915b93841c9390800290611a02565b509250929050565b600082611a4f57506001610461565b81611a5c57506000610461565b8160018114611a725760028114611a7c57611a98565b6001915050610461565b60ff841115611a8d57611a8d6119e7565b50506001821b610461565b5060208310610133831016604e8410600b8410161715611abb575081810a610461565b611ac583836119fd565b8060001904821115611ad957611ad96119e7565b029392505050565b60006112bd60ff841683611a40565b8082028115828204841417610461576104616119e7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b6457611b646119e7565b5060010190565b600060208284031215611b7d57600080fd5b81516112bd81611821565b600080600060608486031215611b9d57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611bc857600080fd5b815180151581146112bd57600080fd5b80820180821115610461576104616119e7565b81810381811115610461576104616119e7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c4e5784516001600160a01b031683529383019391830191600101611c29565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c8c57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122009926dadd361b9f7f523270bcf61b24b1391554a96c22c3013b212f88feffcd164736f6c63430008110033

Deployed Bytecode Sourcemap

4009:10197:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9058:83;;;;;;;;;;-1:-1:-1;9128:5:0;;;;;;;;;;;;-1:-1:-1;;;9128:5:0;;;;9058:83;;;;;;;:::i;:::-;;;;;;;;9941:186;;;;;;;;;;-1:-1:-1;9941:186:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;9941:186:0;1162:187:1;4834:57:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4834:57:0;1354:177:1;9335:95:0;;;;;;;;;;;;;:::i;10135:446::-;;;;;;;;;;-1:-1:-1;10135:446:0;;;;;:::i;:::-;;:::i;9244:83::-;;;;;;;;;;-1:-1:-1;9244:83:0;;4374:1;2139:36:1;;2127:2;2112:18;9244:83:0;1997:184:1;11747:168:0;;;;;;;;;;-1:-1:-1;11747:168:0;;;;;:::i;:::-;;:::i;:::-;;11923:86;;;;;;;;;;-1:-1:-1;11923:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;11994:7:0;11970:4;11994:7;;;:4;:7;;;;;;;;;11923:86;10936:461;;;;;;;;;;;;;:::i;9438:119::-;;;;;;;;;;-1:-1:-1;9438:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9531:18:0;9504:7;9531:18;;;:9;:18;;;;;;;9438:119;2643:148;;;;;;;;;;;;;:::i;11405:162::-;;;;;;;;;;;;;:::i;4576:58::-;;;;;;;;;;;;;;;;5996:512;;;;;;;;;;;;;:::i;2429:79::-;;;;;;;;;;-1:-1:-1;2467:7:0;2494:6;2429:79;;-1:-1:-1;;;;;2494:6:0;;;3842:51:1;;3830:2;3815:18;2429:79:0;3696:203:1;4641:60:0;;;;;;;;;;;;;;;;9149:87;;;;;;;;;;-1:-1:-1;9221:7:0;;;;;;;;;;;;-1:-1:-1;;;9221:7:0;;;;9149:87;;9565:192;;;;;;;;;;-1:-1:-1;9565:192:0;;;;;:::i;:::-;;:::i;4708:56::-;;;;;;;;;;;;;;;;4771;;;;;;;;;;;;;;;;11575:164;;;;;;;;;;-1:-1:-1;11575:164:0;;;;;:::i;:::-;;:::i;9765:168::-;;;;;;;;;;-1:-1:-1;9765:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;9898:18:0;;;9871:7;9898:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9765:168;9941:186;10041:4;10058:39;453:10;10081:7;10090:6;10058:8;:39::i;:::-;-1:-1:-1;10115:4:0;9941:186;;;;;:::o;9335:95::-;9388:7;4433:15;4374:1;4433:2;:15;:::i;:::-;4417:31;;:13;:31;:::i;:::-;9408:14;;9335:95;:::o;10135:446::-;10267:4;10284:36;10294:6;10302:9;10313:6;10284:9;:36::i;:::-;10331:220;10354:6;453:10;10402:138;10458:6;10402:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10402:19:0;;;;;;:11;:19;;;;;;;;453:10;10402:33;;;;;;;;;;:37;:138::i;:::-;10331:8;:220::i;:::-;-1:-1:-1;10569:4:0;10135:446;;;;;:::o;11747:168::-;2556:6;;-1:-1:-1;;;;;2556:6:0;453:10;2556:22;2548:67;;;;-1:-1:-1;;;2548:67:0;;;;;;;:::i;:::-;;;;;;;;;11822:6:::1;11817:91;11838:6;:13;11834:1;:17;11817:91;;;11891:5;11873:4;:15;11878:6;11885:1;11878:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11873:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11873:15:0;:23;;-1:-1:-1;;11873:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11853:3;::::1;::::0;::::1;:::i;:::-;;;;11817:91;;;;11747:168:::0;:::o;10936:461::-;2556:6;;-1:-1:-1;;;;;2556:6:0;453:10;2556:22;2548:67;;;;-1:-1:-1;;;2548:67:0;;;;;;;:::i;:::-;11002:11:::1;::::0;-1:-1:-1;;;11002:11:0;::::1;;;11001:12;10993:48;;;::::0;-1:-1:-1;;;10993:48:0;;6820:2:1;10993:48:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;-1:-1:-1;;;6878:18:1;;;6871:53;6941:18;;10993:48:0::1;6618:347:1::0;10993:48:0::1;11054:15;:104:::0;;-1:-1:-1;;;;;;11054:104:0::1;11105:42;11054:104:::0;;::::1;::::0;;11171:58:::1;::::0;11188:4:::1;::::0;11105:42;4433:15:::1;::::0;4374:1:::1;::::0;4433:15:::1;:::i;:::-;4417:31;::::0;:13:::1;:31;:::i;11171:58::-;11276:15;;;;;;;;;-1:-1:-1::0;;;;;11276:15:0::1;-1:-1:-1::0;;;;;11276:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11258:55:0::1;;11336:4;11356:15;;;;;;;;;-1:-1:-1::0;;;;;11356:15:0::1;-1:-1:-1::0;;;;;11356:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11258:131;::::0;-1:-1:-1;;;;;;11258:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7456:15:1;;;11258:131:0::1;::::0;::::1;7438:34:1::0;7508:15;;7488:18;;;7481:43;7373:18;;11258:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11242:13;:147:::0;;-1:-1:-1;;;;;;11242:147:0::1;-1:-1:-1::0;;;;;11242:147:0;;;::::1;::::0;;;::::1;::::0;;10936:461::o;2643:148::-;2556:6;;-1:-1:-1;;;;;2556:6:0;453:10;2556:22;2548:67;;;;-1:-1:-1;;;2548:67:0;;;;;;;:::i;:::-;2750:1:::1;2734:6:::0;;2713:40:::1;::::0;-1:-1:-1;;;;;2734:6:0;;::::1;::::0;2713:40:::1;::::0;2750:1;;2713:40:::1;2781:1;2764:19:::0;;-1:-1:-1;;;;;;2764:19:0::1;::::0;;2643:148::o;11405:162::-;2556:6;;-1:-1:-1;;;;;2556:6:0;453:10;2556:22;2548:67;;;;-1:-1:-1;;;2548:67:0;;;;;;;:::i;:::-;4433:15:::1;4374:1;4433:2;:15;:::i;:::-;4417:31;::::0;:13:::1;:31;:::i;:::-;11459:12;:22:::0;4433:15:::1;4374:1;4433:2;:15;:::i;:::-;4417:31;::::0;:13:::1;:31;:::i;:::-;11492:14;:24:::0;11532:27:::1;4433:15;4374:1;4433:2;:15;:::i;:::-;4417:31;::::0;:13:::1;:31;:::i;:::-;11532:27;::::0;1500:25:1;;;1488:2;1473:18;11532:27:0::1;;;;;;;11405:162::o:0;5996:512::-;2556:6;;-1:-1:-1;;;;;2556:6:0;453:10;2556:22;2548:67;;;;-1:-1:-1;;;2548:67:0;;;;;;;:::i;:::-;6060:11:::1;::::0;-1:-1:-1;;;6060:11:0;::::1;;;6059:12;6051:48;;;::::0;-1:-1:-1;;;6051:48:0;;6820:2:1;6051:48:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;-1:-1:-1;;;6878:18:1;;;6871:53;6941:18;;6051:48:0::1;6618:347:1::0;6051:48:0::1;6110:15;::::0;6214:9:::1;::::0;-1:-1:-1;;;;;6110:15:0;;::::1;::::0;:31:::1;::::0;6149:21:::1;::::0;6194:4:::1;::::0;6110:15:::1;::::0;6270:7:::1;2467::::0;2494:6;-1:-1:-1;;;;;2494:6:0;;2429:79;6270:7:::1;6110:208;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6110:208:0;;;-1:-1:-1;;;;;7894:15:1;;;6110:208:0::1;::::0;::::1;7876:34:1::0;7926:18;;;7919:34;;;;7969:18;;;7962:34;;;;8012:18;;;8005:34;8076:15;;;8055:19;;;8048:44;6292:15:0::1;8108:19:1::0;;;8101:35;7810:19;;6110:208:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6338:13:0::1;::::0;6369:15:::1;::::0;6331:71:::1;::::0;-1:-1:-1;;;6331:71:0;;-1:-1:-1;;;;;6369:15:0;;::::1;6331:71;::::0;::::1;8632:51:1::0;-1:-1:-1;;8699:18:1;;;8692:34;6338:13:0;::::1;::::0;-1:-1:-1;6331:29:0::1;::::0;8605:18:1;;6331:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;6415:11:0::1;:18:::0;;-1:-1:-1;;;;6444:18:0;-1:-1:-1;;;6444:18:0;;;6488:12:::1;6475:10;:25:::0;5996:512::o;9565:192::-;9668:4;9685:42;453:10;9709:9;9720:6;9685:9;:42::i;11575:164::-;2556:6;;-1:-1:-1;;;;;2556:6:0;453:10;2556:22;2548:67;;;;-1:-1:-1;;;2548:67:0;;;;;;;:::i;:::-;11649:6:::1;11644:88;11665:5;:12;11661:1;:16;11644:88;;;11716:4;11699;:14;11704:5;11710:1;11704:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11699:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11699:14:0;:21;;-1:-1:-1;;11699:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11679:3;::::1;::::0;::::1;:::i;:::-;;;;11644:88;;10589:335:::0;-1:-1:-1;;;;;10682:19:0;;10674:68;;;;-1:-1:-1;;;10674:68:0;;9221:2:1;10674:68:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:34;9394:19;;10674:68:0;9019:400:1;10674:68:0;-1:-1:-1;;;;;10761:21:0;;10753:68;;;;-1:-1:-1;;;10753:68:0;;9626:2:1;10753:68:0;;;9608:21:1;9665:2;9645:18;;;9638:30;9704:34;9684:18;;;9677:62;-1:-1:-1;;;9755:18:1;;;9748:32;9797:19;;10753:68:0;9424:398:1;10753:68:0;-1:-1:-1;;;;;10832:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10884:32;;1500:25:1;;;10884:32:0;;1473:18:1;10884:32:0;;;;;;;;10589:335;;;:::o;12017:2186::-;-1:-1:-1;;;;;12105:18:0;;12097:68;;;;-1:-1:-1;;;12097:68:0;;10029:2:1;12097:68:0;;;10011:21:1;10068:2;10048:18;;;10041:30;10107:34;10087:18;;;10080:62;-1:-1:-1;;;10158:18:1;;;10151:35;10203:19;;12097:68:0;9827:401:1;12097:68:0;-1:-1:-1;;;;;12184:16:0;;12176:64;;;;-1:-1:-1;;;12176:64:0;;10435:2:1;12176:64:0;;;10417:21:1;10474:2;10454:18;;;10447:30;10513:34;10493:18;;;10486:62;-1:-1:-1;;;10564:18:1;;;10557:33;10607:19;;12176:64:0;10233:399:1;12176:64:0;12268:1;12259:6;:10;12251:64;;;;-1:-1:-1;;;12251:64:0;;10839:2:1;12251:64:0;;;10821:21:1;10878:2;10858:18;;;10851:30;10917:34;10897:18;;;10890:62;-1:-1:-1;;;10968:18:1;;;10961:39;11017:19;;12251:64:0;10637:405:1;12251:64:0;12377:4;12328:28;9531:18;;;:9;:18;;;;;;12401:11;;-1:-1:-1;;;12401:11:0;;;;12400:12;;:22;;-1:-1:-1;12416:6:0;;-1:-1:-1;;;12416:6:0;;;;12400:22;12396:108;;;12439:32;12454:4;12460:2;12464:6;12439:14;:32::i;:::-;12486:7;12017:2186;;;:::o;12396:108::-;2467:7;2494:6;-1:-1:-1;;;;;12520:15:0;;;2494:6;;12520:15;;;;:32;;-1:-1:-1;2467:7:0;2494:6;-1:-1:-1;;;;;12539:13:0;;;2494:6;;12539:13;;12520:32;12516:1539;;;-1:-1:-1;;;;;12578:10:0;;;;;;:4;:10;;;;;;;;12577:11;:24;;;;-1:-1:-1;;;;;;12593:8:0;;;;;;:4;:8;;;;;;;;12592:9;12577:24;12569:33;;;;;;12649:13;;-1:-1:-1;;;;;12641:21:0;;;12649:13;;12641:21;:72;;;;-1:-1:-1;12697:15:0;;-1:-1:-1;;;;;12683:30:0;;;12697:15;;12683:30;;12641:72;:116;;;;-1:-1:-1;;;;;;12735:22:0;;;;;;:18;:22;;;;;;;;12734:23;12641:116;12619:560;;;12810:12;;12800:6;:22;;12792:60;;;;-1:-1:-1;;;12792:60:0;;11249:2:1;12792:60:0;;;11231:21:1;11288:2;11268:18;;;11261:30;11327:27;11307:18;;;11300:55;11372:18;;12792:60:0;11047:349:1;12792:60:0;12927:14;;12917:6;12901:13;12911:2;-1:-1:-1;;;;;9531:18:0;9504:7;9531:18;;;:9;:18;;;;;;;9438:119;12901:13;:22;;;;:::i;:::-;:40;;12871:140;;;;-1:-1:-1;;;12871:140:0;;11733:2:1;12871:140:0;;;11715:21:1;11772:2;11752:18;;;11745:30;11811:28;11791:18;;;11784:56;11857:18;;12871:140:0;11531:350:1;12871:140:0;13053:12;13036:10;;13049:1;13036:14;;;;:::i;:::-;:29;13032:102;;;6762:20;;6810:8;13090:24;;;;;;13152:9;:11;;;:9;:11;;;:::i;:::-;;;;;;12619:560;13205:13;;-1:-1:-1;;;;;13199:19:0;;;13205:13;;13199:19;;;;:46;;-1:-1:-1;;;;;;13223:22:0;;;;;;:18;:22;;;;;;;;13222:23;13199:46;13195:227;;;13322:14;;13312:6;13296:13;13306:2;-1:-1:-1;;;;;9531:18:0;9504:7;9531:18;;;:9;:18;;;;;;;9438:119;13296:13;:22;;;;:::i;:::-;:40;;13266:140;;;;-1:-1:-1;;;13266:140:0;;11733:2:1;13266:140:0;;;11715:21:1;11772:2;11752:18;;;11745:30;11811:28;11791:18;;;11784:56;11857:18;;13266:140:0;11531:350:1;13266:140:0;13461:6;;-1:-1:-1;;;13461:6:0;;;;13460:7;:47;;;;-1:-1:-1;13494:13:0;;-1:-1:-1;;;;;13488:19:0;;;13494:13;;13488:19;13460:47;:79;;;;-1:-1:-1;13528:11:0;;-1:-1:-1;;;13528:11:0;;;;13460:79;:130;;;;;13572:18;;13560:9;;:30;13460:130;:176;;;;-1:-1:-1;;;;;;13612:24:0;;;;;;:18;:24;;;;;;;;13611:25;13460:176;:220;;;;-1:-1:-1;;;;;;13658:22:0;;;;;;:18;:22;;;;;;;;13657:23;13460:220;13438:606;;;13756:17;;13733:40;;13794:174;;;;13831:117;13874:51;13878:6;13886:38;13890:20;13912:11;;13886:3;:38::i;:::-;13874:3;:51::i;:::-;13831:16;:117::i;:::-;13986:10;;:42;;-1:-1:-1;;;;;13986:10:0;;;;14006:21;13986:42;;;;;:10;:42;:10;:42;14006:21;13986:10;:42;;;;;;;;;;;;;;;;;;;;;13696:348;13438:606;-1:-1:-1;;;;;14099:24:0;;14065:12;14099:24;;;:18;:24;;;;;;14080:4;;14099:24;;14095:45;;;-1:-1:-1;14135:5:0;14095:45;14151:44;14169:4;14175:2;14179:6;14187:7;14151:17;:44::i;:::-;12086:2117;;12017:2186;;;:::o;3153:224::-;3273:7;3309:12;3301:6;;;;3293:29;;;;-1:-1:-1;;;3293:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3333:9:0;3345:5;3349:1;3345;:5;:::i;:::-;3333:17;3153:224;-1:-1:-1;;;;;3153:224:0:o;7362:233::-;-1:-1:-1;;;;;7466:15:0;;;;;;:9;:15;;;;;;:27;;7486:6;7466:19;:27::i;:::-;-1:-1:-1;;;;;7448:15:0;;;;;;;:9;:15;;;;;;:45;;;;7520:13;;;;;;;:25;;7538:6;7520:17;:25::i;:::-;-1:-1:-1;;;;;7504:13:0;;;;;;;:9;:13;;;;;;;:41;;;;7561:26;;;;;;-1:-1:-1;;;;;;;;;;;7561:26:0;;;7580:6;1500:25:1;;1488:2;1473:18;;1354:177;6516:107:0;6573:7;6605:1;6601;:5;6600:15;;6614:1;6600:15;;;6610:1;6600:15;6593:22;6516:107;-1:-1:-1;;;6516:107:0:o;6834:483::-;5578:6;:13;;-1:-1:-1;;;;5578:13:0;-1:-1:-1;;;5578:13:0;;;6936:16:::1;::::0;;6950:1:::1;6936:16:::0;;;;;::::1;::::0;;-1:-1:-1;;6936:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;6936:16:0::1;6912:40;;6981:4;6963;6968:1;6963:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6963:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7007:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7007:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;6963:7;;7007:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6997:4;7002:1;6997:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6997:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7072:15:::1;::::0;7040:62:::1;::::0;7057:4:::1;::::0;7072:15:::1;7090:11:::0;7040:8:::1;:62::i;:::-;7113:15;::::0;:196:::1;::::0;-1:-1:-1;;;7113:196:0;;-1:-1:-1;;;;;7113:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;7194:11;;7113:15:::1;::::0;7236:4;;7263::::1;::::0;7283:15:::1;::::0;7113:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5614:6:0;:14;;-1:-1:-1;;;;5614:14:0;;;-1:-1:-1;;;;6834:483:0:o;7603:1447::-;7753:7;7749:1294;;;7777:17;7825:208;8029:3;7825:181;7889:15;;7877:9;;:27;7876:111;;7973:14;;7876:111;;;7933:12;;7876:111;7825:6;;:28;:181::i;:::-;:203;;:208::i;:::-;8058:13;;7813:220;;-1:-1:-1;;;;;;8052:19:0;;;8058:13;;8052:19;:44;;;;-1:-1:-1;;;;;;8075:21:0;;8091:4;8075:21;;8052:44;8048:332;;;8129:235;8360:3;8129:204;8201:16;;8189:9;;:28;8188:122;;8295:15;;8188:122;;;8250:13;;8129:6;;:32;:204::i;:235::-;8117:247;;8048:332;8398:13;;8394:224;;8477:4;8459:24;;;;:9;:24;;;;;;:79;;8510:9;8459:28;:79::i;:::-;8450:4;8432:24;;;;:9;:24;;;;;;;:106;;;;8562:40;;-1:-1:-1;;;;;8562:40:0;;;-1:-1:-1;;;;;;;;;;;8562:40:0;;;8592:9;1500:25:1;;1488:2;1473:18;;1354:177;8562:40:0;;;;;;;;8394:224;-1:-1:-1;;;;;8650:15:0;;;;;;:9;:15;;;;;;:27;;8670:6;8650:19;:27::i;:::-;-1:-1:-1;;;;;8632:15:0;;;;;;:9;:15;;;;;:45;8708:40;8726:21;:6;8737:9;8726:10;:21::i;:::-;-1:-1:-1;;;;;8708:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8692:13:0;;;;;;;:9;:13;;;;;:56;;;;8768:41;;-1:-1:-1;;;;;;;;;;;8787:21:0;:6;8798:9;8787:10;:21::i;:::-;8768:41;;1500:25:1;;;1488:2;1473:18;8768:41:0;;;;;;;7762:1059;7749:1294;;;-1:-1:-1;;;;;8889:15:0;;;;;;;:9;:15;;;;;;;;:24;;;8871:42;;8948:13;;;;;;;;;;;;:22;;8932:38;;9005:26;;-1:-1:-1;;;;;;;;;;;9005:26:0;;;8907:6;1500:25:1;;1488:2;1473:18;;1354:177;9005:26:0;;;;;;;;7603:1447;;;;:::o;3009:136::-;3067:7;3094:43;3098:1;3101;3094:43;;;;;;;;;;;;;;;;;:3;:43::i;2822:179::-;2880:7;;2912:5;2916:1;2912;:5;:::i;:::-;2900:17;;2941:1;2936;:6;;2928:46;;;;-1:-1:-1;;;2928:46:0;;13206:2:1;2928:46:0;;;13188:21:1;13245:2;13225:18;;;13218:30;13284:29;13264:18;;;13257:57;13331:18;;2928:46:0;13004:351:1;3385:246:0;3443:7;3467:1;3472;3467:6;3463:47;;-1:-1:-1;3497:1:0;3490:8;;3463:47;3520:9;3532:5;3536:1;3532;:5;:::i;:::-;3520:17;-1:-1:-1;3565:1:0;3556:5;3560:1;3520:17;3556:5;:::i;:::-;:10;3548:56;;;;-1:-1:-1;;;3548:56:0;;13784:2:1;3548:56:0;;;13766:21:1;13823:2;13803:18;;;13796:30;13862:34;13842:18;;;13835:62;-1:-1:-1;;;13913:18:1;;;13906:31;13954:19;;3548:56:0;13582:397:1;3639:132:0;3697:7;3724:39;3728:1;3731;3724:39;;;;;;;;;;;;;;;;;3899:7;3934:12;3927:5;3919:28;;;;-1:-1:-1;;;3919:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3958:9:0;3970:5;3974:1;3970;: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;622:70;567:131;:::o;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:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:422;4518:1;4561:5;4518:1;4575:270;4596:7;4586:8;4583:21;4575:270;;;4655:4;4651:1;4647:6;4643:17;4637:4;4634:27;4631:53;;;4664:18;;:::i;:::-;4714:7;4704:8;4700:22;4697:55;;;4734:16;;;;4697:55;4813:22;;;;4773:15;;;;4575:270;;;4579:3;4429:422;;;;;:::o;4856:806::-;4905:5;4935:8;4925:80;;-1:-1:-1;4976:1:1;4990:5;;4925:80;5024:4;5014:76;;-1:-1:-1;5061:1:1;5075:5;;5014:76;5106:4;5124:1;5119:59;;;;5192:1;5187:130;;;;5099:218;;5119:59;5149:1;5140:10;;5163:5;;;5187:130;5224:3;5214:8;5211:17;5208:43;;;5231:18;;:::i;:::-;-1:-1:-1;;5287:1:1;5273:16;;5302:5;;5099:218;;5401:2;5391:8;5388:16;5382:3;5376:4;5373:13;5369:36;5363:2;5353:8;5350:16;5345:2;5339:4;5336:12;5332:35;5329:77;5326:159;;;-1:-1:-1;5438:19:1;;;5470:5;;5326:159;5517:34;5542:8;5536:4;5517:34;:::i;:::-;5587:6;5583:1;5579:6;5575:19;5566:7;5563:32;5560:58;;;5598:18;;:::i;:::-;5636:20;;4856:806;-1:-1:-1;;;4856:806:1:o;5667:140::-;5725:5;5754:47;5795:4;5785:8;5781:19;5775:4;5754:47;:::i;5812:168::-;5885:9;;;5916;;5933:15;;;5927:22;;5913:37;5903:71;;5954:18;;:::i;5985:356::-;6187:2;6169:21;;;6206:18;;;6199:30;6265:34;6260:2;6245:18;;6238:62;6332:2;6317:18;;5985:356::o;6346:127::-;6407:10;6402:3;6398:20;6395:1;6388:31;6438:4;6435:1;6428:15;6462:4;6459:1;6452:15;6478:135;6517:3;6538:17;;;6535:43;;6558:18;;:::i;:::-;-1:-1:-1;6605:1:1;6594:13;;6478:135::o;6970:251::-;7040:6;7093:2;7081:9;7072:7;7068:23;7064:32;7061:52;;;7109:1;7106;7099:12;7061:52;7141:9;7135:16;7160:31;7185:5;7160:31;:::i;8147:306::-;8235:6;8243;8251;8304:2;8292:9;8283:7;8279:23;8275:32;8272:52;;;8320:1;8317;8310:12;8272:52;8349:9;8343:16;8333:26;;8399:2;8388:9;8384:18;8378:25;8368:35;;8443:2;8432:9;8428:18;8422:25;8412:35;;8147:306;;;;;:::o;8737:277::-;8804:6;8857:2;8845:9;8836:7;8832:23;8828:32;8825:52;;;8873:1;8870;8863:12;8825:52;8905:9;8899:16;8958:5;8951:13;8944:21;8937:5;8934:32;8924:60;;8980:1;8977;8970:12;11401:125;11466:9;;;11487:10;;;11484:36;;;11500:18;;:::i;11886:128::-;11953:9;;;11974:11;;;11971:37;;;11988:18;;:::i;12019:980::-;12281:4;12329:3;12318:9;12314:19;12360:6;12349:9;12342:25;12386:2;12424:6;12419:2;12408:9;12404:18;12397:34;12467:3;12462:2;12451:9;12447:18;12440:31;12491:6;12526;12520:13;12557:6;12549;12542:22;12595:3;12584:9;12580:19;12573:26;;12634:2;12626:6;12622:15;12608:29;;12655:1;12665:195;12679:6;12676:1;12673:13;12665:195;;;12744:13;;-1:-1:-1;;;;;12740:39:1;12728:52;;12835:15;;;;12800:12;;;;12776:1;12694:9;12665:195;;;-1:-1:-1;;;;;;;12916:32:1;;;;12911:2;12896:18;;12889:60;-1:-1:-1;;;12980:3:1;12965:19;12958:35;12877:3;12019:980;-1:-1:-1;;;12019:980:1:o;13360:217::-;13400:1;13426;13416:132;;13470:10;13465:3;13461:20;13458:1;13451:31;13505:4;13502:1;13495:15;13533:4;13530:1;13523:15;13416:132;-1:-1:-1;13562:9:1;;13360:217::o

Swarm Source

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