ETH Price: $3,259.24 (-0.49%)
Gas: 2 Gwei

Token

DollarCeo ($CEO)
 

Overview

Max Total Supply

100,000,000 $CEO

Holders

62

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 $CEO

Value
$0.00
0xaea36a9d2ce10d4714ff141679733e47931957cb
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:
DollarCeo

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;

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

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    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);
}


/**
 * Allows for contract ownership along with multi-address authorization
 */
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;
}

contract DollarCeo is IBEP20, Auth {
    using SafeMath for uint256;

 
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string private  _name =  "DollarCeo";
    string private _symbol = "$CEO";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100000000* (10 ** _decimals); 
    uint256 public _maxTxAmount = (_totalSupply * 100) / 100; 
    uint256 public _maxWalletSize = (_totalSupply * 100) / 100; 

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

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


    
    uint256 feeDenominator = 100;
    
    struct Taxes {
        uint256 liquidityFee; 
        uint256 marketingFee;
    }

    Taxes public taxes = Taxes(2, 6);
    Taxes public sellTaxes = Taxes(2,8);
    
    uint256 public totalBuyFee = taxes.liquidityFee.add(taxes.marketingFee);
    uint256 public totalSellFee = sellTaxes.liquidityFee.add(sellTaxes.marketingFee);




    address public marketingFeeReceiver = 0xAc274b66E18158cC059Fe0257da49C9E3755dB57;


    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 13; // 0.3%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        
        address routerAddress
     
    ) Auth(msg.sender) {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(address(this),router.WETH());
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;

        _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 view override returns (string memory) { return _symbol; }
    function name() external view 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 approve(address spender, uint256 amount) public override returns (bool) {
        require(msg.sender != address(0) && spender != address(0), 'ERC20: approve from the zero address');
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    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] != type(uint256).max){
            _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(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        checkTxLimit(sender, amount);
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(recipient); }

        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;

        _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, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }
    
    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); }
        if(selling) {
            return totalSellFee; 
        }
        return totalBuyFee;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack(address recipient) internal swapping {
        Taxes memory temp;
        uint256 totalFee;
        
 

        if(recipient == pair)
        {
        temp = sellTaxes;
        totalFee = totalSellFee;
        }
        else{
            temp = taxes;
            totalFee = totalBuyFee;
        } 

        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(temp.liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        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
        );
        uint256 amountBNB = address(this).balance.sub(balanceBefore);
        
        uint256 totalBNBFee = totalFee.sub(temp.liquidityFee.div(2));
        uint256 amountBNBLiquidity = amountBNB.mul(temp.liquidityFee).div(totalBNBFee).div(2);
        
        uint256 amountBNBMarketing = amountBNB.mul(temp.marketingFee).div(totalBNBFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");
        

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountBNBLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                marketingFeeReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountBNBLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

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

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

   function setMaxWallet(uint256 pct) external onlyOwner() {
        _maxWalletSize = (_totalSupply * pct) / 100;
    }

    function setMaxTx(uint256 pct) external onlyOwner() {
        _maxTxAmount = (_totalSupply * pct) / 100;  
    }    

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

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

    function setFeeReceiver(address _marketingFeeReceiver) external authorized {
        marketingFeeReceiver = _marketingFeeReceiver;
    }

     function setBuyFees(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
        taxes.liquidityFee = _liquidityFee;
        taxes.marketingFee  = _marketingFee;
        totalBuyFee = taxes.liquidityFee.add(taxes.marketingFee);
    } 

     function setSellFees(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
        sellTaxes.liquidityFee = _liquidityFee;
        sellTaxes.marketingFee  = _marketingFee;
        totalSellFee = sellTaxes.liquidityFee.add(sellTaxes.marketingFee);
    } 


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

    
    function manualSend() external authorized {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingFeeReceiver).transfer(contractETHBalance);
    }

    function transferForeignToken(address _token) public authorized {
        uint256 _contractBalance = IBEP20(_token).balanceOf(address(this));
        payable(marketingFeeReceiver).transfer(_contractBalance);
    }
        
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }
    
    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","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":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":[{"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":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","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":"manualSend","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceiver","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":"uint256","name":"pct","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"pct","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setSellFees","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":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"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"}]

