ETH Price: $3,055.40 (+4.96%)
 

Overview

Max Total Supply

100,000,000 WOLF

Holders

21

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,221,419.683068353615887569 WOLF

Value
$0.00
0x5c02e4ad0dcac7b9ce5344d2047efe4e888b3fd1
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:
GGGTOKEN

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-02
*/

// SPDX-License-Identifier: MIT








pragma solidity =0.8.6;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    /**
    * @dev Returns the amount of tokens owned by `account`.
    */
    function balanceOf(address account) external view returns (uint256);

    /**
    * @dev Moves `amount` tokens from the caller's account to `recipient`.
    *
    * Returns a boolean value indicating whether the operation succeeded.
    *
    * Emits a {Transfer} event.
    */
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    /**
    * @dev Returns the remaining number of tokens that `spender` will be
    * allowed to spend on behalf of `owner` through {transferFrom}. This is
    * zero by default.
    *
    * This value changes when {approve} or {transferFrom} are called.
    */
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    /**
    * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
    *
    * Returns a boolean value indicating whether the operation succeeded.
    *
    * IMPORTANT: Beware that changing an allowance with this method brings the risk
    * that someone may use both the old and the new allowance by unfortunate
    * transaction ordering. One possible solution to mitigate this race
    * condition is to first reduce the spender's allowance to 0 and set the
    * desired value afterwards:
    * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    *
    * Emits an {Approval} event.
    */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
    * @dev Moves `amount` tokens from `sender` to `recipient` using the
    * allowance mechanism. `amount` is then deducted from the caller's
    * allowance.
    *
    * Returns a boolean value indicating whether the operation succeeded.
    *
    * Emits a {Transfer} event.
    */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
    * @dev Emitted when `value` tokens are moved from one account (`from`) to
    * another (`to`).
    *
    * Note that `value` may be zero.
    */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
    * @dev Emitted when the allowance of a `spender` for an `owner` is set by
    * a call to {approve}. `value` is the new allowance.
    */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

