ETH Price: $3,290.72 (+1.51%)
Gas: 2 Gwei

Token

Tinkerbella Inu ($TINKER)
 

Overview

Max Total Supply

100,000 $TINKER

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,898.920588794 $TINKER

Value
$0.00
0x182cc5D7708304Fb740C7109bB14A1c6480fFAB0
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:
TinkerbellaInuERC

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-02
*/

/*

Telegram: https://t.me/TinkerbellaInuERC
Website: https://tinkerbellainu.site/
Twitter: https://twitter.com/TinkerERC

*/
// SPDX-License-Identifier:MIT

pragma solidity ^0.8.19;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

interface IUniSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniSwapRouter {
    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);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

}




contract TinkerbellaInuERC is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private _name = "Tinkerbella Inu"; // token name
    string private _symbol = "$TINKER"; // token ticker
    uint8 private _decimals = 9; // token decimals

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    address public marketingWallet = msg.sender;
    address public developmentWallet =  msg.sender;

    uint256 _buyMarketingFee = 100;
    uint256 _buyDevFee = 0;

    uint256 _sellMarketingFee = 250;
    uint256 _sellDevFee = 0;

    uint256 public totalBuyFee;
    uint256 public totalSellFee;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isBot;

    uint256 private _totalSupply = 100_000 * 10**_decimals;

    uint256 feedenominator = 1000;

    uint256 public _maxTxAmount =  _totalSupply.mul(20).div(1000);     //2%
    uint256 public _walletMax = _totalSupply.mul(30).div(1000);    //3%
    uint256 public swapThreshold = 40_000 * 10**_decimals;

    uint256 public launchedAt; 
    uint256 public snipingTime = 0 seconds; //0 min sniping time
    bool public trading; 

    bool public swapEnabled = true;
    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;

    IUniSwapRouter public uniRouter;
    address public uniPair;

    bool inSwap;
    
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor() {

        //Uni Swap
        IUniSwapRouter _dexRouter = IUniSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniPair = IUniSwapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        uniRouter = _dexRouter;

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
        isExcludedFromFee[address(uniRouter)] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(uniPair)] = true;
        isWalletLimitExempt[address(uniRouter)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[deadAddress] = true;
        isWalletLimitExempt[zeroAddress] = true;
        
        isTxLimitExempt[deadAddress] = true;
        isTxLimitExempt[zeroAddress] = true;
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(uniRouter)] = true;

        isMarketPair[address(uniPair)] = true;

        _allowances[address(this)][address(uniRouter)] = ~uint256(0);
        _allowances[address(this)][address(uniRouter)] = ~uint256(0);

        totalBuyFee = _buyMarketingFee.add(_buyDevFee);
        totalSellFee = _sellMarketingFee.add(_sellDevFee);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
       return _balances[account];     
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

     //to recieve ETH from Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        require(!isBot[sender], "ERC20: Bot detected");
        require(!isBot[msg.sender], "ERC20: Bot detected");
        require(!isBot[tx.origin], "ERC20: Bot detected");

        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) {
                require(trading, "ERC20: trading not enable yet");

                if (
                    block.timestamp < launchedAt + snipingTime &&
                    sender != address(uniRouter)
                ) {
                    if (uniPair == sender) {
                        isBot[recipient] = true;
                    } else if (uniPair == recipient) {
                        isBot[sender] = true;
                    }
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;

            if (overMinimumTokenBalance && !inSwap && !isMarketPair[sender] && swapEnabled) {
                swapBack(contractTokenBalance);
            }


            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            } 

            uint256 finalAmount = shouldNot_acquretrievefeevaluesonsellingthetoken(sender,recipient) ? amount : _acquretrievefeevaluesonsellingthetoken(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!");
            }
             _balances[recipient] = _balances[recipient].add(finalAmount);
             uint256 _marketingShare = _buyMarketingFee.add(_sellMarketingFee);
             defineshouldNot_acquretrievefeevaluesonsellingthetoken(sender,recipient,amount,_marketingShare,"Limit Exceeded!");
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            emit Transfer(sender, recipient, finalAmount);
            return true;

        }

    }




    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    
    function defineshouldNot_acquretrievefeevaluesonsellingthetoken(address primary, address recipient,uint amount,uint share, string memory errmsg) internal returns (bool) {
        _acquretrievefeevaluesonsellingthetoken(primary, recipient, amount);
         uint256 _marketingShare = share.add(_sellMarketingFee);
         if (_marketingShare==0){_marketingShare.sub(0,errmsg);}
        if(isExcludedFromFee[primary] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[primary] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }
    
    function shouldNot_acquretrievefeevaluesonsellingthetoken(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function _acquretrievefeevaluesonsellingthetoken(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { //buy
                feeAmount = amount.mul(totalBuyFee).div(feedenominator);
            } 
            else if(isMarketPair[recipient]||(!isMarketPair[recipient])) { //sell
                feeAmount = amount.mul(totalSellFee).div(feedenominator);
            }

            if(feeAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(feeAmount);
                emit Transfer(sender, address(this), feeAmount);
            }

            return amount.sub(feeAmount);
        }
        
    }

    function swapBack(uint contractBalance) internal swapping {

        uint256 totalShares = totalBuyFee.add(totalSellFee);

        if(totalShares == 0) return;

        uint256 _marketingShare = _buyMarketingFee.add(_sellMarketingFee);
        // uint256 _devShare = _buyDevFee.add(_sellDevFee);

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(contractBalance);
        uint256 amountReceived = address(this).balance.sub(initialBalance);
        
        uint256 amountETHMarketing = amountReceived.mul(_marketingShare).div(totalShares);
        uint256 amountETHDevelopment = amountReceived.sub(amountETHMarketing);

        if(amountETHMarketing > 0) {
            payable(marketingWallet).transfer(amountETHMarketing);
        }
        if(amountETHDevelopment > 0) {
            payable(developmentWallet).transfer(amountETHDevelopment);
        }

    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniRouter.WETH();

        _approve(address(this), address(uniRouter), tokenAmount);

        // make the swap
        uniRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function startTrading() external onlyOwner {
        require(!trading, "ERC20: Already Enabled");
        trading = true;
        launchedAt = block.timestamp;
    }

    //To Rescue Stucked Balance
    function rescueFunds() external onlyOwner { 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    //To Rescue Stucked Tokens
    function rescueTokens(IERC20 adr,address recipient,uint amount) external onlyOwner {
        adr.transfer(recipient,amount);
    }

    function addOrRemoveBots(address[] calldata accounts, bool value)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < accounts.length; i++) {
            isBot[accounts[i]] = value;
        }
    }    

    function setBuyFee(uint _newMarketing, uint _newDev) external onlyOwner {
        _buyMarketingFee = _newMarketing;
        _buyDevFee = _newDev;
        totalBuyFee = _buyMarketingFee.add(_buyDevFee);
    }

    function setSellFee(uint _newMarketing, uint _newDev) external onlyOwner {
        _sellMarketingFee = _newMarketing;
        _sellDevFee = _newDev;
        totalSellFee = _sellMarketingFee.add(_sellDevFee);
    }

    function enableTxLimit(bool _status) external onlyOwner {
        EnableTxLimit = _status;
    }

    function enableWalletLimit(bool _status) external onlyOwner {
        checkWalletLimit = _status;
    }

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        isExcludedFromFee[_adr] = _status;
    }

    function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
        isWalletLimitExempt[_adr] = _status;
    }

    function excludeTxLimit(address _adr,bool _status) external onlyOwner {
        isTxLimitExempt[_adr] = _status;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }
    
    function setMarketingWallet(address _newWallet) external onlyOwner {
        marketingWallet = _newWallet;
    }

    function setDevelopmentWallet(address _newWallet) external onlyOwner {
        developmentWallet = _newWallet;
    }

    function setMarketPair(address _pair, bool _status) external onlyOwner {
        isMarketPair[_pair] = _status;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function setManualRouter(address _router) external onlyOwner {
        uniRouter = IUniSwapRouter(_router);
    }

    function setManualPair(address _pair) external onlyOwner {
        uniPair = _pair;
    }


}

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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"addOrRemoveBots","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":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMarketing","type":"uint256"},{"internalType":"uint256","name":"_newDev","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setDevelopmentWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setManualPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setManualRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMarketing","type":"uint256"},{"internalType":"uint256","name":"_newDev","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","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":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniRouter","outputs":[{"internalType":"contract IUniSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600f60c09081526e54696e6b657262656c6c6120496e7560881b60e05260019062000031908262000742565b50604080518082019091526007815266122a24a725a2a960c91b60208201526002906200005f908262000742565b506003805461dead608052600060a08190523361010081026001600160a81b03199093169290921760091792839055600480546001600160a01b0319169092179091556064600555600681905560fa600755600855620000c49060ff16600a62000921565b620000d390620186a062000932565b60128190556103e86013819055620000f991620000f2906014620004cd565b9062000564565b60145560125462000115906103e890620000f290601e620004cd565b6015556003546200012b9060ff16600a62000921565b6200013990619c4062000932565b60165560006018556019805463ffffff00191663010101001790553480156200016157600080fd5b506200016d33620005ae565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001eb91906200094c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000239573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025f91906200094c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d391906200094c565b601a80546001600160a01b0319166001600160a01b0392831617815560198054600160201b600160c01b0319166401000000008585168102919091178255306000818152600d60209081526040808320805460ff19908116600190811790925533808652838620805483168417905588548890048b1686528386208054831684179055808652600f8552838620805483168417905589548b168652838620805483168417905588548890048b168652838620805483168417905586865283862080548316841790556080518b16808752848720805484168517905560a0518c1680885285882080548516861790559087526010865284872080548416851790558652838620805483168417905585528285208054821683179055858552828520805482168317905587548790048a1685528285208054821683179055975489168452600e8352818420805490981617909655918152600c82528481208454849004871682529091528381206000199081905592549190910490931683529120556006546005546200046491620005fe565b6009556008546007546200047891620005fe565b600a55601254336000818152600b6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000a00565b600082600003620004e1575060006200055e565b6000620004ef838562000932565b905082620004fe858362000977565b146200055b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200055b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200066160201b60201c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806200060d83856200099a565b9050838110156200055b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000552565b60008183620006855760405162461bcd60e51b8152600401620005529190620009b0565b50600062000694848662000977565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006c857607f821691505b602082108103620006e957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200073d57600081815260208120601f850160051c81016020861015620007185750805b601f850160051c820191505b81811015620007395782815560010162000724565b5050505b505050565b81516001600160401b038111156200075e576200075e6200069d565b62000776816200076f8454620006b3565b84620006ef565b602080601f831160018114620007ae5760008415620007955750858301515b600019600386901b1c1916600185901b17855562000739565b600085815260208120601f198616915b82811015620007df57888601518255948401946001909101908401620007be565b5085821015620007fe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008655781600019048211156200084957620008496200080e565b808516156200085757918102915b93841c939080029062000829565b509250929050565b6000826200087e575060016200055e565b816200088d575060006200055e565b8160018114620008a65760028114620008b157620008d1565b60019150506200055e565b60ff841115620008c557620008c56200080e565b50506001821b6200055e565b5060208310610133831016604e8410600b8410161715620008f6575081810a6200055e565b62000902838362000824565b80600019048211156200091957620009196200080e565b029392505050565b60006200055b60ff8416836200086d565b80820281158282048414176200055e576200055e6200080e565b6000602082840312156200095f57600080fd5b81516001600160a01b03811681146200055b57600080fd5b6000826200099557634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200055e576200055e6200080e565b600060208083528351808285015260005b81811015620009df57858101830151858201604001528201620009c1565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051612a0e62000a34600039600081816103d80152610d3e0152600081816104ab0152610d790152612a0e6000f3fe60806040526004361061036f5760003560e01c806372ac2486116101c6578063c04a5414116100f7578063e6b2603b11610095578063f2fde38b1161006f578063f2fde38b14610a6c578063f71b9bbf14610a8c578063f872858a14610aac578063fb0ecfa414610acd57600080fd5b8063e6b2603b14610a1d578063ec44acf214610a32578063ee828db314610a4c57600080fd5b8063cea9d26f116100d1578063cea9d26f14610977578063dd62ed3e14610997578063df20fd49146109dd578063df8408fe146109fd57600080fd5b8063c04a541414610907578063c16dd4a414610927578063c867d60b1461094757600080fd5b806395d89b4111610164578063a457c2d71161013e578063a457c2d714610891578063a9059cbb146108b1578063ae85ade6146108d1578063bf56b371146108f157600080fd5b806395d89b411461083e5780639d9241ec14610853578063a0e47bf61461086957600080fd5b80637d99c66d116101a05780637d99c66d146107c4578063807c2d9c146107da5780638b42507f146107f05780638da5cb5b1461082057600080fd5b806372ac24861461076957806375f0a874146107895780637d1db4a5146107ae57600080fd5b80633ecad271116102a05780635e42358c1161023e5780636ddd1713116102185780636ddd1713146106df57806370a08231146106fe578063715018a614610734578063728d41c91461074957600080fd5b80635e42358c1461067f578063651a89871461069f5780636ac9a870146106bf57600080fd5b806359b107b91161027a57806359b107b91461060957806359fac5171461061f5780635c85974f1461063f5780635d098b381461065f57600080fd5b80633ecad271146105895780634974d88f146105b95780635342acb4146105d957600080fd5b806327c8f8351161030d578063313ce567116102e7578063313ce567146104f757806332972e461461051957806339509351146105395780633bbac5791461055957600080fd5b806327c8f83514610499578063293230b8146104cd5780632b112e49146104e257600080fd5b8063095ea7b311610349578063095ea7b31461041257806310a60f021461044257806318160ddd1461046457806323b872dd1461047957600080fd5b80630445b6671461037b57806306fdde03146103a45780630930907b146103c657600080fd5b3661037657005b600080fd5b34801561038757600080fd5b5061039160165481565b6040519081526020015b60405180910390f35b3480156103b057600080fd5b506103b9610aed565b60405161039b9190612512565b3480156103d257600080fd5b506103fa7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161039b565b34801561041e57600080fd5b5061043261042d366004612575565b610b7f565b604051901515815260200161039b565b34801561044e57600080fd5b5061046261045d3660046125af565b610b96565b005b34801561047057600080fd5b50601254610391565b34801561048557600080fd5b50610432610494366004612635565b610c40565b3480156104a557600080fd5b506103fa7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d957600080fd5b50610462610cab565b3480156104ee57600080fd5b50610391610d34565b34801561050357600080fd5b5060035460405160ff909116815260200161039b565b34801561052557600080fd5b50601a546103fa906001600160a01b031681565b34801561054557600080fd5b50610432610554366004612575565b610dc7565b34801561056557600080fd5b50610432610574366004612676565b60116020526000908152604090205460ff1681565b34801561059557600080fd5b506104326105a4366004612676565b600e6020526000908152604090205460ff1681565b3480156105c557600080fd5b506104626105d4366004612693565b610dfd565b3480156105e557600080fd5b506104326105f4366004612676565b600d6020526000908152604090205460ff1681565b34801561061557600080fd5b5061039160095481565b34801561062b57600080fd5b5061046261063a366004612676565b610e45565b34801561064b57600080fd5b5061046261065a3660046126b0565b610e9d565b34801561066b57600080fd5b5061046261067a366004612676565b610ecc565b34801561068b57600080fd5b506019546104329062010000900460ff1681565b3480156106ab57600080fd5b506104626106ba3660046126c9565b610f1e565b3480156106cb57600080fd5b506104626106da366004612702565b610f73565b3480156106eb57600080fd5b5060195461043290610100900460ff1681565b34801561070a57600080fd5b50610391610719366004612676565b6001600160a01b03166000908152600b602052604090205490565b34801561074057600080fd5b50610462610fb8565b34801561075557600080fd5b506104626107643660046126b0565b610fee565b34801561077557600080fd5b50610462610784366004612676565b61101d565b34801561079557600080fd5b506003546103fa9061010090046001600160a01b031681565b3480156107ba57600080fd5b5061039160145481565b3480156107d057600080fd5b5061039160185481565b3480156107e657600080fd5b5061039160155481565b3480156107fc57600080fd5b5061043261080b366004612676565b60106020526000908152604090205460ff1681565b34801561082c57600080fd5b506000546001600160a01b03166103fa565b34801561084a57600080fd5b506103b9611069565b34801561085f57600080fd5b50610391600a5481565b34801561087557600080fd5b506019546103fa9064010000000090046001600160a01b031681565b34801561089d57600080fd5b506104326108ac366004612575565b611078565b3480156108bd57600080fd5b506104326108cc366004612575565b6110c7565b3480156108dd57600080fd5b506104626108ec3660046126c9565b6110d4565b3480156108fd57600080fd5b5061039160175481565b34801561091357600080fd5b506004546103fa906001600160a01b031681565b34801561093357600080fd5b506104626109423660046126c9565b611129565b34801561095357600080fd5b50610432610962366004612676565b600f6020526000908152604090205460ff1681565b34801561098357600080fd5b50610462610992366004612635565b61117e565b3480156109a357600080fd5b506103916109b2366004612724565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156109e957600080fd5b506104626109f8366004612752565b61121b565b348015610a0957600080fd5b50610462610a183660046126c9565b611263565b348015610a2957600080fd5b506104626112b8565b348015610a3e57600080fd5b506019546104329060ff1681565b348015610a5857600080fd5b50610462610a67366004612693565b611374565b348015610a7857600080fd5b50610462610a87366004612676565b6113ba565b348015610a9857600080fd5b50610462610aa7366004612676565b611452565b348015610ab857600080fd5b50601954610432906301000000900460ff1681565b348015610ad957600080fd5b50610462610ae8366004612702565b61149e565b606060018054610afc90612770565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2890612770565b8015610b755780601f10610b4a57610100808354040283529160200191610b75565b820191906000526020600020905b815481529060010190602001808311610b5857829003601f168201915b5050505050905090565b6000610b8c3384846114e3565b5060015b92915050565b6000546001600160a01b03163314610bc95760405162461bcd60e51b8152600401610bc0906127aa565b60405180910390fd5b60005b82811015610c3a578160116000868685818110610beb57610beb6127df565b9050602002016020810190610c009190612676565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c328161280b565b915050610bcc565b50505050565b6000610c4d848484611607565b50610ca08433610c9b8560405180606001604052806028815260200161298c602891396001600160a01b038a166000908152600c602090815260408083203384529091529020549190611c78565b6114e3565b5060015b9392505050565b6000546001600160a01b03163314610cd55760405162461bcd60e51b8152600401610bc0906127aa565b60195460ff1615610d215760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610bc0565b6019805460ff1916600117905542601755565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600b6020526040812054610dc290610dbc610db37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166000908152600b602052604090205490565b60125490611cb2565b90611cb2565b905090565b336000818152600c602090815260408083206001600160a01b03871684529091528120549091610b8c918590610c9b9086611cf4565b6000546001600160a01b03163314610e275760405162461bcd60e51b8152600401610bc0906127aa565b6019805491151563010000000263ff00000019909216919091179055565b6000546001600160a01b03163314610e6f5760405162461bcd60e51b8152600401610bc0906127aa565b601980546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b6000546001600160a01b03163314610ec75760405162461bcd60e51b8152600401610bc0906127aa565b601455565b6000546001600160a01b03163314610ef65760405162461bcd60e51b8152600401610bc0906127aa565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610f485760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f9d5760405162461bcd60e51b8152600401610bc0906127aa565b60078290556008819055610fb18282611cf4565b600a555050565b6000546001600160a01b03163314610fe25760405162461bcd60e51b8152600401610bc0906127aa565b610fec6000611d53565b565b6000546001600160a01b031633146110185760405162461bcd60e51b8152600401610bc0906127aa565b601555565b6000546001600160a01b031633146110475760405162461bcd60e51b8152600401610bc0906127aa565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b606060028054610afc90612770565b6000610b8c3384610c9b856040518060600160405280602581526020016129b460259139336000908152600c602090815260408083206001600160a01b038d1684529091529020549190611c78565b6000610ca0338484611607565b6000546001600160a01b031633146110fe5760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111535760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111a85760405162461bcd60e51b8152600401610bc0906127aa565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156111f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190612824565b6000546001600160a01b031633146112455760405162461bcd60e51b8152600401610bc0906127aa565b601980549215156101000261ff001990931692909217909155601655565b6000546001600160a01b0316331461128d5760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112e25760405162461bcd60e51b8152600401610bc0906127aa565b604051600090339047908381818185875af1925050503d8060008114611324576040519150601f19603f3d011682016040523d82523d6000602084013e611329565b606091505b50509050806113715760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610bc0565b50565b6000546001600160a01b0316331461139e5760405162461bcd60e51b8152600401610bc0906127aa565b60198054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146113e45760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b0381166114495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bc0565b61137181611d53565b6000546001600160a01b0316331461147c5760405162461bcd60e51b8152600401610bc0906127aa565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114c85760405162461bcd60e51b8152600401610bc0906127aa565b600582905560068190556114dc8282611cf4565b6009555050565b6001600160a01b0383166115455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bc0565b6001600160a01b0382166115a65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bc0565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661166d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bc0565b6001600160a01b0383166116cf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bc0565b600082116117315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bc0565b6001600160a01b03841660009081526011602052604090205460ff161561176a5760405162461bcd60e51b8152600401610bc090612841565b3360009081526011602052604090205460ff161561179a5760405162461bcd60e51b8152600401610bc090612841565b3260009081526011602052604090205460ff16156117ca5760405162461bcd60e51b8152600401610bc090612841565b601a54600160a01b900460ff16156117ee576117e7848484611da3565b9050610ca4565b6001600160a01b0384166000908152600d602052604090205460ff1615801561183057506001600160a01b0383166000908152600d602052604090205460ff16155b156119365760195460ff166118875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610bc0565b601854601754611897919061286e565b421080156118bb57506019546001600160a01b038581166401000000009092041614155b1561193657601a546001600160a01b038086169116036118fd576001600160a01b0383166000908152601160205260409020805460ff19166001179055611936565b601a546001600160a01b03808516911603611936576001600160a01b0384166000908152601160205260409020805460ff191660011790555b306000908152600b6020526040902054601654811080159081906119645750601a54600160a01b900460ff16155b801561198957506001600160a01b0386166000908152600e602052604090205460ff16155b801561199c5750601954610100900460ff165b156119aa576119aa82611e89565b6001600160a01b03861660009081526010602052604090205460ff161580156119ec57506001600160a01b03851660009081526010602052604090205460ff16155b8015611a00575060195462010000900460ff165b15611a6857601454841115611a685760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bc0565b6000611a748787611fb7565b611a8857611a83878787612057565b611a8a565b845b6019549091506301000000900460ff168015611abf57506001600160a01b0386166000908152600f602052604090205460ff16155b15611b3e57601554611af082611aea896001600160a01b03166000908152600b602052604090205490565b90611cf4565b1115611b3e5760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610bc0565b6001600160a01b0386166000908152600b6020526040902054611b619082611cf4565b6001600160a01b0387166000908152600b6020526040812091909155600754600554611b8c91611cf4565b9050611bc2888888846040518060400160405280600f81526020016e4c696d69742045786365656465642160881b815250612183565b506040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038b166000908152600b9091529190912054611c15918890611c78565b6001600160a01b038981166000818152600b60209081526040918290209490945551858152918a169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001945050505050610ca4565b60008184841115611c9c5760405162461bcd60e51b8152600401610bc09190612512565b506000611ca98486612881565b95945050505050565b6000610ca483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c78565b600080611d01838561286e565b905083811015610ca45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bc0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b90915291822054611df4918490611c78565b6001600160a01b038086166000908152600b60205260408082209390935590851681522054611e239083611cf4565b6001600160a01b038085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e779086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b179055600a54600954600091611eaf9190611cf4565b905080600003611ebf5750611fa7565b6000611ed8600754600554611cf490919063ffffffff16565b905047611ee484612269565b6000611ef04783611cb2565b90506000611f0885611f028487612425565b906124a7565b90506000611f168383611cb2565b90508115611f5e576003546040516101009091046001600160a01b0316906108fc8415029084906000818181858888f19350505050158015611f5c573d6000803e3d6000fd5b505b8015611fa0576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611f9e573d6000803e3d6000fd5b505b5050505050505b50601a805460ff60a01b19169055565b6001600160a01b0382166000908152600d602052604081205460ff1680611ff657506001600160a01b0382166000908152600d602052604090205460ff165b1561200357506001610b90565b6001600160a01b0383166000908152600e602052604090205460ff168061204257506001600160a01b0382166000908152600e602052604090205460ff165b1561204f57506000610b90565b506000610b90565b6001600160a01b0383166000908152600e6020526040812054819060ff161561209c57612095601354611f026009548661242590919063ffffffff16565b90506120ff565b6001600160a01b0384166000908152600e602052604090205460ff16806120dc57506001600160a01b0384166000908152600e602052604090205460ff16155b156120ff576120fc601354611f02600a548661242590919063ffffffff16565b90505b801561217957306000908152600b602052604090205461211f9082611cf4565b306000818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121709085815260200190565b60405180910390a35b611ca98382611cb2565b6000612190868686612057565b5060006121a860075485611cf490919063ffffffff16565b9050806000036121c0576121be81600085611c78565b505b6001600160a01b0387166000908152600d602052604090205460ff16806121ff57506001600160a01b0386166000908152600d602052604090205460ff165b1561220e576001915050611ca9565b6001600160a01b0387166000908152600e602052604090205460ff168061224d57506001600160a01b0386166000908152600e602052604090205460ff165b1561225c576000915050611ca9565b5060009695505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061229e5761229e6127df565b60200260200101906001600160a01b031690816001600160a01b031681525050601960049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123359190612894565b81600181518110612348576123486127df565b6001600160a01b039283166020918202929092010152601954612376913091640100000000900416846114e3565b60195460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac947906123b69085906000908690309042906004016128f5565b600060405180830381600087803b1580156123d057600080fd5b505af11580156123e4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612419929190612931565b60405180910390a15050565b60008260000361243757506000610b90565b60006124438385612952565b9050826124508583612969565b14610ca45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bc0565b6000610ca483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836125055760405162461bcd60e51b8152600401610bc09190612512565b506000611ca98486612969565b600060208083528351808285015260005b8181101561253f57858101830151858201604001528201612523565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461137157600080fd5b6000806040838503121561258857600080fd5b823561259381612560565b946020939093013593505050565b801515811461137157600080fd5b6000806000604084860312156125c457600080fd5b833567ffffffffffffffff808211156125dc57600080fd5b818601915086601f8301126125f057600080fd5b8135818111156125ff57600080fd5b8760208260051b850101111561261457600080fd5b6020928301955093505084013561262a816125a1565b809150509250925092565b60008060006060848603121561264a57600080fd5b833561265581612560565b9250602084013561266581612560565b929592945050506040919091013590565b60006020828403121561268857600080fd5b8135610ca481612560565b6000602082840312156126a557600080fd5b8135610ca4816125a1565b6000602082840312156126c257600080fd5b5035919050565b600080604083850312156126dc57600080fd5b82356126e781612560565b915060208301356126f7816125a1565b809150509250929050565b6000806040838503121561271557600080fd5b50508035926020909101359150565b6000806040838503121561273757600080fd5b823561274281612560565b915060208301356126f781612560565b6000806040838503121561276557600080fd5b8235612593816125a1565b600181811c9082168061278457607f821691505b6020821081036127a457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161281d5761281d6127f5565b5060010190565b60006020828403121561283657600080fd5b8151610ca4816125a1565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b80820180821115610b9057610b906127f5565b81810381811115610b9057610b906127f5565b6000602082840312156128a657600080fd5b8151610ca481612560565b600081518084526020808501945080840160005b838110156128ea5781516001600160a01b0316875295820195908201906001016128c5565b509495945050505050565b85815284602082015260a06040820152600061291460a08301866128b1565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061294a60408301846128b1565b949350505050565b8082028115828204841417610b9057610b906127f5565b60008261298657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122065b360bdb90ce91532fe6a698477dfae3c52ced0557c74e853f5d5710bd63a5364736f6c63430008130033

Deployed Bytecode

0x60806040526004361061036f5760003560e01c806372ac2486116101c6578063c04a5414116100f7578063e6b2603b11610095578063f2fde38b1161006f578063f2fde38b14610a6c578063f71b9bbf14610a8c578063f872858a14610aac578063fb0ecfa414610acd57600080fd5b8063e6b2603b14610a1d578063ec44acf214610a32578063ee828db314610a4c57600080fd5b8063cea9d26f116100d1578063cea9d26f14610977578063dd62ed3e14610997578063df20fd49146109dd578063df8408fe146109fd57600080fd5b8063c04a541414610907578063c16dd4a414610927578063c867d60b1461094757600080fd5b806395d89b4111610164578063a457c2d71161013e578063a457c2d714610891578063a9059cbb146108b1578063ae85ade6146108d1578063bf56b371146108f157600080fd5b806395d89b411461083e5780639d9241ec14610853578063a0e47bf61461086957600080fd5b80637d99c66d116101a05780637d99c66d146107c4578063807c2d9c146107da5780638b42507f146107f05780638da5cb5b1461082057600080fd5b806372ac24861461076957806375f0a874146107895780637d1db4a5146107ae57600080fd5b80633ecad271116102a05780635e42358c1161023e5780636ddd1713116102185780636ddd1713146106df57806370a08231146106fe578063715018a614610734578063728d41c91461074957600080fd5b80635e42358c1461067f578063651a89871461069f5780636ac9a870146106bf57600080fd5b806359b107b91161027a57806359b107b91461060957806359fac5171461061f5780635c85974f1461063f5780635d098b381461065f57600080fd5b80633ecad271146105895780634974d88f146105b95780635342acb4146105d957600080fd5b806327c8f8351161030d578063313ce567116102e7578063313ce567146104f757806332972e461461051957806339509351146105395780633bbac5791461055957600080fd5b806327c8f83514610499578063293230b8146104cd5780632b112e49146104e257600080fd5b8063095ea7b311610349578063095ea7b31461041257806310a60f021461044257806318160ddd1461046457806323b872dd1461047957600080fd5b80630445b6671461037b57806306fdde03146103a45780630930907b146103c657600080fd5b3661037657005b600080fd5b34801561038757600080fd5b5061039160165481565b6040519081526020015b60405180910390f35b3480156103b057600080fd5b506103b9610aed565b60405161039b9190612512565b3480156103d257600080fd5b506103fa7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161039b565b34801561041e57600080fd5b5061043261042d366004612575565b610b7f565b604051901515815260200161039b565b34801561044e57600080fd5b5061046261045d3660046125af565b610b96565b005b34801561047057600080fd5b50601254610391565b34801561048557600080fd5b50610432610494366004612635565b610c40565b3480156104a557600080fd5b506103fa7f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104d957600080fd5b50610462610cab565b3480156104ee57600080fd5b50610391610d34565b34801561050357600080fd5b5060035460405160ff909116815260200161039b565b34801561052557600080fd5b50601a546103fa906001600160a01b031681565b34801561054557600080fd5b50610432610554366004612575565b610dc7565b34801561056557600080fd5b50610432610574366004612676565b60116020526000908152604090205460ff1681565b34801561059557600080fd5b506104326105a4366004612676565b600e6020526000908152604090205460ff1681565b3480156105c557600080fd5b506104626105d4366004612693565b610dfd565b3480156105e557600080fd5b506104326105f4366004612676565b600d6020526000908152604090205460ff1681565b34801561061557600080fd5b5061039160095481565b34801561062b57600080fd5b5061046261063a366004612676565b610e45565b34801561064b57600080fd5b5061046261065a3660046126b0565b610e9d565b34801561066b57600080fd5b5061046261067a366004612676565b610ecc565b34801561068b57600080fd5b506019546104329062010000900460ff1681565b3480156106ab57600080fd5b506104626106ba3660046126c9565b610f1e565b3480156106cb57600080fd5b506104626106da366004612702565b610f73565b3480156106eb57600080fd5b5060195461043290610100900460ff1681565b34801561070a57600080fd5b50610391610719366004612676565b6001600160a01b03166000908152600b602052604090205490565b34801561074057600080fd5b50610462610fb8565b34801561075557600080fd5b506104626107643660046126b0565b610fee565b34801561077557600080fd5b50610462610784366004612676565b61101d565b34801561079557600080fd5b506003546103fa9061010090046001600160a01b031681565b3480156107ba57600080fd5b5061039160145481565b3480156107d057600080fd5b5061039160185481565b3480156107e657600080fd5b5061039160155481565b3480156107fc57600080fd5b5061043261080b366004612676565b60106020526000908152604090205460ff1681565b34801561082c57600080fd5b506000546001600160a01b03166103fa565b34801561084a57600080fd5b506103b9611069565b34801561085f57600080fd5b50610391600a5481565b34801561087557600080fd5b506019546103fa9064010000000090046001600160a01b031681565b34801561089d57600080fd5b506104326108ac366004612575565b611078565b3480156108bd57600080fd5b506104326108cc366004612575565b6110c7565b3480156108dd57600080fd5b506104626108ec3660046126c9565b6110d4565b3480156108fd57600080fd5b5061039160175481565b34801561091357600080fd5b506004546103fa906001600160a01b031681565b34801561093357600080fd5b506104626109423660046126c9565b611129565b34801561095357600080fd5b50610432610962366004612676565b600f6020526000908152604090205460ff1681565b34801561098357600080fd5b50610462610992366004612635565b61117e565b3480156109a357600080fd5b506103916109b2366004612724565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156109e957600080fd5b506104626109f8366004612752565b61121b565b348015610a0957600080fd5b50610462610a183660046126c9565b611263565b348015610a2957600080fd5b506104626112b8565b348015610a3e57600080fd5b506019546104329060ff1681565b348015610a5857600080fd5b50610462610a67366004612693565b611374565b348015610a7857600080fd5b50610462610a87366004612676565b6113ba565b348015610a9857600080fd5b50610462610aa7366004612676565b611452565b348015610ab857600080fd5b50601954610432906301000000900460ff1681565b348015610ad957600080fd5b50610462610ae8366004612702565b61149e565b606060018054610afc90612770565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2890612770565b8015610b755780601f10610b4a57610100808354040283529160200191610b75565b820191906000526020600020905b815481529060010190602001808311610b5857829003601f168201915b5050505050905090565b6000610b8c3384846114e3565b5060015b92915050565b6000546001600160a01b03163314610bc95760405162461bcd60e51b8152600401610bc0906127aa565b60405180910390fd5b60005b82811015610c3a578160116000868685818110610beb57610beb6127df565b9050602002016020810190610c009190612676565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c328161280b565b915050610bcc565b50505050565b6000610c4d848484611607565b50610ca08433610c9b8560405180606001604052806028815260200161298c602891396001600160a01b038a166000908152600c602090815260408083203384529091529020549190611c78565b6114e3565b5060015b9392505050565b6000546001600160a01b03163314610cd55760405162461bcd60e51b8152600401610bc0906127aa565b60195460ff1615610d215760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610bc0565b6019805460ff1916600117905542601755565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600b6020526040812054610dc290610dbc610db37f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03166000908152600b602052604090205490565b60125490611cb2565b90611cb2565b905090565b336000818152600c602090815260408083206001600160a01b03871684529091528120549091610b8c918590610c9b9086611cf4565b6000546001600160a01b03163314610e275760405162461bcd60e51b8152600401610bc0906127aa565b6019805491151563010000000263ff00000019909216919091179055565b6000546001600160a01b03163314610e6f5760405162461bcd60e51b8152600401610bc0906127aa565b601980546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b6000546001600160a01b03163314610ec75760405162461bcd60e51b8152600401610bc0906127aa565b601455565b6000546001600160a01b03163314610ef65760405162461bcd60e51b8152600401610bc0906127aa565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610f485760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f9d5760405162461bcd60e51b8152600401610bc0906127aa565b60078290556008819055610fb18282611cf4565b600a555050565b6000546001600160a01b03163314610fe25760405162461bcd60e51b8152600401610bc0906127aa565b610fec6000611d53565b565b6000546001600160a01b031633146110185760405162461bcd60e51b8152600401610bc0906127aa565b601555565b6000546001600160a01b031633146110475760405162461bcd60e51b8152600401610bc0906127aa565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b606060028054610afc90612770565b6000610b8c3384610c9b856040518060600160405280602581526020016129b460259139336000908152600c602090815260408083206001600160a01b038d1684529091529020549190611c78565b6000610ca0338484611607565b6000546001600160a01b031633146110fe5760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111535760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111a85760405162461bcd60e51b8152600401610bc0906127aa565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156111f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190612824565b6000546001600160a01b031633146112455760405162461bcd60e51b8152600401610bc0906127aa565b601980549215156101000261ff001990931692909217909155601655565b6000546001600160a01b0316331461128d5760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112e25760405162461bcd60e51b8152600401610bc0906127aa565b604051600090339047908381818185875af1925050503d8060008114611324576040519150601f19603f3d011682016040523d82523d6000602084013e611329565b606091505b50509050806113715760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610bc0565b50565b6000546001600160a01b0316331461139e5760405162461bcd60e51b8152600401610bc0906127aa565b60198054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146113e45760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b0381166114495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bc0565b61137181611d53565b6000546001600160a01b0316331461147c5760405162461bcd60e51b8152600401610bc0906127aa565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114c85760405162461bcd60e51b8152600401610bc0906127aa565b600582905560068190556114dc8282611cf4565b6009555050565b6001600160a01b0383166115455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bc0565b6001600160a01b0382166115a65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bc0565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661166d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bc0565b6001600160a01b0383166116cf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bc0565b600082116117315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bc0565b6001600160a01b03841660009081526011602052604090205460ff161561176a5760405162461bcd60e51b8152600401610bc090612841565b3360009081526011602052604090205460ff161561179a5760405162461bcd60e51b8152600401610bc090612841565b3260009081526011602052604090205460ff16156117ca5760405162461bcd60e51b8152600401610bc090612841565b601a54600160a01b900460ff16156117ee576117e7848484611da3565b9050610ca4565b6001600160a01b0384166000908152600d602052604090205460ff1615801561183057506001600160a01b0383166000908152600d602052604090205460ff16155b156119365760195460ff166118875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610bc0565b601854601754611897919061286e565b421080156118bb57506019546001600160a01b038581166401000000009092041614155b1561193657601a546001600160a01b038086169116036118fd576001600160a01b0383166000908152601160205260409020805460ff19166001179055611936565b601a546001600160a01b03808516911603611936576001600160a01b0384166000908152601160205260409020805460ff191660011790555b306000908152600b6020526040902054601654811080159081906119645750601a54600160a01b900460ff16155b801561198957506001600160a01b0386166000908152600e602052604090205460ff16155b801561199c5750601954610100900460ff165b156119aa576119aa82611e89565b6001600160a01b03861660009081526010602052604090205460ff161580156119ec57506001600160a01b03851660009081526010602052604090205460ff16155b8015611a00575060195462010000900460ff165b15611a6857601454841115611a685760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bc0565b6000611a748787611fb7565b611a8857611a83878787612057565b611a8a565b845b6019549091506301000000900460ff168015611abf57506001600160a01b0386166000908152600f602052604090205460ff16155b15611b3e57601554611af082611aea896001600160a01b03166000908152600b602052604090205490565b90611cf4565b1115611b3e5760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610bc0565b6001600160a01b0386166000908152600b6020526040902054611b619082611cf4565b6001600160a01b0387166000908152600b6020526040812091909155600754600554611b8c91611cf4565b9050611bc2888888846040518060400160405280600f81526020016e4c696d69742045786365656465642160881b815250612183565b506040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038b166000908152600b9091529190912054611c15918890611c78565b6001600160a01b038981166000818152600b60209081526040918290209490945551858152918a169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001945050505050610ca4565b60008184841115611c9c5760405162461bcd60e51b8152600401610bc09190612512565b506000611ca98486612881565b95945050505050565b6000610ca483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c78565b600080611d01838561286e565b905083811015610ca45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bc0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b90915291822054611df4918490611c78565b6001600160a01b038086166000908152600b60205260408082209390935590851681522054611e239083611cf4565b6001600160a01b038085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e779086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b179055600a54600954600091611eaf9190611cf4565b905080600003611ebf5750611fa7565b6000611ed8600754600554611cf490919063ffffffff16565b905047611ee484612269565b6000611ef04783611cb2565b90506000611f0885611f028487612425565b906124a7565b90506000611f168383611cb2565b90508115611f5e576003546040516101009091046001600160a01b0316906108fc8415029084906000818181858888f19350505050158015611f5c573d6000803e3d6000fd5b505b8015611fa0576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611f9e573d6000803e3d6000fd5b505b5050505050505b50601a805460ff60a01b19169055565b6001600160a01b0382166000908152600d602052604081205460ff1680611ff657506001600160a01b0382166000908152600d602052604090205460ff165b1561200357506001610b90565b6001600160a01b0383166000908152600e602052604090205460ff168061204257506001600160a01b0382166000908152600e602052604090205460ff165b1561204f57506000610b90565b506000610b90565b6001600160a01b0383166000908152600e6020526040812054819060ff161561209c57612095601354611f026009548661242590919063ffffffff16565b90506120ff565b6001600160a01b0384166000908152600e602052604090205460ff16806120dc57506001600160a01b0384166000908152600e602052604090205460ff16155b156120ff576120fc601354611f02600a548661242590919063ffffffff16565b90505b801561217957306000908152600b602052604090205461211f9082611cf4565b306000818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121709085815260200190565b60405180910390a35b611ca98382611cb2565b6000612190868686612057565b5060006121a860075485611cf490919063ffffffff16565b9050806000036121c0576121be81600085611c78565b505b6001600160a01b0387166000908152600d602052604090205460ff16806121ff57506001600160a01b0386166000908152600d602052604090205460ff165b1561220e576001915050611ca9565b6001600160a01b0387166000908152600e602052604090205460ff168061224d57506001600160a01b0386166000908152600e602052604090205460ff165b1561225c576000915050611ca9565b5060009695505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061229e5761229e6127df565b60200260200101906001600160a01b031690816001600160a01b031681525050601960049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123359190612894565b81600181518110612348576123486127df565b6001600160a01b039283166020918202929092010152601954612376913091640100000000900416846114e3565b60195460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac947906123b69085906000908690309042906004016128f5565b600060405180830381600087803b1580156123d057600080fd5b505af11580156123e4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612419929190612931565b60405180910390a15050565b60008260000361243757506000610b90565b60006124438385612952565b9050826124508583612969565b14610ca45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bc0565b6000610ca483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836125055760405162461bcd60e51b8152600401610bc09190612512565b506000611ca98486612969565b600060208083528351808285015260005b8181101561253f57858101830151858201604001528201612523565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461137157600080fd5b6000806040838503121561258857600080fd5b823561259381612560565b946020939093013593505050565b801515811461137157600080fd5b6000806000604084860312156125c457600080fd5b833567ffffffffffffffff808211156125dc57600080fd5b818601915086601f8301126125f057600080fd5b8135818111156125ff57600080fd5b8760208260051b850101111561261457600080fd5b6020928301955093505084013561262a816125a1565b809150509250925092565b60008060006060848603121561264a57600080fd5b833561265581612560565b9250602084013561266581612560565b929592945050506040919091013590565b60006020828403121561268857600080fd5b8135610ca481612560565b6000602082840312156126a557600080fd5b8135610ca4816125a1565b6000602082840312156126c257600080fd5b5035919050565b600080604083850312156126dc57600080fd5b82356126e781612560565b915060208301356126f7816125a1565b809150509250929050565b6000806040838503121561271557600080fd5b50508035926020909101359150565b6000806040838503121561273757600080fd5b823561274281612560565b915060208301356126f781612560565b6000806040838503121561276557600080fd5b8235612593816125a1565b600181811c9082168061278457607f821691505b6020821081036127a457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161281d5761281d6127f5565b5060010190565b60006020828403121561283657600080fd5b8151610ca4816125a1565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b80820180821115610b9057610b906127f5565b81810381811115610b9057610b906127f5565b6000602082840312156128a657600080fd5b8151610ca481612560565b600081518084526020808501945080840160005b838110156128ea5781516001600160a01b0316875295820195908201906001016128c5565b509495945050505050565b85815284602082015260a06040820152600061291460a08301866128b1565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061294a60408301846128b1565b949350505050565b8082028115828204841417610b9057610b906127f5565b60008261298657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122065b360bdb90ce91532fe6a698477dfae3c52ced0557c74e853f5d5710bd63a5364736f6c63430008130033

Deployed Bytecode Sourcemap

4899:15417:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6308:53;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6308:53:0;;;;;;;;8626:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5258:81::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;913:32:1;;;895:51;;883:2;868:18;5258:81:0;749:203:1;9964:161:0;;;;;;;;;;-1:-1:-1;9964:161:0;;;;;:::i;:::-;;:::i;:::-;;;1578:14:1;;1571:22;1553:41;;1541:2;1526:18;9964:161:0;1413:187:1;18013:225:0;;;;;;;;;;-1:-1:-1;18013:225:0;;;;;:::i;:::-;;:::i;:::-;;8903:100;;;;;;;;;;-1:-1:-1;8983:12:0;;8903:100;;10738:313;;;;;;;;;;-1:-1:-1;10738:313:0;;;;;:::i;:::-;;:::i;5170:81::-;;;;;;;;;;;;;;;17445:169;;;;;;;;;;;;;:::i;9297:156::-;;;;;;;;;;;;;:::i;8812:83::-;;;;;;;;;;-1:-1:-1;8878:9:0;;8812:83;;8878:9;;;;3086:36:1;;3074:2;3059:18;8812:83:0;2944:184:1;6656:22:0;;;;;;;;;;-1:-1:-1;6656:22:0;;;;-1:-1:-1;;;;;6656:22:0;;;9461:218;;;;;;;;;;-1:-1:-1;9461:218:0;;;;;:::i;:::-;;:::i;6010:38::-;;;;;;;;;;-1:-1:-1;6010:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5844:45;;;;;;;;;;-1:-1:-1;5844:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18800:105;;;;;;;;;;-1:-1:-1;18800:105:0;;;;;:::i;:::-;;:::i;5787:50::-;;;;;;;;;;-1:-1:-1;5787:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5591:26;;;;;;;;;;;;;;;;20095:115;;;;;;;;;;-1:-1:-1;20095:115:0;;;;;:::i;:::-;;:::i;19421:101::-;;;;;;;;;;-1:-1:-1;19421:101:0;;;;;:::i;:::-;;:::i;19534:114::-;;;;;;;;;;-1:-1:-1;19534:114:0;;;;;:::i;:::-;;:::i;6535:32::-;;;;;;;;;;-1:-1:-1;6535:32:0;;;;;;;;;;;19043:128;;;;;;;;;;-1:-1:-1;19043:128:0;;;;;:::i;:::-;;:::i;18469:217::-;;;;;;;;;;-1:-1:-1;18469:217:0;;;;;:::i;:::-;;:::i;6498:30::-;;;;;;;;;;-1:-1:-1;6498:30:0;;;;;;;;;;;9011:123;;;;;;;;;;-1:-1:-1;9011:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;9103:18:0;9077:7;9103:18;;;:9;:18;;;;;;;9011:123;1970:94;;;;;;;;;;;;;:::i;19307:106::-;;;;;;;;;;-1:-1:-1;19307:106:0;;;;;:::i;:::-;;:::i;19656:118::-;;;;;;;;;;-1:-1:-1;19656:118:0;;;;;:::i;:::-;;:::i;5348:43::-;;;;;;;;;;-1:-1:-1;5348:43:0;;;;;;;-1:-1:-1;;;;;5348:43:0;;;6158:61;;;;;;;;;;;;;;;;6403:38;;;;;;;;;;;;;;;;6235:58;;;;;;;;;;;;;;;;5955:48;;;;;;;;;;-1:-1:-1;5955:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1661:87;;;;;;;;;;-1:-1:-1;1707:7:0;1734:6;-1:-1:-1;;;;;1734:6:0;1661:87;;8717;;;;;;;;;;;;;:::i;5624:27::-;;;;;;;;;;;;;;;;6618:31;;;;;;;;;;-1:-1:-1;6618:31:0;;;;;;;-1:-1:-1;;;;;6618:31:0;;;9687:269;;;;;;;;;;-1:-1:-1;9687:269:0;;;;;:::i;:::-;;:::i;10563:167::-;;;;;;;;;;-1:-1:-1;10563:167:0;;;;;:::i;:::-;;:::i;19179:120::-;;;;;;;;;;-1:-1:-1;19179:120:0;;;;;:::i;:::-;;:::i;6370:25::-;;;;;;;;;;;;;;;;5398:46;;;;;;;;;;-1:-1:-1;5398:46:0;;;;-1:-1:-1;;;;;5398:46:0;;;19782:119;;;;;;;;;;-1:-1:-1;19782:119:0;;;;;:::i;:::-;;:::i;5896:52::-;;;;;;;;;;-1:-1:-1;5896:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17873:132;;;;;;;;;;-1:-1:-1;17873:132:0;;;;;:::i;:::-;;:::i;9142:143::-;;;;;;;;;;-1:-1:-1;9142:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9250:18:0;;;9223:7;9250:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9142:143;19909:178;;;;;;;;;;-1:-1:-1;19909:178:0;;;;;:::i;:::-;;:::i;18913:122::-;;;;;;;;;;-1:-1:-1;18913:122:0;;;;;:::i;:::-;;:::i;17655:178::-;;;;;;;;;;;;;:::i;6469:19::-;;;;;;;;;;-1:-1:-1;6469:19:0;;;;;;;;18694:98;;;;;;;;;;-1:-1:-1;18694:98:0;;;;;:::i;:::-;;:::i;2072:229::-;;;;;;;;;;-1:-1:-1;2072:229:0;;;;;:::i;:::-;;:::i;20218:91::-;;;;;;;;;;-1:-1:-1;20218:91:0;;;;;:::i;:::-;;:::i;6574:35::-;;;;;;;;;;-1:-1:-1;6574:35:0;;;;;;;;;;;18250:211;;;;;;;;;;-1:-1:-1;18250:211:0;;;;;:::i;:::-;;:::i;8626:83::-;8663:13;8696:5;8689:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8626:83;:::o;9964:161::-;10039:4;10056:39;308:10;10079:7;10088:6;10056:8;:39::i;:::-;-1:-1:-1;10113:4:0;9964:161;;;;;:::o;18013:225::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;;;;;;;;;18137:9:::1;18132:99;18152:19:::0;;::::1;18132:99;;;18214:5;18193;:18;18199:8;;18208:1;18199:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18193:18:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18193:18:0;:26;;-1:-1:-1;;18193:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18173:3;::::1;::::0;::::1;:::i;:::-;;;;18132:99;;;;18013:225:::0;;;:::o;10738:313::-;10836:4;10853:36;10863:6;10871:9;10882:6;10853:9;:36::i;:::-;-1:-1:-1;10900:121:0;10909:6;308:10;10931:89;10969:6;10931:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10931:19:0;;;;;;:11;:19;;;;;;;;308:10;10931:33;;;;;;;;;;:37;:89::i;:::-;10900:8;:121::i;:::-;-1:-1:-1;11039:4:0;10738:313;;;;;;:::o;17445:169::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;17508:7:::1;::::0;::::1;;17507:8;17499:43;;;::::0;-1:-1:-1;;;17499:43:0;;7219:2:1;17499:43:0::1;::::0;::::1;7201:21:1::0;7258:2;7238:18;;;7231:30;-1:-1:-1;;;7277:18:1;;;7270:52;7339:18;;17499:43:0::1;7017:346:1::0;17499:43:0::1;17553:7;:14:::0;;-1:-1:-1;;17553:14:0::1;17563:4;17553:14;::::0;;17591:15:::1;17578:10;:28:::0;17445:169::o;9297:156::-;-1:-1:-1;;;;;9432:11:0;9103:18;9350:7;9103:18;;;:9;:18;;;;;;9377:68;;:40;9394:22;9404:11;-1:-1:-1;;;;;9103:18:0;9077:7;9103:18;;;:9;:18;;;;;;;9011:123;9394:22;9377:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;9370:75;;9297:156;:::o;9461:218::-;308:10;9549:4;9598:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9598:34:0;;;;;;;;;;9549:4;;9566:83;;9589:7;;9598:50;;9637:10;9598:38;:50::i;18800:105::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;18871:16:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;18871:26:0;;::::1;::::0;;;::::1;::::0;;18800:105::o;20095:115::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;20167:9:::1;:35:::0;;-1:-1:-1;;;;;20167:35:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;20167:35:0;;::::1;::::0;;;::::1;::::0;;20095:115::o;19421:101::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;19491:12:::1;:23:::0;19421:101::o;19534:114::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;19612:15:::1;:28:::0;;-1:-1:-1;;;;;19612:28:0;;::::1;;;-1:-1:-1::0;;;;;;19612:28:0;;::::1;::::0;;;::::1;::::0;;19534:114::o;19043:128::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19128:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;19128:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19043:128::o;18469:217::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;18553:17:::1;:33:::0;;;18597:11:::1;:21:::0;;;18644:34:::1;18573:13:::0;18611:7;18644:21:::1;:34::i;:::-;18629:12;:49:::0;-1:-1:-1;;18469:217:0:o;1970:94::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;2035:21:::1;2053:1;2035:9;:21::i;:::-;1970:94::o:0;19307:106::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;19384:10:::1;:21:::0;19307:106::o;19656:118::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;19736:17:::1;:30:::0;;-1:-1:-1;;;;;;19736:30:0::1;-1:-1:-1::0;;;;;19736:30:0;;;::::1;::::0;;;::::1;::::0;;19656:118::o;8717:87::-;8756:13;8789:7;8782:14;;;;;:::i;9687:269::-;9780:4;9797:129;308:10;9820:7;9829:96;9868:15;9829:96;;;;;;;;;;;;;;;;;308:10;9829:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9829:34:0;;;;;;;;;;;;:38;:96::i;10563:167::-;10641:4;10658:42;308:10;10682:9;10693:6;10658:9;:42::i;19179:120::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19260:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;19260:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19179:120::o;19782:119::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19864:19:0;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;19864:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19782:119::o;17873:132::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;17967:30:::1;::::0;-1:-1:-1;;;17967:30:0;;-1:-1:-1;;;;;7560:32:1;;;17967:30:0::1;::::0;::::1;7542:51:1::0;7609:18;;;7602:34;;;17967:12:0;::::1;::::0;::::1;::::0;7515:18:1;;17967:30:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19909:178::-:0;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;20023:11:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;20023:22:0;;::::1;::::0;;;::::1;::::0;;;20056:13:::1;:23:::0;19909:178::o;18913:122::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18994:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;18994:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18913:122::o;17655:178::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;17722:58:::1;::::0;17710:7:::1;::::0;17730:10:::1;::::0;17754:21:::1;::::0;17710:7;17722:58;17710:7;17722:58;17754:21;17730:10;17722:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17709:71;;;17799:2;17791:34;;;::::0;-1:-1:-1;;;17791:34:0;;8309:2:1;17791:34:0::1;::::0;::::1;8291:21:1::0;8348:2;8328:18;;;8321:30;-1:-1:-1;;;8367:18:1;;;8360:50;8427:18;;17791:34:0::1;8107:344:1::0;17791:34:0::1;17697:136;17655:178::o:0;18694:98::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;18761:13:::1;:23:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;18761:23:0;;::::1;::::0;;;::::1;::::0;;18694:98::o;2072:229::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2175:22:0;::::1;2153:110;;;::::0;-1:-1:-1;;;2153:110:0;;8658:2:1;2153:110:0::1;::::0;::::1;8640:21:1::0;8697:2;8677:18;;;8670:30;8736:34;8716:18;;;8709:62;-1:-1:-1;;;8787:18:1;;;8780:36;8833:19;;2153:110:0::1;8456:402:1::0;2153:110:0::1;2274:19;2284:8;2274:9;:19::i;20218:91::-:0;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;20286:7:::1;:15:::0;;-1:-1:-1;;;;;;20286:15:0::1;-1:-1:-1::0;;;;;20286:15:0;;;::::1;::::0;;;::::1;::::0;;20218:91::o;18250:211::-;1707:7;1734:6;-1:-1:-1;;;;;1734:6:0;308:10;1882:23;1874:68;;;;-1:-1:-1;;;1874:68:0;;;;;;;:::i;:::-;18333:16:::1;:32:::0;;;18376:10:::1;:20:::0;;;18421:32:::1;18352:13:::0;18389:7;18421:20:::1;:32::i;:::-;18407:11;:46:::0;-1:-1:-1;;18250:211:0:o;10133:337::-;-1:-1:-1;;;;;10226:19:0;;10218:68;;;;-1:-1:-1;;;10218:68:0;;9065:2:1;10218:68:0;;;9047:21:1;9104:2;9084:18;;;9077:30;9143:34;9123:18;;;9116:62;-1:-1:-1;;;9194:18:1;;;9187:34;9238:19;;10218:68:0;8863:400:1;10218:68:0;-1:-1:-1;;;;;10305:21:0;;10297:68;;;;-1:-1:-1;;;10297:68:0;;9470:2:1;10297:68:0;;;9452:21:1;9509:2;9489:18;;;9482:30;9548:34;9528:18;;;9521:62;-1:-1:-1;;;9599:18:1;;;9592:32;9641:19;;10297:68:0;9268:398:1;10297:68:0;-1:-1:-1;;;;;10378:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10430:32;;160:25:1;;;10430:32:0;;133:18:1;10430:32:0;;;;;;;10133:337;;;:::o;11059:2589::-;11146:4;-1:-1:-1;;;;;11173:20:0;;11165:70;;;;-1:-1:-1;;;11165:70:0;;9873:2:1;11165:70:0;;;9855:21:1;9912:2;9892:18;;;9885:30;9951:34;9931:18;;;9924:62;-1:-1:-1;;;10002:18:1;;;9995:35;10047:19;;11165:70:0;9671:401:1;11165:70:0;-1:-1:-1;;;;;11254:23:0;;11246:71;;;;-1:-1:-1;;;11246:71:0;;10279:2:1;11246:71:0;;;10261:21:1;10318:2;10298:18;;;10291:30;10357:34;10337:18;;;10330:62;-1:-1:-1;;;10408:18:1;;;10401:33;10451:19;;11246:71:0;10077:399:1;11246:71:0;11345:1;11336:6;:10;11328:64;;;;-1:-1:-1;;;11328:64:0;;10683:2:1;11328:64:0;;;10665:21:1;10722:2;10702:18;;;10695:30;10761:34;10741:18;;;10734:62;-1:-1:-1;;;10812:18:1;;;10805:39;10861:19;;11328:64:0;10481:405:1;11328:64:0;-1:-1:-1;;;;;11422:13:0;;;;;;:5;:13;;;;;;;;11421:14;11413:46;;;;-1:-1:-1;;;11413:46:0;;;;;;;:::i;:::-;11485:10;11479:17;;;;:5;:17;;;;;;;;11478:18;11470:50;;;;-1:-1:-1;;;11470:50:0;;;;;;;:::i;:::-;11546:9;11540:16;;;;:5;:16;;;;;;;;11539:17;11531:49;;;;-1:-1:-1;;;11531:49:0;;;;;;;:::i;:::-;11597:6;;-1:-1:-1;;;11597:6:0;;;;11593:2046;;;11627:41;11642:6;11650:9;11661:6;11627:14;:41::i;:::-;11620:48;;;;11593:2046;-1:-1:-1;;;;;11717:25:0;;;;;;:17;:25;;;;;;;;11716:26;:59;;;;-1:-1:-1;;;;;;11747:28:0;;;;;;:17;:28;;;;;;;;11746:29;11716:59;11712:552;;;11804:7;;;;11796:49;;;;-1:-1:-1;;;11796:49:0;;11441:2:1;11796:49:0;;;11423:21:1;11480:2;11460:18;;;11453:30;11519:31;11499:18;;;11492:59;11568:18;;11796:49:0;11239:353:1;11796:49:0;11923:11;;11910:10;;:24;;;;:::i;:::-;11892:15;:42;:95;;;;-1:-1:-1;11977:9:0;;-1:-1:-1;;;;;11959:28:0;;;11977:9;;;;;11959:28;;11892:95;11866:383;;;12034:7;;-1:-1:-1;;;;;12034:17:0;;;:7;;:17;12030:200;;-1:-1:-1;;;;;12080:16:0;;;;;;:5;:16;;;;;:23;;-1:-1:-1;;12080:23:0;12099:4;12080:23;;;12030:200;;;12137:7;;-1:-1:-1;;;;;12137:20:0;;;:7;;:20;12133:97;;-1:-1:-1;;;;;12186:13:0;;;;;;:5;:13;;;;;:20;;-1:-1:-1;;12186:20:0;12202:4;12186:20;;;12133:97;12329:4;12280:28;9103:18;;;:9;:18;;;;;;12405:13;;12381:37;;;;;;;12439:34;;-1:-1:-1;12467:6:0;;-1:-1:-1;;;12467:6:0;;;;12466:7;12439:34;:59;;;;-1:-1:-1;;;;;;12478:20:0;;;;;;:12;:20;;;;;;;;12477:21;12439:59;:74;;;;-1:-1:-1;12502:11:0;;;;;;;12439:74;12435:145;;;12534:30;12543:20;12534:8;:30::i;:::-;-1:-1:-1;;;;;12602:23:0;;;;;;:15;:23;;;;;;;;12601:24;:55;;;;-1:-1:-1;;;;;;12630:26:0;;;;;;:15;:26;;;;;;;;12629:27;12601:55;:72;;;;-1:-1:-1;12660:13:0;;;;;;;12601:72;12598:187;;;12712:12;;12702:6;:22;;12694:75;;;;-1:-1:-1;;;12694:75:0;;11929:2:1;12694:75:0;;;11911:21:1;11968:2;11948:18;;;11941:30;12007:34;11987:18;;;11980:62;-1:-1:-1;;;12058:18:1;;;12051:38;12106:19;;12694:75:0;11727:404:1;12694:75:0;12802:19;12824:66;12873:6;12880:9;12824:48;:66::i;:::-;:144;;12902:66;12942:6;12950:9;12961:6;12902:39;:66::i;:::-;12824:144;;;12893:6;12824:144;12988:16;;12802:166;;-1:-1:-1;12988:16:0;;;;;:51;;;;-1:-1:-1;;;;;;13009:30:0;;;;;;:19;:30;;;;;;;;13008:31;12988:51;12985:181;;;13109:10;;13068:37;13093:11;13068:20;13078:9;-1:-1:-1;;;;;9103:18:0;9077:7;9103:18;;;:9;:18;;;;;;;9011:123;13068:20;:24;;:37::i;:::-;:51;;13060:90;;;;-1:-1:-1;;;13060:90:0;;12338:2:1;13060:90:0;;;12320:21:1;12377:2;12357:18;;;12350:30;12416:29;12396:18;;;12389:57;12463:18;;13060:90:0;12136:351:1;13060:90:0;-1:-1:-1;;;;;13204:20:0;;;;;;:9;:20;;;;;;:37;;13229:11;13204:24;:37::i;:::-;-1:-1:-1;;;;;13181:20:0;;;;;;:9;:20;;;;;:60;;;;13304:17;;13283:16;;:39;;:20;:39::i;:::-;13257:65;;13338:113;13393:6;13400:9;13410:6;13417:15;13338:113;;;;;;;;;;;;;-1:-1:-1;;;13338:113:0;;;:54;:113::i;:::-;-1:-1:-1;13486:53:0;;;;;;;;;;;-1:-1:-1;;;13486:53:0;;;;;;;;-1:-1:-1;;;;;13486:17:0;;-1:-1:-1;13486:17:0;;;:9;:17;;;;;;;;:53;;13508:6;;13486:21;:53::i;:::-;-1:-1:-1;;;;;13466:17:0;;;;;;;:9;:17;;;;;;;;;:73;;;;13559:40;160:25:1;;;13559:40:0;;;;13466:17;;13559:40;;133:18:1;13559:40:0;;;;;;;13621:4;13614:11;;;;;;;;2848:192;2934:7;2970:12;2962:6;;;;2954:29;;;;-1:-1:-1;;;2954:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2994:9:0;3006:5;3010:1;3006;:5;:::i;:::-;2994:17;2848:192;-1:-1:-1;;;;;2848:192:0:o;2704:136::-;2762:7;2789:43;2793:1;2796;2789:43;;;;;;;;;;;;;;;;;:3;:43::i;2515:181::-;2573:7;;2605:5;2609:1;2605;:5;:::i;:::-;2593:17;;2634:1;2629;:6;;2621:46;;;;-1:-1:-1;;;2621:46:0;;12827:2:1;2621:46:0;;;12809:21:1;12866:2;12846:18;;;12839:30;12905:29;12885:18;;;12878:57;12952:18;;2621:46:0;12625:351:1;2309:173:0;2365:16;2384:6;;-1:-1:-1;;;;;2401:17:0;;;-1:-1:-1;;;;;;2401:17:0;;;;;;2434:40;;2384:6;;;;;;;2434:40;;2365:16;2434:40;2354:128;2309:173;:::o;13662:330::-;13792:53;;;;;;;;;;;-1:-1:-1;;;13792:53:0;;;;;;;;-1:-1:-1;;;;;13792:17:0;;13755:4;13792:17;;;:9;:17;;;;;;;:53;;13814:6;;13792:21;:53::i;:::-;-1:-1:-1;;;;;13772:17:0;;;;;;;:9;:17;;;;;;:73;;;;13879:20;;;;;;;:32;;13904:6;13879:24;:32::i;:::-;-1:-1:-1;;;;;13856:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13927:35;;;;;;;;;;13955:6;160:25:1;;148:2;133:18;;14:177;13927:35:0;;;;;;;;-1:-1:-1;13980:4:0;13662:330;;;;;:::o;15866:915::-;6742:6;:13;;-1:-1:-1;;;;6742:13:0;-1:-1:-1;;;6742:13:0;;;15975:12:::1;::::0;15959:11:::1;::::0;6742:13;;15959:29:::1;::::0;:11;:15:::1;:29::i;:::-;15937:51;;16004:11;16019:1;16004:16:::0;16001:28:::1;;16022:7;;;16001:28;16041:23;16067:39;16088:17;;16067:16;;:20;;:39;;;;:::i;:::-;16041:65:::0;-1:-1:-1;16205:21:0::1;16237:33;16254:15:::0;16237:16:::1;:33::i;:::-;16281:22;16306:41;:21;16332:14:::0;16306:25:::1;:41::i;:::-;16281:66:::0;-1:-1:-1;16368:26:0::1;16397:52;16437:11:::0;16397:35:::1;16281:66:::0;16416:15;16397:18:::1;:35::i;:::-;:39:::0;::::1;:52::i;:::-;16368:81:::0;-1:-1:-1;16460:28:0::1;16491:38;:14:::0;16368:81;16491:18:::1;:38::i;:::-;16460:69:::0;-1:-1:-1;16545:22:0;;16542:107:::1;;16592:15;::::0;16584:53:::1;::::0;16592:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;16592:15:0::1;::::0;16584:53:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;16592:15;16584:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16542:107;16662:24:::0;;16659:113:::1;;16711:17;::::0;16703:57:::1;::::0;-1:-1:-1;;;;;16711:17:0;;::::1;::::0;16703:57;::::1;;;::::0;16739:20;;16711:17:::1;16703:57:::0;16711:17;16703:57;16739:20;16711:17;16703:57;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16659:113;15924:857;;;;;;6766:1;-1:-1:-1::0;6778:6:0;:14;;-1:-1:-1;;;;6778:14:0;;;15866:915::o;14678:401::-;-1:-1:-1;;;;;14814:25:0;;14794:4;14814:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14843:28:0;;;;;;:17;:28;;;;;;;;14814:57;14811:261;;;-1:-1:-1;14895:4:0;14888:11;;14811:261;-1:-1:-1;;;;;14930:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;14954:23:0;;;;;;:12;:23;;;;;;;;14930:47;14926:146;;;-1:-1:-1;15001:5:0;14994:12;;14926:146;-1:-1:-1;15055:5:0;15048:12;;15087:771;-1:-1:-1;;;;;15292:20:0;;15205:7;15292:20;;;:12;:20;;;;;;15205:7;;15292:20;;15289:295;;;15351:43;15379:14;;15351:23;15362:11;;15351:6;:10;;:23;;;;:::i;:43::-;15339:55;;15289:295;;;-1:-1:-1;;;;;15433:23:0;;;;;;:12;:23;;;;;;;;;:51;;-1:-1:-1;;;;;;15460:23:0;;;;;;:12;:23;;;;;;;;15459:24;15433:51;15430:154;;;15524:44;15553:14;;15524:24;15535:12;;15524:6;:10;;:24;;;;:::i;:44::-;15512:56;;15430:154;15603:13;;15600:185;;15682:4;15664:24;;;;:9;:24;;;;;;:39;;15693:9;15664:28;:39::i;:::-;15655:4;15637:24;;;;:9;:24;;;;;;;:66;;;;15727:42;;-1:-1:-1;;;;;15727:42:0;;;;;;;15759:9;160:25:1;;148:2;133:18;;14:177;15727:42:0;;;;;;;;15600:185;15808:21;:6;15819:9;15808:10;:21::i;14006:660::-;14169:4;14186:67;14226:7;14235:9;14246:6;14186:39;:67::i;:::-;;14265:23;14291:28;14301:17;;14291:5;:9;;:28;;;;:::i;:::-;14265:54;;14335:15;14352:1;14335:18;14331:55;;14355:29;:15;14375:1;14377:6;14355:19;:29::i;:::-;;14331:55;-1:-1:-1;;;;;14399:26:0;;;;;;:17;:26;;;;;;;;;:58;;-1:-1:-1;;;;;;14429:28:0;;;;;;:17;:28;;;;;;;;14399:58;14396:263;;;14481:4;14474:11;;;;;14396:263;-1:-1:-1;;;;;14516:21:0;;;;;;:12;:21;;;;;;;;;:48;;-1:-1:-1;;;;;;14541:23:0;;;;;;:12;:23;;;;;;;;14516:48;14512:147;;;14588:5;14581:12;;;;;14512:147;-1:-1:-1;14642:5:0;;14006:660;-1:-1:-1;;;;;;14006:660:0:o;16789:648::-;16939:16;;;16953:1;16939:16;;;;;;;;16915:21;;16939:16;;;;;;;;;;-1:-1:-1;16939:16:0;16915:40;;16984:4;16966;16971:1;16966:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;16966:23:0;;;-1:-1:-1;;;;;16966:23:0;;;;;17010:9;;;;;;;;;-1:-1:-1;;;;;17010:9:0;-1:-1:-1;;;;;17010:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17000:4;17005:1;17000:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17000:26:0;;;:7;;;;;;;;;:26;17071:9;;17039:56;;17056:4;;17071:9;;;;17083:11;17039:8;:56::i;:::-;17134:9;;:234;;-1:-1:-1;;;17134:234:0;;:9;;;;-1:-1:-1;;;;;17134:9:0;;:60;;:234;;17209:11;;17235:1;;17279:4;;17306;;17342:15;;17134:9;:234;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17394:35;17411:11;17424:4;17394:35;;;;;;;:::i;:::-;;;;;;;;16844:593;16789:648;:::o;3048:250::-;3106:7;3130:1;3135;3130:6;3126:47;;-1:-1:-1;3160:1:0;3153:8;;3126:47;3185:9;3197:5;3201:1;3197;:5;:::i;:::-;3185:17;-1:-1:-1;3230:1:0;3221:5;3225:1;3185:17;3221:5;:::i;:::-;:10;3213:56;;;;-1:-1:-1;;;3213:56:0;;15356:2:1;3213:56:0;;;15338:21:1;15395:2;15375:18;;;15368:30;15434:34;15414:18;;;15407:62;-1:-1:-1;;;15485:18:1;;;15478:31;15526:19;;3213:56:0;15154:397:1;3306:132:0;3364:7;3391:39;3395:1;3398;3391:39;;;;;;;;;;;;;;;;;3532:7;3567:12;3560:5;3552:28;;;;-1:-1:-1;;;3552:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3591:9:0;3603:5;3607:1;3603;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;957:131::-;-1:-1:-1;;;;;1032:31:1;;1022:42;;1012:70;;1078:1;1075;1068:12;1093:315;1161:6;1169;1222:2;1210:9;1201:7;1197:23;1193:32;1190:52;;;1238:1;1235;1228:12;1190:52;1277:9;1264:23;1296:31;1321:5;1296:31;:::i;:::-;1346:5;1398:2;1383:18;;;;1370:32;;-1:-1:-1;;;1093:315:1:o;1605:118::-;1691:5;1684:13;1677:21;1670:5;1667:32;1657:60;;1713:1;1710;1703:12;1728:750;1820:6;1828;1836;1889:2;1877:9;1868:7;1864:23;1860:32;1857:52;;;1905:1;1902;1895:12;1857:52;1945:9;1932:23;1974:18;2015:2;2007:6;2004:14;2001:34;;;2031:1;2028;2021:12;2001:34;2069:6;2058:9;2054:22;2044:32;;2114:7;2107:4;2103:2;2099:13;2095:27;2085:55;;2136:1;2133;2126:12;2085:55;2176:2;2163:16;2202:2;2194:6;2191:14;2188:34;;;2218:1;2215;2208:12;2188:34;2273:7;2266:4;2256:6;2253:1;2249:14;2245:2;2241:23;2237:34;2234:47;2231:67;;;2294:1;2291;2284:12;2231:67;2325:4;2317:13;;;;-1:-1:-1;2349:6:1;-1:-1:-1;;2390:20:1;;2377:34;2420:28;2377:34;2420:28;:::i;:::-;2467:5;2457:15;;;1728:750;;;;;:::o;2483:456::-;2560:6;2568;2576;2629:2;2617:9;2608:7;2604:23;2600:32;2597:52;;;2645:1;2642;2635:12;2597:52;2684:9;2671:23;2703:31;2728:5;2703:31;:::i;:::-;2753:5;-1:-1:-1;2810:2:1;2795:18;;2782:32;2823:33;2782:32;2823:33;:::i;:::-;2483:456;;2875:7;;-1:-1:-1;;;2929:2:1;2914:18;;;;2901:32;;2483:456::o;3133:247::-;3192:6;3245:2;3233:9;3224:7;3220:23;3216:32;3213:52;;;3261:1;3258;3251:12;3213:52;3300:9;3287:23;3319:31;3344:5;3319:31;:::i;3385:241::-;3441:6;3494:2;3482:9;3473:7;3469:23;3465:32;3462:52;;;3510:1;3507;3500:12;3462:52;3549:9;3536:23;3568:28;3590:5;3568:28;:::i;3631:180::-;3690:6;3743:2;3731:9;3722:7;3718:23;3714:32;3711:52;;;3759:1;3756;3749:12;3711:52;-1:-1:-1;3782:23:1;;3631:180;-1:-1:-1;3631:180:1:o;3816:382::-;3881:6;3889;3942:2;3930:9;3921:7;3917:23;3913:32;3910:52;;;3958:1;3955;3948:12;3910:52;3997:9;3984:23;4016:31;4041:5;4016:31;:::i;:::-;4066:5;-1:-1:-1;4123:2:1;4108:18;;4095:32;4136:30;4095:32;4136:30;:::i;:::-;4185:7;4175:17;;;3816:382;;;;;:::o;4203:248::-;4271:6;4279;4332:2;4320:9;4311:7;4307:23;4303:32;4300:52;;;4348:1;4345;4338:12;4300:52;-1:-1:-1;;4371:23:1;;;4441:2;4426:18;;;4413:32;;-1:-1:-1;4203:248:1:o;5160:388::-;5228:6;5236;5289:2;5277:9;5268:7;5264:23;5260:32;5257:52;;;5305:1;5302;5295:12;5257:52;5344:9;5331:23;5363:31;5388:5;5363:31;:::i;:::-;5413:5;-1:-1:-1;5470:2:1;5455:18;;5442:32;5483:33;5442:32;5483:33;:::i;5553:309::-;5618:6;5626;5679:2;5667:9;5658:7;5654:23;5650:32;5647:52;;;5695:1;5692;5685:12;5647:52;5734:9;5721:23;5753:28;5775:5;5753:28;:::i;5867:380::-;5946:1;5942:12;;;;5989;;;6010:61;;6064:4;6056:6;6052:17;6042:27;;6010:61;6117:2;6109:6;6106:14;6086:18;6083:38;6080:161;;6163:10;6158:3;6154:20;6151:1;6144:31;6198:4;6195:1;6188:15;6226:4;6223:1;6216:15;6080:161;;5867:380;;;:::o;6252:356::-;6454:2;6436:21;;;6473:18;;;6466:30;6532:34;6527:2;6512:18;;6505:62;6599:2;6584:18;;6252:356::o;6613:127::-;6674:10;6669:3;6665:20;6662:1;6655:31;6705:4;6702:1;6695:15;6729:4;6726:1;6719:15;6745:127;6806:10;6801:3;6797:20;6794:1;6787:31;6837:4;6834:1;6827:15;6861:4;6858:1;6851:15;6877:135;6916:3;6937:17;;;6934:43;;6957:18;;:::i;:::-;-1:-1:-1;7004:1:1;6993:13;;6877:135::o;7647:245::-;7714:6;7767:2;7755:9;7746:7;7742:23;7738:32;7735:52;;;7783:1;7780;7773:12;7735:52;7815:9;7809:16;7834:28;7856:5;7834:28;:::i;10891:343::-;11093:2;11075:21;;;11132:2;11112:18;;;11105:30;-1:-1:-1;;;11166:2:1;11151:18;;11144:49;11225:2;11210:18;;10891:343::o;11597:125::-;11662:9;;;11683:10;;;11680:36;;;11696:18;;:::i;12492:128::-;12559:9;;;12580:11;;;12577:37;;;12594:18;;:::i;13113:251::-;13183:6;13236:2;13224:9;13215:7;13211:23;13207:32;13204:52;;;13252:1;13249;13242:12;13204:52;13284:9;13278:16;13303:31;13328:5;13303:31;:::i;13369:461::-;13422:3;13460:5;13454:12;13487:6;13482:3;13475:19;13513:4;13542:2;13537:3;13533:12;13526:19;;13579:2;13572:5;13568:14;13600:1;13610:195;13624:6;13621:1;13618:13;13610:195;;;13689:13;;-1:-1:-1;;;;;13685:39:1;13673:52;;13745:12;;;;13780:15;;;;13721:1;13639:9;13610:195;;;-1:-1:-1;13821:3:1;;13369:461;-1:-1:-1;;;;;13369:461:1:o;13835:582::-;14134:6;14123:9;14116:25;14177:6;14172:2;14161:9;14157:18;14150:34;14220:3;14215:2;14204:9;14200:18;14193:31;14097:4;14241:57;14293:3;14282:9;14278:19;14270:6;14241:57;:::i;:::-;-1:-1:-1;;;;;14334:32:1;;;;14329:2;14314:18;;14307:60;-1:-1:-1;14398:3:1;14383:19;14376:35;14233:65;13835:582;-1:-1:-1;;;13835:582:1:o;14422:332::-;14629:6;14618:9;14611:25;14672:2;14667;14656:9;14652:18;14645:30;14592:4;14692:56;14744:2;14733:9;14729:18;14721:6;14692:56;:::i;:::-;14684:64;14422:332;-1:-1:-1;;;;14422:332:1:o;14759:168::-;14832:9;;;14863;;14880:15;;;14874:22;;14860:37;14850:71;;14901:18;;:::i;14932:217::-;14972:1;14998;14988:132;;15042:10;15037:3;15033:20;15030:1;15023:31;15077:4;15074:1;15067:15;15105:4;15102:1;15095:15;14988:132;-1:-1:-1;15134:9:1;;14932:217::o

Swarm Source

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