600280546001600160a01b031990811661dead1790915560038054909116905560c06040526009608090815268446f6c6c617243656f60b81b60a0526004906200004a908262000534565b506040805180820190915260048152632443454f60e01b602082015260059062000075908262000534565b50620000846009600a62000713565b62000094906305f5e1006200072b565b60065560646006546064620000aa91906200072b565b620000b6919062000745565b60075560646006546064620000cc91906200072b565b620000d8919062000745565b60089081556064600d55604080518082018252600280825260066020928301819052600e829055600f81905583518085019094528184529290910183905260108190556011929092556200012d919062000420565b601255601154601054620001419162000420565b601355601480546001600160a01b03191673ac274b66e18158cc059fe0257da49c9e3755db571790556018805460ff1916600117905560065462000189906103e89062000745565b6200019690600d6200072b565b601955348015620001a657600080fd5b506040516200262738038062002627833981016040819052620001c99162000768565b600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601580546001600160a01b038616931683179055825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa15801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b919062000768565b6001600160a01b031663c9c6539630601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f4919062000768565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000342573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000368919062000768565b601680546001600160a01b0319166001600160a01b03928316179055306000908152600a6020908152604080832060155485168452825280832060001990558254909316808352600b8252838320805460ff199081166001908117909255600c845285852080549091169091179055600654600983528484208190559351938452928392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620007a9565b6000806200042f838562000793565b905083811015620004865760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004ba57607f821691505b602082108103620004db57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200052f57600081815260208120601f850160051c810160208610156200050a5750805b601f850160051c820191505b818110156200052b5782815560010162000516565b5050505b505050565b81516001600160401b038111156200055057620005506200048f565b6200056881620005618454620004a5565b84620004e1565b602080601f831160018114620005a05760008415620005875750858301515b600019600386901b1c1916600185901b1785556200052b565b600085815260208120601f198616915b82811015620005d157888601518255948401946001909101908401620005b0565b5085821015620005f05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006575781600019048211156200063b576200063b62000600565b808516156200064957918102915b93841c93908002906200061b565b509250929050565b600082620006705750600162000489565b816200067f5750600062000489565b8160018114620006985760028114620006a357620006c3565b600191505062000489565b60ff841115620006b757620006b762000600565b50506001821b62000489565b5060208310610133831016604e8410600b8410161715620006e8575081810a62000489565b620006f4838362000616565b80600019048211156200070b576200070b62000600565b029392505050565b60006200072460ff8416836200065f565b9392505050565b808202811582820484141762000489576200048962000600565b6000826200076357634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200077b57600080fd5b81516001600160a01b03811681146200048657600080fd5b8082018082111562000489576200048962000600565b611e6e80620007b96000396000f3fe6080604052600436106102555760003560e01c80639fd8234e11610139578063df20fd49116100b6578063f2fde38b1161007a578063f2fde38b1461070e578063f42938901461072e578063f66895a314610743578063f84ba65d1461075e578063f887ea401461077e578063fe9fbb801461079e57600080fd5b8063df20fd491461066e578063e96fada21461068e578063efdcd974146106ae578063f0b37c04146106ce578063f1f3bca3146106ee57600080fd5b8063bc337182116100fd578063bc337182146105b2578063bf56b371146105d2578063d51ed1c8146105e8578063dc93cf7014610608578063dd62ed3e1461062857600080fd5b80639fd8234e14610512578063a8aa1b3114610532578063a9059cbb14610552578063b2d8f20814610572578063b6a5d7de1461059257600080fd5b806359b107b9116101d2578063728f8eea11610196578063728f8eea146104595780637d1db4a514610489578063893d20e81461049f5780638f9a55c0146104d157806395d89b41146104e75780639d9241ec146104fc57600080fd5b806359b107b9146103b15780635d0044ca146103c7578063658d4b7f146103e95780636ddd17131461040957806370a082311461042357600080fd5b806323b872dd1161021957806323b872dd146103115780632b112e49146103315780632f54bf6e14610346578063313ce56714610375578063571ac8b01461039157600080fd5b80630445b6671461026157806306fdde031461028a578063095ea7b3146102ac5780631161ae39146102dc57806318160ddd146102fc57600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061027760195481565b6040519081526020015b60405180910390f35b34801561029657600080fd5b5061029f6107be565b6040516102819190611a74565b3480156102b857600080fd5b506102cc6102c7366004611ada565b610850565b6040519015158152602001610281565b3480156102e857600080fd5b506102cc6102f7366004611b06565b61092b565b34801561030857600080fd5b50600654610277565b34801561031d57600080fd5b506102cc61032c366004611b28565b61093f565b34801561033d57600080fd5b50610277610a01565b34801561035257600080fd5b506102cc610361366004611b69565b6000546001600160a01b0391821691161490565b34801561038157600080fd5b5060405160098152602001610281565b34801561039d57600080fd5b506102cc6103ac366004611b69565b610a53565b3480156103bd57600080fd5b5061027760125481565b3480156103d357600080fd5b506103e76103e2366004611b86565b610a61565b005b3480156103f557600080fd5b506103e7610404366004611bb4565b610aab565b34801561041557600080fd5b506018546102cc9060ff1681565b34801561042f57600080fd5b5061027761043e366004611b69565b6001600160a01b031660009081526009602052604090205490565b34801561046557600080fd5b50600e54600f54610474919082565b60408051928352602083019190915201610281565b34801561049557600080fd5b5061027760075481565b3480156104ab57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610281565b3480156104dd57600080fd5b5061027760085481565b3480156104f357600080fd5b5061029f610afb565b34801561050857600080fd5b5061027760135481565b34801561051e57600080fd5b506103e761052d366004611b06565b610b0a565b34801561053e57600080fd5b506016546104b9906001600160a01b031681565b34801561055e57600080fd5b506102cc61056d366004611ada565b610b4f565b34801561057e57600080fd5b506103e761058d366004611b06565b610b5c565b34801561059e57600080fd5b506103e76105ad366004611b69565b610ba1565b3480156105be57600080fd5b506103e76105cd366004611b86565b610bf2565b3480156105de57600080fd5b5061027760175481565b3480156105f457600080fd5b50610277610603366004611b86565b610c3c565b34801561061457600080fd5b506103e7610623366004611b69565b610c80565b34801561063457600080fd5b50610277610643366004611be9565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561067a57600080fd5b506103e7610689366004611c22565b610d50565b34801561069a57600080fd5b506014546104b9906001600160a01b031681565b3480156106ba57600080fd5b506103e76106c9366004611b69565b610d8c565b3480156106da57600080fd5b506103e76106e9366004611b69565b610dd3565b3480156106fa57600080fd5b50610277610709366004611c3e565b610e1e565b34801561071a57600080fd5b506103e7610729366004611b69565b610e59565b34801561073a57600080fd5b506103e7610eef565b34801561074f57600080fd5b50601054601154610474919082565b34801561076a57600080fd5b506103e7610779366004611bb4565b610f52565b34801561078a57600080fd5b506015546104b9906001600160a01b031681565b3480156107aa57600080fd5b506102cc6107b9366004611b69565b610fa2565b6060600480546107cd90611c59565b80601f01602080910402602001604051908101604052809291908181526020018280546107f990611c59565b80156108465780601f1061081b57610100808354040283529160200191610846565b820191906000526020600020905b81548152906001019060200180831161082957829003601f168201915b5050505050905090565b6000331580159061086957506001600160a01b03831615155b6108c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b336000818152600a602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60008261093783610c3c565b119392505050565b6001600160a01b0383166000908152600a60209081526040808320338452909152812054600019146109ec576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a825283812033825290915291909120546109c7918490610fc0565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b6109f7848484610ffa565b90505b9392505050565b6003546001600160a01b0316600090815260096020526040812054610a4e906002546001600160a01b0316600090815260096020526040902054610a48906006549061127d565b9061127d565b905090565b600061092582600019610850565b6000546001600160a01b03163314610a8b5760405162461bcd60e51b81526004016108bd90611c93565b606481600654610a9b9190611cc9565b610aa59190611ce0565b60085550565b610ab433610fa2565b610ad05760405162461bcd60e51b81526004016108bd90611d02565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6060600580546107cd90611c59565b6000546001600160a01b03163314610b345760405162461bcd60e51b81526004016108bd90611c93565b60108290556011819055610b4882826112bf565b6013555050565b60006109fa338484610ffa565b6000546001600160a01b03163314610b865760405162461bcd60e51b81526004016108bd90611c93565b600e829055600f819055610b9a82826112bf565b6012555050565b6000546001600160a01b03163314610bcb5760405162461bcd60e51b81526004016108bd90611c93565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b03163314610c1c5760405162461bcd60e51b81526004016108bd90611c93565b606481600654610c2c9190611cc9565b610c369190611ce0565b60075550565b6000610925610c49610a01565b6016546001600160a01b0316600090815260096020526040902054610c7a90610c7390600261131e565b859061131e565b906113a0565b610c8933610fa2565b610ca55760405162461bcd60e51b81526004016108bd90611d02565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d109190611d27565b6014546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610d4b573d6000803e3d6000fd5b505050565b610d5933610fa2565b610d755760405162461bcd60e51b81526004016108bd90611d02565b6018805460ff191692151592909217909155601955565b610d9533610fa2565b610db15760405162461bcd60e51b81526004016108bd90611d02565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610dfd5760405162461bcd60e51b81526004016108bd90611c93565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436017546001610e309190611d40565b10610e4357600d5461092590600161127d565b8115610e5157505060135490565b505060125490565b6000546001600160a01b03163314610e835760405162461bcd60e51b81526004016108bd90611c93565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b610ef833610fa2565b610f145760405162461bcd60e51b81526004016108bd90611d02565b60145460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610f4e573d6000803e3d6000fd5b5050565b610f5b33610fa2565b610f775760405162461bcd60e51b81526004016108bd90611d02565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b60008184841115610fe45760405162461bcd60e51b81526004016108bd9190611a74565b506000610ff18486611d53565b95945050505050565b601a5460009060ff161561101a576110138484846113e2565b90506109fa565b61102484836114c8565b6016546001600160a01b0384811691161480159061105057506002546001600160a01b03848116911614155b156110fb576001600160a01b0383166000908152600c602052604090205460ff16806110a157506008546001600160a01b03841660009081526009602052604090205461109e908490611d40565b11155b6110fb5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016108bd565b611103611531565b156111115761111183611580565b60175415801561112e57506016546001600160a01b038481169116145b1561115e576001600160a01b03841660009081526009602052604090205461115557600080fd5b61115e43601755565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600990915291909120546111b0918490610fc0565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff16156111e557826111f0565b6111f0858585611994565b6001600160a01b03851660009081526009602052604090205490915061121690826112bf565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061126a9085815260200190565b60405180910390a3506001949350505050565b60006109fa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fc0565b6000806112cc8385611d40565b9050838110156109fa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108bd565b60008260000361133057506000610925565b600061133c8385611cc9565b9050826113498583611ce0565b146109fa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108bd565b60006109fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a46565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611433918490610fc0565b6001600160a01b03808616600090815260096020526040808220939093559085168152205461146290836112bf565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114b69086815260200190565b60405180910390a35060019392505050565b600754811115806114f157506001600160a01b0382166000908152600c602052604090205460ff165b610f4e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108bd565b6016546000906001600160a01b031633148015906115525750601a5460ff16155b8015611560575060185460ff165b8015610a4e57505060195430600090815260096020526040902054101590565b601a805460ff1916600117905560408051808201909152600080825260208201526016546000906001600160a01b03908116908416036115db57505060408051808201909152601054815260115460208201526013546115f8565b505060408051808201909152600e548152600f5460208201526012545b306000908152600960205260408120549050600061162c6002610c7a85610c7a88600001518761131e90919063ffffffff16565b9050600061163a838361127d565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061167457611674611d66565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f19190611d7c565b8160018151811061170457611704611d66565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b81524792919091169063791ac9479061174e908690600090879030904290600401611d99565b600060405180830381600087803b15801561176857600080fd5b505af115801561177c573d6000803e3d6000fd5b505050506000611795824761127d90919063ffffffff16565b88519091506000906117b3906117ac9060026113a0565b899061127d565b905060006117d76002610c7a84610c7a8e600001518861131e90919063ffffffff16565b905060006117f683610c7a8d602001518761131e90919063ffffffff16565b6014546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d806000811461184d576040519150601f19603f3d011682016040523d82523d6000602084013e611852565b606091505b50509050806118a35760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016108bd565b881561197b5760155460145460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015611919573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061193e9190611e0a565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601a805460ff191690555050505050505050505050565b600d5460165460009182916119c69190610c7a906119bf906001600160a01b03898116911614610e1e565b869061131e565b306000908152600960205260409020549091506119e390826112bf565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a349085815260200190565b60405180910390a3610ff1838261127d565b60008183611a675760405162461bcd60e51b81526004016108bd9190611a74565b506000610ff18486611ce0565b600060208083528351808285015260005b81811015611aa157858101830151858201604001528201611a85565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611ad757600080fd5b50565b60008060408385031215611aed57600080fd5b8235611af881611ac2565b946020939093013593505050565b60008060408385031215611b1957600080fd5b50508035926020909101359150565b600080600060608486031215611b3d57600080fd5b8335611b4881611ac2565b92506020840135611b5881611ac2565b929592945050506040919091013590565b600060208284031215611b7b57600080fd5b81356109fa81611ac2565b600060208284031215611b9857600080fd5b5035919050565b80358015158114611baf57600080fd5b919050565b60008060408385031215611bc757600080fd5b8235611bd281611ac2565b9150611be060208401611b9f565b90509250929050565b60008060408385031215611bfc57600080fd5b8235611c0781611ac2565b91506020830135611c1781611ac2565b809150509250929050565b60008060408385031215611c3557600080fd5b611af883611b9f565b600060208284031215611c5057600080fd5b6109fa82611b9f565b600181811c90821680611c6d57607f821691505b602082108103611c8d57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761092557610925611cb3565b600082611cfd57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600060208284031215611d3957600080fd5b5051919050565b8082018082111561092557610925611cb3565b8181038181111561092557610925611cb3565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611d8e57600080fd5b81516109fa81611ac2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611de95784516001600160a01b031683529383019391830191600101611dc4565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611e1f57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220c064d2250dce4e4a2e16a0ad04d6416d4a2e1dd11af1daf676ab3579f943dee864736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106102555760003560e01c80639fd8234e11610139578063df20fd49116100b6578063f2fde38b1161007a578063f2fde38b1461070e578063f42938901461072e578063f66895a314610743578063f84ba65d1461075e578063f887ea401461077e578063fe9fbb801461079e57600080fd5b8063df20fd491461066e578063e96fada21461068e578063efdcd974146106ae578063f0b37c04146106ce578063f1f3bca3146106ee57600080fd5b8063bc337182116100fd578063bc337182146105b2578063bf56b371146105d2578063d51ed1c8146105e8578063dc93cf7014610608578063dd62ed3e1461062857600080fd5b80639fd8234e14610512578063a8aa1b3114610532578063a9059cbb14610552578063b2d8f20814610572578063b6a5d7de1461059257600080fd5b806359b107b9116101d2578063728f8eea11610196578063728f8eea146104595780637d1db4a514610489578063893d20e81461049f5780638f9a55c0146104d157806395d89b41146104e75780639d9241ec146104fc57600080fd5b806359b107b9146103b15780635d0044ca146103c7578063658d4b7f146103e95780636ddd17131461040957806370a082311461042357600080fd5b806323b872dd1161021957806323b872dd146103115780632b112e49146103315780632f54bf6e14610346578063313ce56714610375578063571ac8b01461039157600080fd5b80630445b6671461026157806306fdde031461028a578063095ea7b3146102ac5780631161ae39146102dc57806318160ddd146102fc57600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061027760195481565b6040519081526020015b60405180910390f35b34801561029657600080fd5b5061029f6107be565b6040516102819190611a74565b3480156102b857600080fd5b506102cc6102c7366004611ada565b610850565b6040519015158152602001610281565b3480156102e857600080fd5b506102cc6102f7366004611b06565b61092b565b34801561030857600080fd5b50600654610277565b34801561031d57600080fd5b506102cc61032c366004611b28565b61093f565b34801561033d57600080fd5b50610277610a01565b34801561035257600080fd5b506102cc610361366004611b69565b6000546001600160a01b0391821691161490565b34801561038157600080fd5b5060405160098152602001610281565b34801561039d57600080fd5b506102cc6103ac366004611b69565b610a53565b3480156103bd57600080fd5b5061027760125481565b3480156103d357600080fd5b506103e76103e2366004611b86565b610a61565b005b3480156103f557600080fd5b506103e7610404366004611bb4565b610aab565b34801561041557600080fd5b506018546102cc9060ff1681565b34801561042f57600080fd5b5061027761043e366004611b69565b6001600160a01b031660009081526009602052604090205490565b34801561046557600080fd5b50600e54600f54610474919082565b60408051928352602083019190915201610281565b34801561049557600080fd5b5061027760075481565b3480156104ab57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610281565b3480156104dd57600080fd5b5061027760085481565b3480156104f357600080fd5b5061029f610afb565b34801561050857600080fd5b5061027760135481565b34801561051e57600080fd5b506103e761052d366004611b06565b610b0a565b34801561053e57600080fd5b506016546104b9906001600160a01b031681565b34801561055e57600080fd5b506102cc61056d366004611ada565b610b4f565b34801561057e57600080fd5b506103e761058d366004611b06565b610b5c565b34801561059e57600080fd5b506103e76105ad366004611b69565b610ba1565b3480156105be57600080fd5b506103e76105cd366004611b86565b610bf2565b3480156105de57600080fd5b5061027760175481565b3480156105f457600080fd5b50610277610603366004611b86565b610c3c565b34801561061457600080fd5b506103e7610623366004611b69565b610c80565b34801561063457600080fd5b50610277610643366004611be9565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561067a57600080fd5b506103e7610689366004611c22565b610d50565b34801561069a57600080fd5b506014546104b9906001600160a01b031681565b3480156106ba57600080fd5b506103e76106c9366004611b69565b610d8c565b3480156106da57600080fd5b506103e76106e9366004611b69565b610dd3565b3480156106fa57600080fd5b50610277610709366004611c3e565b610e1e565b34801561071a57600080fd5b506103e7610729366004611b69565b610e59565b34801561073a57600080fd5b506103e7610eef565b34801561074f57600080fd5b50601054601154610474919082565b34801561076a57600080fd5b506103e7610779366004611bb4565b610f52565b34801561078a57600080fd5b506015546104b9906001600160a01b031681565b3480156107aa57600080fd5b506102cc6107b9366004611b69565b610fa2565b6060600480546107cd90611c59565b80601f01602080910402602001604051908101604052809291908181526020018280546107f990611c59565b80156108465780601f1061081b57610100808354040283529160200191610846565b820191906000526020600020905b81548152906001019060200180831161082957829003601f168201915b5050505050905090565b6000331580159061086957506001600160a01b03831615155b6108c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b336000818152600a602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60008261093783610c3c565b119392505050565b6001600160a01b0383166000908152600a60209081526040808320338452909152812054600019146109ec576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a825283812033825290915291909120546109c7918490610fc0565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b6109f7848484610ffa565b90505b9392505050565b6003546001600160a01b0316600090815260096020526040812054610a4e906002546001600160a01b0316600090815260096020526040902054610a48906006549061127d565b9061127d565b905090565b600061092582600019610850565b6000546001600160a01b03163314610a8b5760405162461bcd60e51b81526004016108bd90611c93565b606481600654610a9b9190611cc9565b610aa59190611ce0565b60085550565b610ab433610fa2565b610ad05760405162461bcd60e51b81526004016108bd90611d02565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6060600580546107cd90611c59565b6000546001600160a01b03163314610b345760405162461bcd60e51b81526004016108bd90611c93565b60108290556011819055610b4882826112bf565b6013555050565b60006109fa338484610ffa565b6000546001600160a01b03163314610b865760405162461bcd60e51b81526004016108bd90611c93565b600e829055600f819055610b9a82826112bf565b6012555050565b6000546001600160a01b03163314610bcb5760405162461bcd60e51b81526004016108bd90611c93565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b03163314610c1c5760405162461bcd60e51b81526004016108bd90611c93565b606481600654610c2c9190611cc9565b610c369190611ce0565b60075550565b6000610925610c49610a01565b6016546001600160a01b0316600090815260096020526040902054610c7a90610c7390600261131e565b859061131e565b906113a0565b610c8933610fa2565b610ca55760405162461bcd60e51b81526004016108bd90611d02565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d109190611d27565b6014546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610d4b573d6000803e3d6000fd5b505050565b610d5933610fa2565b610d755760405162461bcd60e51b81526004016108bd90611d02565b6018805460ff191692151592909217909155601955565b610d9533610fa2565b610db15760405162461bcd60e51b81526004016108bd90611d02565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610dfd5760405162461bcd60e51b81526004016108bd90611c93565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436017546001610e309190611d40565b10610e4357600d5461092590600161127d565b8115610e5157505060135490565b505060125490565b6000546001600160a01b03163314610e835760405162461bcd60e51b81526004016108bd90611c93565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b610ef833610fa2565b610f145760405162461bcd60e51b81526004016108bd90611d02565b60145460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610f4e573d6000803e3d6000fd5b5050565b610f5b33610fa2565b610f775760405162461bcd60e51b81526004016108bd90611d02565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b60008184841115610fe45760405162461bcd60e51b81526004016108bd9190611a74565b506000610ff18486611d53565b95945050505050565b601a5460009060ff161561101a576110138484846113e2565b90506109fa565b61102484836114c8565b6016546001600160a01b0384811691161480159061105057506002546001600160a01b03848116911614155b156110fb576001600160a01b0383166000908152600c602052604090205460ff16806110a157506008546001600160a01b03841660009081526009602052604090205461109e908490611d40565b11155b6110fb5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016108bd565b611103611531565b156111115761111183611580565b60175415801561112e57506016546001600160a01b038481169116145b1561115e576001600160a01b03841660009081526009602052604090205461115557600080fd5b61115e43601755565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600990915291909120546111b0918490610fc0565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff16156111e557826111f0565b6111f0858585611994565b6001600160a01b03851660009081526009602052604090205490915061121690826112bf565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061126a9085815260200190565b60405180910390a3506001949350505050565b60006109fa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fc0565b6000806112cc8385611d40565b9050838110156109fa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108bd565b60008260000361133057506000610925565b600061133c8385611cc9565b9050826113498583611ce0565b146109fa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108bd565b60006109fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a46565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611433918490610fc0565b6001600160a01b03808616600090815260096020526040808220939093559085168152205461146290836112bf565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114b69086815260200190565b60405180910390a35060019392505050565b600754811115806114f157506001600160a01b0382166000908152600c602052604090205460ff165b610f4e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108bd565b6016546000906001600160a01b031633148015906115525750601a5460ff16155b8015611560575060185460ff165b8015610a4e57505060195430600090815260096020526040902054101590565b601a805460ff1916600117905560408051808201909152600080825260208201526016546000906001600160a01b03908116908416036115db57505060408051808201909152601054815260115460208201526013546115f8565b505060408051808201909152600e548152600f5460208201526012545b306000908152600960205260408120549050600061162c6002610c7a85610c7a88600001518761131e90919063ffffffff16565b9050600061163a838361127d565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061167457611674611d66565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f19190611d7c565b8160018151811061170457611704611d66565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b81524792919091169063791ac9479061174e908690600090879030904290600401611d99565b600060405180830381600087803b15801561176857600080fd5b505af115801561177c573d6000803e3d6000fd5b505050506000611795824761127d90919063ffffffff16565b88519091506000906117b3906117ac9060026113a0565b899061127d565b905060006117d76002610c7a84610c7a8e600001518861131e90919063ffffffff16565b905060006117f683610c7a8d602001518761131e90919063ffffffff16565b6014546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d806000811461184d576040519150601f19603f3d011682016040523d82523d6000602084013e611852565b606091505b50509050806118a35760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016108bd565b881561197b5760155460145460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015611919573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061193e9190611e0a565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601a805460ff191690555050505050505050505050565b600d5460165460009182916119c69190610c7a906119bf906001600160a01b03898116911614610e1e565b869061131e565b306000908152600960205260409020549091506119e390826112bf565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a349085815260200190565b60405180910390a3610ff1838261127d565b60008183611a675760405162461bcd60e51b81526004016108bd9190611a74565b506000610ff18486611ce0565b600060208083528351808285015260005b81811015611aa157858101830151858201604001528201611a85565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611ad757600080fd5b50565b60008060408385031215611aed57600080fd5b8235611af881611ac2565b946020939093013593505050565b60008060408385031215611b1957600080fd5b50508035926020909101359150565b600080600060608486031215611b3d57600080fd5b8335611b4881611ac2565b92506020840135611b5881611ac2565b929592945050506040919091013590565b600060208284031215611b7b57600080fd5b81356109fa81611ac2565b600060208284031215611b9857600080fd5b5035919050565b80358015158114611baf57600080fd5b919050565b60008060408385031215611bc757600080fd5b8235611bd281611ac2565b9150611be060208401611b9f565b90509250929050565b60008060408385031215611bfc57600080fd5b8235611c0781611ac2565b91506020830135611c1781611ac2565b809150509250929050565b60008060408385031215611c3557600080fd5b611af883611b9f565b600060208284031215611c5057600080fd5b6109fa82611b9f565b600181811c90821680611c6d57607f821691505b602082108103611c8d57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761092557610925611cb3565b600082611cfd57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600060208284031215611d3957600080fd5b5051919050565b8082018082111561092557610925611cb3565b8181038181111561092557610925611cb3565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611d8e57600080fd5b81516109fa81611ac2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611de95784516001600160a01b031683529383019391830191600101611dc4565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611e1f57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220c064d2250dce4e4a2e16a0ad04d6416d4a2e1dd11af1daf676ab3579f943dee864736f6c63430008130033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

