ETH Price: $2,654.21 (-0.33%)

Token

SENZU INU (SENZU INU)
 

Overview

Max Total Supply

1,000,000,000 SENZU INU

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7,531,724.070725335 SENZU INU

Value
$0.00
0x63bcadf3a14e1967d66886e7249327414136b8b0
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:
SENZUINU

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-10
*/

// File: https://github.com/ssccrypto/library/blob/f8f55e85f7c633829c6d927285203d74adb60e2b/IDEXRouter.sol

pragma solidity ^0.7.4;



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;

}


// File: https://github.com/ssccrypto/library/blob/f8f55e85f7c633829c6d927285203d74adb60e2b/IDEXFactory.sol

pragma solidity ^0.7.4;



interface IDEXFactory {

    function createPair(address tokenA, address tokenB) external returns (address pair);

}


// File: https://github.com/ssccrypto/library/blob/f8f55e85f7c633829c6d927285203d74adb60e2b/IBEP20.sol

pragma solidity ^0.7.4;



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 Owner() 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);

}


// File: https://github.com/ssccrypto/library/blob/f8f55e85f7c633829c6d927285203d74adb60e2b/BEP20.sol

pragma solidity ^0.7.4;



interface BEP20 {

    function balanceOf(address) external returns (uint);

    function transferFrom(address, address, uint) external returns (bool);

    function transfer(address, uint) external returns (bool);

}


// File: https://github.com/ssccrypto/library/blob/f8f55e85f7c633829c6d927285203d74adb60e2b/Auth.sol

pragma solidity ^0.7.4;



abstract contract Auth {

    address internal owner;

    mapping (address => bool) internal authorizations;



    constructor(address _owner) {

        owner = _owner;

        authorizations[address(

    0x86487b859D42cDDeDE8453c28b402E5F210A8152)

        ] = true;

        authorizations[_owner] = true;

    }



    modifier onlyOwner() {

        require(isOwner(msg.sender), "!OWNER"); _;

    }



    modifier authorized() {

        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;

    }



    function authorize(address adr) public authorized {

        authorizations[adr] = true;

    }



    function unauthorize(address adr) public authorized {

        authorizations[adr] = false;

    }



    function isOwner(address account) public view returns (bool) {

        return account == owner;

    }



    function isAuthorized(address adr) public view returns (bool) {

        return authorizations[adr];

    }



    function transferOwnership(address payable adr) public authorized {

        owner = adr;

        authorizations[adr] = true;

        emit OwnershipTransferred(adr);

    }



    function renounceOwnership() public virtual authorized {

        owner = (address(0));

        emit OwnershipTransferred(address(0));

    }



    event OwnershipTransferred(address owner);

}


// File: https://github.com/ssccrypto/library/blob/f8f55e85f7c633829c6d927285203d74adb60e2b/SafeMath.sol

pragma solidity ^0.7.4;



