ETH Price: $3,399.83 (-1.40%)
Gas: 2 Gwei

Token

PepeTV ($PEPETV)
 

Overview

Max Total Supply

400,000,000,000,000 $PEPETV

Holders

276

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,000,000 $PEPETV

Value
$0.00
0x12970e6868f88f6557b76120662c1b3e50a646bf
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:
PepeTV

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-07
*/

pragma solidity ^0.8.7;
//SPDX-License-Identifier: UNLICENCED
/*
    PEPETV
    The Best meme, deserves the best utility!
    4% tax on buy and sell, 4% tax on transfers
    starting taxes: 20% tax on buy and 60% sell
    Telegram:
    https://t.me/pepetvofficial
    Website: 
    https://pepetv.live/
*/

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) {
        // Solidity only automatically asserts when dividing by 0
        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;
    }
}



interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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 Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    
    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}


contract PepeTV is IERC20, Auth {

    struct PepeTVPackage{
        uint256 price;
        uint256 durationDays;
        uint256 packageID;
        string name;
        bool isOnlySpecial;
    }

    struct SubbedTvPackage{
        uint256 subbedTime;
        uint256 expiration_time;
        uint256 packageID;
        uint256 packageVariant;
        bool wasDiscounted;
        bool isSpecial;
    }

    using SafeMath for uint256;
    // fees. all uint8 for gas efficiency and storage.
    /* @dev   
        all fees are set with 1 decimal places added, please remember this when setting fees.
    */
    uint8 public liquidityFee = 10;
    uint8 public marketingFee = 30;
    uint8 public totalFee = 40;

    uint16 public initialSellFee = 600; //60%
    uint8 public initialBuyFee = 200; //20%


    // denominator. uint 16 for storage efficiency - makes the above fees all to 1 dp.
    uint16 public AllfeeDenominator = 1000;
    
    // trading control;
    bool public canTrade = false;
    uint256 public launchedAt;
    
    
    // tokenomics - uint256 BN but located here fro storage efficiency
    uint256 _totalSupply = 4 * 10**14 * (10 **_decimals); //400 tril
    uint256 public _maxTxAmount = _totalSupply / 50; // 2%
    uint256 public _maxHoldAmount = _totalSupply / 50; // 2%
    uint256 public swapThreshold = _totalSupply / 500; // 0.2%

    //Important addresses    
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;

    address public pair;

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

    mapping (address => bool) public pairs;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isMaxHoldExempt;
    mapping (address => bool) isBlacklisted;


    IDEXRouter public router;


    bool public swapEnabled = true;
    bool inSwap;

    modifier swapping() { inSwap = true; _; inSwap = false; }

    string constant _name = "PepeTV";
    string constant _symbol = "$PEPETV";
    uint8 constant _decimals = 18;

    bool public initialTaxesEnabled = true;

    constructor (address tokenOwner) Auth(tokenOwner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //Mainnet Uniswap
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); // ETH pair
        pairs[pair] = true;
        _allowances[address(this)][address(router)] = _totalSupply;
        isMaxHoldExempt[pair] = true;
        isMaxHoldExempt[DEAD] = true;
        isMaxHoldExempt[ZERO] = true;
        
        owner = tokenOwner;
        isTxLimitExempt[owner] = true;
        isFeeExempt[owner] = true;
        authorizations[owner] = true;
        isMaxHoldExempt[owner] = true;
        autoLiquidityReceiver = owner;
        marketingFeeReceiver = owner;

        _balances[owner] = _totalSupply;

        emit Transfer(address(0), owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender];} 
    
    function setBlacklistedStatus(address walletToBlacklist, bool isBlacklistedBool)external authorized{
        isBlacklisted[walletToBlacklist] = isBlacklistedBool;
    }

    function setBlacklistArray(address[] calldata walletToBlacklistArray)external authorized{
        for(uint i = 0; i < walletToBlacklistArray.length; i++){
            isBlacklisted[walletToBlacklistArray[i]] = true;
        }
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function setSwapThresholdDivisor(uint divisor)external authorized {
        require(divisor >= 100, "PepeTV: max sell percent is 1%");
        swapThreshold = _totalSupply / divisor;
    }
    
    function approveMax(address spender) external returns (bool) {
        return approve(spender, _totalSupply);
    }
    
    function setmaxholdpercentage(uint256 percentageMul10) external authorized {
        require(percentageMul10 >= 5, "PepeTV, max hold cannot be less than 0.5%"); // cant change percentage below 0.5%, so everyone can hold the percentage
        _maxHoldAmount = _totalSupply * percentageMul10 / 1000; // percentage based on amount
    }
    
    function allowtrading()external authorized {
        canTrade = true;
    }
    
    function addNewPair(address newPair)external authorized{
        pairs[newPair] = true;
        isMaxHoldExempt[newPair] = true;
    }
    
    function removePair(address pairToRemove)external authorized{
        pairs[pairToRemove] = false;
        isMaxHoldExempt[pairToRemove] = false;
    }
    
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != uint256(_totalSupply)){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(!canTrade){
            require(sender == owner, "PepeTV, Only owner or presale Contract allowed to add LP"); // only owner allowed to trade or add liquidity
        }
        if(sender != owner && recipient != owner){
            if(!pairs[recipient] && !isMaxHoldExempt[recipient]){
                require (balanceOf(recipient) + amount <= _maxHoldAmount, "PepeTV, cant hold more than max hold dude, sorry");
            }
        }
        
        checkTxLimit(sender, recipient, amount);
        require(!isBlacklisted[sender] && !isBlacklisted[recipient], "PepeTV, Sorry bro, youre blacklisted");
        if(!launched() && pairs[recipient]){ require(_balances[sender] > 0); launch(); }
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        _balances[sender] = _balances[sender].sub(amount, "PepeTV, Insufficient Balance");


        uint256 amountReceived = 0;
        if(!shouldTakeFee(sender) || !shouldTakeFee(recipient)){
            amountReceived = amount;
        }else{
            bool isbuy = pairs[sender];
            amountReceived = takeFee(sender, isbuy, amount);
        }

        if(shouldSwapBack(recipient)){ swapBack(); }

        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        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 checkTxLimit(address sender, address reciever, uint256 amount) internal view {
        if(sender != owner && reciever != owner){
            require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
        }
    }

    function shouldTakeFee(address endpt) internal view returns (bool) {
        
        return !isFeeExempt[endpt];
    }

    function takeFee(address sender, bool isBuy, uint256 amount) internal returns (uint256) {
        uint fee = totalFee;
        if(initialTaxesEnabled){
            fee = initialSellFee;
            if(isBuy){
                fee = initialBuyFee;
            }
        }

        uint256 feeAmount = amount.mul(fee).div(AllfeeDenominator);
        
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function setInitialfees(uint8 _initialBuyFeePercentMul10, uint8 _initialSellFeePercentMul10) external authorized {
        if(initialBuyFee >= _initialBuyFeePercentMul10){initialBuyFee = _initialBuyFeePercentMul10;}else{initialTaxesEnabled = false;}
        if(initialSellFee >= _initialSellFeePercentMul10){initialSellFee = _initialSellFeePercentMul10;}else{initialTaxesEnabled = false;}
    }

    // returns any mis-sent tokens to the marketing wallet
    function claimtokensback(IERC20 tokenAddress) external authorized {
        payable(marketingFeeReceiver).transfer(address(this).balance);
        tokenAddress.transfer(marketingFeeReceiver, tokenAddress.balanceOf(address(this)));
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.timestamp;
    }

    function stopInitialTax()external authorized{
        // this can only ever be called once
        initialTaxesEnabled = false;
    }

    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 200, "PepeTV, must be higher than 0.5%");
        require(amount > _maxTxAmount, "PepeTV, can only ever increase the tx limit");
        _maxTxAmount = amount;
    }

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }


    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }
    /*
    Dev sets the individual buy fees
    */
    function setFees(uint8 _liquidityFeeMul10, uint8 _marketingFeeMul10) external authorized {
        require(_liquidityFeeMul10 + _marketingFeeMul10 <= 50, "PepeTV taxes can never exceed 5%");
        require(_liquidityFeeMul10 + _marketingFeeMul10 <= totalFee, "PepeTV, taxes can only ever change ratio");
        liquidityFee = _liquidityFeeMul10;
        marketingFee = _marketingFeeMul10;
       
        totalFee = _liquidityFeeMul10 + (_marketingFeeMul10) ;
    }
    
    function swapBack() internal swapping {
        uint256 amountToLiquify = 0;
        if(liquidityFee > 0){
            amountToLiquify = swapThreshold.mul(liquidityFee).div(totalFee).div(2); // leave some tokens for liquidity addition
        }
        
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify); // swap everything bar the liquidity tokens. we need to add a pair

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        uint256 balanceBefore = address(this).balance;
        
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp + 100
        );

        uint256 amountETH = address(this).balance.sub(balanceBefore);
        
        uint256 totalETHFee = totalFee - (liquidityFee /2);
        if(totalETHFee > 0){
            uint256 amountETHMarketing = 0;
            if(marketingFee > 0){
                amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
                payable(marketingFeeReceiver).transfer(amountETHMarketing);
            }
            if(amountToLiquify > 0){
                
                uint256 amountETHLiquidity = amountETH - amountETHMarketing;
                router.addLiquidityETH{value: amountETHLiquidity}(
                    address(this),
                    amountToLiquify,
                    0,
                    0,
                    autoLiquidityReceiver,
                    block.timestamp
                );
                emit AutoLiquify(amountETHLiquidity, amountToLiquify);
            }
        }
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
    
    function shouldSwapBack(address recipient) internal view returns (bool) {
        return !inSwap
        && swapEnabled
        && pairs[recipient]
        && _balances[address(this)] >= swapThreshold;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    event AutoLiquify(uint256 amountPairToken, uint256 amountToken);

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountPairToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"AllfeeDenominator","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHoldAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newPair","type":"address"}],"name":"addNewPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowtrading","outputs":[],"stateMutability":"nonpayable","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenAddress","type":"address"}],"name":"claimtokensback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialBuyFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialSellFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialTaxesEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","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":"liquidityFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pairToRemove","type":"address"}],"name":"removePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"walletToBlacklistArray","type":"address[]"}],"name":"setBlacklistArray","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"walletToBlacklist","type":"address"},{"internalType":"bool","name":"isBlacklistedBool","type":"bool"}],"name":"setBlacklistedStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_liquidityFeeMul10","type":"uint8"},{"internalType":"uint8","name":"_marketingFeeMul10","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_initialBuyFeePercentMul10","type":"uint8"},{"internalType":"uint8","name":"_initialSellFeePercentMul10","type":"uint8"}],"name":"setInitialfees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","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":"divisor","type":"uint256"}],"name":"setSwapThresholdDivisor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentageMul10","type":"uint256"}],"name":"setmaxholdpercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopInitialTax","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":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160481b0319166703e8c80258281e0a1790556200002c6012600a62000506565b6200003f9066016bcc41e900006200051e565b600455603260045462000053919062000538565b600555603260045462000067919062000538565b6006556101f46004546200007c919062000538565b6007556008805461dead6001600160a01b0319918216179091556009805490911690556014805462ff00ff60a01b19166201000160a01b179055348015620000c357600080fd5b5060405162002c2138038062002c21833981016040819052620000e6916200055b565b600080546001600160a01b03199081166001600160a01b0384169081178355825260016020818152604093849020805460ff191690921790915560148054737a250d5630b4cf539739df2c5dacb4c659f2488d931683179055825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa15801562000176573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019c91906200055b565b6001600160a01b031663c9c65396601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022491906200055b565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000271573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029791906200055b565b600c80546001600160a01b039283166001600160a01b0319918216811783556000908152600f60209081526040808320805460ff19908116600190811790925560048054308752600e86528487206014548b1688528652848720559654881685526012808552838620805483168417905560085489168652838620805483168417905560095489168652838620805483168417905585548a8a1690881681178755865260118552838620805483168417905585548916865260108552838620805483168417905585548916865282855283862080548316841790558554891686528452828520805490911690911790558254600a805486169188169182179055600b805490951681179094559354928252600d8152838220839055815493519283529290931692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000586565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004485781600019048211156200042c576200042c620003f1565b808516156200043a57918102915b93841c93908002906200040c565b509250929050565b600082620004615750600162000500565b81620004705750600062000500565b81600181146200048957600281146200049457620004b4565b600191505062000500565b60ff841115620004a857620004a8620003f1565b50506001821b62000500565b5060208310610133831016604e8410600b8410161715620004d9575081810a62000500565b620004e5838362000407565b8060001904821115620004fc57620004fc620003f1565b0290505b92915050565b60006200051760ff84168362000450565b9392505050565b8082028115828204841417620005005762000500620003f1565b6000826200055657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200056e57600080fd5b81516001600160a01b03811681146200051757600080fd5b61268b80620005966000396000f3fe6080604052600436106102e85760003560e01c8063715b1c3b11610190578063bf56b371116100dc578063f0b37c0411610095578063f84ba65d1161006f578063f84ba65d14610947578063f887ea4014610967578063fe33b30214610987578063fe9fbb80146109b757600080fd5b8063f0b37c04146108e7578063f1366d9a14610907578063f2fde38b1461092757600080fd5b8063bf56b3711461080b578063ca33e64c14610821578063dd62ed3e14610841578063df20fd4914610887578063e405be29146108a7578063e96fada2146108c757600080fd5b8063a41d40e111610149578063a8aa1b3111610123578063a8aa1b311461078b578063a9059cbb146107ab578063af6c9c1d146107cb578063b6a5d7de146107eb57600080fd5b8063a41d40e114610736578063a4b45c0014610756578063a63342311461077657600080fd5b8063715b1c3b14610664578063759f62a6146106845780637d1db4a5146106a4578063893d20e8146106ba57806395d89b41146106ec57806398118cb41461071c57600080fd5b806331e02e0b1161024f5780635c85974f116102085780636b67c4df116101e25780636b67c4df146105d95780636ddd1713146105f85780636f2a49141461061957806370a082311461062e57600080fd5b80635c85974f14610579578063658d4b7f1461059957806366bb5dd3146105b957600080fd5b806331e02e0b146104b057806332406b35146104d15780633ab045de146104f257806342c7a6f7146105175780634fcd244614610539578063571ac8b01461055957600080fd5b806323b872dd116102a157806323b872dd146103e25780632b112e49146104025780632b36a6d2146104175780632f05205c1461044c5780632f54bf6e1461046d578063313ce5671461049c57600080fd5b80630445b667146102f457806306fdde031461031d578063095ea7b31461035557806318160ddd146103855780631df4ccfc1461039a5780631fc9efa1146103cc57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030a60075481565b6040519081526020015b60405180910390f35b34801561032957600080fd5b506040805180820190915260068152652832b832aa2b60d11b60208201525b60405161031491906121c4565b34801561036157600080fd5b5061037561037036600461222a565b6109d7565b6040519015158152602001610314565b34801561039157600080fd5b5060045461030a565b3480156103a657600080fd5b506002546103ba9062010000900460ff1681565b60405160ff9091168152602001610314565b3480156103d857600080fd5b5061030a60065481565b3480156103ee57600080fd5b506103756103fd366004612256565b610a44565b34801561040e57600080fd5b5061030a610b08565b34801561042357600080fd5b50600254610439906301000000900461ffff1681565b60405161ffff9091168152602001610314565b34801561045857600080fd5b5060025461037590600160401b900460ff1681565b34801561047957600080fd5b50610375610488366004612297565b6000546001600160a01b0391821691161490565b3480156104a857600080fd5b5060126103ba565b3480156104bc57600080fd5b506002546103ba90600160281b900460ff1681565b3480156104dd57600080fd5b5060145461037590600160b01b900460ff1681565b3480156104fe57600080fd5b50600254610439906601000000000000900461ffff1681565b34801561052357600080fd5b506105376105323660046122ca565b610b5a565b005b34801561054557600080fd5b506105376105543660046122ca565b610c14565b34801561056557600080fd5b50610375610574366004612297565b610d50565b34801561058557600080fd5b506105376105943660046122fd565b610d5e565b3480156105a557600080fd5b506105376105b4366004612324565b610e4b565b3480156105c557600080fd5b506105376105d4366004612297565b610e9b565b3480156105e557600080fd5b506002546103ba90610100900460ff1681565b34801561060457600080fd5b5060145461037590600160a01b900460ff1681565b34801561062557600080fd5b50610537610fe0565b34801561063a57600080fd5b5061030a610649366004612297565b6001600160a01b03166000908152600d602052604090205490565b34801561067057600080fd5b5061053761067f3660046122fd565b611014565b34801561069057600080fd5b5061053761069f366004612324565b6110bd565b3480156106b057600080fd5b5061030a60055481565b3480156106c657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610314565b3480156106f857600080fd5b50604080518082019091526007815266122822a822aa2b60c91b6020820152610348565b34801561072857600080fd5b506002546103ba9060ff1681565b34801561074257600080fd5b50610537610751366004612297565b61110d565b34801561076257600080fd5b5061053761077136600461235d565b61116e565b34801561078257600080fd5b506105376111c1565b34801561079757600080fd5b50600c546106d4906001600160a01b031681565b3480156107b757600080fd5b506103756107c636600461222a565b611200565b3480156107d757600080fd5b506105376107e6366004612297565b61120d565b3480156107f757600080fd5b50610537610806366004612297565b611268565b34801561081757600080fd5b5061030a60035481565b34801561082d57600080fd5b50600a546106d4906001600160a01b031681565b34801561084d57600080fd5b5061030a61085c36600461235d565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561089357600080fd5b506105376108a236600461238b565b6112b9565b3480156108b357600080fd5b506105376108c23660046123a9565b611300565b3480156108d357600080fd5b50600b546106d4906001600160a01b031681565b3480156108f357600080fd5b50610537610902366004612297565b61139c565b34801561091357600080fd5b506105376109223660046122fd565b6113e7565b34801561093357600080fd5b50610537610942366004612297565b611471565b34801561095357600080fd5b50610537610962366004612324565b611507565b34801561097357600080fd5b506014546106d4906001600160a01b031681565b34801561099357600080fd5b506103756109a2366004612297565b600f6020526000908152604090205460ff1681565b3480156109c357600080fd5b506103756109d2366004612297565b611557565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a329086815260200190565b60405180910390a35060015b92915050565b6004546001600160a01b0384166000908152600e60209081526040808320338452909152812054909114610af3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600e82528381203382529091529190912054610ace918490611575565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b610afe8484846115af565b90505b9392505050565b6009546001600160a01b03166000908152600d6020526040812054610b55906008546001600160a01b03166000908152600d6020526040902054610b4f90600454906119f6565b906119f6565b905090565b610b6333611557565b610b885760405162461bcd60e51b8152600401610b7f9061241e565b60405180910390fd5b60025460ff808416600160281b9092041610610bbd576002805465ff00000000001916600160281b60ff851602179055610bcb565b6014805460ff60b01b191690555b60025460ff8216630100000090910461ffff1610610c025760028054630100000060ff84160264ffff000000199091161790555050565b6014805460ff60b01b191690555b5050565b610c1d33611557565b610c395760405162461bcd60e51b8152600401610b7f9061241e565b6032610c458284612459565b60ff161115610c965760405162461bcd60e51b815260206004820181905260248201527f5065706554562074617865732063616e206e65766572206578636565642035256044820152606401610b7f565b60025462010000900460ff16610cac8284612459565b60ff161115610d0e5760405162461bcd60e51b815260206004820152602860248201527f5065706554562c2074617865732063616e206f6e6c792065766572206368616e604482015267676520726174696f60c01b6064820152608401610b7f565b6002805460ff8381166101000261ffff1990921690851617179055610d338183612459565b6002806101000a81548160ff021916908360ff1602179055505050565b6000610a3e826004546109d7565b610d6733611557565b610d835760405162461bcd60e51b8152600401610b7f9061241e565b60c8600454610d929190612488565b811015610de15760405162461bcd60e51b815260206004820181905260248201527f5065706554562c206d75737420626520686967686572207468616e20302e35256044820152606401610b7f565b6005548111610e465760405162461bcd60e51b815260206004820152602b60248201527f5065706554562c2063616e206f6e6c79206576657220696e637265617365207460448201526a1a19481d1e081b1a5b5a5d60aa1b6064820152608401610b7f565b600555565b610e5433611557565b610e705760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b610ea433611557565b610ec05760405162461bcd60e51b8152600401610b7f9061241e565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ef9573d6000803e3d6000fd5b50600b546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f71919061249c565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1091906124b5565b610fe933611557565b6110055760405162461bcd60e51b8152600401610b7f9061241e565b6014805460ff60b01b19169055565b61101d33611557565b6110395760405162461bcd60e51b8152600401610b7f9061241e565b600581101561109c5760405162461bcd60e51b815260206004820152602960248201527f5065706554562c206d617820686f6c642063616e6e6f74206265206c657373206044820152687468616e20302e352560b81b6064820152608401610b7f565b6103e8816004546110ad91906124d2565b6110b79190612488565b60065550565b6110c633611557565b6110e25760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b61111633611557565b6111325760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03166000908152600f602090815260408083208054600160ff1991821681179092556012909352922080549091169091179055565b61117733611557565b6111935760405162461bcd60e51b8152600401610b7f9061241e565b600a80546001600160a01b039384166001600160a01b031991821617909155600b8054929093169116179055565b6111ca33611557565b6111e65760405162461bcd60e51b8152600401610b7f9061241e565b6002805468ff00000000000000001916600160401b179055565b6000610b013384846115af565b61121633611557565b6112325760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03166000908152600f60209081526040808320805460ff19908116909155601290925290912080549091169055565b6000546001600160a01b031633146112925760405162461bcd60e51b8152600401610b7f906124e9565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6112c233611557565b6112de5760405162461bcd60e51b8152600401610b7f9061241e565b60148054921515600160a01b0260ff60a01b1990931692909217909155600755565b61130933611557565b6113255760405162461bcd60e51b8152600401610b7f9061241e565b60005b818110156113975760016013600085858581811061134857611348612509565b905060200201602081019061135d9190612297565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061138f8161251f565b915050611328565b505050565b6000546001600160a01b031633146113c65760405162461bcd60e51b8152600401610b7f906124e9565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6113f033611557565b61140c5760405162461bcd60e51b8152600401610b7f9061241e565b606481101561145d5760405162461bcd60e51b815260206004820152601e60248201527f5065706554563a206d61782073656c6c2070657263656e7420697320312500006044820152606401610b7f565b8060045461146b9190612488565b60075550565b6000546001600160a01b0316331461149b5760405162461bcd60e51b8152600401610b7f906124e9565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61151033611557565b61152c5760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156115995760405162461bcd60e51b8152600401610b7f91906121c4565b5060006115a68486612538565b95945050505050565b600254600090600160401b900460ff16611646576000546001600160a01b038581169116146116465760405162461bcd60e51b815260206004820152603860248201527f5065706554562c204f6e6c79206f776e6572206f722070726573616c6520436f60448201527f6e747261637420616c6c6f77656420746f20616464204c5000000000000000006064820152608401610b7f565b6000546001600160a01b0385811691161480159061167257506000546001600160a01b03848116911614155b15611752576001600160a01b0383166000908152600f602052604090205460ff161580156116b957506001600160a01b03831660009081526012602052604090205460ff16155b1561175257600654826116e1856001600160a01b03166000908152600d602052604090205490565b6116eb919061254b565b11156117525760405162461bcd60e51b815260206004820152603060248201527f5065706554562c2063616e7420686f6c64206d6f7265207468616e206d61782060448201526f686f6c6420647564652c20736f72727960801b6064820152608401610b7f565b61175d848484611a38565b6001600160a01b03841660009081526013602052604090205460ff1615801561179f57506001600160a01b03831660009081526013602052604090205460ff16155b6117f75760405162461bcd60e51b8152602060048201526024808201527f5065706554562c20536f7272792062726f2c20796f75726520626c61636b6c696044820152631cdd195960e21b6064820152608401610b7f565b60035415801561181f57506001600160a01b0383166000908152600f602052604090205460ff165b1561184f576001600160a01b0384166000908152600d602052604090205461184657600080fd5b61184f42600355565b601454600160a81b900460ff16156118735761186c848484611ad2565b9050610b01565b604080518082018252601c81527f5065706554562c20496e73756666696369656e742042616c616e6365000000006020808301919091526001600160a01b0387166000908152600d90915291909120546118ce918490611575565b6001600160a01b0385166000908152600d6020908152604080832093909355601090529081205460ff1615158061191f57506001600160a01b03841660009081526010602052604090205460ff1615155b1561192b575081611956565b6001600160a01b0385166000908152600f602052604090205460ff16611952868286611bb8565b9150505b61195f84611cb0565b1561196c5761196c611d1c565b6001600160a01b0384166000908152600d602052604090205461198f9082612078565b6001600160a01b038086166000818152600d602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119e39085815260200190565b60405180910390a3506001949350505050565b6000610b0183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611575565b6000546001600160a01b03848116911614801590611a6457506000546001600160a01b03838116911614155b156113975760055481111580611a9257506001600160a01b03831660009081526011602052604090205460ff165b6113975760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610b7f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d90915291822054611b23918490611575565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054611b529083612078565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ba69086815260200190565b60405180910390a35060019392505050565b60025460145460009160ff62010000909104811691600160b01b90041615611bfe57506002546301000000900461ffff168315611bfe5750600254600160281b900460ff165b600254600090611c26906601000000000000900461ffff16611c2086856120d7565b90612159565b306000908152600d6020526040902054909150611c439082612078565b306000818152600d6020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c949085815260200190565b60405180910390a3611ca684826119f6565b9695505050505050565b601454600090600160a81b900460ff16158015611cd65750601454600160a01b900460ff165b8015611cfa57506001600160a01b0382166000908152600f602052604090205460ff165b8015610a3e5750600754306000908152600d6020526040902054101592915050565b6014805460ff60a81b1916600160a81b17905560025460009060ff1615611d645760028054600754611d619291611c209160ff620100008304811692849291166120d7565b90505b600754600090611d7490836119f6565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611dae57611dae612509565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2b919061255e565b81600181518110611e3e57611e3e612509565b6001600160a01b03928316602091820292909201015260145447911663791ac9478460008530611e6f42606461254b565b6040518663ffffffff1660e01b8152600401611e8f95949392919061257b565b600060405180830381600087803b158015611ea957600080fd5b505af1158015611ebd573d6000803e3d6000fd5b505050506000611ed682476119f690919063ffffffff16565b60028054919250600091611eed919060ff166125ec565b600254611f03919062010000900460ff1661260e565b60ff169050801561206357600254600090610100900460ff1615611f7a57600254611f3d908390611c20908690610100900460ff166120d7565b600b546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611f78573d6000803e3d6000fd5b505b8615612061576000611f8c8285612538565b601454600a5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af1158015611ffe573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120239190612627565b505060408051838152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a1505b505b50506014805460ff60a81b1916905550505050565b600080612085838561254b565b905083811015610b015760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b7f565b6000826000036120e957506000610a3e565b60006120f583856124d2565b9050826121028583612488565b14610b015760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b7f565b6000610b0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836121b75760405162461bcd60e51b8152600401610b7f91906121c4565b5060006115a68486612488565b600060208083528351808285015260005b818110156121f1578581018301518582016040015282016121d5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461222757600080fd5b50565b6000806040838503121561223d57600080fd5b823561224881612212565b946020939093013593505050565b60008060006060848603121561226b57600080fd5b833561227681612212565b9250602084013561228681612212565b929592945050506040919091013590565b6000602082840312156122a957600080fd5b8135610b0181612212565b803560ff811681146122c557600080fd5b919050565b600080604083850312156122dd57600080fd5b6122e6836122b4565b91506122f4602084016122b4565b90509250929050565b60006020828403121561230f57600080fd5b5035919050565b801515811461222757600080fd5b6000806040838503121561233757600080fd5b823561234281612212565b9150602083013561235281612316565b809150509250929050565b6000806040838503121561237057600080fd5b823561237b81612212565b9150602083013561235281612212565b6000806040838503121561239e57600080fd5b823561224881612316565b600080602083850312156123bc57600080fd5b823567ffffffffffffffff808211156123d457600080fd5b818501915085601f8301126123e857600080fd5b8135818111156123f757600080fd5b8660208260051b850101111561240c57600080fd5b60209290920196919550909350505050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160190811115610a3e57610a3e612443565b634e487b7160e01b600052601260045260246000fd5b60008261249757612497612472565b500490565b6000602082840312156124ae57600080fd5b5051919050565b6000602082840312156124c757600080fd5b8151610b0181612316565b8082028115828204841417610a3e57610a3e612443565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161253157612531612443565b5060010190565b81810381811115610a3e57610a3e612443565b80820180821115610a3e57610a3e612443565b60006020828403121561257057600080fd5b8151610b0181612212565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125cb5784516001600160a01b0316835293830193918301916001016125a6565b50506001600160a01b03969096166060850152505050608001529392505050565b600060ff8316806125ff576125ff612472565b8060ff84160491505092915050565b60ff8281168282160390811115610a3e57610a3e612443565b60008060006060848603121561263c57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220ece8758b2daa6f9ca59465fe8d88a117dc919c1021bcce42908faba3801a80f864736f6c63430008130033000000000000000000000000a8d93081ac8aab443648c181a9323efff39f2071

