ETH Price: $3,175.93 (-7.92%)
Gas: 4 Gwei

Token

MUDI Token (MUDI)
 

Overview

Max Total Supply

1,000,000,000 MUDI

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
331,263.194788647 MUDI

Value
$0.00
0x7cd1220dfc2b311784823482660a28d506f59d87
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:
MUDI

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-01-29
*/

/*
 * 🔥MUDI🔥
 * Utility driven meme token
 * Telegram: https://t.me/muditoken
 * Website: www.muditoken.com

 **** Tokenomics ****
 ** Buy Fee/Default Sell Fee : 5% (10% TX 2% Liquidity)
 ** 1 Hour Sell Fee : 24% (12% TX 12% Liquidity)
 ** 24 Hour Sell Fee : 18% (12% TX 6% Liquidity)
 ** Holder Appreciation : After 30 days 0% sell fee
 
 **** Bot and Whale Protection ****
 ** 0.5% Max tx
 ** 1.5% Max wallet
 ** 30 Second cooldown between buys
 ** 0-2 Block buys automatically blacklisted
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.12;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
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 IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

    constructor () public {
        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;
    }

}

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


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

contract ERC20 is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) public {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 9;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract MUDI is ERC20, Ownable {
    using SafeMath for uint256;

    address public constant DEAD_ADDRESS = address(0xdead);
    IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    uint256 public buyLiquidityFee = 2;
    uint256 public sellLiquidityFee = 2;
    uint256 public buyTxFee = 10;
    uint256 public sellTxFee = 10;

    uint256 public defaultSellLiquidityFee = 2;
    uint256 public defaultSellTxFee = 10;

    uint256 public hourSellLiquidityFee = 12;
    uint256 public hourSellTxFee = 12;

    uint256 public daySellLiquidityFee = 6;
    uint256 public daySellTxFee = 12;

    uint256 public tokensForLiquidity;
    uint256 public tokensForTax;

    uint256 public _tTotal = 10**9 * 10**9; // 1 billion
    uint256 public swapAtAmount = _tTotal.mul(50).div(10000); // 0.10% of total supply
    uint256 public maxTxLimit = _tTotal; // 0.5% of total supply set in open trading
    uint256 public maxWalletLimit = _tTotal; // 1% of total supply set in open trading

    address private dev;
    address private liquidity;

    address public uniswapV2Pair;

    uint256 public launchBlock;

    bool private swapping;
    bool public isLaunched;
    bool private cooldownEnabled = false;
    bool private useBuyMap = true;

    // exclude from fees
    mapping (address => bool) public isExcludedFromFees;

    // exclude from max transaction amount
    mapping (address => bool) public isExcludedFromTxLimit;

    // exclude from max wallet limit
    mapping (address => bool) public isExcludedFromWalletLimit;

    // if the account is blacklisted from transacting
    mapping (address => bool) public isBlacklisted;

    // buy map for timed sell tax
    mapping (address => uint256) public _buyMap;

    // mapping for cooldown
    mapping (address => uint) public cooldown;

    constructor() public ERC20("MUDI Token", "MUDI") {

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), type(uint256).max);


        // exclude from fees, wallet limit and transaction limit
        excludeFromAllLimits(owner(), true);
        excludeFromAllLimits(address(this), true);
        excludeFromWalletLimit(uniswapV2Pair, true);

        dev = payable(0x1E7B306A67E287a9B2e67815241d547641d93128);
        liquidity = payable(0x4081121d6e671a3d201e024fc5fa0BC96bD0aF8b);

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(owner(), _tTotal);
    }

    function excludeFromFees(address account, bool value) public onlyOwner() {
        require(isExcludedFromFees[account] != value, "Fees: Already set to this value");
        isExcludedFromFees[account] = value;
    }

    function excludeFromTxLimit(address account, bool value) public onlyOwner() {
        require(isExcludedFromTxLimit[account] != value, "TxLimit: Already set to this value");
        isExcludedFromTxLimit[account] = value;
    }

    function excludeFromWalletLimit(address account, bool value) public onlyOwner() {
        require(isExcludedFromWalletLimit[account] != value, "WalletLimit: Already set to this value");
        isExcludedFromWalletLimit[account] = value;
    }

    function excludeFromAllLimits(address account, bool value) public onlyOwner() {
        excludeFromFees(account, value);
        excludeFromTxLimit(account, value);
        excludeFromWalletLimit(account, value);
    }

    function setBuyFee(uint256 liquidityFee, uint256 txFee) external onlyOwner() {
	require(liquidityFee.add(txFee) <= 12, "Total buy fee can not be more than 12");
        buyLiquidityFee = liquidityFee;
        buyTxFee = txFee;
    }

    function setSellFee(uint256 liquidityFee, uint256 txFee) external onlyOwner() {
        require(liquidityFee.add(txFee) <= 12, "Total default fee can not be more than 12");
        sellLiquidityFee = liquidityFee;
        sellTxFee = txFee;

        defaultSellLiquidityFee = liquidityFee;
        defaultSellTxFee = txFee;
    }

    function setHourSellFee(uint256 liquidityFee, uint256 txFee) external onlyOwner() {
        require(liquidityFee.add(txFee) <= 24, "Total default fee can not be more than 25");
        hourSellLiquidityFee = liquidityFee;
        hourSellTxFee = txFee;
    }

    function setDaySellFee(uint256 liquidityFee, uint256 txFee) external onlyOwner() {
        require(liquidityFee.add(txFee) <= 18, "Total default fee can not be more than 18");
        daySellLiquidityFee = liquidityFee;
        daySellTxFee = txFee;
    }

    function setCooldownEnabled(bool _enabled) external onlyOwner() {
        cooldownEnabled = _enabled;
    }

   function setUseBuyMap(bool _enabled) external onlyOwner() {
        useBuyMap = _enabled;
    }

    function setMaxTxLimit(uint256 newLimit) external onlyOwner() {
        require(newLimit > 0, "max tx can not be 0");
        maxTxLimit = newLimit * (10**9);
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        require(newLimit > 0, "max wallet can not be 0");
        maxWalletLimit = newLimit * (10**9);
    }

    function setSwapAtAmount(uint256 amountToSwap) external onlyOwner() {
        swapAtAmount = amountToSwap * (10**9);
    }

    function updateDevWallet(address newWallet) external onlyOwner() {
        dev = newWallet;
    }

    function updateLiqWallet(address newWallet) external onlyOwner() {
        liquidity = newWallet;
    }

    function addBlacklist(address account) external onlyOwner() {
        require(!isBlacklisted[account], "Blacklist: Already blacklisted");
        require(account != uniswapV2Pair, "Cannot blacklist pair");
        _setBlacklist(account, true);
    }

    function removeBlacklist(address account) external onlyOwner() {
        require(isBlacklisted[account], "Blacklist: Not blacklisted");
        _setBlacklist(account, false);
    }

    function manualswap() external onlyOwner() {
        uint256 totalTokensForFee = tokensForLiquidity + tokensForTax;
        swapBack(totalTokensForFee);
    }
    
    function manualsend() external onlyOwner(){
        uint256 contractETHBalance = address(this).balance;
        payable(address(dev)).transfer(contractETHBalance);
    }

    function openTrading() external onlyOwner() {
        require(!isLaunched, "Contract is already launched");
        isLaunched = true;
        launchBlock = block.number;
        cooldownEnabled = true;
        maxTxLimit = _tTotal.mul(50).div(10000);        
        maxWalletLimit = _tTotal.mul(100).div(10000);
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        require(amount <= maxTxLimit || isExcludedFromTxLimit[from] || isExcludedFromTxLimit[to], "Tx Amount too large");
        require(balanceOf(to).add(amount) <= maxWalletLimit || isExcludedFromWalletLimit[to], "Transfer will exceed wallet limit");
        require(isLaunched || isExcludedFromFees[from] || isExcludedFromFees[to], "Waiting to go live");
        require(!isBlacklisted[from], "Sender is blacklisted");

        if(amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        uint256 totalTokensForFee = tokensForLiquidity + tokensForTax;
        bool canSwap = totalTokensForFee >= swapAtAmount;

        if(
            from != uniswapV2Pair &&
            canSwap &&
            !swapping
        ) {
            swapping = true;
            swapBack(totalTokensForFee);
            swapping = false;
        } else if(
            from == uniswapV2Pair &&
            to != uniswapV2Pair &&
            block.number < launchBlock + 2 &&
            !isExcludedFromFees[to]
        ) {
            _setBlacklist(to, true);
        }

        bool takeFee = !swapping;

        if(isExcludedFromFees[from] || isExcludedFromFees[to]) {
            takeFee = false;
        }

        if(takeFee) {
            uint256 fees;
            // on sell
            if (to == uniswapV2Pair) {
                if(useBuyMap){
                    if (_buyMap[from] != 0 &&
                        (_buyMap[from] + (1 hours) >= block.timestamp))  {
                        sellLiquidityFee = hourSellLiquidityFee;
                        sellTxFee = hourSellTxFee;
                        _buyMap[from] = block.timestamp;
                    } else if (_buyMap[from] != 0 &&
                        (_buyMap[from] + (24 hours) >= block.timestamp)) {
                        sellLiquidityFee = daySellLiquidityFee;
                        sellTxFee = daySellTxFee;
                        _buyMap[from] = block.timestamp;
                    } else if (_buyMap[from] != 0 &&
                        (_buyMap[from] + (30 days) >= block.timestamp)) {
                        sellLiquidityFee = 0;
                        sellTxFee = 0;
                    } else {
                        sellLiquidityFee = defaultSellLiquidityFee;
                        sellTxFee = defaultSellTxFee;
                    }
                } else {
                    sellLiquidityFee = defaultSellLiquidityFee;
                    sellTxFee = defaultSellTxFee;
                }
              
                uint256 sellTotalFees = sellLiquidityFee.add(sellTxFee);
                fees = amount.mul(sellTotalFees).div(100);
                tokensForLiquidity = tokensForLiquidity.add(fees.mul(sellLiquidityFee).div(sellTotalFees));
                tokensForTax = tokensForTax.add(fees.mul(sellTxFee).div(sellTotalFees));
            }
            // on buy & wallet transfers
            else {
                if(cooldownEnabled){
                    require(cooldown[to] < block.timestamp);
                    cooldown[to] = block.timestamp + (30 seconds);
                }
                if (useBuyMap && _buyMap[to] == 0) {
                    _buyMap[to] = block.timestamp;
                }
                uint256 buyTotalFees = buyLiquidityFee.add(buyTxFee);
                fees = amount.mul(buyTotalFees).div(100);
                tokensForLiquidity = tokensForLiquidity.add(fees.mul(buyLiquidityFee).div(buyTotalFees));
                tokensForTax = tokensForTax.add(fees.mul(buyTxFee).div(buyTotalFees));
            }

            if(fees > 0){
                super._transfer(from, address(this), fees);
                amount = amount.sub(fees);
            }
        }

        super._transfer(from, to, amount);
    }

    function swapBack(uint256 totalTokensForFee) private {
        uint256 toSwap = swapAtAmount;

        // Halve the amount of liquidity tokens
        uint256 liquidityTokens = toSwap.mul(tokensForLiquidity).div(totalTokensForFee).div(2);
        uint256 taxTokens = toSwap.sub(liquidityTokens).sub(liquidityTokens);
        uint256 amountToSwapForETH = toSwap.sub(liquidityTokens);

        _swapTokensForETH(amountToSwapForETH);

        uint256 ethBalance = address(this).balance;
        uint256 ethForTax = ethBalance.mul(taxTokens).div(amountToSwapForETH);
        uint256 ethForLiquidity = ethBalance.sub(ethForTax);

        tokensForLiquidity = tokensForLiquidity.sub(liquidityTokens.mul(2));
        tokensForTax = tokensForTax.sub(toSwap.sub(liquidityTokens.mul(2)));

        payable(address(dev)).transfer(ethForTax);
        _addLiquidity(liquidityTokens, ethForLiquidity);
    }

    function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {

        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity,
            block.timestamp
        );
    }

    function _swapTokensForETH(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _setBlacklist(address account, bool value) internal {
        isBlacklisted[account] = value;
    }

    function transferForeignToken(address _token, address _to) external onlyOwner returns (bool _sent){
        require(_token != address(this), "Can't withdraw native tokens");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        _sent = IERC20(_token).transfer(_to, _contractBalance);
    }
    

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBlacklist","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":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"daySellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"daySellTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultSellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultSellTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromAllLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hourSellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hourSellTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isLaunched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"txFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"txFee","type":"uint256"}],"name":"setDaySellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"txFee","type":"uint256"}],"name":"setHourSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"txFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToSwap","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setUseBuyMap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateLiqWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260026007556002600855600a600955600a80556002600b55600a600c55600c600d55600c600e556006600f55600c601055670de0b6b3a764000060135562000079612710620000656032601354620003db60201b62001fe21790919060201c565b6200044260201b620020421790919060201c565b6014556013546015819055601655601b805463ffff000019166301000000179055348015620000a757600080fd5b50604080518082018252600a81526926aaa224902a37b5b2b760b11b6020808301918252835180850190945260048452634d55444960e01b908401528151919291620000f69160039162000af3565b5080516200010c90600490602084019062000af3565b5050506000620001216200048c60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001bd57600080fd5b505afa158015620001d2573d6000803e3d6000fd5b505050506040513d6020811015620001e957600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039092169163c9c65396913091737a250d5630b4cf539739df2c5dacb4c659f2488d9163ad5c4648916004808301926020929190829003018186803b1580156200024b57600080fd5b505afa15801562000260573d6000803e3d6000fd5b505050506040513d60208110156200027757600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015620002ca57600080fd5b505af1158015620002df573d6000803e3d6000fd5b505050506040513d6020811015620002f657600080fd5b5051601980546001600160a01b0319166001600160a01b039092169190911790556200033a30737a250d5630b4cf539739df2c5dacb4c659f2488d60001962000490565b620003506200034862000580565b60016200058f565b6200035d3060016200058f565b60195462000376906001600160a01b0316600162000613565b601780546001600160a01b0319908116731e7b306a67e287a9b2e67815241d547641d931281790915560188054909116734081121d6e671a3d201e024fc5fa0bc96bd0af8b179055620003d5620003cc62000580565b601354620006fa565b62000b8f565b600082620003ec575060006200043c565b82820282848281620003fa57fe5b0414620004395760405162461bcd60e51b815260040180806020018281038252602181526020018062003d996021913960400191505060405180910390fd5b90505b92915050565b60006200043983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200080960201b60201c565b3390565b6001600160a01b038316620004d75760405162461bcd60e51b815260040180806020018281038252602481526020018062003dda6024913960400191505060405180910390fd5b6001600160a01b0382166200051e5760405162461bcd60e51b815260040180806020018281038252602281526020018062003d556022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6005546001600160a01b031690565b620005996200048c565b6005546001600160a01b03908116911614620005eb576040805162461bcd60e51b8152602060048201819052602482015260008051602062003dba833981519152604482015290519081900360640190fd5b620005f78282620008b0565b620006038282620009ac565b6200060f828262000613565b5050565b6200061d6200048c565b6005546001600160a01b039081169116146200066f576040805162461bcd60e51b8152602060048201819052602482015260008051602062003dba833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601e602052604090205460ff1615158115151415620006cf5760405162461bcd60e51b815260040180806020018281038252602681526020018062003dfe6026913960400191505060405180910390fd5b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b6001600160a01b03821662000756576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620007646000838362000a93565b620007808160025462000a9860201b620020841790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620007b39183906200208462000a98821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183620008995760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200085d57818101518382015260200162000843565b50505050905090810190601f1680156200088b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620008a657fe5b0495945050505050565b620008ba6200048c565b6005546001600160a01b039081169116146200090c576040805162461bcd60e51b8152602060048201819052602482015260008051602062003dba833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601c602052604090205460ff161515811515141562000981576040805162461bcd60e51b815260206004820152601f60248201527f466565733a20416c72656164792073657420746f20746869732076616c756500604482015290519081900360640190fd5b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b620009b66200048c565b6005546001600160a01b0390811691161462000a08576040805162461bcd60e51b8152602060048201819052602482015260008051602062003dba833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601d602052604090205460ff161515811515141562000a685760405162461bcd60e51b815260040180806020018281038252602281526020018062003d776022913960400191505060405180910390fd5b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b505050565b60008282018381101562000439576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000b3657805160ff191683800117855562000b66565b8280016001018555821562000b66579182015b8281111562000b6657825182559160200191906001019062000b49565b5062000b7492915062000b78565b5090565b5b8082111562000b74576000815560010162000b79565b6131b68062000b9f6000396000f3fe6080604052600436106103905760003560e01c80637f2feddc116101dc578063c024666811610102578063e470437f116100a0578063f11a24d31161006f578063f11a24d314610c32578063f637434214610c47578063fb0ecfa414610c5c578063fe575a8714610c8c57610397565b8063e470437f14610bc0578063e6acd7e514610bd5578063e9b786cb14610bea578063eb91e65114610bff57610397565b8063cd49513f116100dc578063cd49513f14610afa578063d00efb2f14610b35578063dd62ed3e14610b4a578063e16830a814610b8557610397565b8063c024666814610a95578063c3c8cd8014610ad0578063c9567bf914610ae557610397565b80639cfe42da1161017a578063af465a2711610149578063af465a27146109e7578063b222e0c2146109fc578063b40f946914610a2f578063bf95793d14610a6257610397565b80639cfe42da1461093a578063a1addd951461096d578063a3e6746014610999578063a9059cbb146109ae57610397565b806386917524116101b657806386917524146108e65780638da5cb5b146108fb578063904236d11461091057806395d89b411461092557610397565b80637f2feddc146108635780638036d590146108965780638366e79a146108ab57610397565b80634e6fd6c4116102c15780636ac9a8701161025f578063715018a61161022e578063715018a6146107dc578063728d41c9146107f157806373dd858c1461081b578063766f9bb21461084e57610397565b80636ac9a8701461074f5780636d7adcad1461077f5780636fc3eaec1461079457806370a08231146107a957610397565b80635ec6ee761161029b5780635ec6ee76146106b65780636402511e146106e657806364f5a5bb1461071057806366a88d961461073a57610397565b80634e6fd6c4146106425780634fbee193146106575780635932ead11461068a57610397565b80631daa8a651161032e57806330280a711161030857806330280a71146105b2578063307aebc9146105ed578063313ce5671461060257806349bd5a5e1461062d57610397565b80631daa8a651461054557806323b872dd1461055a5780632d3aecc91461059d57610397565b806318160ddd1161036a57806318160ddd146104a45780631816467f146104cb5780631a8145bb146105005780631b5df42e1461051557610397565b806306fdde031461039c578063095ea7b3146104265780631694505e1461047357610397565b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610cbf565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103eb5781810151838201526020016103d3565b50505050905090810190601f1680156104185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561043257600080fd5b5061045f6004803603604081101561044957600080fd5b506001600160a01b038135169060200135610d55565b604080519115158252519081900360200190f35b34801561047f57600080fd5b50610488610d73565b604080516001600160a01b039092168252519081900360200190f35b3480156104b057600080fd5b506104b9610d8b565b60408051918252519081900360200190f35b3480156104d757600080fd5b506104fe600480360360208110156104ee57600080fd5b50356001600160a01b0316610d91565b005b34801561050c57600080fd5b506104b9610e0b565b34801561052157600080fd5b506104fe6004803603604081101561053857600080fd5b5080359060200135610e11565b34801561055157600080fd5b506104b9610ebd565b34801561056657600080fd5b5061045f6004803603606081101561057d57600080fd5b506001600160a01b03813581169160208101359091169060400135610ec3565b3480156105a957600080fd5b506104b9610f4a565b3480156105be57600080fd5b506104fe600480360360408110156105d557600080fd5b506001600160a01b0381351690602001351515610f50565b3480156105f957600080fd5b5061045f611031565b34801561060e57600080fd5b5061061761103f565b6040805160ff9092168252519081900360200190f35b34801561063957600080fd5b50610488611044565b34801561064e57600080fd5b50610488611053565b34801561066357600080fd5b5061045f6004803603602081101561067a57600080fd5b50356001600160a01b0316611059565b34801561069657600080fd5b506104fe600480360360208110156106ad57600080fd5b5035151561106e565b3480156106c257600080fd5b506104fe600480360360408110156106d957600080fd5b50803590602001356110e2565b3480156106f257600080fd5b506104fe6004803603602081101561070957600080fd5b503561118e565b34801561071c57600080fd5b506104fe6004803603602081101561073357600080fd5b50356111f1565b34801561074657600080fd5b506104b961129f565b34801561075b57600080fd5b506104fe6004803603604081101561077257600080fd5b50803590602001356112a5565b34801561078b57600080fd5b506104b961135b565b3480156107a057600080fd5b506104fe611361565b3480156107b557600080fd5b506104b9600480360360208110156107cc57600080fd5b50356001600160a01b03166113f7565b3480156107e857600080fd5b506104fe611412565b3480156107fd57600080fd5b506104fe6004803603602081101561081457600080fd5b50356114b4565b34801561082757600080fd5b506104fe6004803603602081101561083e57600080fd5b50356001600160a01b031661156c565b34801561085a57600080fd5b506104b96115e6565b34801561086f57600080fd5b506104b96004803603602081101561088657600080fd5b50356001600160a01b03166115ec565b3480156108a257600080fd5b506104b96115fd565b3480156108b757600080fd5b5061045f600480360360408110156108ce57600080fd5b506001600160a01b0381358116916020013516611603565b3480156108f257600080fd5b506104b96117c0565b34801561090757600080fd5b506104886117c6565b34801561091c57600080fd5b506104b96117d5565b34801561093157600080fd5b506103b16117db565b34801561094657600080fd5b506104fe6004803603602081101561095d57600080fd5b50356001600160a01b031661183c565b34801561097957600080fd5b506104fe6004803603602081101561099057600080fd5b5035151561196b565b3480156109a557600080fd5b506104b96119e1565b3480156109ba57600080fd5b5061045f600480360360408110156109d157600080fd5b506001600160a01b0381351690602001356119e7565b3480156109f357600080fd5b506104b96119fb565b348015610a0857600080fd5b506104b960048036036020811015610a1f57600080fd5b50356001600160a01b0316611a01565b348015610a3b57600080fd5b5061045f60048036036020811015610a5257600080fd5b50356001600160a01b0316611a13565b348015610a6e57600080fd5b5061045f60048036036020811015610a8557600080fd5b50356001600160a01b0316611a28565b348015610aa157600080fd5b506104fe60048036036040811015610ab857600080fd5b506001600160a01b0381351690602001351515611a3d565b348015610adc57600080fd5b506104fe611b34565b348015610af157600080fd5b506104fe611b9c565b348015610b0657600080fd5b506104fe60048036036040811015610b1d57600080fd5b506001600160a01b0381351690602001351515611cab565b348015610b4157600080fd5b506104b9611d21565b348015610b5657600080fd5b506104b960048036036040811015610b6d57600080fd5b506001600160a01b0381358116916020013516611d27565b348015610b9157600080fd5b506104fe60048036036040811015610ba857600080fd5b506001600160a01b0381351690602001351515611d52565b348015610bcc57600080fd5b506104b9611e33565b348015610be157600080fd5b506104b9611e39565b348015610bf657600080fd5b506104b9611e3f565b348015610c0b57600080fd5b506104fe60048036036020811015610c2257600080fd5b50356001600160a01b0316611e45565b348015610c3e57600080fd5b506104b9611f15565b348015610c5357600080fd5b506104b9611f1b565b348015610c6857600080fd5b506104fe60048036036040811015610c7f57600080fd5b5080359060200135611f21565b348015610c9857600080fd5b5061045f60048036036020811015610caf57600080fd5b50356001600160a01b0316611fcd565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d4b5780601f10610d2057610100808354040283529160200191610d4b565b820191906000526020600020905b815481529060010190602001808311610d2e57829003601f168201915b5050505050905090565b6000610d69610d626120de565b84846120e2565b5060015b92915050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60025490565b610d996120de565b6005546001600160a01b03908116911614610de9576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601780546001600160a01b0319166001600160a01b0392909216919091179055565b60115481565b610e196120de565b6005546001600160a01b03908116911614610e69576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6012610e758383612084565b1115610eb25760405162461bcd60e51b81526004018080602001828103825260298152602001806131586029913960400191505060405180910390fd5b600f91909155601055565b600f5481565b6000610ed08484846121ce565b610f4084610edc6120de565b610f3b85604051806060016040528060288152602001613057602891396001600160a01b038a16600090815260016020526040812090610f1a6120de565b6001600160a01b031681526020810191909152604001600020549190612911565b6120e2565b5060019392505050565b600c5481565b610f586120de565b6005546001600160a01b03908116911614610fa8576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601d602052604090205460ff16151581151514156110065760405162461bcd60e51b81526004018080602001828103825260228152602001806130146022913960400191505060405180910390fd5b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b601b54610100900460ff1681565b600990565b6019546001600160a01b031681565b61dead81565b601c6020526000908152604090205460ff1681565b6110766120de565b6005546001600160a01b039081169116146110c6576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601b8054911515620100000262ff000019909216919091179055565b6110ea6120de565b6005546001600160a01b0390811691161461113a576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60186111468383612084565b11156111835760405162461bcd60e51b815260040180806020018281038252602981526020018061312f6029913960400191505060405180910390fd5b600d91909155600e55565b6111966120de565b6005546001600160a01b039081169116146111e6576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b633b9aca0002601455565b6111f96120de565b6005546001600160a01b03908116911614611249576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60008111611294576040805162461bcd60e51b815260206004820152601360248201527206d61782074782063616e206e6f74206265203606c1b604482015290519081900360640190fd5b633b9aca0002601555565b60165481565b6112ad6120de565b6005546001600160a01b039081169116146112fd576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b600c6113098383612084565b11156113465760405162461bcd60e51b8152600401808060200182810382526029815260200180612fc66029913960400191505060405180910390fd5b6008829055600a819055600b91909155600c55565b60125481565b6113696120de565b6005546001600160a01b039081169116146113b9576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60175460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156113f3573d6000803e3d6000fd5b5050565b6001600160a01b031660009081526020819052604090205490565b61141a6120de565b6005546001600160a01b0390811691161461146a576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6114bc6120de565b6005546001600160a01b0390811691161461150c576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60008111611561576040805162461bcd60e51b815260206004820152601760248201527f6d61782077616c6c65742063616e206e6f742062652030000000000000000000604482015290519081900360640190fd5b633b9aca0002601655565b6115746120de565b6005546001600160a01b039081169116146115c4576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601880546001600160a01b0319166001600160a01b0392909216919091179055565b600e5481565b602080526000908152604090205481565b60155481565b600061160d6120de565b6005546001600160a01b0390811691161461165d576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0383163014156116bb576040805162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e7300000000604482015290519081900360640190fd5b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561170a57600080fd5b505afa15801561171e573d6000803e3d6000fd5b505050506040513d602081101561173457600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820184905291519293509086169163a9059cbb916044808201926020929091908290030181600087803b15801561178c57600080fd5b505af11580156117a0573d6000803e3d6000fd5b505050506040513d60208110156117b657600080fd5b5051949350505050565b60145481565b6005546001600160a01b031690565b600a5481565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d4b5780601f10610d2057610100808354040283529160200191610d4b565b6118446120de565b6005546001600160a01b03908116911614611894576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152601f602052604090205460ff1615611902576040805162461bcd60e51b815260206004820152601e60248201527f426c61636b6c6973743a20416c726561647920626c61636b6c69737465640000604482015290519081900360640190fd5b6019546001600160a01b038281169116141561195d576040805162461bcd60e51b815260206004820152601560248201527421b0b73737ba10313630b1b5b634b9ba103830b4b960591b604482015290519081900360640190fd5b6119688160016129a8565b50565b6119736120de565b6005546001600160a01b039081169116146119c3576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601b805491151563010000000263ff00000019909216919091179055565b600d5481565b6000610d696119f46120de565b84846121ce565b60135481565b60216020526000908152604090205481565b601e6020526000908152604090205460ff1681565b601d6020526000908152604090205460ff1681565b611a456120de565b6005546001600160a01b03908116911614611a95576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601c602052604090205460ff1615158115151415611b09576040805162461bcd60e51b815260206004820152601f60248201527f466565733a20416c72656164792073657420746f20746869732076616c756500604482015290519081900360640190fd5b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b611b3c6120de565b6005546001600160a01b03908116911614611b8c576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60125460115401611968816129d3565b611ba46120de565b6005546001600160a01b03908116911614611bf4576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601b54610100900460ff1615611c51576040805162461bcd60e51b815260206004820152601c60248201527f436f6e747261637420697320616c7265616479206c61756e6368656400000000604482015290519081900360640190fd5b601b805443601a5562ff00001961ff0019909116610100171662010000179055601354611c8d9061271090611c87906032611fe2565b90612042565b601555601354611ca69061271090611c87906064611fe2565b601655565b611cb36120de565b6005546001600160a01b03908116911614611d03576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b611d0d8282611a3d565b611d178282610f50565b6113f38282611d52565b601a5481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611d5a6120de565b6005546001600160a01b03908116911614611daa576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601e602052604090205460ff1615158115151415611e085760405162461bcd60e51b81526004018080602001828103825260268152602001806131096026913960400191505060405180910390fd5b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b60105481565b600b5481565b60095481565b611e4d6120de565b6005546001600160a01b03908116911614611e9d576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152601f602052604090205460ff16611f0a576040805162461bcd60e51b815260206004820152601a60248201527f426c61636b6c6973743a204e6f7420626c61636b6c6973746564000000000000604482015290519081900360640190fd5b6119688160006129a8565b60075481565b60085481565b611f296120de565b6005546001600160a01b03908116911614611f79576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b600c611f858383612084565b1115611fc25760405162461bcd60e51b8152600401808060200182810382526025815260200180612fef6025913960400191505060405180910390fd5b600791909155600955565b601f6020526000908152604090205460ff1681565b600082611ff157506000610d6d565b82820282848281611ffe57fe5b041461203b5760405162461bcd60e51b81526004018080602001828103825260218152602001806130366021913960400191505060405180910390fd5b9392505050565b600061203b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ad9565b60008282018381101561203b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b0383166121275760405162461bcd60e51b81526004018080602001828103825260248152602001806130e56024913960400191505060405180910390fd5b6001600160a01b03821661216c5760405162461bcd60e51b8152600401808060200182810382526022815260200180612f7e6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316612229576040805162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f20616464726573730000604482015290519081900360640190fd5b6001600160a01b038216612284576040805162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f206164647265737300000000604482015290519081900360640190fd5b601554811115806122ad57506001600160a01b0383166000908152601d602052604090205460ff165b806122d057506001600160a01b0382166000908152601d602052604090205460ff165b612317576040805162461bcd60e51b8152602060048201526013602482015272547820416d6f756e7420746f6f206c6172676560681b604482015290519081900360640190fd5b60165461232d82612327856113f7565b90612084565b11158061235257506001600160a01b0382166000908152601e602052604090205460ff165b61238d5760405162461bcd60e51b815260040180806020018281038252602181526020018061309f6021913960400191505060405180910390fd5b601b54610100900460ff16806123bb57506001600160a01b0383166000908152601c602052604090205460ff165b806123de57506001600160a01b0382166000908152601c602052604090205460ff165b612424576040805162461bcd60e51b815260206004820152601260248201527157616974696e6720746f20676f206c69766560701b604482015290519081900360640190fd5b6001600160a01b0383166000908152601f602052604090205460ff161561248a576040805162461bcd60e51b815260206004820152601560248201527414d95b99195c881a5cc8189b1858dadb1a5cdd1959605a1b604482015290519081900360640190fd5b806124a05761249b83836000612b3e565b61290c565b6012546011546014546019549190920191821015906001600160a01b038681169116148015906124cd5750805b80156124dc5750601b5460ff16155b1561250657601b805460ff191660011790556124f7826129d3565b601b805460ff19169055612576565b6019546001600160a01b03868116911614801561253157506019546001600160a01b03858116911614155b80156125415750601a5460020143105b801561256657506001600160a01b0384166000908152601c602052604090205460ff16155b15612576576125768460016129a8565b601b546001600160a01b0386166000908152601c602052604090205460ff918216159116806125bd57506001600160a01b0385166000908152601c602052604090205460ff165b156125c6575060005b80156128fd576019546000906001600160a01b03878116911614156127d357601b546301000000900460ff1615612748576001600160a01b03871660009081526020805260409020541580159061263a57506001600160a01b038716600090815260208052604090205442610e1090910110155b1561266a57600d54600855600e54600a556001600160a01b03871660009081526020805260409020429055612743565b6001600160a01b0387166000908152602080526040902054158015906126ae57506001600160a01b0387166000908152602080526040902054426201518090910110155b156126de57600f54600855601054600a556001600160a01b03871660009081526020805260409020429055612743565b6001600160a01b03871660009081526020805260409020541580159061272257506001600160a01b03871660009081526020805260409020544262278d0090910110155b156127365760006008819055600a55612743565b600b54600855600c54600a555b612755565b600b54600855600c54600a555b600061276e600a5460085461208490919063ffffffff16565b905061277f6064611c878884611fe2565b91506127a661279d82611c8760085486611fe290919063ffffffff16565b60115490612084565b601155600a546127ca906127c1908390611c87908690611fe2565b60125490612084565b601255506128dd565b601b5462010000900460ff1615612827576001600160a01b038616600090815260216020526040902054421161280857600080fd5b6001600160a01b0386166000908152602160205260409020601e420190555b601b546301000000900460ff16801561285557506001600160a01b0386166000908152602080526040902054155b15612875576001600160a01b038616600090815260208052604090204290555b600061288e60095460075461208490919063ffffffff16565b905061289f6064611c878884611fe2565b91506128bd61279d82611c8760075486611fe290919063ffffffff16565b6011556009546128d8906127c1908390611c87908690611fe2565b601255505b80156128fb576128ee873083612b3e565b6128f88582612c99565b94505b505b612908868686612b3e565b5050505b505050565b600081848411156129a05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561296557818101518382015260200161294d565b50505050905090810190601f1680156129925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6000601454905060006129fa6002611c8785611c8760115487611fe290919063ffffffff16565b90506000612a1282612a0c8582612c99565b90612c99565b90506000612a208484612c99565b9050612a2b81612cdb565b476000612a3c83611c878487611fe2565b90506000612a4a8383612c99565b9050612a63612a5a876002611fe2565b60115490612c99565b601155612a87612a7e612a77886002611fe2565b8990612c99565b60125490612c99565b6012556017546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015612ac4573d6000803e3d6000fd5b50612acf8682612ea7565b5050505050505050565b60008183612b285760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561296557818101518382015260200161294d565b506000838581612b3457fe5b0495945050505050565b6001600160a01b038316612b835760405162461bcd60e51b81526004018080602001828103825260258152602001806130c06025913960400191505060405180910390fd5b6001600160a01b038216612bc85760405162461bcd60e51b8152600401808060200182810382526023815260200180612f5b6023913960400191505060405180910390fd5b612bd383838361290c565b612c1081604051806060016040528060268152602001612fa0602691396001600160a01b0386166000908152602081905260409020549190612911565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612c3f9082612084565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600061203b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612911565b60408051600280825260608083018452926020830190803683370190505090503081600081518110612d0957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612d7657600080fd5b505afa158015612d8a573d6000803e3d6000fd5b505050506040513d6020811015612da057600080fd5b5051815182906001908110612db157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663791ac9478360008430426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612e6a578181015183820152602001612e52565b505050509050019650505050505050600060405180830381600087803b158015612e9357600080fd5b505af1158015612908573d6000803e3d6000fd5b6018546040805163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0390921660848301524260a483015251737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d71991849160c48082019260609290919082900301818588803b158015612f2957600080fd5b505af1158015612f3d573d6000803e3d6000fd5b50505050506040513d6060811015612f5457600080fd5b5050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365546f74616c2064656661756c74206665652063616e206e6f74206265206d6f7265207468616e203132546f74616c20627579206665652063616e206e6f74206265206d6f7265207468616e20313254784c696d69743a20416c72656164792073657420746f20746869732076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e736665722077696c6c206578636565642077616c6c6574206c696d697445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737357616c6c65744c696d69743a20416c72656164792073657420746f20746869732076616c7565546f74616c2064656661756c74206665652063616e206e6f74206265206d6f7265207468616e203235546f74616c2064656661756c74206665652063616e206e6f74206265206d6f7265207468616e203138a26469706673582212200ec15a85462400aa5591c24ea65535ef6cdcad4095eb23cdbd4fae923a58bf4a64736f6c634300060c003345524332303a20617070726f766520746f20746865207a65726f206164647265737354784c696d69743a20416c72656164792073657420746f20746869732076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a20617070726f76652066726f6d20746865207a65726f206164647265737357616c6c65744c696d69743a20416c72656164792073657420746f20746869732076616c7565

Deployed Bytecode

0x6080604052600436106103905760003560e01c80637f2feddc116101dc578063c024666811610102578063e470437f116100a0578063f11a24d31161006f578063f11a24d314610c32578063f637434214610c47578063fb0ecfa414610c5c578063fe575a8714610c8c57610397565b8063e470437f14610bc0578063e6acd7e514610bd5578063e9b786cb14610bea578063eb91e65114610bff57610397565b8063cd49513f116100dc578063cd49513f14610afa578063d00efb2f14610b35578063dd62ed3e14610b4a578063e16830a814610b8557610397565b8063c024666814610a95578063c3c8cd8014610ad0578063c9567bf914610ae557610397565b80639cfe42da1161017a578063af465a2711610149578063af465a27146109e7578063b222e0c2146109fc578063b40f946914610a2f578063bf95793d14610a6257610397565b80639cfe42da1461093a578063a1addd951461096d578063a3e6746014610999578063a9059cbb146109ae57610397565b806386917524116101b657806386917524146108e65780638da5cb5b146108fb578063904236d11461091057806395d89b411461092557610397565b80637f2feddc146108635780638036d590146108965780638366e79a146108ab57610397565b80634e6fd6c4116102c15780636ac9a8701161025f578063715018a61161022e578063715018a6146107dc578063728d41c9146107f157806373dd858c1461081b578063766f9bb21461084e57610397565b80636ac9a8701461074f5780636d7adcad1461077f5780636fc3eaec1461079457806370a08231146107a957610397565b80635ec6ee761161029b5780635ec6ee76146106b65780636402511e146106e657806364f5a5bb1461071057806366a88d961461073a57610397565b80634e6fd6c4146106425780634fbee193146106575780635932ead11461068a57610397565b80631daa8a651161032e57806330280a711161030857806330280a71146105b2578063307aebc9146105ed578063313ce5671461060257806349bd5a5e1461062d57610397565b80631daa8a651461054557806323b872dd1461055a5780632d3aecc91461059d57610397565b806318160ddd1161036a57806318160ddd146104a45780631816467f146104cb5780631a8145bb146105005780631b5df42e1461051557610397565b806306fdde031461039c578063095ea7b3146104265780631694505e1461047357610397565b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610cbf565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103eb5781810151838201526020016103d3565b50505050905090810190601f1680156104185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561043257600080fd5b5061045f6004803603604081101561044957600080fd5b506001600160a01b038135169060200135610d55565b604080519115158252519081900360200190f35b34801561047f57600080fd5b50610488610d73565b604080516001600160a01b039092168252519081900360200190f35b3480156104b057600080fd5b506104b9610d8b565b60408051918252519081900360200190f35b3480156104d757600080fd5b506104fe600480360360208110156104ee57600080fd5b50356001600160a01b0316610d91565b005b34801561050c57600080fd5b506104b9610e0b565b34801561052157600080fd5b506104fe6004803603604081101561053857600080fd5b5080359060200135610e11565b34801561055157600080fd5b506104b9610ebd565b34801561056657600080fd5b5061045f6004803603606081101561057d57600080fd5b506001600160a01b03813581169160208101359091169060400135610ec3565b3480156105a957600080fd5b506104b9610f4a565b3480156105be57600080fd5b506104fe600480360360408110156105d557600080fd5b506001600160a01b0381351690602001351515610f50565b3480156105f957600080fd5b5061045f611031565b34801561060e57600080fd5b5061061761103f565b6040805160ff9092168252519081900360200190f35b34801561063957600080fd5b50610488611044565b34801561064e57600080fd5b50610488611053565b34801561066357600080fd5b5061045f6004803603602081101561067a57600080fd5b50356001600160a01b0316611059565b34801561069657600080fd5b506104fe600480360360208110156106ad57600080fd5b5035151561106e565b3480156106c257600080fd5b506104fe600480360360408110156106d957600080fd5b50803590602001356110e2565b3480156106f257600080fd5b506104fe6004803603602081101561070957600080fd5b503561118e565b34801561071c57600080fd5b506104fe6004803603602081101561073357600080fd5b50356111f1565b34801561074657600080fd5b506104b961129f565b34801561075b57600080fd5b506104fe6004803603604081101561077257600080fd5b50803590602001356112a5565b34801561078b57600080fd5b506104b961135b565b3480156107a057600080fd5b506104fe611361565b3480156107b557600080fd5b506104b9600480360360208110156107cc57600080fd5b50356001600160a01b03166113f7565b3480156107e857600080fd5b506104fe611412565b3480156107fd57600080fd5b506104fe6004803603602081101561081457600080fd5b50356114b4565b34801561082757600080fd5b506104fe6004803603602081101561083e57600080fd5b50356001600160a01b031661156c565b34801561085a57600080fd5b506104b96115e6565b34801561086f57600080fd5b506104b96004803603602081101561088657600080fd5b50356001600160a01b03166115ec565b3480156108a257600080fd5b506104b96115fd565b3480156108b757600080fd5b5061045f600480360360408110156108ce57600080fd5b506001600160a01b0381358116916020013516611603565b3480156108f257600080fd5b506104b96117c0565b34801561090757600080fd5b506104886117c6565b34801561091c57600080fd5b506104b96117d5565b34801561093157600080fd5b506103b16117db565b34801561094657600080fd5b506104fe6004803603602081101561095d57600080fd5b50356001600160a01b031661183c565b34801561097957600080fd5b506104fe6004803603602081101561099057600080fd5b5035151561196b565b3480156109a557600080fd5b506104b96119e1565b3480156109ba57600080fd5b5061045f600480360360408110156109d157600080fd5b506001600160a01b0381351690602001356119e7565b3480156109f357600080fd5b506104b96119fb565b348015610a0857600080fd5b506104b960048036036020811015610a1f57600080fd5b50356001600160a01b0316611a01565b348015610a3b57600080fd5b5061045f60048036036020811015610a5257600080fd5b50356001600160a01b0316611a13565b348015610a6e57600080fd5b5061045f60048036036020811015610a8557600080fd5b50356001600160a01b0316611a28565b348015610aa157600080fd5b506104fe60048036036040811015610ab857600080fd5b506001600160a01b0381351690602001351515611a3d565b348015610adc57600080fd5b506104fe611b34565b348015610af157600080fd5b506104fe611b9c565b348015610b0657600080fd5b506104fe60048036036040811015610b1d57600080fd5b506001600160a01b0381351690602001351515611cab565b348015610b4157600080fd5b506104b9611d21565b348015610b5657600080fd5b506104b960048036036040811015610b6d57600080fd5b506001600160a01b0381358116916020013516611d27565b348015610b9157600080fd5b506104fe60048036036040811015610ba857600080fd5b506001600160a01b0381351690602001351515611d52565b348015610bcc57600080fd5b506104b9611e33565b348015610be157600080fd5b506104b9611e39565b348015610bf657600080fd5b506104b9611e3f565b348015610c0b57600080fd5b506104fe60048036036020811015610c2257600080fd5b50356001600160a01b0316611e45565b348015610c3e57600080fd5b506104b9611f15565b348015610c5357600080fd5b506104b9611f1b565b348015610c6857600080fd5b506104fe60048036036040811015610c7f57600080fd5b5080359060200135611f21565b348015610c9857600080fd5b5061045f60048036036020811015610caf57600080fd5b50356001600160a01b0316611fcd565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d4b5780601f10610d2057610100808354040283529160200191610d4b565b820191906000526020600020905b815481529060010190602001808311610d2e57829003601f168201915b5050505050905090565b6000610d69610d626120de565b84846120e2565b5060015b92915050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60025490565b610d996120de565b6005546001600160a01b03908116911614610de9576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601780546001600160a01b0319166001600160a01b0392909216919091179055565b60115481565b610e196120de565b6005546001600160a01b03908116911614610e69576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6012610e758383612084565b1115610eb25760405162461bcd60e51b81526004018080602001828103825260298152602001806131586029913960400191505060405180910390fd5b600f91909155601055565b600f5481565b6000610ed08484846121ce565b610f4084610edc6120de565b610f3b85604051806060016040528060288152602001613057602891396001600160a01b038a16600090815260016020526040812090610f1a6120de565b6001600160a01b031681526020810191909152604001600020549190612911565b6120e2565b5060019392505050565b600c5481565b610f586120de565b6005546001600160a01b03908116911614610fa8576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601d602052604090205460ff16151581151514156110065760405162461bcd60e51b81526004018080602001828103825260228152602001806130146022913960400191505060405180910390fd5b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b601b54610100900460ff1681565b600990565b6019546001600160a01b031681565b61dead81565b601c6020526000908152604090205460ff1681565b6110766120de565b6005546001600160a01b039081169116146110c6576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601b8054911515620100000262ff000019909216919091179055565b6110ea6120de565b6005546001600160a01b0390811691161461113a576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60186111468383612084565b11156111835760405162461bcd60e51b815260040180806020018281038252602981526020018061312f6029913960400191505060405180910390fd5b600d91909155600e55565b6111966120de565b6005546001600160a01b039081169116146111e6576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b633b9aca0002601455565b6111f96120de565b6005546001600160a01b03908116911614611249576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60008111611294576040805162461bcd60e51b815260206004820152601360248201527206d61782074782063616e206e6f74206265203606c1b604482015290519081900360640190fd5b633b9aca0002601555565b60165481565b6112ad6120de565b6005546001600160a01b039081169116146112fd576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b600c6113098383612084565b11156113465760405162461bcd60e51b8152600401808060200182810382526029815260200180612fc66029913960400191505060405180910390fd5b6008829055600a819055600b91909155600c55565b60125481565b6113696120de565b6005546001600160a01b039081169116146113b9576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60175460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156113f3573d6000803e3d6000fd5b5050565b6001600160a01b031660009081526020819052604090205490565b61141a6120de565b6005546001600160a01b0390811691161461146a576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6114bc6120de565b6005546001600160a01b0390811691161461150c576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60008111611561576040805162461bcd60e51b815260206004820152601760248201527f6d61782077616c6c65742063616e206e6f742062652030000000000000000000604482015290519081900360640190fd5b633b9aca0002601655565b6115746120de565b6005546001600160a01b039081169116146115c4576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601880546001600160a01b0319166001600160a01b0392909216919091179055565b600e5481565b602080526000908152604090205481565b60155481565b600061160d6120de565b6005546001600160a01b0390811691161461165d576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0383163014156116bb576040805162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e7300000000604482015290519081900360640190fd5b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561170a57600080fd5b505afa15801561171e573d6000803e3d6000fd5b505050506040513d602081101561173457600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820184905291519293509086169163a9059cbb916044808201926020929091908290030181600087803b15801561178c57600080fd5b505af11580156117a0573d6000803e3d6000fd5b505050506040513d60208110156117b657600080fd5b5051949350505050565b60145481565b6005546001600160a01b031690565b600a5481565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d4b5780601f10610d2057610100808354040283529160200191610d4b565b6118446120de565b6005546001600160a01b03908116911614611894576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152601f602052604090205460ff1615611902576040805162461bcd60e51b815260206004820152601e60248201527f426c61636b6c6973743a20416c726561647920626c61636b6c69737465640000604482015290519081900360640190fd5b6019546001600160a01b038281169116141561195d576040805162461bcd60e51b815260206004820152601560248201527421b0b73737ba10313630b1b5b634b9ba103830b4b960591b604482015290519081900360640190fd5b6119688160016129a8565b50565b6119736120de565b6005546001600160a01b039081169116146119c3576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601b805491151563010000000263ff00000019909216919091179055565b600d5481565b6000610d696119f46120de565b84846121ce565b60135481565b60216020526000908152604090205481565b601e6020526000908152604090205460ff1681565b601d6020526000908152604090205460ff1681565b611a456120de565b6005546001600160a01b03908116911614611a95576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601c602052604090205460ff1615158115151415611b09576040805162461bcd60e51b815260206004820152601f60248201527f466565733a20416c72656164792073657420746f20746869732076616c756500604482015290519081900360640190fd5b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b611b3c6120de565b6005546001600160a01b03908116911614611b8c576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b60125460115401611968816129d3565b611ba46120de565b6005546001600160a01b03908116911614611bf4576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b601b54610100900460ff1615611c51576040805162461bcd60e51b815260206004820152601c60248201527f436f6e747261637420697320616c7265616479206c61756e6368656400000000604482015290519081900360640190fd5b601b805443601a5562ff00001961ff0019909116610100171662010000179055601354611c8d9061271090611c87906032611fe2565b90612042565b601555601354611ca69061271090611c87906064611fe2565b601655565b611cb36120de565b6005546001600160a01b03908116911614611d03576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b611d0d8282611a3d565b611d178282610f50565b6113f38282611d52565b601a5481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611d5a6120de565b6005546001600160a01b03908116911614611daa576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152601e602052604090205460ff1615158115151415611e085760405162461bcd60e51b81526004018080602001828103825260268152602001806131096026913960400191505060405180910390fd5b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b60105481565b600b5481565b60095481565b611e4d6120de565b6005546001600160a01b03908116911614611e9d576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152601f602052604090205460ff16611f0a576040805162461bcd60e51b815260206004820152601a60248201527f426c61636b6c6973743a204e6f7420626c61636b6c6973746564000000000000604482015290519081900360640190fd5b6119688160006129a8565b60075481565b60085481565b611f296120de565b6005546001600160a01b03908116911614611f79576040805162461bcd60e51b8152602060048201819052602482015260008051602061307f833981519152604482015290519081900360640190fd5b600c611f858383612084565b1115611fc25760405162461bcd60e51b8152600401808060200182810382526025815260200180612fef6025913960400191505060405180910390fd5b600791909155600955565b601f6020526000908152604090205460ff1681565b600082611ff157506000610d6d565b82820282848281611ffe57fe5b041461203b5760405162461bcd60e51b81526004018080602001828103825260218152602001806130366021913960400191505060405180910390fd5b9392505050565b600061203b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ad9565b60008282018381101561203b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b0383166121275760405162461bcd60e51b81526004018080602001828103825260248152602001806130e56024913960400191505060405180910390fd5b6001600160a01b03821661216c5760405162461bcd60e51b8152600401808060200182810382526022815260200180612f7e6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316612229576040805162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f20616464726573730000604482015290519081900360640190fd5b6001600160a01b038216612284576040805162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f206164647265737300000000604482015290519081900360640190fd5b601554811115806122ad57506001600160a01b0383166000908152601d602052604090205460ff165b806122d057506001600160a01b0382166000908152601d602052604090205460ff165b612317576040805162461bcd60e51b8152602060048201526013602482015272547820416d6f756e7420746f6f206c6172676560681b604482015290519081900360640190fd5b60165461232d82612327856113f7565b90612084565b11158061235257506001600160a01b0382166000908152601e602052604090205460ff165b61238d5760405162461bcd60e51b815260040180806020018281038252602181526020018061309f6021913960400191505060405180910390fd5b601b54610100900460ff16806123bb57506001600160a01b0383166000908152601c602052604090205460ff165b806123de57506001600160a01b0382166000908152601c602052604090205460ff165b612424576040805162461bcd60e51b815260206004820152601260248201527157616974696e6720746f20676f206c69766560701b604482015290519081900360640190fd5b6001600160a01b0383166000908152601f602052604090205460ff161561248a576040805162461bcd60e51b815260206004820152601560248201527414d95b99195c881a5cc8189b1858dadb1a5cdd1959605a1b604482015290519081900360640190fd5b806124a05761249b83836000612b3e565b61290c565b6012546011546014546019549190920191821015906001600160a01b038681169116148015906124cd5750805b80156124dc5750601b5460ff16155b1561250657601b805460ff191660011790556124f7826129d3565b601b805460ff19169055612576565b6019546001600160a01b03868116911614801561253157506019546001600160a01b03858116911614155b80156125415750601a5460020143105b801561256657506001600160a01b0384166000908152601c602052604090205460ff16155b15612576576125768460016129a8565b601b546001600160a01b0386166000908152601c602052604090205460ff918216159116806125bd57506001600160a01b0385166000908152601c602052604090205460ff165b156125c6575060005b80156128fd576019546000906001600160a01b03878116911614156127d357601b546301000000900460ff1615612748576001600160a01b03871660009081526020805260409020541580159061263a57506001600160a01b038716600090815260208052604090205442610e1090910110155b1561266a57600d54600855600e54600a556001600160a01b03871660009081526020805260409020429055612743565b6001600160a01b0387166000908152602080526040902054158015906126ae57506001600160a01b0387166000908152602080526040902054426201518090910110155b156126de57600f54600855601054600a556001600160a01b03871660009081526020805260409020429055612743565b6001600160a01b03871660009081526020805260409020541580159061272257506001600160a01b03871660009081526020805260409020544262278d0090910110155b156127365760006008819055600a55612743565b600b54600855600c54600a555b612755565b600b54600855600c54600a555b600061276e600a5460085461208490919063ffffffff16565b905061277f6064611c878884611fe2565b91506127a661279d82611c8760085486611fe290919063ffffffff16565b60115490612084565b601155600a546127ca906127c1908390611c87908690611fe2565b60125490612084565b601255506128dd565b601b5462010000900460ff1615612827576001600160a01b038616600090815260216020526040902054421161280857600080fd5b6001600160a01b0386166000908152602160205260409020601e420190555b601b546301000000900460ff16801561285557506001600160a01b0386166000908152602080526040902054155b15612875576001600160a01b038616600090815260208052604090204290555b600061288e60095460075461208490919063ffffffff16565b905061289f6064611c878884611fe2565b91506128bd61279d82611c8760075486611fe290919063ffffffff16565b6011556009546128d8906127c1908390611c87908690611fe2565b601255505b80156128fb576128ee873083612b3e565b6128f88582612c99565b94505b505b612908868686612b3e565b5050505b505050565b600081848411156129a05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561296557818101518382015260200161294d565b50505050905090810190601f1680156129925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6000601454905060006129fa6002611c8785611c8760115487611fe290919063ffffffff16565b90506000612a1282612a0c8582612c99565b90612c99565b90506000612a208484612c99565b9050612a2b81612cdb565b476000612a3c83611c878487611fe2565b90506000612a4a8383612c99565b9050612a63612a5a876002611fe2565b60115490612c99565b601155612a87612a7e612a77886002611fe2565b8990612c99565b60125490612c99565b6012556017546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015612ac4573d6000803e3d6000fd5b50612acf8682612ea7565b5050505050505050565b60008183612b285760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561296557818101518382015260200161294d565b506000838581612b3457fe5b0495945050505050565b6001600160a01b038316612b835760405162461bcd60e51b81526004018080602001828103825260258152602001806130c06025913960400191505060405180910390fd5b6001600160a01b038216612bc85760405162461bcd60e51b8152600401808060200182810382526023815260200180612f5b6023913960400191505060405180910390fd5b612bd383838361290c565b612c1081604051806060016040528060268152602001612fa0602691396001600160a01b0386166000908152602081905260409020549190612911565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612c3f9082612084565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600061203b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612911565b60408051600280825260608083018452926020830190803683370190505090503081600081518110612d0957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612d7657600080fd5b505afa158015612d8a573d6000803e3d6000fd5b505050506040513d6020811015612da057600080fd5b5051815182906001908110612db157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663791ac9478360008430426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612e6a578181015183820152602001612e52565b505050509050019650505050505050600060405180830381600087803b158015612e9357600080fd5b505af1158015612908573d6000803e3d6000fd5b6018546040805163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0390921660848301524260a483015251737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d71991849160c48082019260609290919082900301818588803b158015612f2957600080fd5b505af1158015612f3d573d6000803e3d6000fd5b50505050506040513d6060811015612f5457600080fd5b5050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365546f74616c2064656661756c74206665652063616e206e6f74206265206d6f7265207468616e203132546f74616c20627579206665652063616e206e6f74206265206d6f7265207468616e20313254784c696d69743a20416c72656164792073657420746f20746869732076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e736665722077696c6c206578636565642077616c6c6574206c696d697445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737357616c6c65744c696d69743a20416c72656164792073657420746f20746869732076616c7565546f74616c2064656661756c74206665652063616e206e6f74206265206d6f7265207468616e203235546f74616c2064656661756c74206665652063616e206e6f74206265206d6f7265207468616e203138a26469706673582212200ec15a85462400aa5591c24ea65535ef6cdcad4095eb23cdbd4fae923a58bf4a64736f6c634300060c0033

Deployed Bytecode Sourcemap

8380:13101:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5028:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5929:169;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5929:169:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8515:115;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;8515:115:0;;;;;;;;;;;;;;5342:108;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;13914:99;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13914:99:0;-1:-1:-1;;;;;13914:99:0;;:::i;:::-;;9064:33;;;;;;;;;;;;;:::i;12932:259::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12932:259:0;;;;;;;:::i;8978:38::-;;;;;;;;;;;;;:::i;6106:355::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6106:355:0;;;;;;;;;;;;;;;;;:::i;8844:36::-;;;;;;;;;;;;;:::i;11352:230::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11352:230:0;;;;;;;;;;:::i;9622:22::-;;;;;;;;;;;;;:::i;5244:92::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9522:28;;;;;;;;;;;;;:::i;8454:54::-;;;;;;;;;;;;;:::i;9758:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9758:51:0;-1:-1:-1;;;;;9758:51:0;;:::i;13199:109::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13199:109:0;;;;:::i;12662:262::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12662:262:0;;;;;;;:::i;13782:124::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13782:124:0;;:::i;13420:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13420:167:0;;:::i;9372:39::-;;;;;;;;;;;;;:::i;12318:336::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12318:336:0;;;;;;;:::i;9104:27::-;;;;;;;;;;;;;:::i;14759:172::-;;;;;;;;;;;;;:::i;5458:127::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5458:127:0;-1:-1:-1;;;;;5458:127:0;;:::i;2513:148::-;;;;;;;;;;;;;:::i;13595:179::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13595:179:0;;:::i;14021:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14021:105:0;-1:-1:-1;;;;;14021:105:0;;:::i;8936:33::-;;;;;;;;;;;;;:::i;10175:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10175:43:0;-1:-1:-1;;;;;10175:43:0;;:::i;9286:35::-;;;;;;;;;;;;;:::i;21112:323::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;21112:323:0;;;;;;;;;;:::i;9198:56::-;;;;;;;;;;;;;:::i;2299:79::-;;;;;;;;;;;;;:::i;8757:29::-;;;;;;;;;;;;;:::i;5134:104::-;;;;;;;;;;;;;:::i;14134:253::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14134:253:0;-1:-1:-1;;;;;14134:253:0;;:::i;13315:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13315:97:0;;;;:::i;8889:40::-;;;;;;;;;;;;;:::i;5591:175::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5591:175:0;;;;;;;;:::i;9140:38::-;;;;;;;;;;;;;:::i;10256:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10256:41:0;-1:-1:-1;;;;;10256:41:0;;:::i;9963:58::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9963:58:0;-1:-1:-1;;;;;9963:58:0;;:::i;9862:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9862:54:0;-1:-1:-1;;;;;9862:54:0;;:::i;11126:218::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11126:218:0;;;;;;;;;;:::i;14586:161::-;;;;;;;;;;;;;:::i;14939:326::-;;;;;;;;;;;;;:::i;11844:222::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11844:222:0;;;;;;;;;;:::i;9559:26::-;;;;;;;;;;;;;:::i;5772:151::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5772:151:0;;;;;;;;;;:::i;11590:246::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11590:246:0;;;;;;;;;;:::i;9023:32::-;;;;;;;;;;;;;:::i;8795:42::-;;;;;;;;;;;;;:::i;8722:28::-;;;;;;;;;;;;;:::i;14395:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14395:183:0;-1:-1:-1;;;;;14395:183:0;;:::i;8639:34::-;;;;;;;;;;;;;:::i;8680:35::-;;;;;;;;;;;;;:::i;12074:236::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12074:236:0;;;;;;;:::i;10085:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10085:46:0;-1:-1:-1;;;;;10085:46:0;;:::i;5028:100::-;5115:5;5108:12;;;;;;;;-1:-1:-1;;5108:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5082:13;;5108:12;;5115:5;;5108:12;;5115:5;5108:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5028:100;:::o;5929:169::-;6012:4;6029:39;6038:12;:10;:12::i;:::-;6052:7;6061:6;6029:8;:39::i;:::-;-1:-1:-1;6086:4:0;5929:169;;;;;:::o;8515:115::-;8587:42;8515:115;:::o;5342:108::-;5430:12;;5342:108;:::o;13914:99::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;13990:3:::1;:15:::0;;-1:-1:-1;;;;;;13990:15:0::1;-1:-1:-1::0;;;;;13990:15:0;;;::::1;::::0;;;::::1;::::0;;13914:99::o;9064:33::-;;;;:::o;12932:259::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;13059:2:::1;13032:23;:12:::0;13049:5;13032:16:::1;:23::i;:::-;:29;;13024:83;;;;-1:-1:-1::0;;;13024:83:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13118:19;:34:::0;;;;13163:12:::1;:20:::0;12932:259::o;8978:38::-;;;;:::o;6106:355::-;6246:4;6263:36;6273:6;6281:9;6292:6;6263:9;:36::i;:::-;6310:121;6319:6;6327:12;:10;:12::i;:::-;6341:89;6379:6;6341:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6341:19:0;;;;;;:11;:19;;;;;;6361:12;:10;:12::i;:::-;-1:-1:-1;;;;;6341:33:0;;;;;;;;;;;;-1:-1:-1;6341:33:0;;;:89;:37;:89::i;:::-;6310:8;:121::i;:::-;-1:-1:-1;6449:4:0;6106:355;;;;;:::o;8844:36::-;;;;:::o;11352:230::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11447:30:0;::::1;;::::0;;;:21:::1;:30;::::0;;;;;::::1;;:39;;::::0;::::1;;;;11439:86;;;;-1:-1:-1::0;;;11439:86:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;11536:30:0;;;::::1;;::::0;;;:21:::1;:30;::::0;;;;:38;;-1:-1:-1;;11536:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11352:230::o;9622:22::-;;;;;;;;;:::o;5244:92::-;5327:1;5244:92;:::o;9522:28::-;;;-1:-1:-1;;;;;9522:28:0;;:::o;8454:54::-;8501:6;8454:54;:::o;9758:51::-;;;;;;;;;;;;;;;:::o;13199:109::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;13274:15:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;13274:26:0;;::::1;::::0;;;::::1;::::0;;13199:109::o;12662:262::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;12790:2:::1;12763:23;:12:::0;12780:5;12763:16:::1;:23::i;:::-;:29;;12755:83;;;;-1:-1:-1::0;;;12755:83:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12849:20;:35:::0;;;;12895:13:::1;:21:::0;12662:262::o;13782:124::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;13892:5:::1;13876:22;13861:12;:37:::0;13782:124::o;13420:167::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;13512:1:::1;13501:8;:12;13493:44;;;::::0;;-1:-1:-1;;;13493:44:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;13493:44:0;;;;;;;;;;;;;::::1;;13573:5;13561:18;13548:10;:31:::0;13420:167::o;9372:39::-;;;;:::o;12318:336::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;12442:2:::1;12415:23;:12:::0;12432:5;12415:16:::1;:23::i;:::-;:29;;12407:83;;;;-1:-1:-1::0;;;12407:83:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12501:16;:31:::0;;;12543:9:::1;:17:::0;;;12573:23:::1;:38:::0;;;;12622:16:::1;:24:::0;12318:336::o;9104:27::-;;;;:::o;14759:172::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;14889:3:::1;::::0;14873:50:::1;::::0;14841:21:::1;::::0;-1:-1:-1;;;;;14889:3:0::1;::::0;14873:50;::::1;;;::::0;14841:21;;14812:26:::1;14873:50:::0;14812:26;14873:50;14841:21;14889:3;14873:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;2496:1;14759:172::o:0;5458:127::-;-1:-1:-1;;;;;5559:18:0;5532:7;5559:18;;;;;;;;;;;;5458:127::o;2513:148::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;2604:6:::1;::::0;2583:40:::1;::::0;2620:1:::1;::::0;-1:-1:-1;;;;;2604:6:0::1;::::0;2583:40:::1;::::0;2620:1;;2583:40:::1;2634:6;:19:::0;;-1:-1:-1;;;;;;2634:19:0::1;::::0;;2513:148::o;13595:179::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;13691:1:::1;13680:8;:12;13672:48;;;::::0;;-1:-1:-1;;;13672:48:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;13760:5;13748:18;13731:14;:35:::0;13595:179::o;14021:105::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;14097:9:::1;:21:::0;;-1:-1:-1;;;;;;14097:21:0::1;-1:-1:-1::0;;;;;14097:21:0;;;::::1;::::0;;;::::1;::::0;;14021:105::o;8936:33::-;;;;:::o;10175:43::-;;;;;;;;;;;;;:::o;9286:35::-;;;;:::o;21112:323::-;21199:10;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;21229:23:0;::::1;21247:4;21229:23;;21221:64;;;::::0;;-1:-1:-1;;;21221:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;21296:24;21330:6;-1:-1:-1::0;;;;;21323:24:0::1;;21356:4;21323:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;21323:39:0::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;21323:39:0;21381:46:::1;::::0;;-1:-1:-1;;;21381:46:0;;-1:-1:-1;;;;;21381:46:0;;::::1;;::::0;::::1;::::0;;;;;;;;;21323:39;;-1:-1:-1;21381:23:0;;::::1;::::0;::::1;::::0;:46;;;;;21323:39:::1;::::0;21381:46;;;;;;;;-1:-1:-1;21381:23:0;:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;21381:46:0;;21112:323;-1:-1:-1;;;;21112:323:0:o;9198:56::-;;;;:::o;2299:79::-;2364:6;;-1:-1:-1;;;;;2364:6:0;2299:79;:::o;8757:29::-;;;;:::o;5134:104::-;5223:7;5216:14;;;;;;;;-1:-1:-1;;5216:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5190:13;;5216:14;;5223:7;;5216:14;;5223:7;5216:14;;;;;;;;;;;;;;;;;;;;;;;;14134:253;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14214:22:0;::::1;;::::0;;;:13:::1;:22;::::0;;;;;::::1;;14213:23;14205:66;;;::::0;;-1:-1:-1;;;14205:66:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14301:13;::::0;-1:-1:-1;;;;;14290:24:0;;::::1;14301:13:::0;::::1;14290:24;;14282:58;;;::::0;;-1:-1:-1;;;14282:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14282:58:0;;;;;;;;;;;;;::::1;;14351:28;14365:7;14374:4;14351:13;:28::i;:::-;14134:253:::0;:::o;13315:97::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;13384:9:::1;:20:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;13384:20:0;;::::1;::::0;;;::::1;::::0;;13315:97::o;8889:40::-;;;;:::o;5591:175::-;5677:4;5694:42;5704:12;:10;:12::i;:::-;5718:9;5729:6;5694:9;:42::i;9140:38::-;;;;:::o;10256:41::-;;;;;;;;;;;;;:::o;9963:58::-;;;;;;;;;;;;;;;:::o;9862:54::-;;;;;;;;;;;;;;;:::o;11126:218::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11218:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;::::1;;:36;;::::0;::::1;;;;11210:80;;;::::0;;-1:-1:-1;;;11210:80:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;11301:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;11301:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11126:218::o;14586:161::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;14689:12:::1;::::0;14668:18:::1;::::0;:33:::1;14712:27;14668:33:::0;14712:8:::1;:27::i;14939:326::-:0;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;15003:10:::1;::::0;::::1;::::0;::::1;;;15002:11;14994:52;;;::::0;;-1:-1:-1;;;14994:52:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;15057:10;:17:::0;;15099:12:::1;15085:11;:26:::0;-1:-1:-1;;;;15057:17:0;;::::1;;;15122:22;::::0;::::1;::::0;;15168:7:::1;::::0;:26:::1;::::0;15188:5:::1;::::0;15168:15:::1;::::0;15180:2:::1;15168:11;:15::i;:::-;:19:::0;::::1;:26::i;:::-;15155:10;:39:::0;15230:7:::1;::::0;:27:::1;::::0;15251:5:::1;::::0;15230:16:::1;::::0;15242:3:::1;15230:11;:16::i;:27::-;15213:14;:44:::0;14939:326::o;11844:222::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;11933:31:::1;11949:7;11958:5;11933:15;:31::i;:::-;11975:34;11994:7;12003:5;11975:18;:34::i;:::-;12020:38;12043:7;12052:5;12020:22;:38::i;9559:26::-:0;;;;:::o;5772:151::-;-1:-1:-1;;;;;5888:18:0;;;5861:7;5888:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5772:151::o;11590:246::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11689:34:0;::::1;;::::0;;;:25:::1;:34;::::0;;;;;::::1;;:43;;::::0;::::1;;;;11681:94;;;;-1:-1:-1::0;;;11681:94:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;11786:34:0;;;::::1;;::::0;;;:25:::1;:34;::::0;;;;:42;;-1:-1:-1;;11786:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11590:246::o;9023:32::-;;;;:::o;8795:42::-;;;;:::o;8722:28::-;;;;:::o;14395:183::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14477:22:0;::::1;;::::0;;;:13:::1;:22;::::0;;;;;::::1;;14469:61;;;::::0;;-1:-1:-1;;;14469:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14541:29;14555:7;14564:5;14541:13;:29::i;8639:34::-:0;;;;:::o;8680:35::-;;;;:::o;12074:236::-;2436:12;:10;:12::i;:::-;2426:6;;-1:-1:-1;;;;;2426:6:0;;;:22;;;2418:67;;;;;-1:-1:-1;;;2418:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2418:67:0;;;;;;;;;;;;;;;12190:2:::1;12163:23;:12:::0;12180:5;12163:16:::1;:23::i;:::-;:29;;12155:79;;;;-1:-1:-1::0;;;12155:79:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12245:15;:30:::0;;;;12286:8:::1;:16:::0;12074:236::o;10085:46::-;;;;;;;;;;;;;;;:::o;3224:246::-;3282:7;3306:6;3302:47;;-1:-1:-1;3336:1:0;3329:8;;3302:47;3371:5;;;3375:1;3371;:5;:1;3395:5;;;;;:10;3387:56;;;;-1:-1:-1;;;3387:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3461:1;3224:246;-1:-1:-1;;;3224:246:0:o;3478:132::-;3536:7;3563:39;3567:1;3570;3563:39;;;;;;;;;;;;;;;;;:3;:39::i;2695:179::-;2753:7;2785:5;;;2809:6;;;;2801:46;;;;;-1:-1:-1;;;2801:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1589:98;1669:10;1589:98;:::o;7860:380::-;-1:-1:-1;;;;;7996:19:0;;7988:68;;;;-1:-1:-1;;;7988:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8075:21:0;;8067:68;;;;-1:-1:-1;;;8067:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8148:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8200:32;;;;;;;;;;;;;;;;;7860:380;;;:::o;15273:4082::-;-1:-1:-1;;;;;15371:18:0;;15363:61;;;;;-1:-1:-1;;;15363:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15443:16:0;;15435:57;;;;;-1:-1:-1;;;15435:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15521:10;;15511:6;:20;;:51;;;-1:-1:-1;;;;;;15535:27:0;;;;;;:21;:27;;;;;;;;15511:51;:80;;;-1:-1:-1;;;;;;15566:25:0;;;;;;:21;:25;;;;;;;;15511:80;15503:112;;;;;-1:-1:-1;;;15503:112:0;;;;;;;;;;;;-1:-1:-1;;;15503:112:0;;;;;;;;;;;;;;;15663:14;;15634:25;15652:6;15634:13;15644:2;15634:9;:13::i;:::-;:17;;:25::i;:::-;:43;;:76;;;-1:-1:-1;;;;;;15681:29:0;;;;;;:25;:29;;;;;;;;15634:76;15626:122;;;;-1:-1:-1;;;15626:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15767:10;;;;;;;;:38;;-1:-1:-1;;;;;;15781:24:0;;;;;;:18;:24;;;;;;;;15767:38;:64;;;-1:-1:-1;;;;;;15809:22:0;;;;;;:18;:22;;;;;;;;15767:64;15759:95;;;;;-1:-1:-1;;;15759:95:0;;;;;;;;;;;;-1:-1:-1;;;15759:95:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;15874:19:0;;;;;;:13;:19;;;;;;;;15873:20;15865:54;;;;;-1:-1:-1;;;15865:54:0;;;;;;;;;;;;-1:-1:-1;;;15865:54:0;;;;;;;;;;;;;;;15935:11;15932:92;;15963:28;15979:4;15985:2;15989:1;15963:15;:28::i;:::-;16006:7;;15932:92;16085:12;;16064:18;;16144:12;;16194:13;;16064:33;;;;;16123;;;;-1:-1:-1;;;;;16186:21:0;;;16194:13;;16186:21;;;;:45;;;16224:7;16186:45;:71;;;;-1:-1:-1;16249:8:0;;;;16248:9;16186:71;16169:444;;;16284:8;:15;;-1:-1:-1;;16284:15:0;16295:4;16284:15;;;16314:27;16323:17;16314:8;:27::i;:::-;16356:8;:16;;-1:-1:-1;;16356:16:0;;;16169:444;;;16415:13;;-1:-1:-1;;;;;16407:21:0;;;16415:13;;16407:21;:57;;;;-1:-1:-1;16451:13:0;;-1:-1:-1;;;;;16445:19:0;;;16451:13;;16445:19;;16407:57;:104;;;;;16496:11;;16510:1;16496:15;16481:12;:30;16407:104;:144;;;;-1:-1:-1;;;;;;16529:22:0;;;;;;:18;:22;;;;;;;;16528:23;16407:144;16390:223;;;16578:23;16592:2;16596:4;16578:13;:23::i;:::-;16641:8;;-1:-1:-1;;;;;16665:24:0;;16625:12;16665:24;;;:18;:24;;;;;;16641:8;;;;16640:9;;16665:24;;:50;;-1:-1:-1;;;;;;16693:22:0;;;;;;:18;:22;;;;;;;;16665:50;16662:97;;;-1:-1:-1;16742:5:0;16662:97;16774:7;16771:2531;;;16859:13;;16798:12;;-1:-1:-1;;;;;16853:19:0;;;16859:13;;16853:19;16849:2293;;;16896:9;;;;;;;16893:1171;;;-1:-1:-1;;;;;16933:13:0;;;;;;:7;:13;;;;;;:18;;;;:93;;-1:-1:-1;;;;;;16981:13:0;;;;;;:7;:13;;;;;;17010:15;16998:7;16981:25;;;:44;;16933:93;16929:974;;;17075:20;;17056:16;:39;17134:13;;17122:9;:25;-1:-1:-1;;;;;17174:13:0;;-1:-1:-1;17174:13:0;;;:7;:13;;;;;17190:15;17174:31;;16929:974;;;-1:-1:-1;;;;;17239:13:0;;;;;;:7;:13;;;;;;:18;;;;:94;;-1:-1:-1;;;;;;17287:13:0;;;;;;:7;:13;;;;;;17317:15;17304:8;17287:26;;;:45;;17239:94;17235:668;;;17381:19;;17362:16;:38;17439:12;;17427:9;:24;-1:-1:-1;;;;;17478:13:0;;-1:-1:-1;17478:13:0;;;:7;:13;;;;;17494:15;17478:31;;17235:668;;;-1:-1:-1;;;;;17543:13:0;;;;;;:7;:13;;;;;;:18;;;;:93;;-1:-1:-1;;;;;;17591:13:0;;;;;;:7;:13;;;;;;17620:15;17608:7;17591:25;;;:44;;17543:93;17539:364;;;17684:1;17665:16;:20;;;17712:9;:13;17539:364;;;17801:23;;17782:16;:42;17863:16;;17851:9;:28;17539:364;16893:1171;;;17970:23;;17951:16;:42;18028:16;;18016:9;:28;16893:1171;18098:21;18122:31;18143:9;;18122:16;;:20;;:31;;;;:::i;:::-;18098:55;-1:-1:-1;18179:34:0;18209:3;18179:25;:6;18098:55;18179:10;:25::i;:34::-;18172:41;;18253:69;18276:45;18307:13;18276:26;18285:16;;18276:4;:8;;:26;;;;:::i;:45::-;18253:18;;;:22;:69::i;:::-;18232:18;:90;18382:9;;18356:56;;18373:38;;18397:13;;18373:19;;:4;;:8;:19::i;:38::-;18356:12;;;:16;:56::i;:::-;18341:12;:71;-1:-1:-1;16849:2293:0;;;18511:15;;;;;;;18508:169;;;-1:-1:-1;;;;;18558:12:0;;;;;;:8;:12;;;;;;18573:15;-1:-1:-1;18550:39:0;;;;;;-1:-1:-1;;;;;18612:12:0;;;;;;:8;:12;;;;;18646:10;18627:15;:30;18612:45;;18508:169;18699:9;;;;;;;:29;;;;-1:-1:-1;;;;;;18712:11:0;;;;;;:7;:11;;;;;;:16;18699:29;18695:107;;;-1:-1:-1;;;;;18753:11:0;;;;;;:7;:11;;;;;18767:15;18753:29;;18695:107;18820:20;18843:29;18863:8;;18843:15;;:19;;:29;;;;:::i;:::-;18820:52;-1:-1:-1;18898:33:0;18927:3;18898:24;:6;18820:52;18898:10;:24::i;:33::-;18891:40;;18971:67;18994:43;19024:12;18994:25;19003:15;;18994:4;:8;;:25;;;;:::i;18971:67::-;18950:18;:88;19098:8;;19072:54;;19089:36;;19112:12;;19089:18;;:4;;:8;:18::i;19072:54::-;19057:12;:69;-1:-1:-1;16849:2293:0;19161:8;;19158:133;;19189:42;19205:4;19219;19226;19189:15;:42::i;:::-;19259:16;:6;19270:4;19259:10;:16::i;:::-;19250:25;;19158:133;16771:2531;;19314:33;19330:4;19336:2;19340:6;19314:15;:33::i;:::-;15273:4082;;;;;;;:::o;3026:190::-;3112:7;3148:12;3140:6;;;;3132:29;;;;-1:-1:-1;;;3132:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3184:5:0;;;3026:190::o;20994:110::-;-1:-1:-1;;;;;21066:22:0;;;;;;;;:13;:22;;;;;:30;;-1:-1:-1;;21066:30:0;;;;;;;;;;20994:110::o;19363:912::-;19427:14;19444:12;;19427:29;;19518:23;19544:60;19602:1;19544:53;19579:17;19544:30;19555:18;;19544:6;:10;;:30;;;;:::i;:60::-;19518:86;-1:-1:-1;19615:17:0;19635:48;19518:86;19635:27;:6;19518:86;19635:10;:27::i;:::-;:31;;:48::i;:::-;19615:68;-1:-1:-1;19694:26:0;19723:27;:6;19734:15;19723:10;:27::i;:::-;19694:56;;19763:37;19781:18;19763:17;:37::i;:::-;19834:21;19813:18;19886:49;19916:18;19886:25;19834:21;19901:9;19886:14;:25::i;:49::-;19866:69;-1:-1:-1;19946:23:0;19972:25;:10;19866:69;19972:14;:25::i;:::-;19946:51;-1:-1:-1;20031:46:0;20054:22;:15;20074:1;20054:19;:22::i;:::-;20031:18;;;:22;:46::i;:::-;20010:18;:67;20103:52;20120:34;20131:22;:15;20151:1;20131:19;:22::i;:::-;20120:6;;:10;:34::i;:::-;20103:12;;;:16;:52::i;:::-;20088:12;:67;20184:3;;20168:41;;-1:-1:-1;;;;;20184:3:0;;;;20168:41;;;;;20199:9;;20184:3;20168:41;20184:3;20168:41;20199:9;20184:3;20168:41;;;;;;;;;;;;;;;;;;;;;20220:47;20234:15;20251;20220:13;:47::i;:::-;19363:912;;;;;;;;:::o;3618:189::-;3704:7;3739:12;3732:5;3724:28;;;;-1:-1:-1;;;3724:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3763:9;3779:1;3775;:5;;;;;;;3618:189;-1:-1:-1;;;;;3618:189:0:o;6469:573::-;-1:-1:-1;;;;;6609:20:0;;6601:70;;;;-1:-1:-1;;;6601:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6690:23:0;;6682:71;;;;-1:-1:-1;;;6682:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6766:47;6787:6;6795:9;6806:6;6766:20;:47::i;:::-;6846:71;6868:6;6846:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6846:17:0;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;6826:17:0;;;:9;:17;;;;;;;;;;;:91;;;;6951:20;;;;;;;:32;;6976:6;6951:24;:32::i;:::-;-1:-1:-1;;;;;6928:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;6999:35;;;;;;;6928:20;;6999:35;;;;;;;;;;;;;6469:573;;;:::o;2882:136::-;2940:7;2967:43;2971:1;2974;2967:43;;;;;;;;;;;;;;;;;:3;:43::i;20583:403::-;20676:16;;;20690:1;20676:16;;;20652:21;20676:16;;;;;20652:21;20676:16;;;;;;;;;;-1:-1:-1;20676:16:0;20652:40;;20721:4;20703;20708:1;20703:7;;;;;;;;;;;;;:23;-1:-1:-1;;;;;20703:23:0;;;-1:-1:-1;;;;;20703:23:0;;;;;8587:42;-1:-1:-1;;;;;20747:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20747:22:0;20737:7;;:4;;20742:1;;20737:7;;;;;;;;;;;:32;-1:-1:-1;;;;;20737:32:0;;;-1:-1:-1;;;;;20737:32:0;;;;;8587:42;-1:-1:-1;;;;;20782:66:0;;20863:11;20889:1;20905:4;20932;20952:15;20782:196;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20782:196:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20283:292;20517:9;;20367:200;;;-1:-1:-1;;;20367:200:0;;20439:4;20367:200;;;;;;;;;;-1:-1:-1;20367:200:0;;;;;;;;;;-1:-1:-1;;;;;20517:9:0;;;20367:200;;;;20541:15;20367:200;;;;;8587:42;;20367:31;;20406:9;;20367:200;;;;;;;;;;;;;;;20406:9;8587:42;20367:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;20283:292:0:o

Swarm Source

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