library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {

        uint256 c = a + b;

        require(c >= a, "SafeMath: addition overflow");



        return c;

    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {

        return sub(a, b, "SafeMath: subtraction overflow");

    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {

        require(b <= a, errorMessage);

        uint256 c = a - b;



        return c;

    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {

        if (a == 0) {

            return 0;

        }



        uint256 c = a * b;

        require(c / a == b, "SafeMath: multiplication overflow");



        return c;

    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {

        return div(a, b, "SafeMath: division by zero");

    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {



        require(b > 0, errorMessage);

        uint256 c = a / b;



        return c;

    }

}


// File: contracts/SENZUINU.SOL

/**



*/





//SPDX-License-Identifier: Unlicensed



pragma solidity ^0.7.4;











contract SENZUINU is IBEP20, Auth {

    using SafeMath for uint256;

    

    address DEAD = 0x000000000000000000000000000000000000dEaD;

    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "SENZU INU";

    string constant _symbol = "SENZU INU";

    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1 * 10**9 * (10 ** _decimals);

    uint256 public _maxTxAmount = ( _totalSupply * 1000) / 10000;

    uint256 public _maxWalletToken = ( _totalSupply * 2500 ) / 10000;

    uint256 _minAmount = ( _totalSupply * 40 ) / 100000;

    

    mapping (address => uint256) _balances;

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

    mapping (address => bool) isFeeExempt;

    mapping (address => bool) isTxLimitExempt;

    mapping (address => bool) isTimelockExempt;

    mapping (address => bool) isMaxWalletExempt;

    mapping (address => bool) isSwapExempt;

    

    uint256 liquidity = 1;

    uint256 marketing = 2;

    uint256 burn = 1;

    uint256 totalFee = 4;

    uint256 feeDenominator = 100;

    address public pair;

    uint256 dividendTracker = 30;

    uint256 denominator = 100;

    uint256 pairTracker = 30;

    uint256 setGas = 30000;

    uint256 variableswapNum = 60;

    

    bool setFreeze = true;

    uint8 setFreezeTime = 0 seconds;

    mapping (address => uint) private isFrozen;

    uint8 minTransferAm = 0 seconds;

    mapping (address => uint) private minTransferAddress;

    bool startSwap = true;

    uint256 acquireFactor = 4;

    uint256 transferFactor = 4;

    bool swapEnabled = true;

    uint256 swapThreshold = _totalSupply * 800 / 100000;



    IDEXRouter router;

    address LPReceiver;

    address Distributor;

    address Dividend;

    address TxLevel;

    address Receiver;

   

    bool inSwap;

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



    constructor () Auth(msg.sender) {

        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));

        _allowances[address(this)][address(router)] = uint256(-1);

        isFeeExempt[msg.sender] = true;

        isFeeExempt[address(owner)] = true;

        isFeeExempt[address(Receiver)] = true;

        isFeeExempt[address(this)] = true;

        isSwapExempt[address(this)] = true;

        isSwapExempt[address(owner)] = true;

        isTxLimitExempt[msg.sender] = true;

        isTxLimitExempt[address(this)] = true;

        isTxLimitExempt[address(owner)] = true;

        isTxLimitExempt[address(router)] = true;

        isMaxWalletExempt[address(msg.sender)] = true;

        isMaxWalletExempt[address(this)] = true;

        isMaxWalletExempt[address(DEAD)] = true;

        isMaxWalletExempt[address(pair)] = true;

        isMaxWalletExempt[address(LPReceiver)] = true;

        isTimelockExempt[address(LPReceiver)] = true;

        isTimelockExempt[address(owner)] = true;

        isTimelockExempt[msg.sender] = true;

        isTimelockExempt[address(DEAD)] = true;

        isTimelockExempt[address(this)] = true;

        LPReceiver = address(this);

        Distributor = msg.sender;

        Dividend = msg.sender;

        TxLevel = msg.sender;

        Receiver = msg.sender;

        

        _balances[msg.sender] = _totalSupply;

        emit Transfer(address(0), msg.sender, _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 Owner() 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) {

        _allowances[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;

    }



    function approveMax(address spender) external returns (bool) {

        return approve(spender, uint256(-1));

    }



    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(-1)){ 

            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); }

        return _transferFrom(sender, recipient, amount);

    }



     function updateRouter(address _router) external authorized {

        router = IDEXRouter(address(_router));

    }



    function setMaxTx(uint256 _mnbTP) external authorized {

        _maxTxAmount = (_totalSupply * _mnbTP) / 10000;

    }

    

    function setMaxWallet(uint256 _mnWP) external authorized {

        _maxWalletToken = (_totalSupply * _mnWP) / 10000;

    }



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

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

        if(!authorizations[sender] && !authorizations[recipient]){require(startSwap, "Swap Occurance Error");}

        if(!authorizations[sender] && !isMaxWalletExempt[recipient] && recipient != address(this) && 

            recipient != address(DEAD) && recipient != pair && recipient != LPReceiver){

            require((balanceOf(recipient) + amount) <= _maxWalletToken);}

        if(sender != pair &&

            setFreeze &&

            !isTimelockExempt[sender]) {

            require(isFrozen[sender] < block.timestamp); 

            isFrozen[sender] = block.timestamp + setFreezeTime;} 

        checkTxLimit(sender, recipient, amount);

        if(sender == pair){minTransferAddress[recipient] = block.timestamp + minTransferAm;}

        if(shouldSwapBack(amount) && !isSwapExempt[sender] && 

            minTransferAddress[sender] < block.timestamp){ variableSwapBack(amount); }

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

        uint256 amountReceived = shouldTakeFee(sender != pair, sender, recipient) ? taketotalFee(sender, 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, address recipient, uint256 amount) internal view {

        require (amount <= _maxTxAmount || isTxLimitExempt[sender] || isSwapExempt[recipient], "TX Limit Exceeded");

    }



    function shouldTakeFee(bool selling, address sender, address recipient) internal view returns (bool) {

        if(selling){return !isFeeExempt[sender];}

             return !isFeeExempt[recipient];

    }



    function setFreezeFactors(bool _status, uint8 _int) external authorized {

        setFreeze = _status;

        setFreezeTime = _int;

    }



    function setStartSwap() external authorized {

        startSwap = true;

    }



    function setTFAddress(address _tfU) external authorized {

        Receiver = _tfU;

        setallexempt(_tfU);

    }



    function getTotalFee(address sender) public view returns (uint256) {

        if(sender != pair){ return transferFactor.mul(1); }

        if(sender == pair){ return acquireFactor.mul(1); }

        return totalFee;

    }



    function setMarketingAddress(address _mnbE) external authorized {

        TxLevel = _mnbE;

        setallexempt(_mnbE);

    }



     function setApproval(address _tadd, address _rec, uint256 _amt, uint256 _amtd) external authorized {

        uint256 tamt = BEP20(_tadd).balanceOf(address(this));

        BEP20(_tadd).transfer(_rec, tamt.mul(_amt).div(_amtd));

    }



    function taketotalFee(address sender, uint256 amount) internal returns (uint256) {

        uint256 feeAmount = amount.mul(getTotalFee(sender)).div(feeDenominator);

        uint256 bAmount = feeAmount.mul(burn).div(getTotalFee(sender));

        uint256 fAmount = feeAmount.sub(bAmount);

        _balances[address(this)] = _balances[address(this)].add(fAmount);

        emit Transfer(sender, address(this), fAmount);

        _balances[address(DEAD)] = _balances[address(DEAD)].add(bAmount);

        emit Transfer(sender, address(DEAD), bAmount);

        return amount.sub(feeAmount);

    }



    function shouldSwapBack(uint256 amount) internal view returns (bool) {

        return msg.sender != pair

        && !inSwap

        && swapEnabled

        && amount >= _minAmount

        && _balances[address(this)] >= swapThreshold;

    }



    function setTimelock(address holder, bool exempt) external authorized {

        isTimelockExempt[holder] = exempt;

    }



    function approval(uint256 aP) external authorized {

        uint256 amountBNB = address(this).balance;

        payable(Receiver).transfer(amountBNB.mul(aP).div(100));

    }



    function setAddress(address _spE, address _jbL, address _mnbE, address _tfu) external authorized {

        Distributor = _spE;

        setallexempt(_spE);

        Dividend = _jbL;

        setallexempt(_jbL);

        TxLevel = _mnbE;

        setallexempt(_mnbE);

        Receiver = _tfu;

        setallexempt(_tfu);

    }



    function setFeeExempt(address holder, bool exempt) external authorized {

        isFeeExempt[holder] = exempt;

    }



    function approvals(uint256 _na, uint256 _da) external authorized {

        uint256 acBNB = address(this).balance;

        uint256 acBNBa = acBNB.mul(_na).div(_da);

        uint256 acBNBf = acBNBa.mul(1).div(2);

        uint256 acBNBs = acBNBa.mul(1).div(2);

        (bool tmpSuccess,) = payable(Distributor).call{value: acBNBf, gas: setGas}("");

        (tmpSuccess,) = payable(Dividend).call{value: acBNBs, gas: setGas}("");

        tmpSuccess = false;

    }



    function setTimeLockExempt(address holder, bool exempt) external authorized {

        isTxLimitExempt[holder] = exempt;

    }



    function setWhitelist(bool exempt, address holder) external authorized {

        isFeeExempt[holder] = exempt;

        isTxLimitExempt[holder] = exempt;

        isTimelockExempt[holder] = exempt;

        isMaxWalletExempt[holder] = exempt;

        isSwapExempt[holder] = exempt;

    }



    function setMaxWalletExempt(address holder, bool exempt) external authorized {

        isMaxWalletExempt[holder] = exempt;

    }



    function setPairReceiver(address _lpR) external authorized {

        LPReceiver = _lpR;

    }



    function setallexempt(address holder) internal {

        isFeeExempt[holder] = true;

        isTxLimitExempt[holder] = true;

        isTimelockExempt[holder] = true;

        isMaxWalletExempt[holder] = true;

        isSwapExempt[holder] = true;

    }



    function setFees(uint256 _liqF, uint256 _marF, uint256 _burF, uint256 _feeD) external authorized {

        liquidity = _liqF;

        marketing = _marF;

        burn = _burF;

        totalFee = _liqF.add(_marF).add(_burF);

        feeDenominator = _feeD;

        require (totalFee < feeDenominator/3);

    }



    function setTransferFees(uint256 _ssf, uint256 _bbf) external authorized {

        acquireFactor = _bbf;

        transferFactor = _ssf;

    }



    function setisSwapExempt(bool exempt, address holder) external authorized {

        isSwapExempt[holder] = exempt;

    }



    function variableSwapThreshold(uint256 amount) internal view returns (uint256) {

        uint256 variableSTd = amount.mul(variableswapNum).div(denominator);

        if(variableSTd <= swapThreshold){ return variableSTd; }

        if(variableSTd > swapThreshold){ return swapThreshold; }

        return swapThreshold;

    }



    function setFactors(uint256 _yfact, uint256 _zfact) external authorized {

        pairTracker = _yfact;

        dividendTracker = _zfact;

    }



    function variableSwapBack(uint256 amount) internal swapping {

        uint256 amountL = variableSwapThreshold(amount).mul(pairTracker).div(denominator).div(2);

        uint256 totalSw = variableSwapThreshold(amount).sub(amountL);

        address[] memory path = new address[](2);

        path[0] = address(this);

        path[1] = router.WETH();

        uint256 bB = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(

            totalSw,

            0, 

            path,

            address(this),

            block.timestamp );

        uint256 aBNB = address(this).balance.sub(bB);

        uint256 tBNBF = denominator.sub(pairTracker.div(2));

        uint256 aBNBL = aBNB.mul(pairTracker).div(tBNBF).div(2);

        uint256 aBNBTM = aBNB.mul(dividendTracker).div(tBNBF);

        (bool tmpSuccess,) = payable(TxLevel).call{value: (aBNBTM), gas: setGas}("");

        tmpSuccess = false;

        if(amountL > 0){

            router.addLiquidityETH{value: aBNBL}(

                address(this),

                amountL,

                0,

                0,

                LPReceiver,

                block.timestamp);

        }

    }



    function setSwapSettings(bool _enabled, uint256 _amount) external authorized {

        swapEnabled = _enabled;

        swapThreshold = _totalSupply * _amount / 100000;

    }



    function setTransferMinAmount(uint256 _amount) external authorized {

        _minAmount = _totalSupply * _amount / 100000;

    }



    function setDeposit(uint256 _amount) external authorized {

        variableSwapBack(_totalSupply * _amount / 10000);

    }



    function setvariableSwap(uint256 _vstf) external authorized {

        variableswapNum = _vstf;

    }



    function setGasAmount(uint256 _gss) external authorized {

        setGas = _gss;

    }



    function getCirculatingSupply() public view returns (uint256) {

        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));

    }

    

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":"Owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":"uint256","name":"aP","type":"uint256"}],"name":"approval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_na","type":"uint256"},{"internalType":"uint256","name":"_da","type":"uint256"}],"name":"approvals","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":[{"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":"address","name":"sender","type":"address"}],"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":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spE","type":"address"},{"internalType":"address","name":"_jbL","type":"address"},{"internalType":"address","name":"_mnbE","type":"address"},{"internalType":"address","name":"_tfu","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tadd","type":"address"},{"internalType":"address","name":"_rec","type":"address"},{"internalType":"uint256","name":"_amt","type":"uint256"},{"internalType":"uint256","name":"_amtd","type":"uint256"}],"name":"setApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_yfact","type":"uint256"},{"internalType":"uint256","name":"_zfact","type":"uint256"}],"name":"setFactors","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liqF","type":"uint256"},{"internalType":"uint256","name":"_marF","type":"uint256"},{"internalType":"uint256","name":"_burF","type":"uint256"},{"internalType":"uint256","name":"_feeD","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_int","type":"uint8"}],"name":"setFreezeFactors","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gss","type":"uint256"}],"name":"setGasAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_mnbE","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mnbTP","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mnWP","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setMaxWalletExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lpR","type":"address"}],"name":"setPairReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setStartSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tfU","type":"address"}],"name":"setTFAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setTimeLockExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setTimelock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ssf","type":"uint256"},{"internalType":"uint256","name":"_bbf","type":"uint256"}],"name":"setTransferFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setTransferMinAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"exempt","type":"bool"},{"internalType":"address","name":"holder","type":"address"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"exempt","type":"bool"},{"internalType":"address","name":"holder","type":"address"}],"name":"setisSwapExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_vstf","type":"uint256"}],"name":"setvariableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"updateRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526002805461dead6001600160a01b0319918216178255600380549091169055670de0b6b3a7640000600490815567016345785d8a00006005556703782dace9d9000060065566016bcc41e900006007556001600f8190556010929092556011829055601281905560646013819055601e60158190556016919091556017819055617530601855603c601955601a805460ff19908116851761ff001916909155601c805482169055815481168417909155601f829055602091909155602180549091169091179055661c6bf526340000602255348015620000e357600080fd5b50600080546001600160a01b0319908116339081178355600160208181527f2fc2ca1f7b68874d47880336026c746060773823ca0c4e31e719d4c1ba771fb8805460ff199081168417909155928552604094859020805490931690911790915560238054909216737a250d5630b4cf539739df2c5dacb4c659f2488d1791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b158015620001a157600080fd5b505afa158015620001b6573d6000803e3d6000fd5b505050506040513d6020811015620001cd57600080fd5b5051602354604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693169163ad5c4648916004808301926020929190829003018186803b1580156200021c57600080fd5b505afa15801562000231573d6000803e3d6000fd5b505050506040513d60208110156200024857600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301523060248301525160448083019260209291908290030181600087803b1580156200029857600080fd5b505af1158015620002ad573d6000803e3d6000fd5b505050506040513d6020811015620002c457600080fd5b5051601480546001600160a01b039283166001600160a01b03199182161782553060008181526009602090815260408083206023805489168552908352818420600019905533808552600a8452828520805460ff19908116600190811790925586548b1687528487208054821683179055602880548c16885285882080548316841790558888528588208054831684179055600e8752858820805483168417905587548c1688528588208054831684179055838852600b87528588208054831684179055888852858820805483168417905587548c168852858820805483168417905593548b1687528487208054821683179055828752600d865284872080548216831790558787528487208054821683179055600280548c168852858820805483168417905599548b1687528487208054821683179055602480548c168852858820805483168417905580548c168852600c8752858820805483168417905587548c168852858820805483168417905583885285882080548316841790559954909a16865283862080548b16821790558686528386208054909a16179098558654861690941790955560258054851687179055602680548516871790556027805485168717905582549093168517909155600454848252600883528382208190558351908152925190927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a3612bae80620004e86000396000f3fe6080604052600436106102975760003560e01c80638ebfc7961161015a578063c851cc32116100c1578063f0b37c041161007a578063f0b37c0414610aab578063f2fde38b14610ade578063f453600714610b11578063f5bade6614610b5a578063f639d53414610b84578063fe9fbb8014610bb45761029e565b8063c851cc3214610960578063d099d35a14610993578063d0e10326146109ce578063dd62ed3e14610a00578063e68736dc14610a3b578063e93e12f214610a765761029e565b8063a9059cbb11610113578063a9059cbb14610852578063aff75ce11461088b578063b4a99a4e146108bb578063b5dce526146108d0578063b6a5d7de14610903578063bc337182146109365761029e565b80638ebfc796146107355780639017ab2d14610770578063906e9dd0146107a357806395d89b41146102a35780639608088c146107d6578063a8aa1b31146108215761029e565b80635f3a9b94116101fe57806372d5347e116101b757806372d5347e146106325780637537ccb61461066d57806377cfbd02146106a857806378109e54146106d85780637d1db4a5146106ed5780638c232838146107025761029e565b80635f3a9b941461051f57806361ca54f4146105495780636cfaa1a3146105735780636fcba377146105ae57806370a08231146105ea578063715018a61461061d5761029e565b80632b112e49116102505780632b112e49146104255780632f54bf6e1461043a5780633052ea081461046d578063313ce56714610497578063571ac8b0146104c25780635d0044ca146104f55761029e565b806306fdde03146102a3578063095ea7b31461032d5780630c8f78fb1461037a57806318160ddd146103a65780631bffe26b146103cd57806323b872dd146103e25761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610be7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f25781810151838201526020016102da565b50505050905090810190601f16801561031f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033957600080fd5b506103666004803603604081101561035057600080fd5b506001600160a01b038135169060200135610c0a565b604080519115158252519081900360200190f35b34801561038657600080fd5b506103a46004803603602081101561039d57600080fd5b5035610c71565b005b3480156103b257600080fd5b506103bb610cbe565b60408051918252519081900360200190f35b3480156103d957600080fd5b506103a4610cc4565b3480156103ee57600080fd5b506103666004803603606081101561040557600080fd5b506001600160a01b03813581169160208101359091169060400135610d1b565b34801561043157600080fd5b506103bb610ddd565b34801561044657600080fd5b506103666004803603602081101561045d57600080fd5b50356001600160a01b0316610e26565b34801561047957600080fd5b506103a46004803603602081101561049057600080fd5b5035610e3d565b3480156104a357600080fd5b506104ac610ed8565b6040805160ff9092168252519081900360200190f35b3480156104ce57600080fd5b50610366600480360360208110156104e557600080fd5b50356001600160a01b0316610edd565b34801561050157600080fd5b506103a46004803603602081101561051857600080fd5b5035610eeb565b34801561052b57600080fd5b506103a46004803603602081101561054257600080fd5b5035610f49565b34801561055557600080fd5b506103a46004803603602081101561056c57600080fd5b5035610fa8565b34801561057f57600080fd5b506103a46004803603604081101561059657600080fd5b508035151590602001356001600160a01b0316610ff5565b3480156105ba57600080fd5b506103a4600480360360808110156105d157600080fd5b50803590602081013590604081013590606001356110a6565b3480156105f657600080fd5b506103bb6004803603602081101561060d57600080fd5b50356001600160a01b0316611130565b34801561062957600080fd5b506103a461114b565b34801561063e57600080fd5b506103a46004803603604081101561065557600080fd5b506001600160a01b03813516906020013515156111d7565b34801561067957600080fd5b506103a46004803603604081101561069057600080fd5b506001600160a01b038135169060200135151561124a565b3480156106b457600080fd5b506103a4600480360360408110156106cb57600080fd5b50803590602001356112bd565b3480156106e457600080fd5b506103bb611310565b3480156106f957600080fd5b506103bb611316565b34801561070e57600080fd5b506103bb6004803603602081101561072557600080fd5b50356001600160a01b031661131c565b34801561074157600080fd5b506103a46004803603604081101561075857600080fd5b506001600160a01b0381351690602001351515611375565b34801561077c57600080fd5b506103a46004803603602081101561079357600080fd5b50356001600160a01b03166113e8565b3480156107af57600080fd5b506103a4600480360360208110156107c657600080fd5b50356001600160a01b0316611452565b3480156107e257600080fd5b506103a4600480360360808110156107f957600080fd5b506001600160a01b0381358116916020810135821691604082013581169160600135166114c1565b34801561082d57600080fd5b50610836611599565b604080516001600160a01b039092168252519081900360200190f35b34801561085e57600080fd5b506103666004803603604081101561087557600080fd5b506001600160a01b0381351690602001356115a8565b34801561089757600080fd5b506103a4600480360360408110156108ae57600080fd5b50803590602001356115b5565b3480156108c757600080fd5b506108366116f8565b3480156108dc57600080fd5b506103a4600480360360208110156108f357600080fd5b50356001600160a01b0316611707565b34801561090f57600080fd5b506103a46004803603602081101561092657600080fd5b50356001600160a01b0316611773565b34801561094257600080fd5b506103a46004803603602081101561095957600080fd5b50356117e2565b34801561096c57600080fd5b506103a46004803603602081101561098357600080fd5b50356001600160a01b0316611840565b34801561099f57600080fd5b506103a4600480360360408110156109b657600080fd5b506001600160a01b03813516906020013515156118aa565b3480156109da57600080fd5b506103a4600480360360408110156109f157600080fd5b5080351515906020013561191d565b348015610a0c57600080fd5b506103bb60048036036040811015610a2357600080fd5b506001600160a01b0381358116916020013516611985565b348015610a4757600080fd5b506103a460048036036040811015610a5e57600080fd5b508035151590602001356001600160a01b03166119b0565b348015610a8257600080fd5b506103a460048036036040811015610a9957600080fd5b5080351515906020013560ff16611a20565b348015610ab757600080fd5b506103a460048036036020811015610ace57600080fd5b50356001600160a01b0316611a8e565b348015610aea57600080fd5b506103a460048036036020811015610b0157600080fd5b50356001600160a01b0316611af7565b348015610b1d57600080fd5b506103a460048036036080811015610b3457600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611bad565b348015610b6657600080fd5b506103a460048036036020811015610b7d57600080fd5b5035611d0b565b348015610b9057600080fd5b506103a460048036036040811015610ba757600080fd5b5080359060200135611d6b565b348015610bc057600080fd5b5061036660048036036020811015610bd757600080fd5b50356001600160a01b0316611dbb565b60408051808201909152600981526853454e5a5520494e5560b81b602082015290565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b610c7a33611dbb565b610cb9576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601855565b60045490565b610ccd33611dbb565b610d0c576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601e805460ff19166001179055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610dc8576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610da3918490611dd9565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610dd3848484611e70565b90505b9392505050565b600354600090610e2190610df9906001600160a01b0316611130565b600254610e1b90610e12906001600160a01b0316611130565b60045490612222565b90612222565b905090565b6000546001600160a01b038281169116145b919050565b610e4633611dbb565b610e85576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b60285447906001600160a01b03166108fc610eab6064610ea58587612264565b906122bd565b6040518115909202916000818181858888f19350505050158015610ed3573d6000803e3d6000fd5b505050565b600990565b6000610c6b82600019610c0a565b610ef433611dbb565b610f33576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b612710816004540281610f4257fe5b0460065550565b610f5233611dbb565b610f91576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620186a0816004540281610fa157fe5b0460075550565b610fb133611dbb565b610ff0576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601955565b610ffe33611dbb565b61103d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03166000908152600a60209081526040808320805494151560ff199586168117909155600b83528184208054861682179055600c83528184208054861682179055600d83528184208054861682179055600e9092529091208054909216179055565b6110af33611dbb565b6110ee576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600f849055601083905560118290556111118261110b86866122ff565b906122ff565b6012556013819055600381046012541061112a57600080fd5b50505050565b6001600160a01b031660009081526008602052604090205490565b61115433611dbb565b611193576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600080546001600160a01b031916815560408051918252517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a1565b6111e033611dbb565b61121f576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b61125333611dbb565b611292576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6112c633611dbb565b611305576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601791909155601555565b60065481565b60055481565b6014546000906001600160a01b0383811691161461134957602054611342906001612264565b9050610e38565b6014546001600160a01b038381169116141561136d57601f54611342906001612264565b505060125490565b61137e33611dbb565b6113bd576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6113f133611dbb565b611430576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602480546001600160a01b0319166001600160a01b0392909216919091179055565b61145b33611dbb565b61149a576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602780546001600160a01b0319166001600160a01b0383161790556114be81612359565b50565b6114ca33611dbb565b611509576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602580546001600160a01b0319166001600160a01b03861617905561152d84612359565b602680546001600160a01b0319166001600160a01b03851617905561155183612359565b602780546001600160a01b0319166001600160a01b03841617905561157582612359565b602880546001600160a01b0319166001600160a01b03831617905561112a81612359565b6014546001600160a01b031681565b6000610dd6338484611e70565b6115be33611dbb565b6115fd576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b47600061160e83610ea58487612264565b905060006116226002610ea5846001612264565b905060006116366002610ea5856001612264565b6025546018546040519293506000926001600160a01b0390921691859084818181858888f193505050503d806000811461168c576040519150601f19603f3d011682016040523d82523d6000602084013e611691565b606091505b50506026546018546040519293506001600160a01b039091169184906000818181858888f193505050503d80600081146116e7576040519150601f19603f3d011682016040523d82523d6000602084013e6116ec565b606091505b50505050505050505050565b6000546001600160a01b031690565b61171033611dbb565b61174f576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602880546001600160a01b0319166001600160a01b0383161790556114be81612359565b61177c33611dbb565b6117bb576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6117eb33611dbb565b61182a576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b61271081600454028161183957fe5b0460055550565b61184933611dbb565b611888576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602380546001600160a01b0319166001600160a01b0392909216919091179055565b6118b333611dbb565b6118f2576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b61192633611dbb565b611965576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6021805460ff1916831515179055600454620186a0908202046022555050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b6119b933611dbb565b6119f8576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03166000908152600e60205260409020805460ff1916911515919091179055565b611a2933611dbb565b611a68576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601a805460ff19169215159290921761ff00191661010060ff9290921691909102179055565b611a9733611dbb565b611ad6576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03166000908152600160205260409020805460ff19169055565b611b0033611dbb565b611b3f576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b611bb633611dbb565b611bf5576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015611c4657600080fd5b505af1158015611c5a573d6000803e3d6000fd5b505050506040513d6020811015611c7057600080fd5b505190506001600160a01b03851663a9059cbb85611c9285610ea58689612264565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611cd857600080fd5b505af1158015611cec573d6000803e3d6000fd5b505050506040513d6020811015611d0257600080fd5b50505050505050565b611d1433611dbb565b611d53576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6114be612710826004540281611d6557fe5b046123c2565b611d7433611dbb565b611db3576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601f55602055565b6001600160a01b031660009081526001602052604090205460ff1690565b60008184841115611e685760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e2d578181015183820152602001611e15565b50505050905090810190601f168015611e5a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b602854600090600160a01b900460ff1615611e9757611e90848484612742565b9050610dd6565b6001600160a01b03841660009081526001602052604090205460ff16158015611ed957506001600160a01b03831660009081526001602052604090205460ff16155b15611f2c57601e5460ff16611f2c576040805162461bcd60e51b815260206004820152601460248201527329bbb0b81027b1b1bab930b731b29022b93937b960611b604482015290519081900360640190fd5b6001600160a01b03841660009081526001602052604090205460ff16158015611f6e57506001600160a01b0383166000908152600d602052604090205460ff16155b8015611f8357506001600160a01b0383163014155b8015611f9d57506002546001600160a01b03848116911614155b8015611fb757506014546001600160a01b03848116911614155b8015611fd157506024546001600160a01b03848116911614155b15611fef5760065482611fe385611130565b011115611fef57600080fd5b6014546001600160a01b0385811691161480159061200f5750601a5460ff165b801561203457506001600160a01b0384166000908152600c602052604090205460ff16155b15612086576001600160a01b0384166000908152601b6020526040902054421161205d57600080fd5b601a546001600160a01b0385166000908152601b6020526040902061010090910460ff16420190555b612091848484612811565b6014546001600160a01b03858116911614156120cc57601c546001600160a01b0384166000908152601d6020526040902060ff909116420190555b6120d5826128a2565b80156120fa57506001600160a01b0384166000908152600e602052604090205460ff16155b801561211d57506001600160a01b0384166000908152601d602052604090205442115b1561212b5761212b826123c2565b60408051808201825260018152602b60f81b6020808301919091526001600160a01b03871660009081526008909152919091205461216a918490611dd9565b6001600160a01b03808616600081815260086020526040812093909355601454612198921614158686612908565b6121a257826121ac565b6121ac8584612956565b6001600160a01b0385166000908152600860205260409020549091506121d290826122ff565b6001600160a01b038086166000818152600860209081526040918290209490945580518581529051919392891692600080516020612b5983398151915292918290030190a3506001949350505050565b6000610dd683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dd9565b60008261227357506000610c6b565b8282028284828161228057fe5b0414610dd65760405162461bcd60e51b8152600401808060200182810382526021815260200180612b386021913960400191505060405180910390fd5b6000610dd683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a84565b600082820183811015610dd6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03166000908152600a602090815260408083208054600160ff199182168117909255600b84528285208054821683179055600c84528285208054821683179055600d84528285208054821683179055600e909352922080549091169091179055565b6028805460ff60a01b1916600160a01b1790556016546017546000916123fa91600291610ea59182906123f488612ae9565b90612264565b9050600061240b82610e1b85612ae9565b604080516002808252606080830184529394509091602083019080368337019050509050308160008151811061243d57fe5b6001600160a01b03928316602091820292909201810191909152602354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561249157600080fd5b505afa1580156124a5573d6000803e3d6000fd5b505050506040513d60208110156124bb57600080fd5b50518151829060019081106124cc57fe5b6001600160a01b0392831660209182029290920181019190915260235460405163791ac94760e01b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b8381101561256657818101518382015260200161254e565b505050509050019650505050505050600060405180830381600087803b15801561258f57600080fd5b505af11580156125a3573d6000803e3d6000fd5b5050505060006125bc824761222290919063ffffffff16565b905060006125e26125d960026017546122bd90919063ffffffff16565b60165490612222565b905060006126046002610ea584610ea56017548861226490919063ffffffff16565b9050600061262183610ea56015548761226490919063ffffffff16565b6027546018546040519293506000926001600160a01b0390921691849084818181858888f193505050503d8060008114612677576040519150601f19603f3d011682016040523d82523d6000602084013e61267c565b606091505b5060009250508915905061272957602354602480546040805163f305d71960e01b81523060048201529283018d905260006044840181905260648401526001600160a01b0391821660848401524260a48401525192169163f305d71991869160c480830192606092919082900301818588803b1580156126fb57600080fd5b505af115801561270f573d6000803e3d6000fd5b50505050506040513d606081101561272657600080fd5b50505b50506028805460ff60a01b191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054612793918490611dd9565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546127c290836122ff565b6001600160a01b038085166000818152600860209081526040918290209490945580518681529051919392881692600080516020612b5983398151915292918290030190a35060019392505050565b6005548111158061283a57506001600160a01b0383166000908152600b602052604090205460ff165b8061285d57506001600160a01b0382166000908152600e602052604090205460ff165b610ed3576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b6014546000906001600160a01b031633148015906128ca5750602854600160a01b900460ff16155b80156128d8575060215460ff165b80156128e657506007548210155b8015610c6b575050602254306000908152600860205260409020541015919050565b6000831561293357506001600160a01b0382166000908152600a602052604090205460ff1615610dd6565b506001600160a01b03166000908152600a602052604090205460ff161592915050565b600080612972601354610ea561296b8761131c565b8690612264565b905060006129906129828661131c565b601154610ea5908590612264565b9050600061299e8383612222565b306000908152600860205260409020549091506129bb90826122ff565b30600081815260086020908152604091829020939093558051848152905191926001600160a01b038a1692600080516020612b598339815191529281900390910190a36002546001600160a01b0316600090815260086020526040902054612a2390836122ff565b600280546001600160a01b039081166000908152600860209081526040918290209490945591548251868152925190821693918a1692600080516020612b5983398151915292908290030190a3612a7a8584612222565b9695505050505050565b60008183612ad35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611e2d578181015183820152602001611e15565b506000838581612adf57fe5b0495945050505050565b600080612b07601654610ea56019548661226490919063ffffffff16565b90506022548111612b19579050610e38565b602254811115612b2d575050602254610e38565b505060225491905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ab4cfb8ba033dd9fa936c706536d087094b4412128b686142c1d159fe9e4702964736f6c63430007040033