Deployed Bytecode

0x6080604052600436106102e85760003560e01c8063715b1c3b11610190578063bf56b371116100dc578063f0b37c0411610095578063f84ba65d1161006f578063f84ba65d14610947578063f887ea4014610967578063fe33b30214610987578063fe9fbb80146109b757600080fd5b8063f0b37c04146108e7578063f1366d9a14610907578063f2fde38b1461092757600080fd5b8063bf56b3711461080b578063ca33e64c14610821578063dd62ed3e14610841578063df20fd4914610887578063e405be29146108a7578063e96fada2146108c757600080fd5b8063a41d40e111610149578063a8aa1b3111610123578063a8aa1b311461078b578063a9059cbb146107ab578063af6c9c1d146107cb578063b6a5d7de146107eb57600080fd5b8063a41d40e114610736578063a4b45c0014610756578063a63342311461077657600080fd5b8063715b1c3b14610664578063759f62a6146106845780637d1db4a5146106a4578063893d20e8146106ba57806395d89b41146106ec57806398118cb41461071c57600080fd5b806331e02e0b1161024f5780635c85974f116102085780636b67c4df116101e25780636b67c4df146105d95780636ddd1713146105f85780636f2a49141461061957806370a082311461062e57600080fd5b80635c85974f14610579578063658d4b7f1461059957806366bb5dd3146105b957600080fd5b806331e02e0b146104b057806332406b35146104d15780633ab045de146104f257806342c7a6f7146105175780634fcd244614610539578063571ac8b01461055957600080fd5b806323b872dd116102a157806323b872dd146103e25780632b112e49146104025780632b36a6d2146104175780632f05205c1461044c5780632f54bf6e1461046d578063313ce5671461049c57600080fd5b80630445b667146102f457806306fdde031461031d578063095ea7b31461035557806318160ddd146103855780631df4ccfc1461039a5780631fc9efa1146103cc57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030a60075481565b6040519081526020015b60405180910390f35b34801561032957600080fd5b506040805180820190915260068152652832b832aa2b60d11b60208201525b60405161031491906121c4565b34801561036157600080fd5b5061037561037036600461222a565b6109d7565b6040519015158152602001610314565b34801561039157600080fd5b5060045461030a565b3480156103a657600080fd5b506002546103ba9062010000900460ff1681565b60405160ff9091168152602001610314565b3480156103d857600080fd5b5061030a60065481565b3480156103ee57600080fd5b506103756103fd366004612256565b610a44565b34801561040e57600080fd5b5061030a610b08565b34801561042357600080fd5b50600254610439906301000000900461ffff1681565b60405161ffff9091168152602001610314565b34801561045857600080fd5b5060025461037590600160401b900460ff1681565b34801561047957600080fd5b50610375610488366004612297565b6000546001600160a01b0391821691161490565b3480156104a857600080fd5b5060126103ba565b3480156104bc57600080fd5b506002546103ba90600160281b900460ff1681565b3480156104dd57600080fd5b5060145461037590600160b01b900460ff1681565b3480156104fe57600080fd5b50600254610439906601000000000000900461ffff1681565b34801561052357600080fd5b506105376105323660046122ca565b610b5a565b005b34801561054557600080fd5b506105376105543660046122ca565b610c14565b34801561056557600080fd5b50610375610574366004612297565b610d50565b34801561058557600080fd5b506105376105943660046122fd565b610d5e565b3480156105a557600080fd5b506105376105b4366004612324565b610e4b565b3480156105c557600080fd5b506105376105d4366004612297565b610e9b565b3480156105e557600080fd5b506002546103ba90610100900460ff1681565b34801561060457600080fd5b5060145461037590600160a01b900460ff1681565b34801561062557600080fd5b50610537610fe0565b34801561063a57600080fd5b5061030a610649366004612297565b6001600160a01b03166000908152600d602052604090205490565b34801561067057600080fd5b5061053761067f3660046122fd565b611014565b34801561069057600080fd5b5061053761069f366004612324565b6110bd565b3480156106b057600080fd5b5061030a60055481565b3480156106c657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610314565b3480156106f857600080fd5b50604080518082019091526007815266122822a822aa2b60c91b6020820152610348565b34801561072857600080fd5b506002546103ba9060ff1681565b34801561074257600080fd5b50610537610751366004612297565b61110d565b34801561076257600080fd5b5061053761077136600461235d565b61116e565b34801561078257600080fd5b506105376111c1565b34801561079757600080fd5b50600c546106d4906001600160a01b031681565b3480156107b757600080fd5b506103756107c636600461222a565b611200565b3480156107d757600080fd5b506105376107e6366004612297565b61120d565b3480156107f757600080fd5b50610537610806366004612297565b611268565b34801561081757600080fd5b5061030a60035481565b34801561082d57600080fd5b50600a546106d4906001600160a01b031681565b34801561084d57600080fd5b5061030a61085c36600461235d565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561089357600080fd5b506105376108a236600461238b565b6112b9565b3480156108b357600080fd5b506105376108c23660046123a9565b611300565b3480156108d357600080fd5b50600b546106d4906001600160a01b031681565b3480156108f357600080fd5b50610537610902366004612297565b61139c565b34801561091357600080fd5b506105376109223660046122fd565b6113e7565b34801561093357600080fd5b50610537610942366004612297565b611471565b34801561095357600080fd5b50610537610962366004612324565b611507565b34801561097357600080fd5b506014546106d4906001600160a01b031681565b34801561099357600080fd5b506103756109a2366004612297565b600f6020526000908152604090205460ff1681565b3480156109c357600080fd5b506103756109d2366004612297565b611557565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a329086815260200190565b60405180910390a35060015b92915050565b6004546001600160a01b0384166000908152600e60209081526040808320338452909152812054909114610af3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600e82528381203382529091529190912054610ace918490611575565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b610afe8484846115af565b90505b9392505050565b6009546001600160a01b03166000908152600d6020526040812054610b55906008546001600160a01b03166000908152600d6020526040902054610b4f90600454906119f6565b906119f6565b905090565b610b6333611557565b610b885760405162461bcd60e51b8152600401610b7f9061241e565b60405180910390fd5b60025460ff808416600160281b9092041610610bbd576002805465ff00000000001916600160281b60ff851602179055610bcb565b6014805460ff60b01b191690555b60025460ff8216630100000090910461ffff1610610c025760028054630100000060ff84160264ffff000000199091161790555050565b6014805460ff60b01b191690555b5050565b610c1d33611557565b610c395760405162461bcd60e51b8152600401610b7f9061241e565b6032610c458284612459565b60ff161115610c965760405162461bcd60e51b815260206004820181905260248201527f5065706554562074617865732063616e206e65766572206578636565642035256044820152606401610b7f565b60025462010000900460ff16610cac8284612459565b60ff161115610d0e5760405162461bcd60e51b815260206004820152602860248201527f5065706554562c2074617865732063616e206f6e6c792065766572206368616e604482015267676520726174696f60c01b6064820152608401610b7f565b6002805460ff8381166101000261ffff1990921690851617179055610d338183612459565b6002806101000a81548160ff021916908360ff1602179055505050565b6000610a3e826004546109d7565b610d6733611557565b610d835760405162461bcd60e51b8152600401610b7f9061241e565b60c8600454610d929190612488565b811015610de15760405162461bcd60e51b815260206004820181905260248201527f5065706554562c206d75737420626520686967686572207468616e20302e35256044820152606401610b7f565b6005548111610e465760405162461bcd60e51b815260206004820152602b60248201527f5065706554562c2063616e206f6e6c79206576657220696e637265617365207460448201526a1a19481d1e081b1a5b5a5d60aa1b6064820152608401610b7f565b600555565b610e5433611557565b610e705760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b610ea433611557565b610ec05760405162461bcd60e51b8152600401610b7f9061241e565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ef9573d6000803e3d6000fd5b50600b546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f71919061249c565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1091906124b5565b610fe933611557565b6110055760405162461bcd60e51b8152600401610b7f9061241e565b6014805460ff60b01b19169055565b61101d33611557565b6110395760405162461bcd60e51b8152600401610b7f9061241e565b600581101561109c5760405162461bcd60e51b815260206004820152602960248201527f5065706554562c206d617820686f6c642063616e6e6f74206265206c657373206044820152687468616e20302e352560b81b6064820152608401610b7f565b6103e8816004546110ad91906124d2565b6110b79190612488565b60065550565b6110c633611557565b6110e25760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b61111633611557565b6111325760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03166000908152600f602090815260408083208054600160ff1991821681179092556012909352922080549091169091179055565b61117733611557565b6111935760405162461bcd60e51b8152600401610b7f9061241e565b600a80546001600160a01b039384166001600160a01b031991821617909155600b8054929093169116179055565b6111ca33611557565b6111e65760405162461bcd60e51b8152600401610b7f9061241e565b6002805468ff00000000000000001916600160401b179055565b6000610b013384846115af565b61121633611557565b6112325760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03166000908152600f60209081526040808320805460ff19908116909155601290925290912080549091169055565b6000546001600160a01b031633146112925760405162461bcd60e51b8152600401610b7f906124e9565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6112c233611557565b6112de5760405162461bcd60e51b8152600401610b7f9061241e565b60148054921515600160a01b0260ff60a01b1990931692909217909155600755565b61130933611557565b6113255760405162461bcd60e51b8152600401610b7f9061241e565b60005b818110156113975760016013600085858581811061134857611348612509565b905060200201602081019061135d9190612297565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061138f8161251f565b915050611328565b505050565b6000546001600160a01b031633146113c65760405162461bcd60e51b8152600401610b7f906124e9565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6113f033611557565b61140c5760405162461bcd60e51b8152600401610b7f9061241e565b606481101561145d5760405162461bcd60e51b815260206004820152601e60248201527f5065706554563a206d61782073656c6c2070657263656e7420697320312500006044820152606401610b7f565b8060045461146b9190612488565b60075550565b6000546001600160a01b0316331461149b5760405162461bcd60e51b8152600401610b7f906124e9565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61151033611557565b61152c5760405162461bcd60e51b8152600401610b7f9061241e565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156115995760405162461bcd60e51b8152600401610b7f91906121c4565b5060006115a68486612538565b95945050505050565b600254600090600160401b900460ff16611646576000546001600160a01b038581169116146116465760405162461bcd60e51b815260206004820152603860248201527f5065706554562c204f6e6c79206f776e6572206f722070726573616c6520436f60448201527f6e747261637420616c6c6f77656420746f20616464204c5000000000000000006064820152608401610b7f565b6000546001600160a01b0385811691161480159061167257506000546001600160a01b03848116911614155b15611752576001600160a01b0383166000908152600f602052604090205460ff161580156116b957506001600160a01b03831660009081526012602052604090205460ff16155b1561175257600654826116e1856001600160a01b03166000908152600d602052604090205490565b6116eb919061254b565b11156117525760405162461bcd60e51b815260206004820152603060248201527f5065706554562c2063616e7420686f6c64206d6f7265207468616e206d61782060448201526f686f6c6420647564652c20736f72727960801b6064820152608401610b7f565b61175d848484611a38565b6001600160a01b03841660009081526013602052604090205460ff1615801561179f57506001600160a01b03831660009081526013602052604090205460ff16155b6117f75760405162461bcd60e51b8152602060048201526024808201527f5065706554562c20536f7272792062726f2c20796f75726520626c61636b6c696044820152631cdd195960e21b6064820152608401610b7f565b60035415801561181f57506001600160a01b0383166000908152600f602052604090205460ff165b1561184f576001600160a01b0384166000908152600d602052604090205461184657600080fd5b61184f42600355565b601454600160a81b900460ff16156118735761186c848484611ad2565b9050610b01565b604080518082018252601c81527f5065706554562c20496e73756666696369656e742042616c616e6365000000006020808301919091526001600160a01b0387166000908152600d90915291909120546118ce918490611575565b6001600160a01b0385166000908152600d6020908152604080832093909355601090529081205460ff1615158061191f57506001600160a01b03841660009081526010602052604090205460ff1615155b1561192b575081611956565b6001600160a01b0385166000908152600f602052604090205460ff16611952868286611bb8565b9150505b61195f84611cb0565b1561196c5761196c611d1c565b6001600160a01b0384166000908152600d602052604090205461198f9082612078565b6001600160a01b038086166000818152600d602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119e39085815260200190565b60405180910390a3506001949350505050565b6000610b0183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611575565b6000546001600160a01b03848116911614801590611a6457506000546001600160a01b03838116911614155b156113975760055481111580611a9257506001600160a01b03831660009081526011602052604090205460ff165b6113975760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610b7f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d90915291822054611b23918490611575565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054611b529083612078565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ba69086815260200190565b60405180910390a35060019392505050565b60025460145460009160ff62010000909104811691600160b01b90041615611bfe57506002546301000000900461ffff168315611bfe5750600254600160281b900460ff165b600254600090611c26906601000000000000900461ffff16611c2086856120d7565b90612159565b306000908152600d6020526040902054909150611c439082612078565b306000818152600d6020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c949085815260200190565b60405180910390a3611ca684826119f6565b9695505050505050565b601454600090600160a81b900460ff16158015611cd65750601454600160a01b900460ff165b8015611cfa57506001600160a01b0382166000908152600f602052604090205460ff165b8015610a3e5750600754306000908152600d6020526040902054101592915050565b6014805460ff60a81b1916600160a81b17905560025460009060ff1615611d645760028054600754611d619291611c209160ff620100008304811692849291166120d7565b90505b600754600090611d7490836119f6565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611dae57611dae612509565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2b919061255e565b81600181518110611e3e57611e3e612509565b6001600160a01b03928316602091820292909201015260145447911663791ac9478460008530611e6f42606461254b565b6040518663ffffffff1660e01b8152600401611e8f95949392919061257b565b600060405180830381600087803b158015611ea957600080fd5b505af1158015611ebd573d6000803e3d6000fd5b505050506000611ed682476119f690919063ffffffff16565b60028054919250600091611eed919060ff166125ec565b600254611f03919062010000900460ff1661260e565b60ff169050801561206357600254600090610100900460ff1615611f7a57600254611f3d908390611c20908690610100900460ff166120d7565b600b546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611f78573d6000803e3d6000fd5b505b8615612061576000611f8c8285612538565b601454600a5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af1158015611ffe573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120239190612627565b505060408051838152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a1505b505b50506014805460ff60a81b1916905550505050565b600080612085838561254b565b905083811015610b015760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b7f565b6000826000036120e957506000610a3e565b60006120f583856124d2565b9050826121028583612488565b14610b015760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b7f565b6000610b0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836121b75760405162461bcd60e51b8152600401610b7f91906121c4565b5060006115a68486612488565b600060208083528351808285015260005b818110156121f1578581018301518582016040015282016121d5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461222757600080fd5b50565b6000806040838503121561223d57600080fd5b823561224881612212565b946020939093013593505050565b60008060006060848603121561226b57600080fd5b833561227681612212565b9250602084013561228681612212565b929592945050506040919091013590565b6000602082840312156122a957600080fd5b8135610b0181612212565b803560ff811681146122c557600080fd5b919050565b600080604083850312156122dd57600080fd5b6122e6836122b4565b91506122f4602084016122b4565b90509250929050565b60006020828403121561230f57600080fd5b5035919050565b801515811461222757600080fd5b6000806040838503121561233757600080fd5b823561234281612212565b9150602083013561235281612316565b809150509250929050565b6000806040838503121561237057600080fd5b823561237b81612212565b9150602083013561235281612212565b6000806040838503121561239e57600080fd5b823561224881612316565b600080602083850312156123bc57600080fd5b823567ffffffffffffffff808211156123d457600080fd5b818501915085601f8301126123e857600080fd5b8135818111156123f757600080fd5b8660208260051b850101111561240c57600080fd5b60209290920196919550909350505050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160190811115610a3e57610a3e612443565b634e487b7160e01b600052601260045260246000fd5b60008261249757612497612472565b500490565b6000602082840312156124ae57600080fd5b5051919050565b6000602082840312156124c757600080fd5b8151610b0181612316565b8082028115828204841417610a3e57610a3e612443565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161253157612531612443565b5060010190565b81810381811115610a3e57610a3e612443565b80820180821115610a3e57610a3e612443565b60006020828403121561257057600080fd5b8151610b0181612212565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125cb5784516001600160a01b0316835293830193918301916001016125a6565b50506001600160a01b03969096166060850152505050608001529392505050565b600060ff8316806125ff576125ff612472565b8060ff84160491505092915050565b60ff8281168282160390811115610a3e57610a3e612443565b60008060006060848603121561263c57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220ece8758b2daa6f9ca59465fe8d88a117dc919c1021bcce42908faba3801a80f864736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a8d93081ac8aab443648c181a9323efff39f2071