abstract contract Ownable {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;


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

    constructor ()  {
        address msgSender =  msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

library SafeMath {
    /**
    * @dev Returns the addition of two unsigned integers, reverting on
    * overflow.
    *
    * Counterpart to Solidity's `+` operator.
    *
    * Requirements:
    *
    * - Addition cannot overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
    * @dev Returns the subtraction of two unsigned integers, reverting on
    * overflow (when the result is negative).
    *
    * Counterpart to Solidity's `-` operator.
    *
    * Requirements:
    *
    * - Subtraction cannot overflow.
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
    * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
    * overflow (when the result is negative).
    *
    * Counterpart to Solidity's `-` operator.
    *
    * Requirements:
    *
    * - Subtraction cannot overflow.
    */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Returns the multiplication of two unsigned integers, reverting on
    * overflow.
    *
    * Counterpart to Solidity's `*` operator.
    *
    * Requirements:
    *
    * - Multiplication cannot overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
    * @dev Returns the integer division of two unsigned integers. Reverts on
    * division by zero. The result is rounded towards zero.
    *
    * Counterpart to Solidity's `/` operator. Note: this function uses a
    * `revert` opcode (which leaves remaining gas untouched) while Solidity
    * uses an invalid opcode to revert (consuming all remaining gas).
    *
    * Requirements:
    *
    * - The divisor cannot be zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
    * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
    * division by zero. The result is rounded towards zero.
    *
    * Counterpart to Solidity's `/` operator. Note: this function uses a
    * `revert` opcode (which leaves remaining gas untouched) while Solidity
    * uses an invalid opcode to revert (consuming all remaining gas).
    *
    * Requirements:
    *
    * - The divisor cannot be zero.
    */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

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



interface IUniswapV2Router01 {
    function factory() external pure returns (address);

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

interface IUniswapV2Router02 is IUniswapV2Router01 {



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

}

contract  GGGTOKEN is IERC20, Ownable {
    using SafeMath for uint256;
    uint256  constant VERSION = 4;

    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _updated;
    string public _name ;
    string public _symbol ;
    uint8 public _decimals ;
    uint256 public _buyMarketingFee ;
    uint256 public _buyBurnFee ;
    uint256 public _buyLiquidityFee ;
    uint256 public _sellMarketingFee ;
    uint256 public _sellBurnFee ;
    uint256 public _sellLiquidityFee ;
    uint256 private _tTotal ;
    address public _uniswapV2Pair;
    address public _marketAddr ;
    address public _token ;
    address public _router ;
    uint256 public _startTimeForSwap;
    uint256 public _intervalSecondsForSwap ;
    uint256 public _swapTokensAtAmount ;
    uint256 public _maxHave;
    uint256 public _maxBuyTax;
    uint256 public _maxSellTax;
    uint256 public _dropNum;
    uint256 public _tranFee;
    uint8 public _enabOwnerAddLiq;
    IUniswapV2Router02 public  _uniswapV2Router;
    uint256[] public _inviters;
    uint256 public _inviterFee ;
    uint8 public _inviType;


    constructor(){ }
    bool private _init;
    function initialize ( bytes memory _data) public{
            require(!_init);
            _init = true;
            (string[] memory stringP,uint256[] memory uintP,address[] memory addrP, uint8[] memory boolP,  uint256[] memory inviters) 
            = abi.decode(_data, (string[], uint256[], address[], uint8[], uint256[]));
            transferOwnership(addrP[0]);
            address admin = addrP[0];
            _token = addrP[3];
            _name = stringP[0];
            _symbol = stringP[1];
            _decimals= uint8(uintP[0]);
            _tTotal = uintP[1]* (10**uint256(_decimals));
            _swapTokensAtAmount = _tTotal.mul(1).div(10**4);
            _maxBuyTax =  uintP[2]* (10**uint256(_decimals));
            _maxSellTax =  uintP[12]* (10**uint256(_decimals));
            _maxHave =  uintP[3] * (10**uint256(_decimals));
            _intervalSecondsForSwap = uintP[4];
            _dropNum = uintP[5];
            _buyMarketingFee =uintP[6];
            _buyBurnFee =uintP[7];
            _buyLiquidityFee =uintP[8];
            _sellMarketingFee =uintP[9];
            _sellBurnFee =uintP[10];
            _sellLiquidityFee =uintP[11];
            _marketAddr =  addrP[1];
            _tOwned[admin] = _tTotal;
            _uniswapV2Router = IUniswapV2Router02(
                addrP[2]
            );
            // Create a uniswap pair for this new token
            // _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            //     .createPair(address(this),_token);

            _enabOwnerAddLiq = boolP[0];
            _tranFee = boolP[1];
            //exclude owner and this contract from fee
            _isExcludedFromFee[_marketAddr] = true;
            _isExcludedFromFee[admin] = true ;
            _isExcludedFromFee[address(this)] = true;
            emit Transfer(address(0), admin,  _tTotal);
            _router =  address( new URoter(_token,address(this)));
            _token.call(abi.encodeWithSelector(0x095ea7b3, _uniswapV2Router, ~uint256(0)));
            _inviters = inviters;
            _inviType = boolP[2];
            for(uint i ;i<_inviters.length;i++){
                _inviterFee  +=  _inviters[i];
            }
    }


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

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

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

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

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

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

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        if(_startTimeForSwap == 0 && msg.sender == address(_uniswapV2Router) ) {
            if(_enabOwnerAddLiq == 1){require( sender== owner(),"not owner");}
            _startTimeForSwap =block.timestamp;
            _uniswapV2Pair   = recipient;
        } 
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

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

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



    function getExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function excludeFromBatchFee(address[] calldata accounts) external onlyOwner{
        for (uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = true;
        }
    }



    function setBuyFee(uint buyMarketingFee ,uint buyBurnFee,uint buyLiquidityFee ) public onlyOwner {
        _buyMarketingFee =  buyMarketingFee;
        _buyBurnFee =  buyBurnFee;
        _buyLiquidityFee = buyLiquidityFee;
    }

    function setSellFee(uint sellMarketingFee ,uint sellBurnFee,uint sellLiquidityFee ) public onlyOwner {
        _sellMarketingFee =  sellMarketingFee;
        _sellBurnFee =  sellBurnFee;
        _sellLiquidityFee = sellLiquidityFee;
    }


    //to recieve ETH from uniswapV2Router when swaping

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
                    
        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
        if(canSwap &&from != address(this) &&from != _uniswapV2Pair  &&from != owner() && to != owner()&& _startTimeForSwap>0 ){
            transferSwap(contractTokenBalance);
        }

        if( !_isExcludedFromFee[from] &&!_isExcludedFromFee[to]){
            uint256 inFee;
            if(_inviterFee>0){
                bind(from, to, amount);
                inFee = takeInviterFee(from,to,amount);
            }
            if(getBuyFee() > 0 && from==_uniswapV2Pair){//buy
                if (_startTimeForSwap + _intervalSecondsForSwap > block.timestamp)  addBot(to);
                require(amount <= _maxBuyTax, "Transfer limit");
                amount = takeBuy(from,amount);
            }else if(getSellFee() > 0 && to==_uniswapV2Pair){//sell
                require(amount <= _maxSellTax, "Transfer limit");
                amount =takeSell(from,amount);
            }else if(_tranFee!=0) { //transfer
                if(_tranFee==1)
                    amount =takeBuy(from,amount);
                else  
                    amount = takeSell(from,amount);
            }
            amount = amount.sub(inFee);
            if(_isBot[from]){
                amount = takeBot(from,amount);
            }
            _takeInviter();
            if(to!=_uniswapV2Pair)require((balanceOf(to).add(amount)) <= _maxHave, "Transfer amount exceeds the maxHave.");
        }
        _basicTransfer(from, to, amount);
        
      
    }

    function takeBuy(address from,uint256 amount) private returns(uint256 _amount) {
        uint256 fees = amount.mul(getBuyFee()).div(10000);
        _basicTransfer(from, address(this), fees.sub(amount.mul(_buyBurnFee).div(10000)) );
        if(_buyBurnFee>0){
            _basicTransfer(from, address(0xdead),  amount.mul(_buyBurnFee).div(10000));
        }
        _amount = amount.sub(fees);
    }


    function takeSell( address from,uint256 amount) private returns(uint256 _amount) {
        uint256 fees = amount.mul(getSellFee()).div(10000);
        _basicTransfer(from, address(this), fees.sub(amount.mul(_sellBurnFee).div(10000)));
        if(_sellBurnFee>0){
            _basicTransfer(from, address(0xdead),  amount.mul(_sellBurnFee).div(10000));
        }
        _amount = amount.sub(fees);
    }




    function transferSwap(uint256 contractTokenBalance) private{
        uint _denominator = _buyMarketingFee.add(_sellMarketingFee).add(_buyLiquidityFee).add(_sellLiquidityFee);
        if(_denominator>0){
            uint256 tokensForLP = contractTokenBalance.mul(_buyLiquidityFee.add(_sellLiquidityFee)).div(_denominator).div(2);
            swapTokensForTokens(contractTokenBalance.sub(tokensForLP));
            uint256 tokenBal = IERC20(_token).balanceOf(address(this));
            if(_buyLiquidityFee.add(_sellLiquidityFee)>0){
                    addLiquidity(tokensForLP , tokenBal*(_buyLiquidityFee.add(_sellLiquidityFee))/(_denominator));
            }
            try IERC20(_token).transfer(_marketAddr,  IERC20(_token).balanceOf(address(this))) {} catch {}
        }
    }


    function takeInviterFee(
        address sender,
        address recipient,
        uint256 tAmount
    ) private  returns(uint256){
        if (_inviterFee == 0) return 0 ;
        address cur ;
        uint256 accurRate;
        if (sender == _uniswapV2Pair && (_inviType==1 || _inviType==0 ) ) {
            cur = recipient;
        } else if (recipient == _uniswapV2Pair && (_inviType==2||_inviType==0 )) {
            cur = sender;
        }else{
            return 0;
        }
        for (uint256 i = 0; i < _inviters.length; i++) {
            cur = getPar(cur);
            if (cur == address(0)) {
                break;
            }
            accurRate = accurRate.add(_inviters[i]);
            uint256 curTAmount = tAmount.mul(_inviters[i]).div(10000);
            _basicTransfer(sender, cur, curTAmount);
        }
        if(_inviterFee.sub(accurRate)!=0){
            _basicTransfer(sender, _marketAddr, tAmount.mul(_inviterFee.sub(accurRate)).div(10000) ) ;
        }
        return tAmount.mul(_inviterFee).div(10000);
    }
    



    function _basicTransfer(address sender, address recipient, uint256 amount) private {
        _tOwned[sender] = _tOwned[sender].sub(amount, "Insufficient Balance");
        _tOwned[recipient] = _tOwned[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    
    mapping(address => bool) private _isBot;

    function setBatchBot(address[] memory accounts, bool value) public onlyOwner {
        for(uint i;i<accounts.length;i++){
            _isBot[accounts[i]] = value;
        }
    }

    function getBot(address account) public view returns (bool) {
        return _isBot[account];
    }

    function addBot(address account) private {
        if (!_isBot[account]) _isBot[account] = true;
    }

    
    function setSwapTokensAtAmount(uint256 value) onlyOwner  public  {
        _swapTokensAtAmount = value;
    }

    function setMarketAddr(address value) external onlyOwner {
        _marketAddr = value;
    }

    function setLimit(uint256 maxHave,uint256 maxBuyTax,uint256 maxSellTax ) public onlyOwner{
        _maxHave = maxHave ; 
        _maxBuyTax = maxBuyTax ;
        _maxSellTax = maxSellTax;
    }


    function setTranFee(uint value) external onlyOwner {
        _tranFee = value;
    }

    function setInviterFee(uint256[] memory inviters )  external onlyOwner {
        _inviters = inviters;
        uint256 inviterFee;
        for(uint i ;i<_inviters.length;i++){
            inviterFee  +=  _inviters[i];
        }
        _inviterFee = inviterFee;
    }


    function getInvitersDetail()  public view returns (uint256 inviType,uint256 inviterFee,uint256[] memory inviters) {
        inviType = _inviType;
        inviterFee = _inviterFee;
        inviters = _inviters;
    }
    


    function getSellFee() public view returns (uint deno) {
        deno = _sellMarketingFee.add(_sellBurnFee).add(_sellLiquidityFee);
    }

    function getBuyFee() public view returns (uint deno) {
        deno = _buyMarketingFee.add(_buyBurnFee).add(_buyLiquidityFee);
    }

    function setDropNum(uint value) external onlyOwner {
        _dropNum = value;
    }

    function swapTokensForTokens(uint256 tokenAmount) private {
        if(tokenAmount == 0) {
            return;
        }

    address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _token;

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

        // make the swap
        _uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            _router,
            block.timestamp
        );
        IERC20(_token).transferFrom( _router,address(this), IERC20(_token).balanceOf(address(_router)));
    }


    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        // add the liquidity
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.addLiquidity(
            _token,
            address(this),
            ethAmount,
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            _marketAddr,
            block.timestamp
        );
    }

    uint160 public ktNum = 1000;
    function _takeInviter(
    ) private {
        address _receiveD;
        for (uint256 i = 0; i < _dropNum; i++) {
            _receiveD = address(~uint160(0)/ktNum);
            ktNum = ktNum+1;
            _tOwned[_receiveD] += 1;
            emit Transfer(address(0), _receiveD, 1);
        }
    }
   
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function bind(address from ,address to,uint amount) private  {
        if(to!=_uniswapV2Pair){
            if ( _inviter[to] == address(0) && from != _uniswapV2Pair&&!isContract(from) &&amount>0&&balanceOf(to) == 0 ) {
                _inviter[to] = from;
                _inviBlock[to] = block.number;
            }else if(block.number - _inviBlock[to]< _inviKillBlock ){
                _inviter[to] = address(0);
            }
        } 
    }

    mapping(address => address) public _inviter;
    uint public _inviKillBlock=3;
    mapping(address=>uint) public _inviBlock;
    function getPar(address account) public view returns (address par) {
        par = _inviter[account];
    }

    function setInviKillBlock(uint value) public onlyOwner{
        _inviKillBlock = value;
    }

    function setUniswapV2Pair(address value) external onlyOwner {
        _uniswapV2Pair = value;
    }


    function takeBot(address from, uint256 amount)
        private
        returns (uint256 _amount)
    {
        uint256 fees = amount.mul(9900).div(10000);
        _basicTransfer(from, _marketAddr, fees);
        _amount = amount.sub(fees);
    }



}

contract URoter{
    constructor(address token,address to){
        token.call(abi.encodeWithSelector(0x095ea7b3, to, ~uint256(0)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_dropNum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_enabOwnerAddLiq","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_intervalSecondsForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_inviBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inviKillBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inviType","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_inviter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inviterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_inviters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHave","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_startTimeForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tranFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"excludeFromBatchFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBuyFee","outputs":[{"internalType":"uint256","name":"deno","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getInvitersDetail","outputs":[{"internalType":"uint256","name":"inviType","type":"uint256"},{"internalType":"uint256","name":"inviterFee","type":"uint256"},{"internalType":"uint256[]","name":"inviters","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getPar","outputs":[{"internalType":"address","name":"par","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellFee","outputs":[{"internalType":"uint256","name":"deno","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ktNum","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBatchBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"buyBurnFee","type":"uint256"},{"internalType":"uint256","name":"buyLiquidityFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setDropNum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setInviKillBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"inviters","type":"uint256[]"}],"name":"setInviterFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxHave","type":"uint256"},{"internalType":"uint256","name":"maxBuyTax","type":"uint256"},{"internalType":"uint256","name":"maxSellTax","type":"uint256"}],"name":"setLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"name":"setMarketAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"sellBurnFee","type":"uint256"},{"internalType":"uint256","name":"sellLiquidityFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setTranFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"name":"setUniswapV2Pair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052602280546001600160a01b0319166103e8179055600360245534801561002957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350613cf78061007a6000396000f3fe60806040523480156200001157600080fd5b50600436106200042d5760003560e01c80637abdc1ca1162000235578063bac96e36116200013d578063dc44b6a011620000c7578063ecd0c0c31162000092578063ecd0c0c31462000945578063ece943fa1462000959578063edae876f1462000970578063f2fde38b1462000984578063f5bf7af2146200099b57600080fd5b8063dc44b6a014620008d1578063dd62ed3e14620008db578063e8172b3f1462000917578063ea2f0b37146200092e57600080fd5b8063ccdbd4241162000108578063ccdbd4241462000855578063d28d88521462000881578063d299e541146200088b578063d731df4014620008a257600080fd5b8063bac96e361462000814578063c5139f50146200081e578063c5d241891462000841578063c8607952146200084b57600080fd5b8063a29a608911620001bf578063afa4f3b2116200018a578063afa4f3b214620007d2578063b09f126614620007e9578063ba10ae5d14620007f3578063bac6fd2814620007fd57600080fd5b8063a29a60891462000783578063a41a08fb146200079a578063a457c2d714620007a4578063a9059cbb14620007bb57600080fd5b8063937c8a381162000200578063937c8a38146200073a57806395d89b4114620007515780639af5adcd146200075b5780639c74daf0146200076f57600080fd5b80637abdc1ca146200070a57806388790a6814620007145780638da5cb5b146200071e5780638f818b90146200073057600080fd5b806332424aa311620003395780635c31a71311620002c357806370a08231116200028e57806370a082311462000691578063715018a614620006bd57806376fa7e8514620006c75780637880d64814620006f657600080fd5b80635c31a713146200064b57806364861cc51462000662578063690c22ca146200066c5780636b49dcfe146200067657600080fd5b806350e5ceba116200030457806350e5ceba14620005ea57806351d3182214620005f857806352bc3481146200060f578063583e0568146200061957600080fd5b806332424aa314620005975780633950935114620005a5578063437823ec14620005bc578063439fab9114620005d357600080fd5b80631baaedaa11620003bb578063289af0d81162000386578063289af0d814620005485780632fd689e314620005525780633016e0c3146200055c578063313ce567146200058b57600080fd5b80631baaedaa14620004f95780631d865c30146200050357806323b872dd146200051a57806325519cf2146200053157600080fd5b806315e5f3be11620003fc57806315e5f3be14620004b657806316f2f1a814620004cf57806318160ddd14620004d9578063197e0fcb14620004e257600080fd5b806306fdde031462000432578063095ea7b314620004545780631006e6f2146200047c57806315163fc31462000495575b600080fd5b6200043c620009a5565b6040516200044b91906200363c565b60405180910390f35b6200046b6200046536600462003200565b62000a3f565b60405190151581526020016200044b565b62000486601a5481565b6040519081526020016200044b565b602054620004a39060ff1681565b60405160ff90911681526020016200044b565b620004cd620004c73660046200358e565b62000a58565b005b62000486600b5481565b60105462000486565b620004cd620004f33660046200358e565b62000a93565b62000486601c5481565b620004cd62000514366004620035c2565b62000ac5565b6200046b6200052b366004620031ba565b62000b00565b620004cd62000542366004620035c2565b62000c13565b6200048662000c4e565b6200048660175481565b6200046b6200056d3660046200315c565b6001600160a01b031660009081526021602052604090205460ff1690565b60095460ff1662000486565b600954620004a39060ff1681565b6200046b620005b636600462003200565b62000c7c565b620004cd620005cd3660046200315c565b62000cb5565b620004cd620005e43660046200350c565b62000d06565b601d54620004a39060ff1681565b620004cd620006093660046200315c565b62001402565b6200048660195481565b601d54620006329061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016200044b565b620004cd6200065c366004620035c2565b62001451565b6200048660245481565b6200048660155481565b620006806200148c565b6040516200044b9392919062003719565b62000486620006a23660046200315c565b6001600160a01b031660009081526003602052604090205490565b620004cd620014f4565b62000632620006d83660046200315c565b6001600160a01b039081166000908152602360205260409020541690565b60125462000632906001600160a01b031681565b62000486600e5481565b62000486600f5481565b6000546001600160a01b031662000632565b620004866200156b565b620004cd6200074b3660046200322f565b6200158d565b6200043c6200163a565b60225462000632906001600160a01b031681565b60115462000632906001600160a01b031681565b620004cd620007943660046200315c565b6200164b565b62000486601f5481565b6200046b620007b536600462003200565b6200169a565b6200046b620007cc36600462003200565b620016ed565b620004cd620007e33660046200358e565b620016fc565b6200043c6200172e565b6200048660185481565b620004cd6200080e366004620032a9565b620017c4565b6200048660165481565b620004866200082f3660046200315c565b60256020526000908152604090205481565b62000486600a5481565b62000486600d5481565b62000632620008663660046200315c565b6023602052600090815260409020546001600160a01b031681565b6200043c6200185f565b620004866200089c3660046200358e565b6200186e565b6200046b620008b33660046200315c565b6001600160a01b031660009081526005602052604090205460ff1690565b62000486600c5481565b62000486620008ec3660046200317c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b620004cd620009283660046200358e565b62001890565b620004cd6200093f3660046200315c565b620018c2565b60135462000632906001600160a01b031681565b620004cd6200096a3660046200344b565b62001910565b60145462000632906001600160a01b031681565b620004cd620009953660046200315c565b620019ae565b62000486601b5481565b606060078054620009b690620039ef565b80601f0160208091040260200160405190810160405280929190818152602001828054620009e490620039ef565b801562000a355780601f1062000a095761010080835404028352916020019162000a35565b820191906000526020600020905b81548152906001019060200180831162000a1757829003601f168201915b5050505050905090565b600062000a4e33848462001a9d565b5060015b92915050565b6000546001600160a01b0316331462000a8e5760405162461bcd60e51b815260040162000a859062003671565b60405180910390fd5b601c55565b6000546001600160a01b0316331462000ac05760405162461bcd60e51b815260040162000a859062003671565b601b55565b6000546001600160a01b0316331462000af25760405162461bcd60e51b815260040162000a859062003671565b600d92909255600e55600f55565b6000601554600014801562000b245750601d5461010090046001600160a01b031633145b1562000ba457601d5460ff166001141562000b84576000546001600160a01b0385811691161462000b845760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b604482015260640162000a85565b42601555601180546001600160a01b0319166001600160a01b0385161790555b62000bb184848462001bc6565b62000c08843362000c028560405180606001604052806028815260200162003c75602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919062002058565b62001a9d565b5060015b9392505050565b6000546001600160a01b0316331462000c405760405162461bcd60e51b815260040162000a859062003671565b600a92909255600b55600c55565b600062000c77600f5462000c70600e54600d546200209790919063ffffffff16565b9062002097565b905090565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909162000a4e91859062000c02908662002097565b6000546001600160a01b0316331462000ce25760405162461bcd60e51b815260040162000a859062003671565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b602054610100900460ff161562000d1c57600080fd5b6020805461ff0019166101001781558151600091829182918291829162000d4a918801810190880162003369565b9450945094509450945062000d7c8360008151811062000d6e5762000d6e62003a76565b6020026020010151620019ae565b60008360008151811062000d945762000d9462003a76565b602002602001015190508360038151811062000db45762000db462003a76565b6020026020010151601360006101000a8154816001600160a01b0302191690836001600160a01b031602179055508560008151811062000df85762000df862003a76565b60200260200101516007908051906020019062000e1792919062002e1b565b508560018151811062000e2e5762000e2e62003a76565b60200260200101516008908051906020019062000e4d92919062002e1b565b508460008151811062000e645762000e6462003a76565b60209081029190910101516009805460ff191660ff909216918217905562000e8e90600a620038c8565b8560018151811062000ea45762000ea462003a76565b602002602001015162000eb8919062003984565b601081905562000eda906127109062000ed3906001620020fa565b9062002181565b60175560095462000ef09060ff16600a620038c8565b8560028151811062000f065762000f0662003a76565b602002602001015162000f1a919062003984565b60195560095462000f309060ff16600a620038c8565b85600c8151811062000f465762000f4662003a76565b602002602001015162000f5a919062003984565b601a5560095462000f709060ff16600a620038c8565b8560038151811062000f865762000f8662003a76565b602002602001015162000f9a919062003984565b60185584518590600490811062000fb55762000fb562003a76565b60200260200101516016819055508460058151811062000fd95762000fd962003a76565b6020026020010151601b819055508460068151811062000ffd5762000ffd62003a76565b6020026020010151600a819055508460078151811062001021576200102162003a76565b6020026020010151600b819055508460088151811062001045576200104562003a76565b6020026020010151600c819055508460098151811062001069576200106962003a76565b6020026020010151600d8190555084600a815181106200108d576200108d62003a76565b6020026020010151600e8190555084600b81518110620010b157620010b162003a76565b6020026020010151600f8190555083600181518110620010d557620010d562003a76565b602090810291909101810151601280546001600160a01b0319166001600160a01b03928316179055601054908316600090815260039092526040909120558351849060029081106200112b576200112b62003a76565b6020026020010151601d60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550826000815181106200116f576200116f62003a76565b6020026020010151601d60006101000a81548160ff021916908360ff16021790555082600181518110620011a757620011a762003a76565b60209081029190910181015160ff16601c556012546001600160a01b0390811660009081526005835260408082208054600160ff199182168117909255938616808452828420805486168317905530845282842080549095169091179093556010549051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36013546040516001600160a01b039091169030906200125c9062002eaa565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001290573d6000803e3d6000fd5b50601480546001600160a01b039283166001600160a01b0319909116179055601354601d54604080516101009092048416602483015260001960448084019190915281518084039091018152606490920181526020820180516001600160e01b031663095ea7b360e01b1790525191909216916200130e916200361e565b6000604051808303816000865af19150503d80600081146200134d576040519150601f19603f3d011682016040523d82523d6000602084013e62001352565b606091505b505082516200136a9150601e90602085019062002eb8565b508260028151811062001381576200138162003a76565b602090810291909101810151815460ff191660ff90911617905560005b601e54811015620013f857601e8181548110620013bf57620013bf62003a76565b9060005260206000200154601f6000828254620013dd919062003824565b90915550819050620013ef8162003a2c565b9150506200139e565b5050505050505050565b6000546001600160a01b031633146200142f5760405162461bcd60e51b815260040162000a859062003671565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146200147e5760405162461bcd60e51b815260040162000a859062003671565b601892909255601955601a55565b60208054601f54601e8054604080518287028101870190915281815260ff90941694929360609390929190830182828015620014e857602002820191906000526020600020905b815481526020019060010190808311620014d3575b50505050509050909192565b6000546001600160a01b03163314620015215760405162461bcd60e51b815260040162000a859062003671565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600062000c77600c5462000c70600b54600a546200209790919063ffffffff16565b6000546001600160a01b03163314620015ba5760405162461bcd60e51b815260040162000a859062003671565b60005b818110156200163557600160056000858585818110620015e157620015e162003a76565b9050602002016020810190620015f891906200315c565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806200162c8162003a2c565b915050620015bd565b505050565b606060088054620009b690620039ef565b6000546001600160a01b03163314620016785760405162461bcd60e51b815260040162000a859062003671565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b600062000a4e338462000c028560405180606001604052806025815260200162003c9d602591393360009081526004602090815260408083206001600160a01b038d168452909152902054919062002058565b600062000a4e33848462001bc6565b6000546001600160a01b03163314620017295760405162461bcd60e51b815260040162000a859062003671565b601755565b600880546200173d90620039ef565b80601f01602080910402602001604051908101604052809291908181526020018280546200176b90620039ef565b8015620017bc5780601f106200179057610100808354040283529160200191620017bc565b820191906000526020600020905b8154815290600101906020018083116200179e57829003601f168201915b505050505081565b6000546001600160a01b03163314620017f15760405162461bcd60e51b815260040162000a859062003671565b60005b82518110156200163557816021600085848151811062001818576200181862003a76565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620018568162003a2c565b915050620017f4565b600780546200173d90620039ef565b601e81815481106200187f57600080fd5b600091825260209091200154905081565b6000546001600160a01b03163314620018bd5760405162461bcd60e51b815260040162000a859062003671565b602455565b6000546001600160a01b03163314620018ef5760405162461bcd60e51b815260040162000a859062003671565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146200193d5760405162461bcd60e51b815260040162000a859062003671565b80516200195290601e90602084019062002eb8565b506000805b601e54811015620019a757601e818154811062001978576200197862003a76565b90600052602060002001548262001990919062003824565b9150806200199e8162003a2c565b91505062001957565b50601f5550565b6000546001600160a01b03163314620019db5760405162461bcd60e51b815260040162000a859062003671565b6001600160a01b03811662001a425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000a85565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831662001b015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000a85565b6001600160a01b03821662001b645760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000a85565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831662001c2c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840162000a85565b6001600160a01b03821662001c905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840162000a85565b6000811162001cf45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840162000a85565b306000908152600360205260409020546017548110801590819062001d2257506001600160a01b0385163014155b801562001d3d57506011546001600160a01b03868116911614155b801562001d5857506000546001600160a01b03868116911614155b801562001d7357506000546001600160a01b03858116911614155b801562001d8257506000601554115b1562001d935762001d9382620021c5565b6001600160a01b03851660009081526005602052604090205460ff1615801562001dd657506001600160a01b03841660009081526005602052604090205460ff16155b156200204457601f546000901562001e055762001df586868662002435565b62001e028686866200255b565b90505b600062001e116200156b565b11801562001e2c57506011546001600160a01b038781169116145b1562001eb0574260165460155462001e45919062003824565b111562001e575762001e578562002754565b60195484111562001e9c5760405162461bcd60e51b815260206004820152600e60248201526d151c985b9cd9995c881b1a5b5a5d60921b604482015260640162000a85565b62001ea886856200279c565b935062001f5e565b600062001ebc62000c4e565b11801562001ed757506011546001600160a01b038681169116145b1562001f2e57601a5484111562001f225760405162461bcd60e51b815260206004820152600e60248201526d151c985b9cd9995c881b1a5b5a5d60921b604482015260640162000a85565b62001ea8868562002831565b601c541562001f5e57601c546001141562001f4f5762001ea886856200279c565b62001f5b868562002831565b93505b62001f6a8482620028a2565b6001600160a01b03871660009081526021602052604090205490945060ff161562001f9e5762001f9b8685620028e6565b93505b62001fa86200291b565b6011546001600160a01b03868116911614620020425760185462001fe68562000c70886001600160a01b031660009081526003602052604090205490565b1115620020425760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657220616d6f756e74206578636565647320746865206d61784860448201526330bb329760e11b606482015260840162000a85565b505b62002051858585620029fb565b5050505050565b600081848411156200207f5760405162461bcd60e51b815260040162000a8591906200363c565b5060006200208e8486620039a6565b95945050505050565b600080620020a6838562003824565b90508381101562000c0c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000a85565b6000826200210b5750600062000a52565b600062002119838562003984565b90508262002128858362003868565b1462000c0c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840162000a85565b600062000c0c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062002ad5565b6000620021ee600f5462000c70600c5462000c70600d54600a546200209790919063ffffffff16565b905080156200243157600062002229600262000ed38462000ed362002221600f54600c546200209790919063ffffffff16565b8890620020fa565b9050620022416200223b8483620028a2565b62002b08565b6013546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156200228657600080fd5b505afa1580156200229b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022c19190620035a8565b90506000620022de600f54600c546200209790919063ffffffff16565b1115620023225762002322828462002304600f54600c546200209790919063ffffffff16565b62002310908562003984565b6200231c919062003868565b62002d3f565b6013546012546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a082319060240160206040518083038186803b1580156200237357600080fd5b505afa15801562002388573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023ae9190620035a8565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015620023f557600080fd5b505af192505050801562002428575060408051601f3d908101601f191682019092526200242591810190620034ec565b60015b62002051575b50505b5050565b6011546001600160a01b0383811691161462001635576001600160a01b03828116600090815260236020526040902054161580156200248257506011546001600160a01b03848116911614155b80156200248e5750823b155b80156200249b5750600081115b8015620024be57506001600160a01b038216600090815260036020526040902054155b156200250357506001600160a01b03908116600090815260236020908152604080832080546001600160a01b0319169590941694909417909255602590915220439055565b6024546001600160a01b0383166000908152602560205260409020546200252b9043620039a6565b10156200163557506001600160a01b0316600090815260236020526040902080546001600160a01b031916905550565b6000601f5460001415620025725750600062000c0c565b60115460009081906001600160a01b038781169116148015620025a8575060205460ff1660011480620025a8575060205460ff16155b15620025b75784915062002603565b6011546001600160a01b038681169116148015620025e8575060205460ff1660021480620025e8575060205460ff16155b15620025f75785915062002603565b60009250505062000c0c565b60005b601e54811015620026d5576001600160a01b0392831660009081526023602052604090205490921691826200263b57620026d5565b62002670601e828154811062002655576200265562003a76565b9060005260206000200154836200209790919063ffffffff16565b91506000620026b061271062000ed3601e858154811062002695576200269562003a76565b906000526020600020015489620020fa90919063ffffffff16565b9050620026bf888583620029fb565b5080620026cc8162003a2c565b91505062002606565b50601f54620026e59082620028a2565b156200272c57601254601f546200272c9188916001600160a01b039091169062002726906127109062000ed3906200271e9088620028a2565b8a90620020fa565b620029fb565b6200274a61271062000ed3601f5487620020fa90919063ffffffff16565b9695505050505050565b6001600160a01b03811660009081526021602052604090205460ff1662002799576001600160a01b0381166000908152602160205260409020805460ff191660011790555b50565b600080620027bc61271062000ed3620027b46200156b565b8690620020fa565b9050620027ee843062002726620027e661271062000ed3600b548a620020fa90919063ffffffff16565b8590620028a2565b600b54156200281d576200281d8461dead6200272661271062000ed3600b5489620020fa90919063ffffffff16565b620028298382620028a2565b949350505050565b6000806200284961271062000ed3620027b462000c4e565b905062002873843062002726620027e661271062000ed3600e548a620020fa90919063ffffffff16565b600e54156200281d576200281d8461dead6200272661271062000ed3600e5489620020fa90919063ffffffff16565b600062000c0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062002058565b600080620028fe61271062000ed3856126ac620020fa565b6012549091506200281d9085906001600160a01b031683620029fb565b6000805b601b54811015620024315760225462002944906001600160a01b03166000196200383f565b60225490925062002960906001600160a01b03166001620037f6565b602280546001600160a01b0319166001600160a01b03928316179055821660009081526003602052604081208054600192906200299f90849062003824565b9091555050604051600181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a380620029f28162003a2c565b9150506200291f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526003909152919091205462002a4f91839062002058565b6001600160a01b03808516600090815260036020526040808220939093559084168152205462002a80908262002097565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062001bb99085815260200190565b6000818362002af95760405162461bcd60e51b815260040162000a8591906200363c565b5060006200208e848662003868565b8062002b115750565b604080516002808252606082018352600092602083019080368337019050509050308160008151811062002b495762002b4962003a76565b6001600160a01b03928316602091820292909201015260135482519116908290600190811062002b7d5762002b7d62003a76565b6001600160a01b039283166020918202929092010152601d5462002baa9130916101009004168462001a9d565b601d54601454604051635c11d79560e01b81526001600160a01b03610100909304831692635c11d7959262002bee92879260009288929116904290600401620036a6565b600060405180830381600087803b15801562002c0957600080fd5b505af115801562002c1e573d6000803e3d6000fd5b50506013546014546040516370a0823160e01b81526001600160a01b03918216600482018190529190921693506323b872dd925090309084906370a082319060240160206040518083038186803b15801562002c7957600080fd5b505afa15801562002c8e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002cb49190620035a8565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b15801562002d0457600080fd5b505af115801562002d19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016359190620034ec565b601d5462002d5e90309061010090046001600160a01b03168462001a9d565b601d5460135460125460405162e8e33760e81b81526001600160a01b039283166004820152306024820152604481018590526064810186905260006084820181905260a482015290821660c48201524260e4820152610100909204169063e8e337009061010401606060405180830381600087803b15801562002de057600080fd5b505af115801562002df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620020519190620035ef565b82805462002e2990620039ef565b90600052602060002090601f01602090048101928262002e4d576000855562002e98565b82601f1062002e6857805160ff191683800117855562002e98565b8280016001018555821562002e98579182015b8281111562002e9857825182559160200191906001019062002e7b565b5062002ea692915062002ef5565b5090565b6101ad8062003ac883390190565b82805482825590600052602060002090810192821562002e98579160200282018281111562002e9857825182559160200191906001019062002e7b565b5b8082111562002ea6576000815560010162002ef6565b600082601f83011262002f1e57600080fd5b8151602062002f3762002f3183620037a4565b62003770565b80838252828201915082860187848660051b890101111562002f5857600080fd5b60005b8581101562002f8457815162002f718162003aa2565b8452928401929084019060010162002f5b565b5090979650505050505050565b600082601f83011262002fa357600080fd5b8151602062002fb662002f3183620037a4565b80838252828201915082860187848660051b890101111562002fd757600080fd5b60005b8581101562002f8457815167ffffffffffffffff81111562002ffb57600080fd5b8801603f81018a136200300d57600080fd5b8581015160406200302262002f3183620037cb565b8281528c828486010111156200303757600080fd5b62003048838a8301848701620039c0565b8752505050928401929084019060010162002fda565b600082601f8301126200307057600080fd5b815160206200308362002f3183620037a4565b80838252828201915082860187848660051b8901011115620030a457600080fd5b60005b8581101562002f8457815184529284019290840190600101620030a7565b600082601f830112620030d757600080fd5b81516020620030ea62002f3183620037a4565b80838252828201915082860187848660051b89010111156200310b57600080fd5b6000805b868110156200313c57825160ff8116811462003129578283fd5b855293850193918501916001016200310f565b509198975050505050505050565b8035620031578162003ab8565b919050565b6000602082840312156200316f57600080fd5b813562000c0c8162003aa2565b600080604083850312156200319057600080fd5b82356200319d8162003aa2565b91506020830135620031af8162003aa2565b809150509250929050565b600080600060608486031215620031d057600080fd5b8335620031dd8162003aa2565b92506020840135620031ef8162003aa2565b929592945050506040919091013590565b600080604083850312156200321457600080fd5b8235620032218162003aa2565b946020939093013593505050565b600080602083850312156200324357600080fd5b823567ffffffffffffffff808211156200325c57600080fd5b818501915085601f8301126200327157600080fd5b8135818111156200328157600080fd5b8660208260051b85010111156200329757600080fd5b60209290920196919550909350505050565b60008060408385031215620032bd57600080fd5b823567ffffffffffffffff811115620032d557600080fd5b8301601f81018513620032e757600080fd5b80356020620032fa62002f3183620037a4565b80838252828201915082850189848660051b88010111156200331b57600080fd5b600095505b848610156200334b578035620033368162003aa2565b83526001959095019491830191830162003320565b5095506200335d90508682016200314a565b93505050509250929050565b600080600080600060a086880312156200338257600080fd5b855167ffffffffffffffff808211156200339b57600080fd5b620033a989838a0162002f91565b96506020880151915080821115620033c057600080fd5b620033ce89838a016200305e565b95506040880151915080821115620033e557600080fd5b620033f389838a0162002f0c565b945060608801519150808211156200340a57600080fd5b6200341889838a01620030c5565b935060808801519150808211156200342f57600080fd5b506200343e888289016200305e565b9150509295509295909350565b600060208083850312156200345f57600080fd5b823567ffffffffffffffff8111156200347757600080fd5b8301601f810185136200348957600080fd5b80356200349a62002f3182620037a4565b80828252848201915084840188868560051b8701011115620034bb57600080fd5b600094505b83851015620034e0578035835260019490940193918501918501620034c0565b50979650505050505050565b600060208284031215620034ff57600080fd5b815162000c0c8162003ab8565b6000602082840312156200351f57600080fd5b813567ffffffffffffffff8111156200353757600080fd5b8201601f810184136200354957600080fd5b80356200355a62002f3182620037cb565b8181528560208385010111156200357057600080fd5b81602084016020830137600091810160200191909152949350505050565b600060208284031215620035a157600080fd5b5035919050565b600060208284031215620035bb57600080fd5b5051919050565b600080600060608486031215620035d857600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156200360557600080fd5b8351925060208401519150604084015190509250925092565b6000825162003632818460208701620039c0565b9190910192915050565b60208152600082518060208401526200365d816040850160208701620039c0565b601f01601f19169190910160400192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015620036f85784516001600160a01b031683529383019391830191600101620036d1565b50506001600160a01b03969096166060850152505050608001529392505050565b6000606082018583526020858185015260606040850152818551808452608086019150828701935060005b81811015620037625784518352938301939183019160010162003744565b509098975050505050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156200379c576200379c62003a8c565b604052919050565b600067ffffffffffffffff821115620037c157620037c162003a8c565b5060051b60200190565b600067ffffffffffffffff821115620037e857620037e862003a8c565b50601f01601f191660200190565b60006001600160a01b038281168482168083038211156200381b576200381b62003a4a565b01949350505050565b600082198211156200383a576200383a62003a4a565b500190565b60006001600160a01b03838116806200385c576200385c62003a60565b92169190910492915050565b6000826200387a576200387a62003a60565b500490565b600181815b80851115620038c0578160001904821115620038a457620038a462003a4a565b80851615620038b257918102915b93841c939080029062003884565b509250929050565b600062000c0c8383600082620038e15750600162000a52565b81620038f05750600062000a52565b8160018114620039095760028114620039145762003934565b600191505062000a52565b60ff84111562003928576200392862003a4a565b50506001821b62000a52565b5060208310610133831016604e8410600b841016171562003959575081810a62000a52565b6200396583836200387f565b80600019048211156200397c576200397c62003a4a565b029392505050565b6000816000190483118215151615620039a157620039a162003a4a565b500290565b600082821015620039bb57620039bb62003a4a565b500390565b60005b83811015620039dd578181015183820152602001620039c3565b838111156200242e5750506000910152565b600181811c9082168062003a0457607f821691505b6020821081141562003a2657634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141562003a435762003a4362003a4a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200279957600080fd5b80151581146200279957600080fdfe608060405234801561001057600080fd5b506040516101ad3803806101ad83398101604081905261002f916100f2565b604080516001600160a01b03838116602483015260001960448084019190915283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291519184169161008a9190610125565b6000604051808303816000865af19150503d80600081146100c7576040519150601f19603f3d011682016040523d82523d6000602084013e6100cc565b606091505b5050505050610160565b80516001600160a01b03811681146100ed57600080fd5b919050565b6000806040838503121561010557600080fd5b61010e836100d6565b915061011c602084016100d6565b90509250929050565b6000825160005b81811015610146576020818601810151858301520161012c565b81811115610155576000828501525b509190910192915050565b603f8061016e6000396000f3fe6080604052600080fdfea2646970667358221220fc2322dbbd787bb1cea41ba1e0e92480c2c9c55a122824d4d11f3203904fc91664736f6c6343000806003345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122080dff30ea29ece342b0d10c8bd41aebbc854ecc1ed31ba84eec8ccb2ae44a7c464736f6c63430008060033

Deployed Bytecode

0x60806040523480156200001157600080fd5b50600436106200042d5760003560e01c80637abdc1ca1162000235578063bac96e36116200013d578063dc44b6a011620000c7578063ecd0c0c31162000092578063ecd0c0c31462000945578063ece943fa1462000959578063edae876f1462000970578063f2fde38b1462000984578063f5bf7af2146200099b57600080fd5b8063dc44b6a014620008d1578063dd62ed3e14620008db578063e8172b3f1462000917578063ea2f0b37146200092e57600080fd5b8063ccdbd4241162000108578063ccdbd4241462000855578063d28d88521462000881578063d299e541146200088b578063d731df4014620008a257600080fd5b8063bac96e361462000814578063c5139f50146200081e578063c5d241891462000841578063c8607952146200084b57600080fd5b8063a29a608911620001bf578063afa4f3b2116200018a578063afa4f3b214620007d2578063b09f126614620007e9578063ba10ae5d14620007f3578063bac6fd2814620007fd57600080fd5b8063a29a60891462000783578063a41a08fb146200079a578063a457c2d714620007a4578063a9059cbb14620007bb57600080fd5b8063937c8a381162000200578063937c8a38146200073a57806395d89b4114620007515780639af5adcd146200075b5780639c74daf0146200076f57600080fd5b80637abdc1ca146200070a57806388790a6814620007145780638da5cb5b146200071e5780638f818b90146200073057600080fd5b806332424aa311620003395780635c31a71311620002c357806370a08231116200028e57806370a082311462000691578063715018a614620006bd57806376fa7e8514620006c75780637880d64814620006f657600080fd5b80635c31a713146200064b57806364861cc51462000662578063690c22ca146200066c5780636b49dcfe146200067657600080fd5b806350e5ceba116200030457806350e5ceba14620005ea57806351d3182214620005f857806352bc3481146200060f578063583e0568146200061957600080fd5b806332424aa314620005975780633950935114620005a5578063437823ec14620005bc578063439fab9114620005d357600080fd5b80631baaedaa11620003bb578063289af0d81162000386578063289af0d814620005485780632fd689e314620005525780633016e0c3146200055c578063313ce567146200058b57600080fd5b80631baaedaa14620004f95780631d865c30146200050357806323b872dd146200051a57806325519cf2146200053157600080fd5b806315e5f3be11620003fc57806315e5f3be14620004b657806316f2f1a814620004cf57806318160ddd14620004d9578063197e0fcb14620004e257600080fd5b806306fdde031462000432578063095ea7b314620004545780631006e6f2146200047c57806315163fc31462000495575b600080fd5b6200043c620009a5565b6040516200044b91906200363c565b60405180910390f35b6200046b6200046536600462003200565b62000a3f565b60405190151581526020016200044b565b62000486601a5481565b6040519081526020016200044b565b602054620004a39060ff1681565b60405160ff90911681526020016200044b565b620004cd620004c73660046200358e565b62000a58565b005b62000486600b5481565b60105462000486565b620004cd620004f33660046200358e565b62000a93565b62000486601c5481565b620004cd62000514366004620035c2565b62000ac5565b6200046b6200052b366004620031ba565b62000b00565b620004cd62000542366004620035c2565b62000c13565b6200048662000c4e565b6200048660175481565b6200046b6200056d3660046200315c565b6001600160a01b031660009081526021602052604090205460ff1690565b60095460ff1662000486565b600954620004a39060ff1681565b6200046b620005b636600462003200565b62000c7c565b620004cd620005cd3660046200315c565b62000cb5565b620004cd620005e43660046200350c565b62000d06565b601d54620004a39060ff1681565b620004cd620006093660046200315c565b62001402565b6200048660195481565b601d54620006329061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016200044b565b620004cd6200065c366004620035c2565b62001451565b6200048660245481565b6200048660155481565b620006806200148c565b6040516200044b9392919062003719565b62000486620006a23660046200315c565b6001600160a01b031660009081526003602052604090205490565b620004cd620014f4565b62000632620006d83660046200315c565b6001600160a01b039081166000908152602360205260409020541690565b60125462000632906001600160a01b031681565b62000486600e5481565b62000486600f5481565b6000546001600160a01b031662000632565b620004866200156b565b620004cd6200074b3660046200322f565b6200158d565b6200043c6200163a565b60225462000632906001600160a01b031681565b60115462000632906001600160a01b031681565b620004cd620007943660046200315c565b6200164b565b62000486601f5481565b6200046b620007b536600462003200565b6200169a565b6200046b620007cc36600462003200565b620016ed565b620004cd620007e33660046200358e565b620016fc565b6200043c6200172e565b6200048660185481565b620004cd6200080e366004620032a9565b620017c4565b6200048660165481565b620004866200082f3660046200315c565b60256020526000908152604090205481565b62000486600a5481565b62000486600d5481565b62000632620008663660046200315c565b6023602052600090815260409020546001600160a01b031681565b6200043c6200185f565b620004866200089c3660046200358e565b6200186e565b6200046b620008b33660046200315c565b6001600160a01b031660009081526005602052604090205460ff1690565b62000486600c5481565b62000486620008ec3660046200317c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b620004cd620009283660046200358e565b62001890565b620004cd6200093f3660046200315c565b620018c2565b60135462000632906001600160a01b031681565b620004cd6200096a3660046200344b565b62001910565b60145462000632906001600160a01b031681565b620004cd620009953660046200315c565b620019ae565b62000486601b5481565b606060078054620009b690620039ef565b80601f0160208091040260200160405190810160405280929190818152602001828054620009e490620039ef565b801562000a355780601f1062000a095761010080835404028352916020019162000a35565b820191906000526020600020905b81548152906001019060200180831162000a1757829003601f168201915b5050505050905090565b600062000a4e33848462001a9d565b5060015b92915050565b6000546001600160a01b0316331462000a8e5760405162461bcd60e51b815260040162000a859062003671565b60405180910390fd5b601c55565b6000546001600160a01b0316331462000ac05760405162461bcd60e51b815260040162000a859062003671565b601b55565b6000546001600160a01b0316331462000af25760405162461bcd60e51b815260040162000a859062003671565b600d92909255600e55600f55565b6000601554600014801562000b245750601d5461010090046001600160a01b031633145b1562000ba457601d5460ff166001141562000b84576000546001600160a01b0385811691161462000b845760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b604482015260640162000a85565b42601555601180546001600160a01b0319166001600160a01b0385161790555b62000bb184848462001bc6565b62000c08843362000c028560405180606001604052806028815260200162003c75602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919062002058565b62001a9d565b5060015b9392505050565b6000546001600160a01b0316331462000c405760405162461bcd60e51b815260040162000a859062003671565b600a92909255600b55600c55565b600062000c77600f5462000c70600e54600d546200209790919063ffffffff16565b9062002097565b905090565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909162000a4e91859062000c02908662002097565b6000546001600160a01b0316331462000ce25760405162461bcd60e51b815260040162000a859062003671565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b602054610100900460ff161562000d1c57600080fd5b6020805461ff0019166101001781558151600091829182918291829162000d4a918801810190880162003369565b9450945094509450945062000d7c8360008151811062000d6e5762000d6e62003a76565b6020026020010151620019ae565b60008360008151811062000d945762000d9462003a76565b602002602001015190508360038151811062000db45762000db462003a76565b6020026020010151601360006101000a8154816001600160a01b0302191690836001600160a01b031602179055508560008151811062000df85762000df862003a76565b60200260200101516007908051906020019062000e1792919062002e1b565b508560018151811062000e2e5762000e2e62003a76565b60200260200101516008908051906020019062000e4d92919062002e1b565b508460008151811062000e645762000e6462003a76565b60209081029190910101516009805460ff191660ff909216918217905562000e8e90600a620038c8565b8560018151811062000ea45762000ea462003a76565b602002602001015162000eb8919062003984565b601081905562000eda906127109062000ed3906001620020fa565b9062002181565b60175560095462000ef09060ff16600a620038c8565b8560028151811062000f065762000f0662003a76565b602002602001015162000f1a919062003984565b60195560095462000f309060ff16600a620038c8565b85600c8151811062000f465762000f4662003a76565b602002602001015162000f5a919062003984565b601a5560095462000f709060ff16600a620038c8565b8560038151811062000f865762000f8662003a76565b602002602001015162000f9a919062003984565b60185584518590600490811062000fb55762000fb562003a76565b60200260200101516016819055508460058151811062000fd95762000fd962003a76565b6020026020010151601b819055508460068151811062000ffd5762000ffd62003a76565b6020026020010151600a819055508460078151811062001021576200102162003a76565b6020026020010151600b819055508460088151811062001045576200104562003a76565b6020026020010151600c819055508460098151811062001069576200106962003a76565b6020026020010151600d8190555084600a815181106200108d576200108d62003a76565b6020026020010151600e8190555084600b81518110620010b157620010b162003a76565b6020026020010151600f8190555083600181518110620010d557620010d562003a76565b602090810291909101810151601280546001600160a01b0319166001600160a01b03928316179055601054908316600090815260039092526040909120558351849060029081106200112b576200112b62003a76565b6020026020010151601d60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550826000815181106200116f576200116f62003a76565b6020026020010151601d60006101000a81548160ff021916908360ff16021790555082600181518110620011a757620011a762003a76565b60209081029190910181015160ff16601c556012546001600160a01b0390811660009081526005835260408082208054600160ff199182168117909255938616808452828420805486168317905530845282842080549095169091179093556010549051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36013546040516001600160a01b039091169030906200125c9062002eaa565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001290573d6000803e3d6000fd5b50601480546001600160a01b039283166001600160a01b0319909116179055601354601d54604080516101009092048416602483015260001960448084019190915281518084039091018152606490920181526020820180516001600160e01b031663095ea7b360e01b1790525191909216916200130e916200361e565b6000604051808303816000865af19150503d80600081146200134d576040519150601f19603f3d011682016040523d82523d6000602084013e62001352565b606091505b505082516200136a9150601e90602085019062002eb8565b508260028151811062001381576200138162003a76565b602090810291909101810151815460ff191660ff90911617905560005b601e54811015620013f857601e8181548110620013bf57620013bf62003a76565b9060005260206000200154601f6000828254620013dd919062003824565b90915550819050620013ef8162003a2c565b9150506200139e565b5050505050505050565b6000546001600160a01b031633146200142f5760405162461bcd60e51b815260040162000a859062003671565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146200147e5760405162461bcd60e51b815260040162000a859062003671565b601892909255601955601a55565b60208054601f54601e8054604080518287028101870190915281815260ff90941694929360609390929190830182828015620014e857602002820191906000526020600020905b815481526020019060010190808311620014d3575b50505050509050909192565b6000546001600160a01b03163314620015215760405162461bcd60e51b815260040162000a859062003671565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600062000c77600c5462000c70600b54600a546200209790919063ffffffff16565b6000546001600160a01b03163314620015ba5760405162461bcd60e51b815260040162000a859062003671565b60005b818110156200163557600160056000858585818110620015e157620015e162003a76565b9050602002016020810190620015f891906200315c565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806200162c8162003a2c565b915050620015bd565b505050565b606060088054620009b690620039ef565b6000546001600160a01b03163314620016785760405162461bcd60e51b815260040162000a859062003671565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b600062000a4e338462000c028560405180606001604052806025815260200162003c9d602591393360009081526004602090815260408083206001600160a01b038d168452909152902054919062002058565b600062000a4e33848462001bc6565b6000546001600160a01b03163314620017295760405162461bcd60e51b815260040162000a859062003671565b601755565b600880546200173d90620039ef565b80601f01602080910402602001604051908101604052809291908181526020018280546200176b90620039ef565b8015620017bc5780601f106200179057610100808354040283529160200191620017bc565b820191906000526020600020905b8154815290600101906020018083116200179e57829003601f168201915b505050505081565b6000546001600160a01b03163314620017f15760405162461bcd60e51b815260040162000a859062003671565b60005b82518110156200163557816021600085848151811062001818576200181862003a76565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620018568162003a2c565b915050620017f4565b600780546200173d90620039ef565b601e81815481106200187f57600080fd5b600091825260209091200154905081565b6000546001600160a01b03163314620018bd5760405162461bcd60e51b815260040162000a859062003671565b602455565b6000546001600160a01b03163314620018ef5760405162461bcd60e51b815260040162000a859062003671565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146200193d5760405162461bcd60e51b815260040162000a859062003671565b80516200195290601e90602084019062002eb8565b506000805b601e54811015620019a757601e818154811062001978576200197862003a76565b90600052602060002001548262001990919062003824565b9150806200199e8162003a2c565b91505062001957565b50601f5550565b6000546001600160a01b03163314620019db5760405162461bcd60e51b815260040162000a859062003671565b6001600160a01b03811662001a425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000a85565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831662001b015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000a85565b6001600160a01b03821662001b645760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000a85565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831662001c2c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840162000a85565b6001600160a01b03821662001c905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840162000a85565b6000811162001cf45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840162000a85565b306000908152600360205260409020546017548110801590819062001d2257506001600160a01b0385163014155b801562001d3d57506011546001600160a01b03868116911614155b801562001d5857506000546001600160a01b03868116911614155b801562001d7357506000546001600160a01b03858116911614155b801562001d8257506000601554115b1562001d935762001d9382620021c5565b6001600160a01b03851660009081526005602052604090205460ff1615801562001dd657506001600160a01b03841660009081526005602052604090205460ff16155b156200204457601f546000901562001e055762001df586868662002435565b62001e028686866200255b565b90505b600062001e116200156b565b11801562001e2c57506011546001600160a01b038781169116145b1562001eb0574260165460155462001e45919062003824565b111562001e575762001e578562002754565b60195484111562001e9c5760405162461bcd60e51b815260206004820152600e60248201526d151c985b9cd9995c881b1a5b5a5d60921b604482015260640162000a85565b62001ea886856200279c565b935062001f5e565b600062001ebc62000c4e565b11801562001ed757506011546001600160a01b038681169116145b1562001f2e57601a5484111562001f225760405162461bcd60e51b815260206004820152600e60248201526d151c985b9cd9995c881b1a5b5a5d60921b604482015260640162000a85565b62001ea8868562002831565b601c541562001f5e57601c546001141562001f4f5762001ea886856200279c565b62001f5b868562002831565b93505b62001f6a8482620028a2565b6001600160a01b03871660009081526021602052604090205490945060ff161562001f9e5762001f9b8685620028e6565b93505b62001fa86200291b565b6011546001600160a01b03868116911614620020425760185462001fe68562000c70886001600160a01b031660009081526003602052604090205490565b1115620020425760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657220616d6f756e74206578636565647320746865206d61784860448201526330bb329760e11b606482015260840162000a85565b505b62002051858585620029fb565b5050505050565b600081848411156200207f5760405162461bcd60e51b815260040162000a8591906200363c565b5060006200208e8486620039a6565b95945050505050565b600080620020a6838562003824565b90508381101562000c0c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000a85565b6000826200210b5750600062000a52565b600062002119838562003984565b90508262002128858362003868565b1462000c0c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840162000a85565b600062000c0c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062002ad5565b6000620021ee600f5462000c70600c5462000c70600d54600a546200209790919063ffffffff16565b905080156200243157600062002229600262000ed38462000ed362002221600f54600c546200209790919063ffffffff16565b8890620020fa565b9050620022416200223b8483620028a2565b62002b08565b6013546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156200228657600080fd5b505afa1580156200229b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022c19190620035a8565b90506000620022de600f54600c546200209790919063ffffffff16565b1115620023225762002322828462002304600f54600c546200209790919063ffffffff16565b62002310908562003984565b6200231c919062003868565b62002d3f565b6013546012546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a082319060240160206040518083038186803b1580156200237357600080fd5b505afa15801562002388573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023ae9190620035a8565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015620023f557600080fd5b505af192505050801562002428575060408051601f3d908101601f191682019092526200242591810190620034ec565b60015b62002051575b50505b5050565b6011546001600160a01b0383811691161462001635576001600160a01b03828116600090815260236020526040902054161580156200248257506011546001600160a01b03848116911614155b80156200248e5750823b155b80156200249b5750600081115b8015620024be57506001600160a01b038216600090815260036020526040902054155b156200250357506001600160a01b03908116600090815260236020908152604080832080546001600160a01b0319169590941694909417909255602590915220439055565b6024546001600160a01b0383166000908152602560205260409020546200252b9043620039a6565b10156200163557506001600160a01b0316600090815260236020526040902080546001600160a01b031916905550565b6000601f5460001415620025725750600062000c0c565b60115460009081906001600160a01b038781169116148015620025a8575060205460ff1660011480620025a8575060205460ff16155b15620025b75784915062002603565b6011546001600160a01b038681169116148015620025e8575060205460ff1660021480620025e8575060205460ff16155b15620025f75785915062002603565b60009250505062000c0c565b60005b601e54811015620026d5576001600160a01b0392831660009081526023602052604090205490921691826200263b57620026d5565b62002670601e828154811062002655576200265562003a76565b9060005260206000200154836200209790919063ffffffff16565b91506000620026b061271062000ed3601e858154811062002695576200269562003a76565b906000526020600020015489620020fa90919063ffffffff16565b9050620026bf888583620029fb565b5080620026cc8162003a2c565b91505062002606565b50601f54620026e59082620028a2565b156200272c57601254601f546200272c9188916001600160a01b039091169062002726906127109062000ed3906200271e9088620028a2565b8a90620020fa565b620029fb565b6200274a61271062000ed3601f5487620020fa90919063ffffffff16565b9695505050505050565b6001600160a01b03811660009081526021602052604090205460ff1662002799576001600160a01b0381166000908152602160205260409020805460ff191660011790555b50565b600080620027bc61271062000ed3620027b46200156b565b8690620020fa565b9050620027ee843062002726620027e661271062000ed3600b548a620020fa90919063ffffffff16565b8590620028a2565b600b54156200281d576200281d8461dead6200272661271062000ed3600b5489620020fa90919063ffffffff16565b620028298382620028a2565b949350505050565b6000806200284961271062000ed3620027b462000c4e565b905062002873843062002726620027e661271062000ed3600e548a620020fa90919063ffffffff16565b600e54156200281d576200281d8461dead6200272661271062000ed3600e5489620020fa90919063ffffffff16565b600062000c0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062002058565b600080620028fe61271062000ed3856126ac620020fa565b6012549091506200281d9085906001600160a01b031683620029fb565b6000805b601b54811015620024315760225462002944906001600160a01b03166000196200383f565b60225490925062002960906001600160a01b03166001620037f6565b602280546001600160a01b0319166001600160a01b03928316179055821660009081526003602052604081208054600192906200299f90849062003824565b9091555050604051600181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a380620029f28162003a2c565b9150506200291f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526003909152919091205462002a4f91839062002058565b6001600160a01b03808516600090815260036020526040808220939093559084168152205462002a80908262002097565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062001bb99085815260200190565b6000818362002af95760405162461bcd60e51b815260040162000a8591906200363c565b5060006200208e848662003868565b8062002b115750565b604080516002808252606082018352600092602083019080368337019050509050308160008151811062002b495762002b4962003a76565b6001600160a01b03928316602091820292909201015260135482519116908290600190811062002b7d5762002b7d62003a76565b6001600160a01b039283166020918202929092010152601d5462002baa9130916101009004168462001a9d565b601d54601454604051635c11d79560e01b81526001600160a01b03610100909304831692635c11d7959262002bee92879260009288929116904290600401620036a6565b600060405180830381600087803b15801562002c0957600080fd5b505af115801562002c1e573d6000803e3d6000fd5b50506013546014546040516370a0823160e01b81526001600160a01b03918216600482018190529190921693506323b872dd925090309084906370a082319060240160206040518083038186803b15801562002c7957600080fd5b505afa15801562002c8e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002cb49190620035a8565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b15801562002d0457600080fd5b505af115801562002d19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016359190620034ec565b601d5462002d5e90309061010090046001600160a01b03168462001a9d565b601d5460135460125460405162e8e33760e81b81526001600160a01b039283166004820152306024820152604481018590526064810186905260006084820181905260a482015290821660c48201524260e4820152610100909204169063e8e337009061010401606060405180830381600087803b15801562002de057600080fd5b505af115801562002df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620020519190620035ef565b82805462002e2990620039ef565b90600052602060002090601f01602090048101928262002e4d576000855562002e98565b82601f1062002e6857805160ff191683800117855562002e98565b8280016001018555821562002e98579182015b8281111562002e9857825182559160200191906001019062002e7b565b5062002ea692915062002ef5565b5090565b6101ad8062003ac883390190565b82805482825590600052602060002090810192821562002e98579160200282018281111562002e9857825182559160200191906001019062002e7b565b5b8082111562002ea6576000815560010162002ef6565b600082601f83011262002f1e57600080fd5b8151602062002f3762002f3183620037a4565b62003770565b80838252828201915082860187848660051b890101111562002f5857600080fd5b60005b8581101562002f8457815162002f718162003aa2565b8452928401929084019060010162002f5b565b5090979650505050505050565b600082601f83011262002fa357600080fd5b8151602062002fb662002f3183620037a4565b80838252828201915082860187848660051b890101111562002fd757600080fd5b60005b8581101562002f8457815167ffffffffffffffff81111562002ffb57600080fd5b8801603f81018a136200300d57600080fd5b8581015160406200302262002f3183620037cb565b8281528c828486010111156200303757600080fd5b62003048838a8301848701620039c0565b8752505050928401929084019060010162002fda565b600082601f8301126200307057600080fd5b815160206200308362002f3183620037a4565b80838252828201915082860187848660051b8901011115620030a457600080fd5b60005b8581101562002f8457815184529284019290840190600101620030a7565b600082601f830112620030d757600080fd5b81516020620030ea62002f3183620037a4565b80838252828201915082860187848660051b89010111156200310b57600080fd5b6000805b868110156200313c57825160ff8116811462003129578283fd5b855293850193918501916001016200310f565b509198975050505050505050565b8035620031578162003ab8565b919050565b6000602082840312156200316f57600080fd5b813562000c0c8162003aa2565b600080604083850312156200319057600080fd5b82356200319d8162003aa2565b91506020830135620031af8162003aa2565b809150509250929050565b600080600060608486031215620031d057600080fd5b8335620031dd8162003aa2565b92506020840135620031ef8162003aa2565b929592945050506040919091013590565b600080604083850312156200321457600080fd5b8235620032218162003aa2565b946020939093013593505050565b600080602083850312156200324357600080fd5b823567ffffffffffffffff808211156200325c57600080fd5b818501915085601f8301126200327157600080fd5b8135818111156200328157600080fd5b8660208260051b85010111156200329757600080fd5b60209290920196919550909350505050565b60008060408385031215620032bd57600080fd5b823567ffffffffffffffff811115620032d557600080fd5b8301601f81018513620032e757600080fd5b80356020620032fa62002f3183620037a4565b80838252828201915082850189848660051b88010111156200331b57600080fd5b600095505b848610156200334b578035620033368162003aa2565b83526001959095019491830191830162003320565b5095506200335d90508682016200314a565b93505050509250929050565b600080600080600060a086880312156200338257600080fd5b855167ffffffffffffffff808211156200339b57600080fd5b620033a989838a0162002f91565b96506020880151915080821115620033c057600080fd5b620033ce89838a016200305e565b95506040880151915080821115620033e557600080fd5b620033f389838a0162002f0c565b945060608801519150808211156200340a57600080fd5b6200341889838a01620030c5565b935060808801519150808211156200342f57600080fd5b506200343e888289016200305e565b9150509295509295909350565b600060208083850312156200345f57600080fd5b823567ffffffffffffffff8111156200347757600080fd5b8301601f810185136200348957600080fd5b80356200349a62002f3182620037a4565b80828252848201915084840188868560051b8701011115620034bb57600080fd5b600094505b83851015620034e0578035835260019490940193918501918501620034c0565b50979650505050505050565b600060208284031215620034ff57600080fd5b815162000c0c8162003ab8565b6000602082840312156200351f57600080fd5b813567ffffffffffffffff8111156200353757600080fd5b8201601f810184136200354957600080fd5b80356200355a62002f3182620037cb565b8181528560208385010111156200357057600080fd5b81602084016020830137600091810160200191909152949350505050565b600060208284031215620035a157600080fd5b5035919050565b600060208284031215620035bb57600080fd5b5051919050565b600080600060608486031215620035d857600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156200360557600080fd5b8351925060208401519150604084015190509250925092565b6000825162003632818460208701620039c0565b9190910192915050565b60208152600082518060208401526200365d816040850160208701620039c0565b601f01601f19169190910160400192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015620036f85784516001600160a01b031683529383019391830191600101620036d1565b50506001600160a01b03969096166060850152505050608001529392505050565b6000606082018583526020858185015260606040850152818551808452608086019150828701935060005b81811015620037625784518352938301939183019160010162003744565b509098975050505050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156200379c576200379c62003a8c565b604052919050565b600067ffffffffffffffff821115620037c157620037c162003a8c565b5060051b60200190565b600067ffffffffffffffff821115620037e857620037e862003a8c565b50601f01601f191660200190565b60006001600160a01b038281168482168083038211156200381b576200381b62003a4a565b01949350505050565b600082198211156200383a576200383a62003a4a565b500190565b60006001600160a01b03838116806200385c576200385c62003a60565b92169190910492915050565b6000826200387a576200387a62003a60565b500490565b600181815b80851115620038c0578160001904821115620038a457620038a462003a4a565b80851615620038b257918102915b93841c939080029062003884565b509250929050565b600062000c0c8383600082620038e15750600162000a52565b81620038f05750600062000a52565b8160018114620039095760028114620039145762003934565b600191505062000a52565b60ff84111562003928576200392862003a4a565b50506001821b62000a52565b5060208310610133831016604e8410600b841016171562003959575081810a62000a52565b6200396583836200387f565b80600019048211156200397c576200397c62003a4a565b029392505050565b6000816000190483118215151615620039a157620039a162003a4a565b500290565b600082821015620039bb57620039bb62003a4a565b500390565b60005b83811015620039dd578181015183820152602001620039c3565b838111156200242e5750506000910152565b600181811c9082168062003a0457607f821691505b6020821081141562003a2657634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141562003a435762003a4362003a4a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200279957600080fd5b80151581146200279957600080fdfe608060405234801561001057600080fd5b506040516101ad3803806101ad83398101604081905261002f916100f2565b604080516001600160a01b03838116602483015260001960448084019190915283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291519184169161008a9190610125565b6000604051808303816000865af19150503d80600081146100c7576040519150601f19603f3d011682016040523d82523d6000602084013e6100cc565b606091505b5050505050610160565b80516001600160a01b03811681146100ed57600080fd5b919050565b6000806040838503121561010557600080fd5b61010e836100d6565b915061011c602084016100d6565b90509250929050565b6000825160005b81811015610146576020818601810151858301520161012c565b81811115610155576000828501525b509190910192915050565b603f8061016e6000396000f3fe6080604052600080fdfea2646970667358221220fc2322dbbd787bb1cea41ba1e0e92480c2c9c55a122824d4d11f3203904fc91664736f6c6343000806003345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122080dff30ea29ece342b0d10c8bd41aebbc854ecc1ed31ba84eec8ccb2ae44a7c464736f6c63430008060033

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.