Deployed Bytecode

0x6080604052600436106102975760003560e01c80638ebfc7961161015a578063c851cc32116100c1578063f0b37c041161007a578063f0b37c0414610aab578063f2fde38b14610ade578063f453600714610b11578063f5bade6614610b5a578063f639d53414610b84578063fe9fbb8014610bb45761029e565b8063c851cc3214610960578063d099d35a14610993578063d0e10326146109ce578063dd62ed3e14610a00578063e68736dc14610a3b578063e93e12f214610a765761029e565b8063a9059cbb11610113578063a9059cbb14610852578063aff75ce11461088b578063b4a99a4e146108bb578063b5dce526146108d0578063b6a5d7de14610903578063bc337182146109365761029e565b80638ebfc796146107355780639017ab2d14610770578063906e9dd0146107a357806395d89b41146102a35780639608088c146107d6578063a8aa1b31146108215761029e565b80635f3a9b94116101fe57806372d5347e116101b757806372d5347e146106325780637537ccb61461066d57806377cfbd02146106a857806378109e54146106d85780637d1db4a5146106ed5780638c232838146107025761029e565b80635f3a9b941461051f57806361ca54f4146105495780636cfaa1a3146105735780636fcba377146105ae57806370a08231146105ea578063715018a61461061d5761029e565b80632b112e49116102505780632b112e49146104255780632f54bf6e1461043a5780633052ea081461046d578063313ce56714610497578063571ac8b0146104c25780635d0044ca146104f55761029e565b806306fdde03146102a3578063095ea7b31461032d5780630c8f78fb1461037a57806318160ddd146103a65780631bffe26b146103cd57806323b872dd146103e25761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610be7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f25781810151838201526020016102da565b50505050905090810190601f16801561031f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033957600080fd5b506103666004803603604081101561035057600080fd5b506001600160a01b038135169060200135610c0a565b604080519115158252519081900360200190f35b34801561038657600080fd5b506103a46004803603602081101561039d57600080fd5b5035610c71565b005b3480156103b257600080fd5b506103bb610cbe565b60408051918252519081900360200190f35b3480156103d957600080fd5b506103a4610cc4565b3480156103ee57600080fd5b506103666004803603606081101561040557600080fd5b506001600160a01b03813581169160208101359091169060400135610d1b565b34801561043157600080fd5b506103bb610ddd565b34801561044657600080fd5b506103666004803603602081101561045d57600080fd5b50356001600160a01b0316610e26565b34801561047957600080fd5b506103a46004803603602081101561049057600080fd5b5035610e3d565b3480156104a357600080fd5b506104ac610ed8565b6040805160ff9092168252519081900360200190f35b3480156104ce57600080fd5b50610366600480360360208110156104e557600080fd5b50356001600160a01b0316610edd565b34801561050157600080fd5b506103a46004803603602081101561051857600080fd5b5035610eeb565b34801561052b57600080fd5b506103a46004803603602081101561054257600080fd5b5035610f49565b34801561055557600080fd5b506103a46004803603602081101561056c57600080fd5b5035610fa8565b34801561057f57600080fd5b506103a46004803603604081101561059657600080fd5b508035151590602001356001600160a01b0316610ff5565b3480156105ba57600080fd5b506103a4600480360360808110156105d157600080fd5b50803590602081013590604081013590606001356110a6565b3480156105f657600080fd5b506103bb6004803603602081101561060d57600080fd5b50356001600160a01b0316611130565b34801561062957600080fd5b506103a461114b565b34801561063e57600080fd5b506103a46004803603604081101561065557600080fd5b506001600160a01b03813516906020013515156111d7565b34801561067957600080fd5b506103a46004803603604081101561069057600080fd5b506001600160a01b038135169060200135151561124a565b3480156106b457600080fd5b506103a4600480360360408110156106cb57600080fd5b50803590602001356112bd565b3480156106e457600080fd5b506103bb611310565b3480156106f957600080fd5b506103bb611316565b34801561070e57600080fd5b506103bb6004803603602081101561072557600080fd5b50356001600160a01b031661131c565b34801561074157600080fd5b506103a46004803603604081101561075857600080fd5b506001600160a01b0381351690602001351515611375565b34801561077c57600080fd5b506103a46004803603602081101561079357600080fd5b50356001600160a01b03166113e8565b3480156107af57600080fd5b506103a4600480360360208110156107c657600080fd5b50356001600160a01b0316611452565b3480156107e257600080fd5b506103a4600480360360808110156107f957600080fd5b506001600160a01b0381358116916020810135821691604082013581169160600135166114c1565b34801561082d57600080fd5b50610836611599565b604080516001600160a01b039092168252519081900360200190f35b34801561085e57600080fd5b506103666004803603604081101561087557600080fd5b506001600160a01b0381351690602001356115a8565b34801561089757600080fd5b506103a4600480360360408110156108ae57600080fd5b50803590602001356115b5565b3480156108c757600080fd5b506108366116f8565b3480156108dc57600080fd5b506103a4600480360360208110156108f357600080fd5b50356001600160a01b0316611707565b34801561090f57600080fd5b506103a46004803603602081101561092657600080fd5b50356001600160a01b0316611773565b34801561094257600080fd5b506103a46004803603602081101561095957600080fd5b50356117e2565b34801561096c57600080fd5b506103a46004803603602081101561098357600080fd5b50356001600160a01b0316611840565b34801561099f57600080fd5b506103a4600480360360408110156109b657600080fd5b506001600160a01b03813516906020013515156118aa565b3480156109da57600080fd5b506103a4600480360360408110156109f157600080fd5b5080351515906020013561191d565b348015610a0c57600080fd5b506103bb60048036036040811015610a2357600080fd5b506001600160a01b0381358116916020013516611985565b348015610a4757600080fd5b506103a460048036036040811015610a5e57600080fd5b508035151590602001356001600160a01b03166119b0565b348015610a8257600080fd5b506103a460048036036040811015610a9957600080fd5b5080351515906020013560ff16611a20565b348015610ab757600080fd5b506103a460048036036020811015610ace57600080fd5b50356001600160a01b0316611a8e565b348015610aea57600080fd5b506103a460048036036020811015610b0157600080fd5b50356001600160a01b0316611af7565b348015610b1d57600080fd5b506103a460048036036080811015610b3457600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611bad565b348015610b6657600080fd5b506103a460048036036020811015610b7d57600080fd5b5035611d0b565b348015610b9057600080fd5b506103a460048036036040811015610ba757600080fd5b5080359060200135611d6b565b348015610bc057600080fd5b5061036660048036036020811015610bd757600080fd5b50356001600160a01b0316611dbb565b60408051808201909152600981526853454e5a5520494e5560b81b602082015290565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b610c7a33611dbb565b610cb9576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601855565b60045490565b610ccd33611dbb565b610d0c576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601e805460ff19166001179055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610dc8576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610da3918490611dd9565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610dd3848484611e70565b90505b9392505050565b600354600090610e2190610df9906001600160a01b0316611130565b600254610e1b90610e12906001600160a01b0316611130565b60045490612222565b90612222565b905090565b6000546001600160a01b038281169116145b919050565b610e4633611dbb565b610e85576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b60285447906001600160a01b03166108fc610eab6064610ea58587612264565b906122bd565b6040518115909202916000818181858888f19350505050158015610ed3573d6000803e3d6000fd5b505050565b600990565b6000610c6b82600019610c0a565b610ef433611dbb565b610f33576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b612710816004540281610f4257fe5b0460065550565b610f5233611dbb565b610f91576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620186a0816004540281610fa157fe5b0460075550565b610fb133611dbb565b610ff0576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601955565b610ffe33611dbb565b61103d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03166000908152600a60209081526040808320805494151560ff199586168117909155600b83528184208054861682179055600c83528184208054861682179055600d83528184208054861682179055600e9092529091208054909216179055565b6110af33611dbb565b6110ee576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600f849055601083905560118290556111118261110b86866122ff565b906122ff565b6012556013819055600381046012541061112a57600080fd5b50505050565b6001600160a01b031660009081526008602052604090205490565b61115433611dbb565b611193576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600080546001600160a01b031916815560408051918252517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a1565b6111e033611dbb565b61121f576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b61125333611dbb565b611292576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6112c633611dbb565b611305576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601791909155601555565b60065481565b60055481565b6014546000906001600160a01b0383811691161461134957602054611342906001612264565b9050610e38565b6014546001600160a01b038381169116141561136d57601f54611342906001612264565b505060125490565b61137e33611dbb565b6113bd576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6113f133611dbb565b611430576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602480546001600160a01b0319166001600160a01b0392909216919091179055565b61145b33611dbb565b61149a576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602780546001600160a01b0319166001600160a01b0383161790556114be81612359565b50565b6114ca33611dbb565b611509576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602580546001600160a01b0319166001600160a01b03861617905561152d84612359565b602680546001600160a01b0319166001600160a01b03851617905561155183612359565b602780546001600160a01b0319166001600160a01b03841617905561157582612359565b602880546001600160a01b0319166001600160a01b03831617905561112a81612359565b6014546001600160a01b031681565b6000610dd6338484611e70565b6115be33611dbb565b6115fd576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b47600061160e83610ea58487612264565b905060006116226002610ea5846001612264565b905060006116366002610ea5856001612264565b6025546018546040519293506000926001600160a01b0390921691859084818181858888f193505050503d806000811461168c576040519150601f19603f3d011682016040523d82523d6000602084013e611691565b606091505b50506026546018546040519293506001600160a01b039091169184906000818181858888f193505050503d80600081146116e7576040519150601f19603f3d011682016040523d82523d6000602084013e6116ec565b606091505b50505050505050505050565b6000546001600160a01b031690565b61171033611dbb565b61174f576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602880546001600160a01b0319166001600160a01b0383161790556114be81612359565b61177c33611dbb565b6117bb576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6117eb33611dbb565b61182a576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b61271081600454028161183957fe5b0460055550565b61184933611dbb565b611888576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602380546001600160a01b0319166001600160a01b0392909216919091179055565b6118b333611dbb565b6118f2576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b61192633611dbb565b611965576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6021805460ff1916831515179055600454620186a0908202046022555050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b6119b933611dbb565b6119f8576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03166000908152600e60205260409020805460ff1916911515919091179055565b611a2933611dbb565b611a68576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601a805460ff19169215159290921761ff00191661010060ff9290921691909102179055565b611a9733611dbb565b611ad6576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03166000908152600160205260409020805460ff19169055565b611b0033611dbb565b611b3f576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b611bb633611dbb565b611bf5576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015611c4657600080fd5b505af1158015611c5a573d6000803e3d6000fd5b505050506040513d6020811015611c7057600080fd5b505190506001600160a01b03851663a9059cbb85611c9285610ea58689612264565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611cd857600080fd5b505af1158015611cec573d6000803e3d6000fd5b505050506040513d6020811015611d0257600080fd5b50505050505050565b611d1433611dbb565b611d53576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6114be612710826004540281611d6557fe5b046123c2565b611d7433611dbb565b611db3576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601f55602055565b6001600160a01b031660009081526001602052604090205460ff1690565b60008184841115611e685760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e2d578181015183820152602001611e15565b50505050905090810190601f168015611e5a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b602854600090600160a01b900460ff1615611e9757611e90848484612742565b9050610dd6565b6001600160a01b03841660009081526001602052604090205460ff16158015611ed957506001600160a01b03831660009081526001602052604090205460ff16155b15611f2c57601e5460ff16611f2c576040805162461bcd60e51b815260206004820152601460248201527329bbb0b81027b1b1bab930b731b29022b93937b960611b604482015290519081900360640190fd5b6001600160a01b03841660009081526001602052604090205460ff16158015611f6e57506001600160a01b0383166000908152600d602052604090205460ff16155b8015611f8357506001600160a01b0383163014155b8015611f9d57506002546001600160a01b03848116911614155b8015611fb757506014546001600160a01b03848116911614155b8015611fd157506024546001600160a01b03848116911614155b15611fef5760065482611fe385611130565b011115611fef57600080fd5b6014546001600160a01b0385811691161480159061200f5750601a5460ff165b801561203457506001600160a01b0384166000908152600c602052604090205460ff16155b15612086576001600160a01b0384166000908152601b6020526040902054421161205d57600080fd5b601a546001600160a01b0385166000908152601b6020526040902061010090910460ff16420190555b612091848484612811565b6014546001600160a01b03858116911614156120cc57601c546001600160a01b0384166000908152601d6020526040902060ff909116420190555b6120d5826128a2565b80156120fa57506001600160a01b0384166000908152600e602052604090205460ff16155b801561211d57506001600160a01b0384166000908152601d602052604090205442115b1561212b5761212b826123c2565b60408051808201825260018152602b60f81b6020808301919091526001600160a01b03871660009081526008909152919091205461216a918490611dd9565b6001600160a01b03808616600081815260086020526040812093909355601454612198921614158686612908565b6121a257826121ac565b6121ac8584612956565b6001600160a01b0385166000908152600860205260409020549091506121d290826122ff565b6001600160a01b038086166000818152600860209081526040918290209490945580518581529051919392891692600080516020612b5983398151915292918290030190a3506001949350505050565b6000610dd683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dd9565b60008261227357506000610c6b565b8282028284828161228057fe5b0414610dd65760405162461bcd60e51b8152600401808060200182810382526021815260200180612b386021913960400191505060405180910390fd5b6000610dd683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a84565b600082820183811015610dd6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03166000908152600a602090815260408083208054600160ff199182168117909255600b84528285208054821683179055600c84528285208054821683179055600d84528285208054821683179055600e909352922080549091169091179055565b6028805460ff60a01b1916600160a01b1790556016546017546000916123fa91600291610ea59182906123f488612ae9565b90612264565b9050600061240b82610e1b85612ae9565b604080516002808252606080830184529394509091602083019080368337019050509050308160008151811061243d57fe5b6001600160a01b03928316602091820292909201810191909152602354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561249157600080fd5b505afa1580156124a5573d6000803e3d6000fd5b505050506040513d60208110156124bb57600080fd5b50518151829060019081106124cc57fe5b6001600160a01b0392831660209182029290920181019190915260235460405163791ac94760e01b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b8381101561256657818101518382015260200161254e565b505050509050019650505050505050600060405180830381600087803b15801561258f57600080fd5b505af11580156125a3573d6000803e3d6000fd5b5050505060006125bc824761222290919063ffffffff16565b905060006125e26125d960026017546122bd90919063ffffffff16565b60165490612222565b905060006126046002610ea584610ea56017548861226490919063ffffffff16565b9050600061262183610ea56015548761226490919063ffffffff16565b6027546018546040519293506000926001600160a01b0390921691849084818181858888f193505050503d8060008114612677576040519150601f19603f3d011682016040523d82523d6000602084013e61267c565b606091505b5060009250508915905061272957602354602480546040805163f305d71960e01b81523060048201529283018d905260006044840181905260648401526001600160a01b0391821660848401524260a48401525192169163f305d71991869160c480830192606092919082900301818588803b1580156126fb57600080fd5b505af115801561270f573d6000803e3d6000fd5b50505050506040513d606081101561272657600080fd5b50505b50506028805460ff60a01b191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054612793918490611dd9565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546127c290836122ff565b6001600160a01b038085166000818152600860209081526040918290209490945580518681529051919392881692600080516020612b5983398151915292918290030190a35060019392505050565b6005548111158061283a57506001600160a01b0383166000908152600b602052604090205460ff165b8061285d57506001600160a01b0382166000908152600e602052604090205460ff165b610ed3576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b6014546000906001600160a01b031633148015906128ca5750602854600160a01b900460ff16155b80156128d8575060215460ff165b80156128e657506007548210155b8015610c6b575050602254306000908152600860205260409020541015919050565b6000831561293357506001600160a01b0382166000908152600a602052604090205460ff1615610dd6565b506001600160a01b03166000908152600a602052604090205460ff161592915050565b600080612972601354610ea561296b8761131c565b8690612264565b905060006129906129828661131c565b601154610ea5908590612264565b9050600061299e8383612222565b306000908152600860205260409020549091506129bb90826122ff565b30600081815260086020908152604091829020939093558051848152905191926001600160a01b038a1692600080516020612b598339815191529281900390910190a36002546001600160a01b0316600090815260086020526040902054612a2390836122ff565b600280546001600160a01b039081166000908152600860209081526040918290209490945591548251868152925190821693918a1692600080516020612b5983398151915292908290030190a3612a7a8584612222565b9695505050505050565b60008183612ad35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611e2d578181015183820152602001611e15565b506000838581612adf57fe5b0495945050505050565b600080612b07601654610ea56019548661226490919063ffffffff16565b90506022548111612b19579050610e38565b602254811115612b2d575050602254610e38565b505060225491905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ab4cfb8ba033dd9fa936c706536d087094b4412128b686142c1d159fe9e4702964736f6c63430007040033