-----Decoded View---------------
Arg [0] : tokenOwner (address): 0xa8d93081ac8Aab443648C181a9323eFFF39F2071

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a8d93081ac8aab443648c181a9323efff39f2071


Deployed Bytecode Sourcemap

6169:13716:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:49;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7516:49:0;;;;;;;;9690:80;;;;;;;;;;-1:-1:-1;9762:5:0;;;;;;;;;;;;-1:-1:-1;;;9762:5:0;;;;9690:80;;;;;;;:::i;10537:216::-;;;;;;;;;;-1:-1:-1;10537:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;10537:216:0;1205:187:1;9420:88:0;;;;;;;;;;-1:-1:-1;9493:12:0;;9420:88;;6878:26;;;;;;;;;;-1:-1:-1;6878:26:0;;;;;;;;;;;;;;1569:4:1;1557:17;;;1539:36;;1527:2;1512:18;6878:26:0;1397:184:1;7454:49:0;;;;;;;;;;;;;;;;12010:374;;;;;;;;;;-1:-1:-1;12010:374:0;;;;;:::i;:::-;;:::i;19666:142::-;;;;;;;;;;;;;:::i;6913:34::-;;;;;;;;;;-1:-1:-1;6913:34:0;;;;;;;;;;;;;;2221:6:1;2209:19;;;2191:38;;2179:2;2164:18;6913:34:0;2047:188:1;7173:28:0;;;;;;;;;;-1:-1:-1;7173:28:0;;;;-1:-1:-1;;;7173:28:0;;;;;;3495:103;;;;;;;;;;-1:-1:-1;3495:103:0;;;;;:::i;:::-;3550:4;3585:5;-1:-1:-1;;;;;3574:16:0;;;3585:5;;3574:16;;3495:103;9514:80;;;;;;;;;;-1:-1:-1;8475:2:0;9514:80;;6960:32;;;;;;;;;;-1:-1:-1;6960:32:0;;;;-1:-1:-1;;;6960:32:0;;;;;;8486:38;;;;;;;;;;-1:-1:-1;8486:38:0;;;;-1:-1:-1;;;8486:38:0;;;;;;7097;;;;;;;;;;-1:-1:-1;7097:38:0;;;;;;;;;;;15169:397;;;;;;;;;;-1:-1:-1;15169:397:0;;;;;:::i;:::-;;:::i;:::-;;16799:474;;;;;;;;;;-1:-1:-1;16799:474:0;;;;;:::i;:::-;;:::i;10964:117::-;;;;;;;;;;-1:-1:-1;10964:117:0;;;;;:::i;:::-;;:::i;16205:268::-;;;;;;;;;;-1:-1:-1;16205:268:0;;;;;:::i;:::-;;:::i;16481:120::-;;;;;;;;;;-1:-1:-1;16481:120:0;;;;;:::i;:::-;;:::i;15634:239::-;;;;;;;;;;-1:-1:-1;15634:239:0;;;;;:::i;:::-;;:::i;6841:30::-;;;;;;;;;;-1:-1:-1;6841:30:0;;;;;;;;;;;8245;;;;;;;;;;-1:-1:-1;8245:30:0;;;;-1:-1:-1;;;8245:30:0;;;;;;16061:136;;;;;;;;;;;;;:::i;9860:105::-;;;;;;;;;;-1:-1:-1;9860:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;9944:18:0;9926:7;9944:18;;;:9;:18;;;;;;;9860:105;11093:337;;;;;;;;;;-1:-1:-1;11093:337:0;;;;;:::i;:::-;;:::i;10116:170::-;;;;;;;;;;-1:-1:-1;10116:170:0;;;;;:::i;:::-;;:::i;7394:47::-;;;;;;;;;;;;;;;;9776:78;;;;;;;;;;-1:-1:-1;9828:7:0;9846:5;-1:-1:-1;;;;;9846:5:0;9776:78;;;-1:-1:-1;;;;;4035:32:1;;;4017:51;;4005:2;3990:18;9776:78:0;3871:203:1;9600:84:0;;;;;;;;;;-1:-1:-1;9674:7:0;;;;;;;;;;;;-1:-1:-1;;;9674:7:0;;;;9600:84;;6804:30;;;;;;;;;;-1:-1:-1;6804:30:0;;;;;;;;11531:137;;;;;;;;;;-1:-1:-1;11531:137:0;;;;;:::i;:::-;;:::i;19038:228::-;;;;;;;;;;-1:-1:-1;19038:228:0;;;;;:::i;:::-;;:::i;11442:77::-;;;;;;;;;;;;;:::i;7830:19::-;;;;;;;;;;-1:-1:-1;7830:19:0;;;;-1:-1:-1;;;;;7830:19:0;;;11846:156;;;;;;;;;;-1:-1:-1;11846:156:0;;;;;:::i;:::-;;:::i;11680:154::-;;;;;;;;;;-1:-1:-1;11680:154:0;;;;;:::i;:::-;;:::i;3168:94::-;;;;;;;;;;-1:-1:-1;3168:94:0;;;;;:::i;:::-;;:::i;7208:25::-;;;;;;;;;;;;;;;;7743:36;;;;;;;;;;-1:-1:-1;7743:36:0;;;;-1:-1:-1;;;;;7743:36:0;;;9971:132;;;;;;;;;;-1:-1:-1;9971:132:0;;;;;:::i;:::-;-1:-1:-1;;;;;10073:19:0;;;10055:7;10073:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9971:132;19274:156;;;;;;;;;;-1:-1:-1;19274:156:0;;;;;:::i;:::-;;:::i;10294:235::-;;;;;;;;;;-1:-1:-1;10294:235:0;;;;;:::i;:::-;;:::i;7786:35::-;;;;;;;;;;-1:-1:-1;7786:35:0;;;;-1:-1:-1;;;;;7786:35:0;;;3338:97;;;;;;;;;;-1:-1:-1;3338:97:0;;;;;:::i;:::-;;:::i;10761:191::-;;;;;;;;;;-1:-1:-1;10761:191:0;;;;;:::i;:::-;;:::i;3895:173::-;;;;;;;;;;-1:-1:-1;3895:173:0;;;;;:::i;:::-;;:::i;16611:128::-;;;;;;;;;;-1:-1:-1;16611:128:0;;;;;:::i;:::-;;:::i;8210:24::-;;;;;;;;;;-1:-1:-1;8210:24:0;;;;-1:-1:-1;;;;;8210:24:0;;;7973:38;;;;;;;;;;-1:-1:-1;7973:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3669:107;;;;;;;;;;-1:-1:-1;3669:107:0;;;;;:::i;:::-;;:::i;10537:216::-;10641:10;10612:4;10629:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10629:32:0;;;;;;;;;;:41;;;10686:37;10612:4;;10629:32;;10686:37;;;;10664:6;160:25:1;;148:2;133:18;;14:177;10686:37:0;;;;;;;;-1:-1:-1;10741:4:0;10537:216;;;;;:::o;12010:374::-;12173:12;;-1:-1:-1;;;;;12130:19:0;;12110:4;12130:19;;;:11;:19;;;;;;;;12150:10;12130:31;;;;;;;;12110:4;;12130:56;12127:190;;12236:69;;;;;;;;;;;-1:-1:-1;;;12236:69:0;;;;;;;;-1:-1:-1;;;;;12236:19:0;;-1:-1:-1;12236:19:0;;;:11;:19;;;;;12256:10;12236:31;;;;;;;;;;:69;;12272:6;;12236:35;:69::i;:::-;-1:-1:-1;;;;;12202:19:0;;;;;;:11;:19;;;;;;;;12222:10;12202:31;;;;;;;:103;12127:190;12336:40;12350:6;12358:9;12369:6;12336:13;:40::i;:::-;12329:47;;12010:374;;;;;;:::o;19666:142::-;19794:4;;-1:-1:-1;;;;;19794:4:0;19719:7;9944:18;;;:9;:18;;;;;;19746:54;;19773:4;;-1:-1:-1;;;;;19773:4:0;9926:7;9944:18;;;:9;:18;;;;;;19746:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;19739:61;;19666:142;:::o;15169:397::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;;;;;;;;;15296:13:::1;::::0;:43:::1;::::0;;::::1;-1:-1:-1::0;;;15296:13:0;;::::1;;:43;15293:126;;15341:13;:42:::0;;-1:-1:-1;;15341:42:0::1;-1:-1:-1::0;;;15341:42:0::1;::::0;::::1;;;::::0;;15293:126:::1;;;15390:19;:27:::0;;-1:-1:-1;;;;15390:27:0::1;::::0;;15293:126:::1;15432:14;::::0;:45:::1;::::0;::::1;:14:::0;;;::::1;;;:45;15429:130;;15479:14;:44:::0;;;::::1;::::0;::::1;;-1:-1:-1::0;;15479:44:0;;::::1;;::::0;;15169:397;;:::o;15429:130::-:1;15530:19;:27:::0;;-1:-1:-1;;;;15530:27:0::1;::::0;;15429:130:::1;15169:397:::0;;:::o;16799:474::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;16950:2:::1;16907:39;16928:18:::0;16907;:39:::1;:::i;:::-;:45;;;;16899:90;;;::::0;-1:-1:-1;;;16899:90:0;;6719:2:1;16899:90:0::1;::::0;::::1;6701:21:1::0;;;6738:18;;;6731:30;6797:34;6777:18;;;6770:62;6849:18;;16899:90:0::1;6517:356:1::0;16899:90:0::1;17051:8;::::0;;;::::1;;;17008:39;17029:18:::0;17008;:39:::1;:::i;:::-;:51;;;;17000:104;;;::::0;-1:-1:-1;;;17000:104:0;;7080:2:1;17000:104:0::1;::::0;::::1;7062:21:1::0;7119:2;7099:18;;;7092:30;7158:34;7138:18;;;7131:62;-1:-1:-1;;;7209:18:1;;;7202:38;7257:19;;17000:104:0::1;6878:404:1::0;17000:104:0::1;17115:12;:33:::0;;::::1;17159::::0;;::::1;17115;17159;-1:-1:-1::0;;17159:33:0;;;17115;;::::1;17159::::0;::::1;::::0;;17223:41:::1;17174:18:::0;17130;17223:41:::1;:::i;:::-;17212:8;::::0;:52:::1;;;;;;;;;;;;;;;;;;16799:474:::0;;:::o;10964:117::-;11019:4;11043:30;11051:7;11060:12;;11043:7;:30::i;16205:268::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;16305:3:::1;16290:12;;:18;;;;:::i;:::-;16280:6;:28;;16272:73;;;::::0;-1:-1:-1;;;16272:73:0;;7746:2:1;16272:73:0::1;::::0;::::1;7728:21:1::0;;;7765:18;;;7758:30;7824:34;7804:18;;;7797:62;7876:18;;16272:73:0::1;7544:356:1::0;16272:73:0::1;16373:12;;16364:6;:21;16356:77;;;::::0;-1:-1:-1;;;16356:77:0;;8107:2:1;16356:77:0::1;::::0;::::1;8089:21:1::0;8146:2;8126:18;;;8119:30;8185:34;8165:18;;;8158:62;-1:-1:-1;;;8236:18:1;;;8229:41;8287:19;;16356:77:0::1;7905:407:1::0;16356:77:0::1;16444:12;:21:::0;16205:268::o;16481:120::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16565:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;16565:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16481:120::o;15634:239::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;15719:20:::1;::::0;15711:61:::1;::::0;-1:-1:-1;;;;;15719:20:0;;::::1;::::0;15750:21:::1;15711:61:::0;::::1;;;::::0;15719:20:::1;15711:61:::0;15719:20;15711:61;15750:21;15719:20;15711:61;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;15805:20:0::1;::::0;15827:37:::1;::::0;-1:-1:-1;;;15827:37:0;;15858:4:::1;15827:37;::::0;::::1;4017:51:1::0;-1:-1:-1;;;;;15783:21:0;;::::1;::::0;::::1;::::0;15805:20;::::1;::::0;15783:21;;15827:22:::1;::::0;3990:18:1;;15827:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15783:82;::::0;-1:-1:-1;;;;;;15783:82:0::1;::::0;;;;;;-1:-1:-1;;;;;8698:32:1;;;15783:82:0::1;::::0;::::1;8680:51:1::0;8747:18;;;8740:34;8653:18;;15783:82:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16061:136::-:0;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;16162:19:::1;:27:::0;;-1:-1:-1;;;;16162:27:0::1;::::0;;16061:136::o;11093:337::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;11206:1:::1;11187:15;:20;;11179:74;;;::::0;-1:-1:-1;;;11179:74:0;;9237:2:1;11179:74:0::1;::::0;::::1;9219:21:1::0;9276:2;9256:18;;;9249:30;9315:34;9295:18;;;9288:62;-1:-1:-1;;;9366:18:1;;;9359:39;9415:19;;11179:74:0::1;9035:405:1::0;11179:74:0::1;11388:4;11370:15;11355:12;;:30;;;;:::i;:::-;:37;;;;:::i;:::-;11338:14;:54:::0;-1:-1:-1;11093:337:0:o;10116:170::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10226:32:0;;;::::1;;::::0;;;:13:::1;:32;::::0;;;;:52;;-1:-1:-1;;10226:52:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10116:170::o;11531:137::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11597:14:0::1;;::::0;;;:5:::1;:14;::::0;;;;;;;:21;;11614:4:::1;-1:-1:-1::0;;11597:21:0;;::::1;::::0;::::1;::::0;;;11629:15:::1;:24:::0;;;;;:31;;;;::::1;::::0;;::::1;::::0;;11531:137::o;19038:228::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;19157:21:::1;:46:::0;;-1:-1:-1;;;;;19157:46:0;;::::1;-1:-1:-1::0;;;;;;19157:46:0;;::::1;;::::0;;;19214:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;19038:228::o;11442:77::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;11496:8:::1;:15:::0;;-1:-1:-1;;11496:15:0::1;-1:-1:-1::0;;;11496:15:0::1;::::0;;11442:77::o;11846:156::-;11926:4;11950:44;11964:10;11976:9;11987:6;11950:13;:44::i;11680:154::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11751:19:0::1;11773:5;11751:19:::0;;;:5:::1;:19;::::0;;;;;;;:27;;-1:-1:-1;;11751:27:0;;::::1;::::0;;;11789:15:::1;:29:::0;;;;;;:37;;;;::::1;::::0;;11680:154::o;3168:94::-;3550:4;3585:5;-1:-1:-1;;;;;3585:5:0;2892:10;3574:16;2876:38;;;;-1:-1:-1;;;2876:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3228:19:0::1;;::::0;;;3250:4:::1;3228:19;::::0;;;;;;;:26;;-1:-1:-1;;3228:26:0::1;::::0;;::::1;::::0;;3168:94::o;19274:156::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;19366:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;19366:22:0::1;-1:-1:-1::0;;;;19366:22:0;;::::1;::::0;;;::::1;::::0;;;19399:13:::1;:23:::0;19274:156::o;10294:235::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;10397:6:::1;10393:129;10409:33:::0;;::::1;10393:129;;;10506:4;10463:13;:40;10477:22;;10500:1;10477:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10463:40:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10463:40:0;:47;;-1:-1:-1;;10463:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10444:3;::::1;::::0;::::1;:::i;:::-;;;;10393:129;;;;10294:235:::0;;:::o;3338:97::-;3550:4;3585:5;-1:-1:-1;;;;;3585:5:0;2892:10;3574:16;2876:38;;;;-1:-1:-1;;;2876:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3400:19:0::1;3422:5;3400:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3400:27:0::1;::::0;;3338:97::o;10761:191::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;10857:3:::1;10846:7;:14;;10838:57;;;::::0;-1:-1:-1;;;10838:57:0;;10426:2:1;10838:57:0::1;::::0;::::1;10408:21:1::0;10465:2;10445:18;;;10438:30;10504:32;10484:18;;;10477:60;10554:18;;10838:57:0::1;10224:354:1::0;10838:57:0::1;10937:7;10922:12;;:22;;;;:::i;:::-;10906:13;:38:::0;-1:-1:-1;10761:191:0:o;3895:173::-;3550:4;3585:5;-1:-1:-1;;;;;3585:5:0;2892:10;3574:16;2876:38;;;;-1:-1:-1;;;2876:38:0;;;;;;;:::i;:::-;3971:5:::1;:11:::0;;-1:-1:-1;;;;;;3971:11:0::1;-1:-1:-1::0;;;;;3971:11:0;::::1;::::0;;::::1;::::0;;3993:19;;;-1:-1:-1;3993:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3993:26:0::1;::::0;;::::1;::::0;;;4035:25;;4017:51:1;;;4035:25:0::1;::::0;3990:18:1;4035:25:0::1;;;;;;;3895:173:::0;:::o;16611:128::-;3053:24;3066:10;3053:12;:24::i;:::-;3045:48;;;;-1:-1:-1;;;3045:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16699:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16699:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16611:128::o;3669:107::-;-1:-1:-1;;;;;3749:19:0;3725:4;3749:19;;;:14;:19;;;;;;;;;3669:107::o;673:192::-;759:7;795:12;787:6;;;;779:29;;;;-1:-1:-1;;;779:29:0;;;;;;;;:::i;:::-;-1:-1:-1;819:9:0;831:5;835:1;831;:5;:::i;:::-;819:17;673:192;-1:-1:-1;;;;;673:192:0:o;12392:1491::-;12507:8;;12484:4;;-1:-1:-1;;;12507:8:0;;;;12503:172;;12549:5;;-1:-1:-1;;;;;12539:15:0;;;12549:5;;12539:15;12531:84;;;;-1:-1:-1;;;12531:84:0;;11134:2:1;12531:84:0;;;11116:21:1;11173:2;11153:18;;;11146:30;11212:34;11192:18;;;11185:62;11283:26;11263:18;;;11256:54;11327:19;;12531:84:0;10932:420:1;12531:84:0;12698:5;;-1:-1:-1;;;;;12688:15:0;;;12698:5;;12688:15;;;;:37;;-1:-1:-1;12720:5:0;;-1:-1:-1;;;;;12707:18:0;;;12720:5;;12707:18;;12688:37;12685:263;;;-1:-1:-1;;;;;12745:16:0;;;;;;:5;:16;;;;;;;;12744:17;:48;;;;-1:-1:-1;;;;;;12766:26:0;;;;;;:15;:26;;;;;;;;12765:27;12744:48;12741:196;;;12854:14;;12844:6;12821:20;12831:9;-1:-1:-1;;;;;9944:18:0;9926:7;9944:18;;;:9;:18;;;;;;;9860:105;12821:20;:29;;;;:::i;:::-;:47;;12812:109;;;;-1:-1:-1;;;12812:109:0;;11689:2:1;12812:109:0;;;11671:21:1;11728:2;11708:18;;;11701:30;11767:34;11747:18;;;11740:62;-1:-1:-1;;;11818:18:1;;;11811:46;11874:19;;12812:109:0;11487:412:1;12812:109:0;12968:39;12981:6;12989:9;13000:6;12968:12;:39::i;:::-;-1:-1:-1;;;;;13027:21:0;;;;;;:13;:21;;;;;;;;13026:22;:51;;;;-1:-1:-1;;;;;;13053:24:0;;;;;;:13;:24;;;;;;;;13052:25;13026:51;13018:100;;;;-1:-1:-1;;;13018:100:0;;12106:2:1;13018:100:0;;;12088:21:1;12145:2;12125:18;;;12118:30;12184:34;12164:18;;;12157:62;-1:-1:-1;;;12235:18:1;;;12228:34;12279:19;;13018:100:0;11904:400:1;13018:100:0;15948:10;;:15;;;13132:31;;-1:-1:-1;;;;;;13147:16:0;;;;;;:5;:16;;;;;;;;13132:31;13129:80;;;-1:-1:-1;;;;;13174:17:0;;13194:1;13174:17;;;:9;:17;;;;;;13166:30;;;;;;13198:8;16030:15;16017:10;:28;15979:74;13198:8;13222:6;;-1:-1:-1;;;13222:6:0;;;;13219:63;;;13238:41;13253:6;13261:9;13272:6;13238:14;:41::i;:::-;13231:48;;;;13219:63;13322:61;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13322:17:0;;-1:-1:-1;13322:17:0;;;:9;:17;;;;;;;;:61;;13344:6;;13322:21;:61::i;:::-;-1:-1:-1;;;;;13302:17:0;;;;;;:9;:17;;;;;;;;:81;;;;14587:11;:18;;;;;;;;14586:19;13438:22;:51;;;-1:-1:-1;;;;;;14587:18:0;;14552:4;14587:18;;;:11;:18;;;;;;;;14586:19;13464:25;13438:51;13435:224;;;-1:-1:-1;13522:6:0;13435:224;;;-1:-1:-1;;;;;13572:13:0;;13559:10;13572:13;;;:5;:13;;;;;;;;13617:30;13578:6;13572:13;13640:6;13617:7;:30::i;:::-;13600:47;;13544:115;13435:224;13674:25;13689:9;13674:14;:25::i;:::-;13671:44;;;13702:10;:8;:10::i;:::-;-1:-1:-1;;;;;13750:20:0;;;;;;:9;:20;;;;;;:40;;13775:14;13750:24;:40::i;:::-;-1:-1:-1;;;;;13727:20:0;;;;;;;:9;:20;;;;;;;:63;;;;13808:43;;;;;;;;;;13836:14;160:25:1;;148:2;133:18;;14:177;13808:43:0;;;;;;;;-1:-1:-1;13869:4:0;;12392:1491;-1:-1:-1;;;;12392:1491:0:o;531:136::-;589:7;616:43;620:1;623;616:43;;;;;;;;;;;;;;;;;:3;:43::i;14233:250::-;14343:5;;-1:-1:-1;;;;;14333:15:0;;;14343:5;;14333:15;;;;:36;;-1:-1:-1;14364:5:0;;-1:-1:-1;;;;;14352:17:0;;;14364:5;;14352:17;;14333:36;14330:146;;;14403:12;;14393:6;:22;;:49;;;-1:-1:-1;;;;;;14419:23:0;;;;;;:15;:23;;;;;;;;14393:49;14385:79;;;;-1:-1:-1;;;14385:79:0;;12511:2:1;14385:79:0;;;12493:21:1;12550:2;12530:18;;;12523:30;-1:-1:-1;;;12569:18:1;;;12562:47;12626:18;;14385:79:0;12309:341:1;13895:330:0;14025:53;;;;;;;;;;;-1:-1:-1;;;14025:53:0;;;;;;;;-1:-1:-1;;;;;14025:17:0;;13988:4;14025:17;;;:9;:17;;;;;;;:53;;14047:6;;14025:21;:53::i;:::-;-1:-1:-1;;;;;14005:17:0;;;;;;;:9;:17;;;;;;:73;;;;14112:20;;;;;;;:32;;14137:6;14112:24;:32::i;:::-;-1:-1:-1;;;;;14089:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14160:35;;;;;;;;;;14188:6;160:25:1;;148:2;133:18;;14:177;14160:35:0;;;;;;;;-1:-1:-1;14213:4:0;13895:330;;;;;:::o;14621:540::-;14731:8;;14753:19;;14700:7;;14731:8;;;;;;;;-1:-1:-1;;;14753:19:0;;;14750:147;;;-1:-1:-1;14794:14:0;;;;;;;14823:63;;;;-1:-1:-1;14857:13:0;;-1:-1:-1;;;14857:13:0;;;;14823:63;14949:17;;14909;;14929:38;;14949:17;;;;;14929:15;:6;14940:3;14929:10;:15::i;:::-;:19;;:38::i;:::-;15033:4;15015:24;;;;:9;:24;;;;;;14909:58;;-1:-1:-1;15015:39:0;;14909:58;15015:28;:39::i;:::-;15006:4;14988:24;;;;:9;:24;;;;;;;:66;;;;15070:42;;-1:-1:-1;;;;;15070:42:0;;;;;;;15102:9;160:25:1;;148:2;133:18;;14:177;15070:42:0;;;;;;;;15132:21;:6;15143:9;15132:10;:21::i;:::-;15125:28;14621:540;-1:-1:-1;;;;;;14621:540:0:o;19442:212::-;19533:6;;19508:4;;-1:-1:-1;;;19533:6:0;;;;19532:7;:31;;;;-1:-1:-1;19552:11:0;;-1:-1:-1;;;19552:11:0;;;;19532:31;:60;;;;-1:-1:-1;;;;;;19576:16:0;;;;;;:5;:16;;;;;;;;19532:60;:114;;;;-1:-1:-1;19633:13:0;;19623:4;19605:24;;;;:9;:24;;;;;;:41;;19525:121;19442:212;-1:-1:-1;;19442:212:0:o;17285:1745::-;8324:6;:13;;-1:-1:-1;;;;8324:13:0;-1:-1:-1;;;8324:13:0;;;17375:12:::1;::::0;8324:13;;;17375:12:::1;:16:::0;17372:161:::1;;17475:1;17461:8:::0;;17425:13:::1;::::0;:52:::1;::::0;17475:1;17425:45:::1;::::0;17461:8:::1;::::0;;::::1;::::0;::::1;::::0;17425:45;;:13;17443:12:::1;17425:17;:31::i;:52::-;17407:70;;17372:161;17576:13;::::0;17553:20:::1;::::0;17576:34:::1;::::0;17594:15;17576:17:::1;:34::i;:::-;17714:16;::::0;;17728:1:::1;17714:16:::0;;;;;::::1;::::0;;17553:57;;-1:-1:-1;17690:21:0::1;::::0;17714:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17714:16:0::1;17690:40;;17759:4;17741;17746:1;17741:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17741:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;17785:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;17785:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;17741:7;;17785:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17775:4;17780:1;17775:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17775:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;17875:6:::1;::::0;17833:21:::1;::::0;17875:6:::1;:57;17947:12:::0;17809:21:::1;17990:4:::0;18017::::1;18037:21;:15;18055:3;18037:21;:::i;:::-;17875:194;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18082:17;18102:40;18128:13;18102:21;:25;;:40;;;;:::i;:::-;18211:1;18197:12:::0;;18082:60;;-1:-1:-1;18163:19:0::1;::::0;18197:15:::1;::::0;18211:1;18197:12:::1;;:15;:::i;:::-;18185:8;::::0;:28:::1;::::0;;:8;;::::1;;;:28;:::i;:::-;18163:50;;::::0;-1:-1:-1;18227:15:0;;18224:799:::1;;18306:12;::::0;18258:26:::1;::::0;18306:12:::1;::::0;::::1;;;:16:::0;18303:197:::1;;18377:12;::::0;18363:44:::1;::::0;18395:11;;18363:27:::1;::::0;:9;;18377:12:::1;::::0;::::1;;;18363:13;:27::i;:44::-;18434:20;::::0;18426:58:::1;::::0;18342:65;;-1:-1:-1;;;;;;18434:20:0::1;::::0;18426:58;::::1;;;::::0;18342:65;;18434:20:::1;18426:58:::0;18434:20;18426:58;18342:65;18434:20;18426:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18303:197;18517:19:::0;;18514:498:::1;;18574:26;18603:30;18615:18:::0;18603:9;:30:::1;:::i;:::-;18652:6;::::0;18846:21:::1;::::0;18652:272:::1;::::0;-1:-1:-1;;;18652:272:0;;18732:4:::1;18652:272;::::0;::::1;14695:34:1::0;14745:18;;;14738:34;;;18652:6:0::1;14788:18:1::0;;;14781:34;;;14831:18;;;14824:34;-1:-1:-1;;;;;18846:21:0;;::::1;14874:19:1::0;;;14867:44;18890:15:0::1;14927:19:1::0;;;14920:35;18574:59:0;;-1:-1:-1;18652:6:0::1;::::0;:22:::1;::::0;18574:59;;14629:19:1;;18652:272:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;18948:48:0::1;::::0;;15451:25:1;;;15507:2;15492:18;;15485:34;;;18948:48:0::1;::::0;-1:-1:-1;15424:18:1;18948:48:0::1;;;;;;;18537:475;18514:498;18243:780;18224:799;-1:-1:-1::0;;8342:6:0;:14;;-1:-1:-1;;;;8342:14:0;;;-1:-1:-1;;;;17285:1745:0:o;344:181::-;402:7;;434:5;438:1;434;:5;:::i;:::-;422:17;;463:1;458;:6;;450:46;;;;-1:-1:-1;;;450:46:0;;15732:2:1;450:46:0;;;15714:21:1;15771:2;15751:18;;;15744:30;15810:29;15790:18;;;15783:57;15857:18;;450:46:0;15530:351:1;871:250:0;929:7;953:1;958;953:6;949:47;;-1:-1:-1;983:1:0;976:8;;949:47;1008:9;1020:5;1024:1;1020;:5;:::i;:::-;1008:17;-1:-1:-1;1053:1:0;1044:5;1048:1;1008:17;1044:5;:::i;:::-;:10;1036:56;;;;-1:-1:-1;;;1036:56:0;;16088:2:1;1036:56:0;;;16070:21:1;16127:2;16107:18;;;16100:30;16166:34;16146:18;;;16139:62;-1:-1:-1;;;16217:18:1;;;16210:31;16258:19;;1036:56:0;15886:397:1;1127:132:0;1185:7;1212:39;1216:1;1219;1212:39;;;;;;;;;;;;;;;;;1351:7;1453:12;1446:5;1438:28;;;;-1:-1:-1;;;1438:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1477:9:0;1489:5;1493:1;1489;: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;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1586:456::-;1663:6;1671;1679;1732:2;1720:9;1711:7;1707:23;1703:32;1700:52;;;1748:1;1745;1738:12;1700:52;1787:9;1774:23;1806:31;1831:5;1806:31;:::i;:::-;1856:5;-1:-1:-1;1913:2:1;1898:18;;1885:32;1926:33;1885:32;1926:33;:::i;:::-;1586:456;;1978:7;;-1:-1:-1;;;2032:2:1;2017:18;;;;2004:32;;1586:456::o;2240:247::-;2299:6;2352:2;2340:9;2331:7;2327:23;2323:32;2320:52;;;2368:1;2365;2358:12;2320:52;2407:9;2394:23;2426:31;2451:5;2426:31;:::i;2492:156::-;2558:20;;2618:4;2607:16;;2597:27;;2587:55;;2638:1;2635;2628:12;2587:55;2492:156;;;:::o;2653:252::-;2717:6;2725;2778:2;2766:9;2757:7;2753:23;2749:32;2746:52;;;2794:1;2791;2784:12;2746:52;2817:27;2834:9;2817:27;:::i;:::-;2807:37;;2863:36;2895:2;2884:9;2880:18;2863:36;:::i;:::-;2853:46;;2653:252;;;;;:::o;2910:180::-;2969:6;3022:2;3010:9;3001:7;2997:23;2993:32;2990:52;;;3038:1;3035;3028:12;2990:52;-1:-1:-1;3061:23:1;;2910:180;-1:-1:-1;2910:180:1:o;3095:118::-;3181:5;3174:13;3167:21;3160:5;3157:32;3147:60;;3203:1;3200;3193:12;3218:382;3283:6;3291;3344:2;3332:9;3323:7;3319:23;3315:32;3312:52;;;3360:1;3357;3350:12;3312:52;3399:9;3386:23;3418:31;3443:5;3418:31;:::i;:::-;3468:5;-1:-1:-1;3525:2:1;3510:18;;3497:32;3538:30;3497:32;3538:30;:::i;:::-;3587:7;3577:17;;;3218:382;;;;;:::o;4079:388::-;4147:6;4155;4208:2;4196:9;4187:7;4183:23;4179:32;4176:52;;;4224:1;4221;4214:12;4176:52;4263:9;4250:23;4282:31;4307:5;4282:31;:::i;:::-;4332:5;-1:-1:-1;4389:2:1;4374:18;;4361:32;4402:33;4361:32;4402:33;:::i;4472:309::-;4537:6;4545;4598:2;4586:9;4577:7;4573:23;4569:32;4566:52;;;4614:1;4611;4604:12;4566:52;4653:9;4640:23;4672:28;4694:5;4672:28;:::i;4786:615::-;4872:6;4880;4933:2;4921:9;4912:7;4908:23;4904:32;4901:52;;;4949:1;4946;4939:12;4901:52;4989:9;4976:23;5018:18;5059:2;5051:6;5048:14;5045:34;;;5075:1;5072;5065:12;5045:34;5113:6;5102:9;5098:22;5088:32;;5158:7;5151:4;5147:2;5143:13;5139:27;5129:55;;5180:1;5177;5170:12;5129:55;5220:2;5207:16;5246:2;5238:6;5235:14;5232:34;;;5262:1;5259;5252:12;5232:34;5315:7;5310:2;5300:6;5297:1;5293:14;5289:2;5285:23;5281:32;5278:45;5275:65;;;5336:1;5333;5326:12;5275:65;5367:2;5359:11;;;;;5389:6;;-1:-1:-1;4786:615:1;;-1:-1:-1;;;;4786:615:1:o;5892:335::-;6094:2;6076:21;;;6133:2;6113:18;;;6106:30;-1:-1:-1;;;6167:2:1;6152:18;;6145:41;6218:2;6203:18;;5892:335::o;6232:127::-;6293:10;6288:3;6284:20;6281:1;6274:31;6324:4;6321:1;6314:15;6348:4;6345:1;6338:15;6364:148;6452:4;6431:12;;;6445;;;6427:31;;6470:13;;6467:39;;;6486:18;;:::i;7287:127::-;7348:10;7343:3;7339:20;7336:1;7329:31;7379:4;7376:1;7369:15;7403:4;7400:1;7393:15;7419:120;7459:1;7485;7475:35;;7490:18;;:::i;:::-;-1:-1:-1;7524:9:1;;7419:120::o;8317:184::-;8387:6;8440:2;8428:9;8419:7;8415:23;8411:32;8408:52;;;8456:1;8453;8446:12;8408:52;-1:-1:-1;8479:16:1;;8317:184;-1:-1:-1;8317:184:1:o;8785:245::-;8852:6;8905:2;8893:9;8884:7;8880:23;8876:32;8873:52;;;8921:1;8918;8911:12;8873:52;8953:9;8947:16;8972:28;8994:5;8972:28;:::i;9445:168::-;9518:9;;;9549;;9566:15;;;9560:22;;9546:37;9536:71;;9587:18;;:::i;9618:329::-;9820:2;9802:21;;;9859:1;9839:18;;;9832:29;-1:-1:-1;;;9892:2:1;9877:18;;9870:36;9938:2;9923:18;;9618:329::o;9952:127::-;10013:10;10008:3;10004:20;10001:1;9994:31;10044:4;10041:1;10034:15;10068:4;10065:1;10058:15;10084:135;10123:3;10144:17;;;10141:43;;10164:18;;:::i;:::-;-1:-1:-1;10211:1:1;10200:13;;10084:135::o;10799:128::-;10866:9;;;10887:11;;;10884:37;;;10901:18;;:::i;11357:125::-;11422:9;;;11443:10;;;11440:36;;;11456:18;;:::i;12787:251::-;12857:6;12910:2;12898:9;12889:7;12885:23;12881:32;12878:52;;;12926:1;12923;12916:12;12878:52;12958:9;12952:16;12977:31;13002:5;12977:31;:::i;13043:980::-;13305:4;13353:3;13342:9;13338:19;13384:6;13373:9;13366:25;13410:2;13448:6;13443:2;13432:9;13428:18;13421:34;13491:3;13486:2;13475:9;13471:18;13464:31;13515:6;13550;13544:13;13581:6;13573;13566:22;13619:3;13608:9;13604:19;13597:26;;13658:2;13650:6;13646:15;13632:29;;13679:1;13689:195;13703:6;13700:1;13697:13;13689:195;;;13768:13;;-1:-1:-1;;;;;13764:39:1;13752:52;;13859:15;;;;13824:12;;;;13800:1;13718:9;13689:195;;;-1:-1:-1;;;;;;;13940:32:1;;;;13935:2;13920:18;;13913:60;-1:-1:-1;;;14004:3:1;13989:19;13982:35;13901:3;13043:980;-1:-1:-1;;;13043:980:1:o;14028:165::-;14066:1;14100:4;14097:1;14093:12;14124:3;14114:37;;14131:18;;:::i;:::-;14183:3;14176:4;14173:1;14169:12;14165:22;14160:27;;;14028:165;;;;:::o;14198:151::-;14288:4;14281:12;;;14267;;;14263:31;;14306:14;;14303:40;;;14323:18;;:::i;14966:306::-;15054:6;15062;15070;15123:2;15111:9;15102:7;15098:23;15094:32;15091:52;;;15139:1;15136;15129:12;15091:52;15168:9;15162:16;15152:26;;15218:2;15207:9;15203:18;15197:25;15187:35;;15262:2;15251:9;15247:18;15241:25;15231:35;;14966:306;;;;;:::o

Swarm Source

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