5460:11014:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6810:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6810:55:0;;;;;;;;7795:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;8217:325::-;;;;;;;;;;-1:-1:-1;8217:325:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;8217:325:0;1205:187:1;16253:150:0;;;;;;;;;;-1:-1:-1;16253:150:0;;;;;:::i;:::-;;:::i;7525:88::-;;;;;;;;;;-1:-1:-1;7598:12:0;;7525:88;;8844:371;;;;;;;;;;-1:-1:-1;8844:371:0;;;;;:::i;:::-;;:::i;15928:142::-;;;;;;;;;;;;;:::i;3355:103::-;;;;;;;;;;-1:-1:-1;3355:103:0;;;;;:::i;:::-;3410:4;3445:5;-1:-1:-1;;;;;3434:16:0;;;3445:5;;3434:16;;3355:103;7619:80;;;;;;;;;;-1:-1:-1;7619:80:0;;5778:1;2505:36:1;;2493:2;2478:18;7619:80:0;2363:184:1;8550:122:0;;;;;;;;;;-1:-1:-1;8550:122:0;;;;;:::i;:::-;;:::i;6416:71::-;;;;;;;;;;;;;;;;14134:118;;;;;;;;;;-1:-1:-1;14134:118:0;;;;;:::i;:::-;;:::i;:::-;;14386:120;;;;;;;;;;-1:-1:-1;14386:120:0;;;;;:::i;:::-;;:::i;6773:30::-;;;;;;;;;;-1:-1:-1;6773:30:0;;;;;;;;7965:105;;;;;;;;;;-1:-1:-1;7965:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8049:18:0;8031:7;8049:18;;;:9;:18;;;;;;;7965:105;6329:32;;;;;;;;;;-1:-1:-1;6329:32:0;;;;;;;;;;;;;3396:25:1;;;3452:2;3437:18;;3430:34;;;;3369:18;6329:32:0;3222:248:1;5847:56:0;;;;;;;;;;;;;;;;7881:78;;;;;;;;;;-1:-1:-1;7933:7:0;7951:5;-1:-1:-1;;;;;7951:5:0;7881:78;;;-1:-1:-1;;;;;3639:32:1;;;3621:51;;3609:2;3594:18;7881:78:0;3475:203:1;5911:58:0;;;;;;;;;;;;;;;;7705:84;;;;;;;;;;;;;:::i;6494:80::-;;;;;;;;;;;;;;;;15058:269;;;;;;;;;;-1:-1:-1;15058:269:0;;;;;:::i;:::-;;:::i;6711:19::-;;;;;;;;;;-1:-1:-1;6711:19:0;;;;-1:-1:-1;;;;;6711:19:0;;;8680:156;;;;;;;;;;-1:-1:-1;8680:156:0;;;;;:::i;:::-;;:::i;14797:251::-;;;;;;;;;;-1:-1:-1;14797:251:0;;;;;:::i;:::-;;:::i;3028:94::-;;;;;;;;;;-1:-1:-1;3028:94:0;;;;;:::i;:::-;;:::i;14260:114::-;;;;;;;;;;-1:-1:-1;14260:114:0;;;;;:::i;:::-;;:::i;6739:25::-;;;;;;;;;;;;;;;;16078:167;;;;;;;;;;-1:-1:-1;16078:167:0;;;;;:::i;:::-;;:::i;15696:216::-;;;;;;;;;;-1:-1:-1;15696:216:0;;;;;:::i;:::-;;:::i;8076:133::-;;;;;;;;;;-1:-1:-1;8076:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8178:19:0;;;8160:7;8178:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8076:133;15338:156;;;;;;;;;;-1:-1:-1;15338:156:0;;;;;:::i;:::-;;:::i;6589:80::-;;;;;;;;;;-1:-1:-1;6589:80:0;;;;-1:-1:-1;;;;;6589:80:0;;;14650:138;;;;;;;;;;-1:-1:-1;14650:138:0;;;;;:::i;:::-;;:::i;3198:97::-;;;;;;;;;;-1:-1:-1;3198:97:0;;;;;:::i;:::-;;:::i;10826:248::-;;;;;;;;;;-1:-1:-1;10826:248:0;;;;;:::i;:::-;;:::i;3755:173::-;;;;;;;;;;-1:-1:-1;3755:173:0;;;;;:::i;:::-;;:::i;15508:180::-;;;;;;;;;;;;;:::i;6368:35::-;;;;;;;;;;-1:-1:-1;6368:35:0;;;;;;;;;14514:128;;;;;;;;;;-1:-1:-1;14514:128:0;;;;;:::i;:::-;;:::i;6680:24::-;;;;;;;;;;-1:-1:-1;6680:24:0;;;;-1:-1:-1;;;;;6680:24:0;;;3529:107;;;;;;;;;;-1:-1:-1;3529:107:0;;;;;:::i;:::-;;:::i;7795:80::-;7843:13;7867:5;7860:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7795:80;:::o;8217:325::-;8292:4;8317:10;:24;;;;:49;;-1:-1:-1;;;;;;8345:21:0;;;;8317:49;8309:98;;;;-1:-1:-1;;;8309:98:0;;5587:2:1;8309:98:0;;;5569:21:1;5626:2;5606:18;;;5599:30;5665:34;5645:18;;;5638:62;-1:-1:-1;;;5716:18:1;;;5709:34;5760:19;;8309:98:0;;;;;;;;;8430:10;8418:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8418:32:0;;;;;;;;;;;;:41;;;8475:37;160:25:1;;;8418:32:0;;8430:10;8475:37;;133:18:1;8475:37:0;;;;;;;-1:-1:-1;8530:4:0;8217:325;;;;;:::o;16253:150::-;16333:4;16389:6;16357:29;16377:8;16357:19;:29::i;:::-;:38;;16253:150;-1:-1:-1;;;16253:150:0:o;8844:371::-;-1:-1:-1;;;;;8965:19:0;;8944:4;8965:19;;;:11;:19;;;;;;;;8985:10;8965:31;;;;;;;;-1:-1:-1;;8965:52:0;8962:186;;9067:69;;;;;;;;;;;-1:-1:-1;;;9067:69:0;;;;;;;;-1:-1:-1;;;;;9067:19:0;;-1:-1:-1;9067:19:0;;;:11;:19;;;;;9087:10;9067:31;;;;;;;;;;:69;;9103:6;;9067:35;:69::i;:::-;-1:-1:-1;;;;;9033:19:0;;;;;;:11;:19;;;;;;;;9053:10;9033:31;;;;;;;:103;8962:186;9167:40;9181:6;9189:9;9200:6;9167:13;:40::i;:::-;9160:47;;8844:371;;;;;;:::o;15928:142::-;16056:4;;-1:-1:-1;;;;;16056:4:0;15981:7;8049:18;;;:9;:18;;;;;;16008:54;;16035:4;;-1:-1:-1;;;;;16035:4:0;8031:7;8049:18;;;:9;:18;;;;;;16008:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;16001:61;;15928:142;:::o;8550:122::-;8605:4;8629:35;8637:7;-1:-1:-1;;8629:7:0;:35::i;14134:118::-;3410:4;3445:5;-1:-1:-1;;;;;3445:5:0;2752:10;3434:16;2736:38;;;;-1:-1:-1;;;2736:38:0;;;;;;;:::i;:::-;14241:3:::1;14234;14219:12;;:18;;;;:::i;:::-;14218:26;;;;:::i;:::-;14201:14;:43:::0;-1:-1:-1;14134:118:0:o;14386:120::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;-1:-1:-1;;;2905:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14470:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;14470:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14386:120::o;7705:84::-;7755:13;7779:7;7772:14;;;;;:::i;15058:269::-;3410:4;3445:5;-1:-1:-1;;;;;3445:5:0;2752:10;3434:16;2736:38;;;;-1:-1:-1;;;2736:38:0;;;;;;;:::i;:::-;15155:9:::1;:38:::0;;;15204:22;:39;;;15269:50:::1;15180:13:::0;15230;15269:26:::1;:50::i;:::-;15254:12;:65:::0;-1:-1:-1;;15058:269:0:o;8680:156::-;8760:4;8784:44;8798:10;8810:9;8821:6;8784:13;:44::i;14797:251::-;3410:4;3445:5;-1:-1:-1;;;;;3445:5:0;2752:10;3434:16;2736:38;;;;-1:-1:-1;;;2736:38:0;;;;;;;:::i;:::-;14893:5:::1;:34:::0;;;14938:18;:35;;;14998:42:::1;14914:13:::0;14960;14998:22:::1;:42::i;:::-;14984:11;:56:::0;-1:-1:-1;;14797:251:0:o;3028:94::-;3410:4;3445:5;-1:-1:-1;;;;;3445:5:0;2752:10;3434:16;2736:38;;;;-1:-1:-1;;;2736:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3088:19:0::1;;::::0;;;3110:4:::1;3088:19;::::0;;;;;;;:26;;-1:-1:-1;;3088:26:0::1;::::0;;::::1;::::0;;3028:94::o;14260:114::-;3410:4;3445:5;-1:-1:-1;;;;;3445:5:0;2752:10;3434:16;2736:38;;;;-1:-1:-1;;;2736:38:0;;;;;;;:::i;:::-;14361:3:::1;14354;14339:12;;:18;;;;:::i;:::-;14338:26;;;;:::i;:::-;14323:12;:41:::0;-1:-1:-1;14260:114:0:o;16078:167::-;16146:7;16173:64;16214:22;:20;:22::i;:::-;16196:4;;-1:-1:-1;;;;;16196:4:0;8031:7;8049:18;;;:9;:18;;;;;;16173:36;;16186:22;;16206:1;16186:19;:22::i;:::-;16173:8;;:12;:36::i;:::-;:40;;:64::i;15696:216::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;-1:-1:-1;;;2905:48:0;;;;;;;:::i;:::-;15798:39:::1;::::0;-1:-1:-1;;;15798:39:0;;15831:4:::1;15798:39;::::0;::::1;3621:51:1::0;15771:24:0::1;::::0;-1:-1:-1;;;;;15798:24:0;::::1;::::0;::::1;::::0;3594:18:1;;15798:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15856:20;::::0;15848:56:::1;::::0;15771:66;;-1:-1:-1;;;;;;15856:20:0::1;::::0;15848:56;::::1;;;::::0;15771:66;;15856:20:::1;15848:56:::0;15856:20;15848:56;15771:66;15856:20;15848:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15760:152;15696:216:::0;:::o;15338:156::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;-1:-1:-1;;;2905:48:0;;;;;;;:::i;:::-;15430:11:::1;:22:::0;;-1:-1:-1;;15430:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;15463:13:::1;:23:::0;15338:156::o;14650:138::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;-1:-1:-1;;;2905:48:0;;;;;;;:::i;:::-;14736:20:::1;:44:::0;;-1:-1:-1;;;;;;14736:44:0::1;-1:-1:-1::0;;;;;14736:44:0;;;::::1;::::0;;;::::1;::::0;;14650:138::o;3198:97::-;3410:4;3445:5;-1:-1:-1;;;;;3445:5:0;2752:10;3434:16;2736:38;;;;-1:-1:-1;;;2736:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3260:19:0::1;3282:5;3260:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3260:27:0::1;::::0;;3198:97::o;10826:248::-;10882:7;10923:12;10905:10;;10918:1;10905:14;;;;:::i;:::-;:30;10902:67;;10945:14;;:21;;10964:1;10945:18;:21::i;10902:67::-;10982:7;10979:59;;;-1:-1:-1;;11013:12:0;;;10826:248::o;10979:59::-;-1:-1:-1;;11055:11:0;;;10826:248::o;3755:173::-;3410:4;3445:5;-1:-1:-1;;;;;3445:5:0;2752:10;3434:16;2736:38;;;;-1:-1:-1;;;2736:38:0;;;;;;;:::i;:::-;3831:5:::1;:11:::0;;-1:-1:-1;;;;;;3831:11:0::1;-1:-1:-1::0;;;;;3831:11:0;::::1;::::0;;::::1;::::0;;3853:19;;;-1:-1:-1;3853:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3853:26:0::1;::::0;;::::1;::::0;;;3895:25;;3621:51:1;;;3895:25:0::1;::::0;3594:18:1;3895:25:0::1;;;;;;;3755:173:::0;:::o;15508:180::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;-1:-1:-1;;;2905:48:0;;;;;;;:::i;:::-;15630:20:::1;::::0;15622:58:::1;::::0;15590:21:::1;::::0;-1:-1:-1;;;;;15630:20:0::1;::::0;15622:58;::::1;;;::::0;15590:21;;15561:26:::1;15622:58:::0;15561:26;15622:58;15590:21;15630:20;15622:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15550:138;15508:180::o:0;14514:128::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;-1:-1:-1;;;2905:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14602:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;14602:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14514:128::o;3529:107::-;-1:-1:-1;;;;;3609:19:0;3585:4;3609:19;;;:14;:19;;;;;;;;;3529:107::o;412:192::-;498:7;534:12;526:6;;;;518:29;;;;-1:-1:-1;;;518:29:0;;;;;;;;:::i;:::-;-1:-1:-1;558:9:0;570:5;574:1;570;:5;:::i;:::-;558:17;412:192;-1:-1:-1;;;;;412:192:0:o;9223:953::-;9335:6;;9315:4;;9335:6;;9332:63;;;9351:41;9366:6;9374:9;9385:6;9351:14;:41::i;:::-;9344:48;;;;9332:63;9415:28;9428:6;9436;9415:12;:28::i;:::-;9481:4;;-1:-1:-1;;;;;9468:17:0;;;9481:4;;9468:17;;;;:38;;-1:-1:-1;9502:4:0;;-1:-1:-1;;;;;9489:17:0;;;9502:4;;9489:17;;9468:38;9464:198;;;-1:-1:-1;;;;;9531:26:0;;;;;;:15;:26;;;;;;;;;:77;;-1:-1:-1;9594:14:0;;-1:-1:-1;;;;;9561:20:0;;;;;;:9;:20;;;;;;:29;;9584:6;;9561:29;:::i;:::-;:47;;9531:77;9523:127;;;;-1:-1:-1;;;9523:127:0;;7861:2:1;9523:127:0;;;7843:21:1;7900:2;7880:18;;;7873:30;7939:34;7919:18;;;7912:62;-1:-1:-1;;;7990:18:1;;;7983:35;8035:19;;9523:127:0;7659:401:1;9523:127:0;9685:16;:14;:16::i;:::-;9682:44;;;9704:19;9713:9;9704:8;:19::i;:::-;14025:10;;:15;;;9741:32;;-1:-1:-1;9769:4:0;;-1:-1:-1;;;;;9756:17:0;;;9769:4;;9756:17;9741:32;9738:81;;;-1:-1:-1;;;;;9784:17:0;;9804:1;9784:17;;;:9;:17;;;;;;9776:30;;;;;;9808:8;14107:12;14094:10;:25;14056:71;9808:8;9851:53;;;;;;;;;;;-1:-1:-1;;;9851:53:0;;;;;;;;-1:-1:-1;;;;;9851:17:0;;-1:-1:-1;9851:17:0;;;:9;:17;;;;;;;;:53;;9873:6;;9851:21;:53::i;:::-;-1:-1:-1;;;;;9831:17:0;;;;;;:9;:17;;;;;;;;:73;;;;10791:11;:19;;;;;;;;10790:20;9942:67;;10003:6;9942:67;;;9966:34;9974:6;9982:9;9993:6;9966:7;:34::i;:::-;-1:-1:-1;;;;;10045:20:0;;;;;;:9;:20;;;;;;9917:92;;-1:-1:-1;10045:40:0;;9917:92;10045:24;:40::i;:::-;-1:-1:-1;;;;;10022:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10103:43;;;;;;;;;;10131:14;160:25:1;;148:2;133:18;;14:177;10103:43:0;;;;;;;;-1:-1:-1;10164:4:0;;9223:953;-1:-1:-1;;;;9223:953:0:o;270:136::-;328:7;355:43;359:1;362;355:43;;;;;;;;;;;;;;;;;:3;:43::i;83:181::-;141:7;;173:5;177:1;173;:5;:::i;:::-;161:17;;202:1;197;:6;;189:46;;;;-1:-1:-1;;;189:46:0;;8267:2:1;189:46:0;;;8249:21:1;8306:2;8286:18;;;8279:30;8345:29;8325:18;;;8318:57;8392:18;;189:46:0;8065:351:1;610:250:0;668:7;692:1;697;692:6;688:47;;-1:-1:-1;722:1:0;715:8;;688:47;747:9;759:5;763:1;759;:5;:::i;:::-;747:17;-1:-1:-1;792:1:0;783:5;787:1;747:17;783:5;:::i;:::-;:10;775:56;;;;-1:-1:-1;;;775:56:0;;8623:2:1;775:56:0;;;8605:21:1;8662:2;8642:18;;;8635:30;8701:34;8681:18;;;8674:62;-1:-1:-1;;;8752:18:1;;;8745:31;8793:19;;775:56:0;8421:397:1;866:132:0;924:7;951:39;955:1;958;951:39;;;;;;;;;;;;;;;;;:3;:39::i;10188:330::-;10318:53;;;;;;;;;;;-1:-1:-1;;;10318:53:0;;;;;;;;-1:-1:-1;;;;;10318:17:0;;10281:4;10318:17;;;:9;:17;;;;;;;:53;;10340:6;;10318:21;:53::i;:::-;-1:-1:-1;;;;;10298:17:0;;;;;;;:9;:17;;;;;;:73;;;;10405:20;;;;;;;:32;;10430:6;10405:24;:32::i;:::-;-1:-1:-1;;;;;10382:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10453:35;;;;;;;;;;10481:6;160:25:1;;148:2;133:18;;14:177;10453:35:0;;;;;;;;-1:-1:-1;10506:4:0;10188:330;;;;;:::o;10526:166::-;10623:12;;10613:6;:22;;:49;;;-1:-1:-1;;;;;;10639:23:0;;;;;;:15;:23;;;;;;;;10613:49;10605:79;;;;-1:-1:-1;;;10605:79:0;;9025:2:1;10605:79:0;;;9007:21:1;9064:2;9044:18;;;9037:30;-1:-1:-1;;;9083:18:1;;;9076:47;9140:18;;10605:79:0;8823:341:1;11462:197:0;11549:4;;11511;;-1:-1:-1;;;;;11549:4:0;11535:10;:18;;;;:38;;-1:-1:-1;11567:6:0;;;;11566:7;11535:38;:62;;;;-1:-1:-1;11586:11:0;;;;11535:62;:116;;;;-1:-1:-1;;11638:13:0;;11628:4;11610:24;;;;:9;:24;;;;;;:41;;;11462:197::o;11667:1905::-;6920:6;:13;;-1:-1:-1;;6920:13:0;6929:4;6920:13;;;-1:-1:-1;;;;;;;;;6920:6:0;-1:-1:-1;;;;;;;11819:4:0::1;::::0;11761:16:::1;::::0;-1:-1:-1;;;;;11819:4:0;;::::1;11806:17:::0;;::::1;::::0;11803:194:::1;;-1:-1:-1::0;;11845:16:0::1;::::0;;;;::::1;::::0;;;11852:9:::1;11845:16:::0;;;;;::::1;::::0;::::1;::::0;11883:12:::1;::::0;11803:194:::1;;;-1:-1:-1::0;;11936:12:0::1;::::0;;;;::::1;::::0;;;11943:5:::1;11936:12:::0;;;;;::::1;::::0;::::1;::::0;11974:11:::1;::::0;11803:194:::1;12059:4;12010:28;8049:18:::0;;;:9;:18;;;;;;12010:55:::1;;12076:23;12102:64;12164:1;12102:57;12150:8;12102:43;12127:4;:17;;;12102:20;:24;;:43;;;;:::i;:64::-;12076:90:::0;-1:-1:-1;12177:20:0::1;12200:41;:20:::0;12076:90;12200:24:::1;:41::i;:::-;12278:16;::::0;;12292:1:::1;12278:16:::0;;;;;::::1;::::0;;12177:64;;-1:-1:-1;12254:21:0::1;::::0;12278:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12278:16:0::1;12254:40;;12323:4;12305;12310:1;12305:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12305:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12349:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;12349:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;12305:7;;12349:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12339:4;12344:1;12339:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12339:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12433:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;12433:188:0;;12399:21:::1;::::0;12433:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;12505:12;;12375:21:::1;::::0;12548:4;;12575::::1;::::0;12595:15:::1;::::0;12433:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12632:17;12652:40;12678:13;12652:21;:25;;:40;;;;:::i;:::-;12748:17:::0;;12632:60;;-1:-1:-1;12713:19:0::1;::::0;12735:38:::1;::::0;12748:24:::1;::::0;12770:1:::1;12748:21;:24::i;:::-;12735:8:::0;;:12:::1;:38::i;:::-;12713:60;;12784:26;12813:56;12867:1;12813:49;12850:11;12813:32;12827:4;:17;;;12813:9;:13;;:32;;;;:::i;:56::-;12784:85;;12890:26;12919:49;12956:11;12919:32;12933:4;:17;;;12919:9;:13;;:32;;;;:::i;:49::-;13042:20;::::0;13034:77:::1;::::0;12890:78;;-1:-1:-1;12984:21:0::1;::::0;-1:-1:-1;;;;;13042:20:0;;::::1;::::0;13101:5:::1;::::0;12890:78;;12984:21;13034:77;12984:21;13034:77;12890:78;13042:20;13101:5;13034:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12983:128;;;13130:16;13122:59;;;::::0;-1:-1:-1;;;13122:59:0;;11086:2:1;13122:59:0::1;::::0;::::1;11068:21:1::0;11125:2;11105:18;;;11098:30;11164:32;11144:18;;;11137:60;11214:18;;13122:59:0::1;10884:354:1::0;13122:59:0::1;13207:19:::0;;13204:361:::1;;13242:6;::::0;13416:20:::1;::::0;13242:243:::1;::::0;-1:-1:-1;;;13242:243:0;;13318:4:::1;13242:243;::::0;::::1;11584:34:1::0;11634:18;;;11627:34;;;13242:6:0::1;11677:18:1::0;;;11670:34;;;11720:18;;;11713:34;-1:-1:-1;;;;;13416:20:0;;::::1;11763:19:1::0;;;11756:44;13455:15:0::1;11816:19:1::0;;;11809:35;13242:6:0;::::1;::::0;:22:::1;::::0;13272:18;;11518:19:1;;13242:243:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13505:48:0::1;::::0;;3396:25:1;;;3452:2;3437:18;;3430:34;;;13505:48:0::1;::::0;-1:-1:-1;3369:18:1;13505:48:0::1;;;;;;;13204:361;-1:-1:-1::0;;6938:6:0;:14;;-1:-1:-1;;6938:14:0;;;-1:-1:-1;;;;;;;;;;;11667:1905:0:o;11082:372::-;11253:14;;11242:4;;11167:7;;;;11207:61;;11253:14;11207:41;;11218:29;;-1:-1:-1;;;;;11230:16:0;;;11242:4;;11230:16;11218:11;:29::i;:::-;11207:6;;:10;:41::i;:61::-;11326:4;11308:24;;;;:9;:24;;;;;;11187:81;;-1:-1:-1;11308:39:0;;11187:81;11308:28;:39::i;:::-;11299:4;11281:24;;;;:9;:24;;;;;;;:66;;;;11363:42;;-1:-1:-1;;;;;11363:42:0;;;;;;;11395:9;160:25:1;;148:2;133:18;;14:177;11363:42:0;;;;;;;;11425:21;:6;11436:9;11425:10;:21::i;1004:345::-;1090:7;1192:12;1185:5;1177:28;;;;-1:-1:-1;;;1177:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1216:9:0;1228:5;1232:1;1228;: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;1397:248::-;1465:6;1473;1526:2;1514:9;1505:7;1501:23;1497:32;1494:52;;;1542:1;1539;1532:12;1494:52;-1:-1:-1;;1565:23:1;;;1635:2;1620:18;;;1607:32;;-1:-1:-1;1397:248:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2111:247::-;2170:6;2223:2;2211:9;2202:7;2198:23;2194:32;2191:52;;;2239:1;2236;2229:12;2191:52;2278:9;2265:23;2297:31;2322:5;2297:31;:::i;2552:180::-;2611:6;2664:2;2652:9;2643:7;2639:23;2635:32;2632:52;;;2680:1;2677;2670:12;2632:52;-1:-1:-1;2703:23:1;;2552:180;-1:-1:-1;2552:180:1:o;2737:160::-;2802:20;;2858:13;;2851:21;2841:32;;2831:60;;2887:1;2884;2877:12;2831:60;2737:160;;;:::o;2902:315::-;2967:6;2975;3028:2;3016:9;3007:7;3003:23;2999:32;2996:52;;;3044:1;3041;3034:12;2996:52;3083:9;3070:23;3102:31;3127:5;3102:31;:::i;:::-;3152:5;-1:-1:-1;3176:35:1;3207:2;3192:18;;3176:35;:::i;:::-;3166:45;;2902:315;;;;;:::o;3683:388::-;3751:6;3759;3812:2;3800:9;3791:7;3787:23;3783:32;3780:52;;;3828:1;3825;3818:12;3780:52;3867:9;3854:23;3886:31;3911:5;3886:31;:::i;:::-;3936:5;-1:-1:-1;3993:2:1;3978:18;;3965:32;4006:33;3965:32;4006:33;:::i;:::-;4058:7;4048:17;;;3683:388;;;;;:::o;4076:248::-;4141:6;4149;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;4241:26;4257:9;4241:26;:::i;4329:180::-;4385:6;4438:2;4426:9;4417:7;4413:23;4409:32;4406:52;;;4454:1;4451;4444:12;4406:52;4477:26;4493:9;4477:26;:::i;5000:380::-;5079:1;5075:12;;;;5122;;;5143:61;;5197:4;5189:6;5185:17;5175:27;;5143:61;5250:2;5242:6;5239:14;5219:18;5216:38;5213:161;;5296:10;5291:3;5287:20;5284:1;5277:31;5331:4;5328:1;5321:15;5359:4;5356:1;5349:15;5213:161;;5000:380;;;:::o;5790:329::-;5992:2;5974:21;;;6031:1;6011:18;;;6004:29;-1:-1:-1;;;6064:2:1;6049:18;;6042:36;6110:2;6095:18;;5790:329::o;6124:127::-;6185:10;6180:3;6176:20;6173:1;6166:31;6216:4;6213:1;6206:15;6240:4;6237:1;6230:15;6256:168;6329:9;;;6360;;6377:15;;;6371:22;;6357:37;6347:71;;6398:18;;:::i;6429:217::-;6469:1;6495;6485:132;;6539:10;6534:3;6530:20;6527:1;6520:31;6574:4;6571:1;6564:15;6602:4;6599:1;6592:15;6485:132;-1:-1:-1;6631:9:1;;6429:217::o;6651:335::-;6853:2;6835:21;;;6892:2;6872:18;;;6865:30;-1:-1:-1;;;6926:2:1;6911:18;;6904:41;6977:2;6962:18;;6651:335::o;6991:184::-;7061:6;7114:2;7102:9;7093:7;7089:23;7085:32;7082:52;;;7130:1;7127;7120:12;7082:52;-1:-1:-1;7153:16:1;;6991:184;-1:-1:-1;6991:184:1:o;7180:125::-;7245:9;;;7266:10;;;7263:36;;;7279:18;;:::i;7526:128::-;7593:9;;;7614:11;;;7611:37;;;7628:18;;:::i;9301:127::-;9362:10;9357:3;9353:20;9350:1;9343:31;9393:4;9390:1;9383:15;9417:4;9414:1;9407:15;9433:251;9503:6;9556:2;9544:9;9535:7;9531:23;9527:32;9524:52;;;9572:1;9569;9562:12;9524:52;9604:9;9598:16;9623:31;9648:5;9623:31;:::i;9689:980::-;9951:4;9999:3;9988:9;9984:19;10030:6;10019:9;10012:25;10056:2;10094:6;10089:2;10078:9;10074:18;10067:34;10137:3;10132:2;10121:9;10117:18;10110:31;10161:6;10196;10190:13;10227:6;10219;10212:22;10265:3;10254:9;10250:19;10243:26;;10304:2;10296:6;10292:15;10278:29;;10325:1;10335:195;10349:6;10346:1;10343:13;10335:195;;;10414:13;;-1:-1:-1;;;;;10410:39:1;10398:52;;10505:15;;;;10470:12;;;;10446:1;10364:9;10335:195;;;-1:-1:-1;;;;;;;10586:32:1;;;;10581:2;10566:18;;10559:60;-1:-1:-1;;;10650:3:1;10635:19;10628:35;10547:3;9689:980;-1:-1:-1;;;9689:980:1:o;11855:306::-;11943:6;11951;11959;12012:2;12000:9;11991:7;11987:23;11983:32;11980:52;;;12028:1;12025;12018:12;11980:52;12057:9;12051:16;12041:26;;12107:2;12096:9;12092:18;12086:25;12076:35;;12151:2;12140:9;12136:18;12130:25;12120:35;;11855:306;;;;;:::o

Swarm Source

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