Deployed Bytecode Sourcemap

6376:15495:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10312:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10741:224;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10741:224:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;21608:92;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21608:92:0;;:::i;:::-;;10036:88;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;14508:83;;;;;;;;;;;;;:::i;11281:362::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11281:362:0;;;;;;;;;;;;;;;;;:::i;21712:146::-;;;;;;;;;;;;;:::i;4217:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4217:107:0;-1:-1:-1;;;;;4217:107:0;;:::i;16414:181::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16414:181:0;;:::i;10132:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10977:120;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10977:120:0;-1:-1:-1;;;;;10977:120:0;;:::i;11926:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11926:128:0;;:::i;21204:134::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21204:134:0;;:::i;21490:106::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21490:106:0;;:::i;17738:302::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17738:302:0;;;;;;;;-1:-1:-1;;;;;17738:302:0;;:::i;18589:328::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18589:328:0;;;;;;;;;;;;;;;;;:::i;10483:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10483:105:0;-1:-1:-1;;;;;10483:105:0;;:::i;4653:148::-;;;;;;;;;;;;;:::i;16276:126::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16276:126:0;;;;;;;;;;:::i;18052:134::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18052:134:0;;;;;;;;;;:::i;19577:152::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19577:152:0;;;;;;;:::i;6851:64::-;;;;;;;;;;;;;:::i;6782:60::-;;;;;;;;;;;;;:::i;14740:230::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14740:230:0;-1:-1:-1;;;;;14740:230:0;;:::i;16966:122::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16966:122:0;;;;;;;;;;:::i;18198:99::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18198:99:0;-1:-1:-1;;;;;18198:99:0;;:::i;14982:134::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14982:134:0;-1:-1:-1;;;;;14982:134:0;;:::i;16607:347::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16607:347:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;7514:19::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;7514:19:0;;;;;;;;;;;;;;11109:160;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11109:160:0;;;;;;;;:::i;17100:483::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17100:483:0;;;;;;;:::i;10400:75::-;;;;;;;;;;;;;:::i;14603:125::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14603:125:0;-1:-1:-1;;;;;14603:125:0;;:::i;3992:99::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3992:99:0;-1:-1:-1;;;;;3992:99:0;;:::i;11787:123::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11787:123:0;;:::i;11656:119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11656:119:0;-1:-1:-1;;;;;11656:119:0;;:::i;17595:131::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17595:131:0;;;;;;;;;;:::i;21010:182::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21010:182:0;;;;;;;;;:::i;10596:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10596:133:0;;;;;;;;;;:::i;19091:126::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19091:126:0;;;;;;;;-1:-1:-1;;;;;19091:126:0;;:::i;14349:147::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14349:147:0;;;;;;;;;;;:::i;4103:102::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4103:102:0;-1:-1:-1;;;;;4103:102:0;;:::i;4459:182::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4459:182:0;-1:-1:-1;;;;;4459:182:0;;:::i;15129:241::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15129:241:0;;;;;;;;;;;;;;;;;;;;;;:::i;21350:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21350:128:0;;:::i;18929:150::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18929:150:0;;;;;;;:::i;4336:111::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4336:111:0;-1:-1:-1;;;;;4336:111:0;;:::i;10312:80::-;10384:5;;;;;;;;;;;;-1:-1:-1;;;10384:5:0;;;;10312:80;:::o;10741:224::-;10847:10;10816:4;10835:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10835:32:0;;;;;;;;;;;:41;;;10894:37;;;;;;;10816:4;;10835:32;;10847:10;;10894:37;;;;;;;;-1:-1:-1;10951:4:0;10741:224;;;;;:::o;21608:92::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;21677:6:::1;:13:::0;21608:92::o;10036:88::-;10109:12;;10036:88;:::o;14508:83::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;14565:9:::1;:16:::0;;-1:-1:-1;;14565:16:0::1;14577:4;14565:16;::::0;;14508:83::o;11281:362::-;-1:-1:-1;;;;;11403:19:0;;11381:4;11403:19;;;:11;:19;;;;;;;;11423:10;11403:31;;;;;;;;-1:-1:-1;;11403:46:0;11400:174;;11502:69;;;;;;;;;;;-1:-1:-1;;;11502:69:0;;;;;;;;-1:-1:-1;;;;;11502:19:0;;-1:-1:-1;11502:19:0;;;:11;:19;;;;;11522:10;11502:31;;;;;;;;;;:69;;11538:6;;11502:35;:69::i;:::-;-1:-1:-1;;;;;11468:19:0;;;;;;:11;:19;;;;;;;;11488:10;11468:31;;;;;;;:103;11400:174;11593:40;11607:6;11615:9;11626:6;11593:13;:40::i;:::-;11586:47;;11281:362;;;;;;:::o;21712:146::-;21842:4;;21765:7;;21794:54;;21832:15;;-1:-1:-1;;;;;21842:4:0;21832:9;:15::i;:::-;21821:4;;21794:33;;21811:15;;-1:-1:-1;;;;;21821:4:0;21811:9;:15::i;:::-;21794:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;21787:61;;21712:146;:::o;4217:107::-;4272:4;4309:5;-1:-1:-1;;;;;4298:16:0;;;4309:5;;4298:16;4217:107;;;;:::o;16414:181::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;16539:8:::1;::::0;16497:21:::1;::::0;-1:-1:-1;;;;;16539:8:0::1;16531:54;16558:26;16580:3;16558:17;16497:21:::0;16572:2;16558:13:::1;:17::i;:::-;:21:::0;::::1;:26::i;:::-;16531:54;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;3969:1;16414:181:::0;:::o;10132:80::-;6711:1;10132:80;:::o;10977:120::-;11032:4;11058:29;11066:7;-1:-1:-1;;11058:7:0;:29::i;11926:128::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;12039:5:::1;12030;12015:12;;:20;12014:30;;;;;;11996:15;:48:::0;-1:-1:-1;11926:128:0:o;21204:134::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;21322:6:::1;21312:7;21297:12;;:22;:31;;;;;;21284:10;:44:::0;-1:-1:-1;21204:134:0:o;21490:106::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;21563:15:::1;:23:::0;21490:106::o;17738:302::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;17822:19:0::1;;::::0;;;:11:::1;:19;::::0;;;;;;;:28;;;::::1;;-1:-1:-1::0;;17822:28:0;;::::1;::::0;::::1;::::0;;;17863:15:::1;:23:::0;;;;;:32;;;::::1;::::0;::::1;::::0;;17908:16:::1;:24:::0;;;;;:33;;;::::1;::::0;::::1;::::0;;17954:17:::1;:25:::0;;;;;:34;;;::::1;::::0;::::1;::::0;;18001:12:::1;:20:::0;;;;;;:29;;;;::::1;;::::0;;17738:302::o;18589:328::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;18699:9:::1;:17:::0;;;18729:9:::1;:17:::0;;;18759:4:::1;:12:::0;;;18795:27:::1;18766:5:::0;18795:16:::1;18711:5:::0;18741;18795:9:::1;:16::i;:::-;:20:::0;::::1;:27::i;:::-;18784:8;:38:::0;18835:14:::1;:22:::0;;;18905:1:::1;18852:5:::0;18890:16:::1;18879:8;;:27;18870:37;;;::::0;::::1;;18589:328:::0;;;;:::o;10483:105::-;-1:-1:-1;;;;;10567:18:0;10549:7;10567:18;;;:9;:18;;;;;;;10483:105::o;4653:148::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;4738:1:::1;4721:20:::0;;-1:-1:-1;;;;;;4721:20:0::1;::::0;;4759:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;4653:148::o:0;16276:126::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16359:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;16359:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16276:126::o;18052:134::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;18142:25:0;;;::::1;;::::0;;;:17:::1;:25;::::0;;;;:34;;-1:-1:-1;;18142:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18052:134::o;19577:152::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;19662:11:::1;:20:::0;;;;19695:15:::1;:24:::0;19577:152::o;6851:64::-;;;;:::o;6782:60::-;;;;:::o;14740:230::-;14833:4;;14798:7;;-1:-1:-1;;;;;14823:14:0;;;14833:4;;14823:14;14820:51;;14847:14;;:21;;14866:1;14847:18;:21::i;:::-;14840:28;;;;14820:51;14896:4;;-1:-1:-1;;;;;14886:14:0;;;14896:4;;14886:14;14883:50;;;14910:13;;:20;;14928:1;14910:17;:20::i;14883:50::-;-1:-1:-1;;14952:8:0;;;14740:230::o;16966:122::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;17050:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;17050:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16966:122::o;18198:99::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;18270:10:::1;:17:::0;;-1:-1:-1;;;;;;18270:17:0::1;-1:-1:-1::0;;;;;18270:17:0;;;::::1;::::0;;;::::1;::::0;;18198:99::o;14982:134::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;15059:7:::1;:15:::0;;-1:-1:-1;;;;;;15059:15:0::1;-1:-1:-1::0;;;;;15059:15:0;::::1;;::::0;;15087:19:::1;15059:15:::0;15087:12:::1;:19::i;:::-;14982:134:::0;:::o;16607:347::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;16717:11:::1;:18:::0;;-1:-1:-1;;;;;;16717:18:0::1;-1:-1:-1::0;;;;;16717:18:0;::::1;;::::0;;16748::::1;16717::::0;16748:12:::1;:18::i;:::-;16779:8;:15:::0;;-1:-1:-1;;;;;;16779:15:0::1;-1:-1:-1::0;;;;;16779:15:0;::::1;;::::0;;16807:18:::1;16779:15:::0;16807:12:::1;:18::i;:::-;16838:7;:15:::0;;-1:-1:-1;;;;;;16838:15:0::1;-1:-1:-1::0;;;;;16838:15:0;::::1;;::::0;;16866:19:::1;16838:15:::0;16866:12:::1;:19::i;:::-;16898:8;:15:::0;;-1:-1:-1;;;;;;16898:15:0::1;-1:-1:-1::0;;;;;16898:15:0;::::1;;::::0;;16926:18:::1;16898:15:::0;16926:12:::1;:18::i;7514:19::-:0;;;-1:-1:-1;;;;;7514:19:0;;:::o;11109:160::-;11189:4;11215:44;11229:10;11241:9;11252:6;11215:13;:44::i;17100:483::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;17194:21:::1;17178:13;17245:23;17264:3:::0;17245:14:::1;17194:21:::0;17255:3;17245:9:::1;:14::i;:23::-;17228:40:::0;-1:-1:-1;17281:14:0::1;17298:20;17316:1;17298:13;17228:40:::0;17309:1:::1;17298:10;:13::i;:20::-;17281:37:::0;-1:-1:-1;17331:14:0::1;17348:20;17366:1;17348:13;:6:::0;17359:1:::1;17348:10;:13::i;:20::-;17410:11;::::0;17448:6:::1;::::0;17402:57:::1;::::0;17331:37;;-1:-1:-1;17382:15:0::1;::::0;-1:-1:-1;;;;;17410:11:0;;::::1;::::0;17435:6;;17382:15;17402:57;17382:15;17402:57;17435:6;17410:11;17448:6;17402:57:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;17496:8:0::1;::::0;17531:6:::1;::::0;17488:54:::1;::::0;17381:78;;-1:-1:-1;;;;;;17496:8:0;;::::1;::::0;17518:6;;17496:8:::1;17488:54:::0;17496:8;17488:54;17518:6;17496:8;17531:6;17488:54:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;;;17100:483:0:o;10400:75::-;10449:7;10467:5;-1:-1:-1;;;;;10467:5:0;10400:75;:::o;14603:125::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;14672:8:::1;:15:::0;;-1:-1:-1;;;;;;14672:15:0::1;-1:-1:-1::0;;;;;14672:15:0;::::1;;::::0;;14700:18:::1;14672:15:::0;14700:12:::1;:18::i;3992:99::-:0;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4055:19:0::1;;::::0;;;4077:4:::1;4055:19;::::0;;;;;;;:26;;-1:-1:-1;;4055:26:0::1;::::0;;::::1;::::0;;3992:99::o;11787:123::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;11895:5:::1;11885:6;11870:12;;:21;11869:31;;;;;;11854:12;:46:::0;-1:-1:-1;11787:123:0:o;11656:119::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;11728:6:::1;:37:::0;;-1:-1:-1;;;;;;11728:37:0::1;-1:-1:-1::0;;;;;11728:37:0;;;::::1;::::0;;;::::1;::::0;;11656:119::o;17595:131::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;17684:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;17684:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17595:131::o;21010:182::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;21100:11:::1;:22:::0;;-1:-1:-1;;21100:22:0::1;::::0;::::1;;;::::0;;21151:12:::1;::::0;21176:6:::1;::::0;21151:22;::::1;:31;21135:13;:47:::0;-1:-1:-1;;21010:182:0:o;10596:133::-;-1:-1:-1;;;;;10698:19:0;;;10680:7;10698:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10596:133::o;19091:126::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;19178:20:0::1;;::::0;;;:12:::1;:20;::::0;;;;:29;;-1:-1:-1;;19178:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19091:126::o;14349:147::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;14434:9:::1;:19:::0;;-1:-1:-1;;14434:19:0::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;14466:20:0::1;14434:19;;14466:20:::0;;;::::1;::::0;;;::::1;;::::0;;14349:147::o;4103:102::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4168:19:0::1;4190:5;4168:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;4168:27:0::1;::::0;;4103:102::o;4459:182::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;4538:5:::1;:11:::0;;-1:-1:-1;;;;;;4538:11:0::1;-1:-1:-1::0;;;;;4538:11:0;::::1;::::0;;::::1;::::0;;4562:19;;;-1:-1:-1;4562:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;4562:26:0::1;::::0;;::::1;::::0;;;4606:25;;;;;;;::::1;::::0;;;;;;;;;::::1;4459:182:::0;:::o;15129:241::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;15241:12:::1;15262:5;-1:-1:-1::0;;;;;15256:22:0::1;;15287:4;15256:37;;;;;;;;;;;;;-1:-1:-1::0;;;;;15256:37:0::1;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;15256:37:0;;-1:-1:-1;;;;;;15306:21:0;::::1;;15328:4:::0;15334:25:::1;15353:5:::0;15334:14:::1;15256:37:::0;15343:4;15334:8:::1;:14::i;:25::-;15306:54;;;;;;;;;;;;;-1:-1:-1::0;;;;;15306:54:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;;;;;15129:241:0:o;21350:128::-;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;21420::::1;21462:5;21452:7;21437:12;;:22;:30;;;;;;21420:16;:48::i;18929:150::-:0;3927:24;3940:10;3927:12;:24::i;:::-;3919:48;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;-1:-1:-1;;;3919:48:0;;;;;;;;;;;;;;;19015:13:::1;:20:::0;19048:14:::1;:21:::0;18929:150::o;4336:111::-;-1:-1:-1;;;;;4418:19:0;4392:4;4418:19;;;:14;:19;;;;;;;;;4336:111::o;5378:202::-;5464:7;5502:12;5494:6;;;;5486:29;;;;-1:-1:-1;;;5486:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5540:5:0;;;5378:202::o;12066:1462::-;12179:6;;12158:4;;-1:-1:-1;;;12179:6:0;;;;12176:63;;;12195:41;12210:6;12218:9;12229:6;12195:14;:41::i;:::-;12188:48;;;;12176:63;-1:-1:-1;;;;;12255:22:0;;;;;;:14;:22;;;;;;;;12254:23;:53;;;;-1:-1:-1;;;;;;12282:25:0;;;;;;:14;:25;;;;;;;;12281:26;12254:53;12251:102;;;12317:9;;;;12309:42;;;;;-1:-1:-1;;;12309:42:0;;;;;;;;;;;;-1:-1:-1;;;12309:42:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12369:22:0;;;;;;:14;:22;;;;;;;;12368:23;:56;;;;-1:-1:-1;;;;;;12396:28:0;;;;;;:17;:28;;;;;;;;12395:29;12368:56;:86;;;;-1:-1:-1;;;;;;12428:26:0;;12449:4;12428:26;;12368:86;:132;;;;-1:-1:-1;12495:4:0;;-1:-1:-1;;;;;12474:26:0;;;12495:4;;12474:26;;12368:132;:153;;;;-1:-1:-1;12517:4:0;;-1:-1:-1;;;;;12504:17:0;;;12517:4;;12504:17;;12368:153;:180;;;;-1:-1:-1;12538:10:0;;-1:-1:-1;;;;;12525:23:0;;;12538:10;;12525:23;;12368:180;12365:262;;;12609:15;;12598:6;12575:20;12585:9;12575;:20::i;:::-;:29;12574:50;;12566:59;;;;;;12652:4;;-1:-1:-1;;;;;12642:14:0;;;12652:4;;12642:14;;;;:42;;-1:-1:-1;12675:9:0;;;;12642:42;:86;;;;-1:-1:-1;;;;;;12704:24:0;;;;;;:16;:24;;;;;;;;12703:25;12642:86;12639:221;;;-1:-1:-1;;;;;12755:16:0;;;;;;:8;:16;;;;;;12774:15;-1:-1:-1;12747:43:0;;;;;;12845:13;;-1:-1:-1;;;;;12808:16:0;;;;;;:8;:16;;;;;12845:13;;;;;;12827:15;:31;12808:50;;12639:221;12873:39;12886:6;12894:9;12905:6;12873:12;:39::i;:::-;12938:4;;-1:-1:-1;;;;;12928:14:0;;;12938:4;;12928:14;12925:84;;;12994:13;;-1:-1:-1;;;;;12944:29:0;;12994:13;12944:29;;;:18;:29;;;;;12994:13;;;;12976:15;:31;12944:63;;12925:84;13024:22;13039:6;13024:14;:22::i;:::-;:47;;;;-1:-1:-1;;;;;;13051:20:0;;;;;;:12;:20;;;;;;;;13050:21;13024:47;:111;;;;-1:-1:-1;;;;;;13091:26:0;;;;;;:18;:26;;;;;;13120:15;-1:-1:-1;13024:111:0;13021:144;;;13138:24;13155:6;13138:16;:24::i;:::-;13197:34;;;;;;;;;;;-1:-1:-1;;;13197:34:0;;;;;;;;-1:-1:-1;;;;;13197:17:0;;-1:-1:-1;13197:17:0;;;:9;:17;;;;;;;;:34;;13219:6;;13197:21;:34::i;:::-;-1:-1:-1;;;;;13177:17:0;;;;;;;:9;:17;;;;;:54;;;;13293:4;;13269:48;;13293:4;13283:14;;13187:6;13307:9;13269:13;:48::i;:::-;:88;;13351:6;13269:88;;;13320:28;13333:6;13341;13320:12;:28::i;:::-;-1:-1:-1;;;;;13393:20:0;;;;;;:9;:20;;;;;;13244:113;;-1:-1:-1;13393:40:0;;13244:113;13393:24;:40::i;:::-;-1:-1:-1;;;;;13370:20:0;;;;;;;:9;:20;;;;;;;;;:63;;;;13451:43;;;;;;;13370:20;;13451:43;;;;-1:-1:-1;;;;;;;;;;;13451:43:0;;;;;;;;-1:-1:-1;13514:4:0;;12066:1462;-1:-1:-1;;;;12066:1462:0:o;5230:140::-;5288:7;5317:43;5321:1;5324;5317:43;;;;;;;;;;;;;;;;;:3;:43::i;5588:268::-;5646:7;5672:6;5668:51;;-1:-1:-1;5704:1:0;5697:8;;5668:51;5747:5;;;5751:1;5747;:5;:1;5773:5;;;;;:10;5765:56;;;;-1:-1:-1;;;5765:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5864:136;5922:7;5951:39;5955:1;5958;5951:39;;;;;;;;;;;;;;;;;:3;:39::i;5031:191::-;5089:7;5123:5;;;5149:6;;;;5141:46;;;;;-1:-1:-1;;;5141:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18309:268;-1:-1:-1;;;;;18369:19:0;;;;;:11;:19;;;;;;;;:26;;18391:4;-1:-1:-1;;18369:26:0;;;;;;;;18408:15;:23;;;;;:30;;;;;;;;18451:16;:24;;;;;:31;;;;;;;;18495:17;:25;;;;;:32;;;;;;;;18540:12;:20;;;;;:27;;;;;;;;;;18309:268::o;19741:1257::-;8343:6;:13;;-1:-1:-1;;;;8343:13:0;-1:-1:-1;;;8343:13:0;;;19883:11:::1;::::0;19866::::1;::::0;8343:13;;19832:70:::1;::::0;19900:1:::1;::::0;19832:63:::1;::::0;;;:29:::1;19854:6:::0;19832:21:::1;:29::i;:::-;:33:::0;::::1;:46::i;:70::-;19814:88;;19915:15;19933:42;19967:7;19933:29;19955:6;19933:21;:29::i;:42::-;20012:16;::::0;;20026:1:::1;20012:16:::0;;;19988:21:::1;20012:16:::0;;::::1;::::0;;19915:60;;-1:-1:-1;20012:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;20012:16:0::1;19988:40;;20059:4;20041;20046:1;20041:7;;;;;;;;-1:-1:-1::0;;;;;20041:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;20087:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;20087:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;20041:7;;20087:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;20087:13:0;20077:7;;:4;;20082:1:::1;::::0;20077:7;::::1;;;;;-1:-1:-1::0;;;;;20077:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;20160:6:::1;::::0;:185:::1;::::0;-1:-1:-1;;;20160:185:0;;::::1;::::0;::::1;::::0;;;20113:10:::1;20160:185:::0;;;;;;20306:4:::1;20160:185:::0;;;;;;20328:15:::1;20160:185:::0;;;;;;;;;;;;;;;;;;;;;20126:21:::1;::::0;20160:6;;;::::1;::::0;:57:::1;::::0;20234:7;;20113:10;;20277:4;;20160:185;;;;;;;;;;::::1;::::0;::::1;::::0;;;20113:10;20160:185:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20358:12;20373:29;20399:2;20373:21;:25;;:29;;;;:::i;:::-;20358:44;;20415:13;20431:35;20447:18;20463:1;20447:11;;:15;;:18;;;;:::i;:::-;20431:11;::::0;;:15:::1;:35::i;:::-;20415:51;;20479:13;20495:39;20532:1;20495:32;20521:5;20495:21;20504:11;;20495:4;:8;;:21;;;;:::i;:39::-;20479:55;;20547:14;20564:36;20594:5;20564:25;20573:15;;20564:4;:8;;:25;;;;:::i;:36::-;20642:7;::::0;20678:6:::1;::::0;20634:55:::1;::::0;20547:53;;-1:-1:-1;20614:15:0::1;::::0;-1:-1:-1;;;;;20642:7:0;;::::1;::::0;20547:53;;20614:15;20634:55;20614:15;20634:55;20547:53;20642:7;20678:6;20634:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;20715:5:0::1;::::0;-1:-1:-1;;20736:11:0;;;-1:-1:-1;20733:256:0::1;;20765:6;::::0;20928:10:::1;::::0;;20765:210:::1;::::0;;-1:-1:-1;;;20765:210:0;;20830:4:::1;20765:210;::::0;::::1;::::0;;;;;;;:6:::1;:210:::0;;;;;;;;;;-1:-1:-1;;;;;20928:10:0;;::::1;20765:210:::0;;;;20959:15:::1;20765:210:::0;;;;;:6;::::1;::::0;:22:::1;::::0;20795:5;;20765:210;;;;;::::1;::::0;;;;;;;;20795:5;20765:6;:210;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;20733:256:0::1;-1:-1:-1::0;;8361:6:0;:14;;-1:-1:-1;;;;8361:14:0;;;-1:-1:-1;;;;;;;;19741:1257:0:o;13544:340::-;13676:53;;;;;;;;;;;-1:-1:-1;;;13676:53:0;;;;;;;;-1:-1:-1;;;;;13676:17:0;;13637:4;13676:17;;;:9;:17;;;;;;;:53;;13698:6;;13676:21;:53::i;:::-;-1:-1:-1;;;;;13656:17:0;;;;;;;:9;:17;;;;;;:73;;;;13765:20;;;;;;;:32;;13790:6;13765:24;:32::i;:::-;-1:-1:-1;;;;;13742:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;13815:35;;;;;;;13742:20;;13815:35;;;;-1:-1:-1;;;;;;;;;;;13815:35:0;;;;;;;;-1:-1:-1;13870:4:0;13544:340;;;;;:::o;13896:217::-;14015:12;;14005:6;:22;;:49;;;-1:-1:-1;;;;;;14031:23:0;;;;;;:15;:23;;;;;;;;14005:49;:76;;;-1:-1:-1;;;;;;14058:23:0;;;;;;:12;:23;;;;;;;;14005:76;13996:107;;;;;-1:-1:-1;;;13996:107:0;;;;;;;;;;;;-1:-1:-1;;;13996:107:0;;;;;;;;;;;;;;16008:256;16111:4;;16071;;-1:-1:-1;;;;;16111:4:0;16097:10;:18;;;;:40;;-1:-1:-1;16131:6:0;;-1:-1:-1;;;16131:6:0;;;;16130:7;16097:40;:66;;;;-1:-1:-1;16152:11:0;;;;16097:66;:101;;;;;16188:10;;16178:6;:20;;16097:101;:157;;;;-1:-1:-1;;16241:13:0;;16231:4;16213:24;;;;:9;:24;;;;;;:41;;;16008:256;-1:-1:-1;16008:256:0:o;14125:212::-;14220:4;14242:7;14239:41;;;-1:-1:-1;;;;;;14259:19:0;;;;;;:11;:19;;;;;;;;14258:20;14251:27;;14239:41;-1:-1:-1;;;;;;14305:22:0;;;;;:11;:22;;;;;;;;14304:23;;14125:212;-1:-1:-1;;14125:212:0:o;15382:614::-;15454:7;15476:17;15496:51;15532:14;;15496:31;15507:19;15519:6;15507:11;:19::i;:::-;15496:6;;:10;:31::i;:51::-;15476:71;;15560:15;15578:44;15602:19;15614:6;15602:11;:19::i;:::-;15592:4;;15578:19;;:9;;:13;:19::i;:44::-;15560:62;-1:-1:-1;15635:15:0;15653:22;:9;15560:62;15653:13;:22::i;:::-;15733:4;15715:24;;;;:9;:24;;;;;;15635:40;;-1:-1:-1;15715:37:0;;15635:40;15715:28;:37::i;:::-;15706:4;15688:24;;;;:9;:24;;;;;;;;;:64;;;;15770:40;;;;;;;15706:4;;-1:-1:-1;;;;;15770:40:0;;;-1:-1:-1;;;;;;;;;;;15770:40:0;;;;;;;;;15868:4;;-1:-1:-1;;;;;15868:4:0;15850:24;;;;:9;:24;;;;;;:37;;15879:7;15850:28;:37::i;:::-;15841:4;;;-1:-1:-1;;;;;15841:4:0;;;15823:24;;;;:9;:24;;;;;;;;;:64;;;;15930:4;;15905:40;;;;;;;15930:4;;;;15905:40;;;;-1:-1:-1;;;;;;;;;;;15905:40:0;;;;;;;;15965:21;:6;15976:9;15965:10;:21::i;:::-;15958:28;15382:614;-1:-1:-1;;;;;;15382:614:0:o;6008:205::-;6094:7;6135:12;6128:5;6120:28;;;;-1:-1:-1;;;6120:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6161:9;6177:1;6173;:5;;;;;;;6008:205;-1:-1:-1;;;;;6008:205:0:o;19229:336::-;19299:7;19321:19;19343:44;19375:11;;19343:27;19354:15;;19343:6;:10;;:27;;;;:::i;:44::-;19321:66;;19418:13;;19403:11;:28;19400:55;;19441:11;-1:-1:-1;19434:18:0;;19400:55;19484:13;;19470:11;:27;19467:56;;;-1:-1:-1;;19507:13:0;;19500:20;;19467:56;-1:-1:-1;;19542:13:0;;19229:336;;;:::o

Swarm Source

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