ETH Price: $3,634.20 (+9.37%)

Token

RIZZ (RIZZ)
 

Overview

Max Total Supply

1,000,000,000 RIZZ

Holders

107

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
RIZZ

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
Girl u lost ? u sure u wanna enter this portal , ahaa:smirk:

Website: https://rizzrizz.xyz
Twitter: https://twitter.com/rizz_portal
Telegram: https://t.me/rizz_rizz_eth
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.19;


library LibSafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "LibSafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "LibSafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "LibSafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "LibSafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
interface IERC20Stand {
    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);
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

interface IUniswapFactory {
    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;
}

library LibAddress {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "LibAddress: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "LibAddress: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "LibAddress: 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, "LibAddress: 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, "LibAddress: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "LibAddress: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        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 IUniswapV1Router {
    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 IUniswapV2Router is IUniswapV1Router {
    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 RIZZ is Context, IERC20Stand, Ownable {
    
    using LibSafeMath for uint256;
    using LibAddress for address;
    
    string private _name ="RIZZ";
    string private _symbol = "RIZZ";
    uint8 private _decimals = 9;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isExcludedFromLimits;
    mapping (address => bool) public _isWalletLimitExcluded;
    mapping (address => bool) public _isTxLimitExcluded;
    mapping (address => bool) public automaticMarketPairs;

    address payable private _devAddress = payable(0xe87A070AB83fbe54be618fa3ca1Bb93b8f41Cf84);
    address payable private _marketingAddress = payable(0xe87A070AB83fbe54be618fa3ca1Bb93b8f41Cf84);

    uint256 public _buyLpFee = 0;
    uint256 public _buyMarketingFee = 1;
    uint256 public _buyDevFee = 0;
    uint256 public _sellLiquidityFees = 0;
    uint256 public _sellMarketingFees = 1;
    uint256 public _sellDevelopmentFees = 0;

    uint256 public _lpShare = 0;
    uint256 public _marketingShare = 10;
    uint256 public _devShare = 0;

    uint256 public _buyTax = 1;
    uint256 public _sellTax = 1;
    uint256 public _totalShare = 10;

    uint256 private _tSupply = 10**9 * 10**9;
    uint256 public _maxTx = 2 * 10**7 * 10**9;
    uint256 public _maxWallet = 2 * 10**7 * 10**9;
    uint256 private _swapThreshold = 10 ** 5 * 10**9; 

    IUniswapV2Router public uniswapV2Router;
    address public uniswapPair;
    
    bool swapping;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public hasWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }
    
    constructor () {
        
        IUniswapV2Router _uniswapV2Router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        uniswapPair = IUniswapFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _tSupply;

        isExcludedFromLimits[owner()] = true;
        isExcludedFromLimits[_devAddress] = true;
        isExcludedFromLimits[_marketingAddress] = true;
        
        _buyTax = _buyLpFee.add(_buyMarketingFee).add(_buyDevFee);
        _sellTax = _sellLiquidityFees.add(_sellMarketingFees).add(_sellDevelopmentFees);
        _totalShare = _lpShare.add(_marketingShare).add(_devShare);

        _isWalletLimitExcluded[owner()] = true;
        _isWalletLimitExcluded[address(uniswapPair)] = true;
        _isWalletLimitExcluded[address(this)] = true;
        
        _isTxLimitExcluded[owner()] = true;
        _isTxLimitExcluded[_devAddress] = true;
        _isTxLimitExcluded[_marketingAddress] = true;
        _isTxLimitExcluded[address(this)] = true;

        automaticMarketPairs[address(uniswapPair)] = true;

        _balances[_msgSender()] = _tSupply;
        emit Transfer(address(0), _msgSender(), _tSupply);
    }

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

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

    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 _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }

    function takeFeesOnTransfer(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        
        if(automaticMarketPairs[sender]) {
            feeAmount = amount.mul(_buyTax).div(100);
        }
        else if(automaticMarketPairs[recipient]) {
            feeAmount = amount.mul(_sellTax).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(swapping)
        { 
            return _transferBasic(sender, recipient, amount); 
        }
        else
        {
            if(!_isTxLimitExcluded[sender] && !_isTxLimitExcluded[recipient]) {
                require(amount <= _maxTx, "Transfer amount exceeds the maxTxAmount.");
            }            

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= _swapThreshold;
            
            if (overMinimumTokenBalance && !swapping && automaticMarketPairs[recipient] && swapAndLiquifyEnabled && !isExcludedFromLimits[sender] && amount > _swapThreshold) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = _swapThreshold;
                swapAndLiquidifyAndSendFees(contractTokenBalance);    
            }


            uint256 finalAmount = (isExcludedFromLimits[sender] || isExcludedFromLimits[recipient]) ? 
                                         amount : takeFeesOnTransfer(sender, recipient, amount);

            if(hasWalletLimit && !_isWalletLimitExcluded[recipient])
                require(balanceOf(recipient).add(finalAmount) <= _maxWallet);

            uint256 sAmount = (!hasWalletLimit && isExcludedFromLimits[sender]) ? amount.sub(finalAmount) : amount;
            _balances[sender] = _balances[sender].sub(sAmount, "Insufficient Balance");
            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }
    function sendFees(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function _transferBasic(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquidifyAndSendFees(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_lpShare).div(_totalShare).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensToETH(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalETHFee = _totalShare.sub(_lpShare.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(_lpShare).div(totalETHFee).div(2);
        uint256 amountETHDevelopment = amountReceived.mul(_devShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHDevelopment);

        if(amountETHMarketing > 0)
            sendFees(_devAddress, amountETHMarketing);

        if(amountETHDevelopment > 0)
            sendFees(_marketingAddress, amountETHDevelopment);

        if(amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }
    
    function swapTokensToETH(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }
    
    function removeLimits() external onlyOwner {
        _maxTx = _tSupply;
        hasWalletLimit = false;
    }
}

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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isTxLimitExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isWalletLimitExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lpShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalShare","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":"","type":"address"}],"name":"automaticMarketPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"hasWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromLimits","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260046080908152632924ad2d60e11b60a05260029062000025908262000688565b506040805180820190915260048152632924ad2d60e11b602082015260039062000050908262000688565b5060048054600960ff19909116179055600b805473e87a070ab83fbe54be618fa3ca1bb93b8f41cf846001600160a01b03199182168117909255600c805490911690911790556000600d8190556001600e819055600f8290556010829055601181905560128290556013829055600a60148190556015929092556016819055601755601855670de0b6b3a764000060195566470de4df820000601a819055601b55655af3107a4000601c55601e805462ffffff60a81b19166201000160a81b1790553480156200011f57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001df919062000754565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000253919062000754565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c7919062000754565b601e80546001600160a01b039283166001600160a01b031991821617909155601d80549284169290911682179055601954306000908152600660209081526040808320948352939052918220556001906007906200032d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600b54821681526007909352818320805485166001908117909155600c54909116835291208054909216179055600f54600e54600d54620003aa9291620003a3919062000574565b9062000574565b601655601254601154601054620003c89291620003a3919062000574565b601755601554601454601354620003e69291620003a3919062000574565b601855600160086000620004026000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601e549091168152600890925280822080548416600190811790915530835290822080549093168117909255600990620004726000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600b548216815260098452828120805486166001908117909155600c548316825283822080548716821790553082528382208054871682179055601e549092168152600a90935290822080549093161790915560195490600590620005023390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6019546040516200056591815260200190565b60405180910390a350620007a1565b6000806200058383856200077f565b905083811015620005da5760405162461bcd60e51b815260206004820152601e60248201527f4c6962536166654d6174683a206164646974696f6e206f766572666c6f770000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200060e57607f821691505b6020821081036200062f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200068357600081815260208120601f850160051c810160208610156200065e5750805b601f850160051c820191505b818110156200067f578281556001016200066a565b5050505b505050565b81516001600160401b03811115620006a457620006a4620005e3565b620006bc81620006b58454620005f9565b8462000635565b602080601f831160018114620006f45760008415620006db5750858301515b600019600386901b1c1916600185901b1785556200067f565b600085815260208120601f198616915b82811015620007255788860151825594840194600190910190840162000704565b5085821015620007445787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200076757600080fd5b81516001600160a01b0381168114620005da57600080fd5b80820180821115620005dd57634e487b7160e01b600052601160045260246000fd5b611a0880620007b16000396000f3fe6080604052600436106102135760003560e01c806370a082311161011857806399cf0b58116100a0578063ca9ec1991161006f578063ca9ec199146105d8578063da00097d146105ee578063dd62ed3e1461060f578063e02b722414610655578063f2fde38b1461068557600080fd5b806399cf0b5814610561578063a9059cbb14610582578063c5d24189146105a2578063c816841b146105b857600080fd5b80637d5241ea116100e75780637d5241ea146104d25780637f90eaa21461050257806382247ec0146105185780638da5cb5b1461052e57806395d89b411461054c57600080fd5b806370a082311461045a578063715018a614610490578063751039fc146104a75780637830b072146104bc57600080fd5b8063374242971161019b57806361a23c691161016a57806361a23c69146103ec5780636201585214610402578063646d470014610418578063661b6e361461042e5780636b363ca11461044457600080fd5b8063374242971461035557806342a11095146103855780634a74bb021461039b5780635cce86cd146103bc57600080fd5b8063182c425c116101e2578063182c425c146102d157806319967a37146102e757806323b872dd146102fd5780632f0a5fd41461031d578063313ce5671461033357600080fd5b806306fdde031461021f578063095ea7b31461024a5780631694505e1461027a57806318160ddd146102b257600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506102346106a5565b604051610241919061167a565b60405180910390f35b34801561025657600080fd5b5061026a6102653660046116e0565b610737565b6040519015158152602001610241565b34801561028657600080fd5b50601d5461029a906001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102be57600080fd5b506019545b604051908152602001610241565b3480156102dd57600080fd5b506102c3600d5481565b3480156102f357600080fd5b506102c360185481565b34801561030957600080fd5b5061026a61031836600461170c565b61074e565b34801561032957600080fd5b506102c360105481565b34801561033f57600080fd5b5060045460405160ff9091168152602001610241565b34801561036157600080fd5b5061026a61037036600461174d565b600a6020526000908152604090205460ff1681565b34801561039157600080fd5b506102c360165481565b3480156103a757600080fd5b50601e5461026a90600160a81b900460ff1681565b3480156103c857600080fd5b5061026a6103d736600461174d565b60076020526000908152604090205460ff1681565b3480156103f857600080fd5b506102c360145481565b34801561040e57600080fd5b506102c3600f5481565b34801561042457600080fd5b506102c360125481565b34801561043a57600080fd5b506102c360115481565b34801561045057600080fd5b506102c360155481565b34801561046657600080fd5b506102c361047536600461174d565b6001600160a01b031660009081526005602052604090205490565b34801561049c57600080fd5b506104a56107b9565b005b3480156104b357600080fd5b506104a5610836565b3480156104c857600080fd5b506102c3601a5481565b3480156104de57600080fd5b5061026a6104ed36600461174d565b60096020526000908152604090205460ff1681565b34801561050e57600080fd5b506102c360135481565b34801561052457600080fd5b506102c3601b5481565b34801561053a57600080fd5b506000546001600160a01b031661029a565b34801561055857600080fd5b50610234610875565b34801561056d57600080fd5b50601e5461026a90600160b81b900460ff1681565b34801561058e57600080fd5b5061026a61059d3660046116e0565b610884565b3480156105ae57600080fd5b506102c3600e5481565b3480156105c457600080fd5b50601e5461029a906001600160a01b031681565b3480156105e457600080fd5b506102c360175481565b3480156105fa57600080fd5b50601e5461026a90600160b01b900460ff1681565b34801561061b57600080fd5b506102c361062a36600461176a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561066157600080fd5b5061026a61067036600461174d565b60086020526000908152604090205460ff1681565b34801561069157600080fd5b506104a56106a036600461174d565b610891565b6060600280546106b4906117a3565b80601f01602080910402602001604051908101604052809291908181526020018280546106e0906117a3565b801561072d5780601f106107025761010080835404028352916020019161072d565b820191906000526020600020905b81548152906001019060200180831161071057829003601f168201915b5050505050905090565b600061074433848461097b565b5060015b92915050565b600061075b848484610a9f565b506107ae84336107a9856040518060600160405280602881526020016119ab602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610f03565b61097b565b5060015b9392505050565b6000546001600160a01b031633146107ec5760405162461bcd60e51b81526004016107e3906117dd565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108605760405162461bcd60e51b81526004016107e3906117dd565b601954601a55601e805460ff60b81b19169055565b6060600380546106b4906117a3565b60006107ae338484610a9f565b6000546001600160a01b031633146108bb5760405162461bcd60e51b81526004016107e3906117dd565b6001600160a01b0381166109205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109dd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107e3565b6001600160a01b038216610a3e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107e3565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107e3565b6001600160a01b038316610b675760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107e3565b601e54600160a01b900460ff1615610b8b57610b84848484610f3d565b90506107b2565b6001600160a01b03841660009081526009602052604090205460ff16158015610bcd57506001600160a01b03831660009081526009602052604090205460ff16155b15610c3557601a54821115610c355760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016107e3565b30600090815260056020526040902054601c5481108015908190610c635750601e54600160a01b900460ff16155b8015610c8757506001600160a01b0385166000908152600a602052604090205460ff165b8015610c9c5750601e54600160a81b900460ff165b8015610cc157506001600160a01b03861660009081526007602052604090205460ff16155b8015610cce5750601c5484115b15610cf457601e54600160b01b900460ff1615610ceb57601c5491505b610cf482611023565b6001600160a01b03861660009081526007602052604081205460ff1680610d3357506001600160a01b03861660009081526007602052604090205460ff165b610d4757610d42878787611159565b610d49565b845b601e54909150600160b81b900460ff168015610d7e57506001600160a01b03861660009081526008602052604090205460ff16155b15610dba57601b54610daf82610da9896001600160a01b031660009081526005602052604090205490565b9061125f565b1115610dba57600080fd5b601e54600090600160b81b900460ff16158015610def57506001600160a01b03881660009081526007602052604090205460ff165b610df95785610e03565b610e0386836112be565b9050610e6b8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600560008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610f039092919063ffffffff16565b6001600160a01b03808a166000908152600560205260408082209390935590891681522054610e9a908361125f565b6001600160a01b0380891660008181526005602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eee9086815260200190565b60405180910390a360019450505050506107b2565b60008184841115610f275760405162461bcd60e51b81526004016107e3919061167a565b506000610f348486611828565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610f8e918490610f03565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610fbd908361125f565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110119086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b1790556018546013546000916110599160029161105391829087906112e3565b90611367565b9050600061106783836112be565b9050611072816113a9565b601354479060009061109290611089906002611367565b601854906112be565b905060006110b4600261105384611053601354886112e390919063ffffffff16565b905060006110d183611053601554876112e390919063ffffffff16565b905060006110e9826110e387866112be565b906112be565b9050801561110757600b54611107906001600160a01b03168261153c565b811561112357600c54611123906001600160a01b03168361153c565b6000831180156111335750600087115b15611142576111428784611577565b5050601e805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff161561119d576111966064611053601654866112e390919063ffffffff16565b90506111db565b6001600160a01b0384166000908152600a602052604090205460ff16156111db576111d86064611053601754866112e390919063ffffffff16565b90505b801561125557306000908152600560205260409020546111fb908261125f565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061124c9085815260200190565b60405180910390a35b610f3483826112be565b60008061126c838561183b565b9050838110156107b25760405162461bcd60e51b815260206004820152601e60248201527f4c6962536166654d6174683a206164646974696f6e206f766572666c6f77000060448201526064016107e3565b60006107b2838360405180606001604052806021815260200161198a60219139610f03565b6000826000036112f557506000610748565b6000611301838561184e565b90508261130e8583611865565b146107b25760405162461bcd60e51b8152602060048201526024808201527f4c6962536166654d6174683a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b60648201526084016107e3565b60006107b283836040518060400160405280601d81526020017f4c6962536166654d6174683a206469766973696f6e206279207a65726f00000081525061164c565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113de576113de611887565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b919061189d565b8160018151811061146e5761146e611887565b6001600160a01b039283166020918202929092010152601d54611494913091168461097b565b601d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114cd9085906000908690309042906004016118fe565b600060405180830381600087803b1580156114e757600080fd5b505af11580156114fb573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161153092919061193a565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611572573d6000803e3d6000fd5b505050565b601d5461158f9030906001600160a01b03168461097b565b601d546001600160a01b031663f305d7198230856000806115b86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611620573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611645919061195b565b5050505050565b6000818361166d5760405162461bcd60e51b81526004016107e3919061167a565b506000610f348486611865565b600060208083528351808285015260005b818110156116a75785810183015185820160400152820161168b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116dd57600080fd5b50565b600080604083850312156116f357600080fd5b82356116fe816116c8565b946020939093013593505050565b60008060006060848603121561172157600080fd5b833561172c816116c8565b9250602084013561173c816116c8565b929592945050506040919091013590565b60006020828403121561175f57600080fd5b81356107b2816116c8565b6000806040838503121561177d57600080fd5b8235611788816116c8565b91506020830135611798816116c8565b809150509250929050565b600181811c908216806117b757607f821691505b6020821081036117d757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074857610748611812565b8082018082111561074857610748611812565b808202811582820484141761074857610748611812565b60008261188257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118af57600080fd5b81516107b2816116c8565b600081518084526020808501945080840160005b838110156118f35781516001600160a01b0316875295820195908201906001016118ce565b509495945050505050565b85815284602082015260a06040820152600061191d60a08301866118ba565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061195360408301846118ba565b949350505050565b60008060006060848603121561197057600080fd5b835192506020840151915060408401519050925092509256fe4c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202a3daf691330d1cd78718133b13d4347dc424ae69fb7058068ec4bcea60389df64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102135760003560e01c806370a082311161011857806399cf0b58116100a0578063ca9ec1991161006f578063ca9ec199146105d8578063da00097d146105ee578063dd62ed3e1461060f578063e02b722414610655578063f2fde38b1461068557600080fd5b806399cf0b5814610561578063a9059cbb14610582578063c5d24189146105a2578063c816841b146105b857600080fd5b80637d5241ea116100e75780637d5241ea146104d25780637f90eaa21461050257806382247ec0146105185780638da5cb5b1461052e57806395d89b411461054c57600080fd5b806370a082311461045a578063715018a614610490578063751039fc146104a75780637830b072146104bc57600080fd5b8063374242971161019b57806361a23c691161016a57806361a23c69146103ec5780636201585214610402578063646d470014610418578063661b6e361461042e5780636b363ca11461044457600080fd5b8063374242971461035557806342a11095146103855780634a74bb021461039b5780635cce86cd146103bc57600080fd5b8063182c425c116101e2578063182c425c146102d157806319967a37146102e757806323b872dd146102fd5780632f0a5fd41461031d578063313ce5671461033357600080fd5b806306fdde031461021f578063095ea7b31461024a5780631694505e1461027a57806318160ddd146102b257600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506102346106a5565b604051610241919061167a565b60405180910390f35b34801561025657600080fd5b5061026a6102653660046116e0565b610737565b6040519015158152602001610241565b34801561028657600080fd5b50601d5461029a906001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102be57600080fd5b506019545b604051908152602001610241565b3480156102dd57600080fd5b506102c3600d5481565b3480156102f357600080fd5b506102c360185481565b34801561030957600080fd5b5061026a61031836600461170c565b61074e565b34801561032957600080fd5b506102c360105481565b34801561033f57600080fd5b5060045460405160ff9091168152602001610241565b34801561036157600080fd5b5061026a61037036600461174d565b600a6020526000908152604090205460ff1681565b34801561039157600080fd5b506102c360165481565b3480156103a757600080fd5b50601e5461026a90600160a81b900460ff1681565b3480156103c857600080fd5b5061026a6103d736600461174d565b60076020526000908152604090205460ff1681565b3480156103f857600080fd5b506102c360145481565b34801561040e57600080fd5b506102c3600f5481565b34801561042457600080fd5b506102c360125481565b34801561043a57600080fd5b506102c360115481565b34801561045057600080fd5b506102c360155481565b34801561046657600080fd5b506102c361047536600461174d565b6001600160a01b031660009081526005602052604090205490565b34801561049c57600080fd5b506104a56107b9565b005b3480156104b357600080fd5b506104a5610836565b3480156104c857600080fd5b506102c3601a5481565b3480156104de57600080fd5b5061026a6104ed36600461174d565b60096020526000908152604090205460ff1681565b34801561050e57600080fd5b506102c360135481565b34801561052457600080fd5b506102c3601b5481565b34801561053a57600080fd5b506000546001600160a01b031661029a565b34801561055857600080fd5b50610234610875565b34801561056d57600080fd5b50601e5461026a90600160b81b900460ff1681565b34801561058e57600080fd5b5061026a61059d3660046116e0565b610884565b3480156105ae57600080fd5b506102c3600e5481565b3480156105c457600080fd5b50601e5461029a906001600160a01b031681565b3480156105e457600080fd5b506102c360175481565b3480156105fa57600080fd5b50601e5461026a90600160b01b900460ff1681565b34801561061b57600080fd5b506102c361062a36600461176a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561066157600080fd5b5061026a61067036600461174d565b60086020526000908152604090205460ff1681565b34801561069157600080fd5b506104a56106a036600461174d565b610891565b6060600280546106b4906117a3565b80601f01602080910402602001604051908101604052809291908181526020018280546106e0906117a3565b801561072d5780601f106107025761010080835404028352916020019161072d565b820191906000526020600020905b81548152906001019060200180831161071057829003601f168201915b5050505050905090565b600061074433848461097b565b5060015b92915050565b600061075b848484610a9f565b506107ae84336107a9856040518060600160405280602881526020016119ab602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610f03565b61097b565b5060015b9392505050565b6000546001600160a01b031633146107ec5760405162461bcd60e51b81526004016107e3906117dd565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108605760405162461bcd60e51b81526004016107e3906117dd565b601954601a55601e805460ff60b81b19169055565b6060600380546106b4906117a3565b60006107ae338484610a9f565b6000546001600160a01b031633146108bb5760405162461bcd60e51b81526004016107e3906117dd565b6001600160a01b0381166109205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109dd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107e3565b6001600160a01b038216610a3e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107e3565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107e3565b6001600160a01b038316610b675760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107e3565b601e54600160a01b900460ff1615610b8b57610b84848484610f3d565b90506107b2565b6001600160a01b03841660009081526009602052604090205460ff16158015610bcd57506001600160a01b03831660009081526009602052604090205460ff16155b15610c3557601a54821115610c355760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016107e3565b30600090815260056020526040902054601c5481108015908190610c635750601e54600160a01b900460ff16155b8015610c8757506001600160a01b0385166000908152600a602052604090205460ff165b8015610c9c5750601e54600160a81b900460ff165b8015610cc157506001600160a01b03861660009081526007602052604090205460ff16155b8015610cce5750601c5484115b15610cf457601e54600160b01b900460ff1615610ceb57601c5491505b610cf482611023565b6001600160a01b03861660009081526007602052604081205460ff1680610d3357506001600160a01b03861660009081526007602052604090205460ff165b610d4757610d42878787611159565b610d49565b845b601e54909150600160b81b900460ff168015610d7e57506001600160a01b03861660009081526008602052604090205460ff16155b15610dba57601b54610daf82610da9896001600160a01b031660009081526005602052604090205490565b9061125f565b1115610dba57600080fd5b601e54600090600160b81b900460ff16158015610def57506001600160a01b03881660009081526007602052604090205460ff165b610df95785610e03565b610e0386836112be565b9050610e6b8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600560008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610f039092919063ffffffff16565b6001600160a01b03808a166000908152600560205260408082209390935590891681522054610e9a908361125f565b6001600160a01b0380891660008181526005602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eee9086815260200190565b60405180910390a360019450505050506107b2565b60008184841115610f275760405162461bcd60e51b81526004016107e3919061167a565b506000610f348486611828565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610f8e918490610f03565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610fbd908361125f565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110119086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b1790556018546013546000916110599160029161105391829087906112e3565b90611367565b9050600061106783836112be565b9050611072816113a9565b601354479060009061109290611089906002611367565b601854906112be565b905060006110b4600261105384611053601354886112e390919063ffffffff16565b905060006110d183611053601554876112e390919063ffffffff16565b905060006110e9826110e387866112be565b906112be565b9050801561110757600b54611107906001600160a01b03168261153c565b811561112357600c54611123906001600160a01b03168361153c565b6000831180156111335750600087115b15611142576111428784611577565b5050601e805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff161561119d576111966064611053601654866112e390919063ffffffff16565b90506111db565b6001600160a01b0384166000908152600a602052604090205460ff16156111db576111d86064611053601754866112e390919063ffffffff16565b90505b801561125557306000908152600560205260409020546111fb908261125f565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061124c9085815260200190565b60405180910390a35b610f3483826112be565b60008061126c838561183b565b9050838110156107b25760405162461bcd60e51b815260206004820152601e60248201527f4c6962536166654d6174683a206164646974696f6e206f766572666c6f77000060448201526064016107e3565b60006107b2838360405180606001604052806021815260200161198a60219139610f03565b6000826000036112f557506000610748565b6000611301838561184e565b90508261130e8583611865565b146107b25760405162461bcd60e51b8152602060048201526024808201527f4c6962536166654d6174683a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b60648201526084016107e3565b60006107b283836040518060400160405280601d81526020017f4c6962536166654d6174683a206469766973696f6e206279207a65726f00000081525061164c565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113de576113de611887565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b919061189d565b8160018151811061146e5761146e611887565b6001600160a01b039283166020918202929092010152601d54611494913091168461097b565b601d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114cd9085906000908690309042906004016118fe565b600060405180830381600087803b1580156114e757600080fd5b505af11580156114fb573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161153092919061193a565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611572573d6000803e3d6000fd5b505050565b601d5461158f9030906001600160a01b03168461097b565b601d546001600160a01b031663f305d7198230856000806115b86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611620573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611645919061195b565b5050505050565b6000818361166d5760405162461bcd60e51b81526004016107e3919061167a565b506000610f348486611865565b600060208083528351808285015260005b818110156116a75785810183015185820160400152820161168b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116dd57600080fd5b50565b600080604083850312156116f357600080fd5b82356116fe816116c8565b946020939093013593505050565b60008060006060848603121561172157600080fd5b833561172c816116c8565b9250602084013561173c816116c8565b929592945050506040919091013590565b60006020828403121561175f57600080fd5b81356107b2816116c8565b6000806040838503121561177d57600080fd5b8235611788816116c8565b91506020830135611798816116c8565b809150509250929050565b600181811c908216806117b757607f821691505b6020821081036117d757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074857610748611812565b8082018082111561074857610748611812565b808202811582820484141761074857610748611812565b60008261188257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118af57600080fd5b81516107b2816116c8565b600081518084526020808501945080840160005b838110156118f35781516001600160a01b0316875295820195908201906001016118ce565b509495945050505050565b85815284602082015260a06040820152600061191d60a08301866118ba565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061195360408301846118ba565b949350505050565b60008060006060848603121561197057600080fd5b835192506020840151915060408401519050925092509256fe4c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202a3daf691330d1cd78718133b13d4347dc424ae69fb7058068ec4bcea60389df64736f6c63430008130033

Deployed Bytecode Sourcemap

12127:10651:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15690:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16349:161;;;;;;;;;;-1:-1:-1;16349:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;16349:161:0;1023:187:1;13610:39:0;;;;;;;;;;-1:-1:-1;13610:39:0;;;;-1:-1:-1;;;;;13610:39:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;13610:39:0;1215:228:1;15967:96:0;;;;;;;;;;-1:-1:-1;16047:8:0;;15967:96;;;1594:25:1;;;1582:2;1567:18;15967:96:0;1448:177:1;12936:28:0;;;;;;;;;;;;;;;;13365:31;;;;;;;;;;;;;;;;18196:313;;;;;;;;;;-1:-1:-1;18196:313:0;;;;;:::i;:::-;;:::i;13049:37::-;;;;;;;;;;;;;;;;15876:83;;;;;;;;;;-1:-1:-1;15942:9:0;;15876:83;;15942:9;;;;2233:36:1;;2221:2;2206:18;15876:83:0;2091:184:1;12674:53:0;;;;;;;;;;-1:-1:-1;12674:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13298:26;;;;;;;;;;;;;;;;13715:40;;;;;;;;;;-1:-1:-1;13715:40:0;;;;-1:-1:-1;;;13715:40:0;;;;;;12494:53;;;;;;;;;;-1:-1:-1;12494:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13219:35;;;;;;;;;;;;;;;;13013:29;;;;;;;;;;;;;;;;13137:39;;;;;;;;;;;;;;;;13093:37;;;;;;;;;;;;;;;;13261:28;;;;;;;;;;;;;;;;16071:119;;;;;;;;;;-1:-1:-1;16071:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16164:18:0;16137:7;16164:18;;;:9;:18;;;;;;;16071:119;3483:148;;;;;;;;;;;;;:::i;:::-;;22663:112;;;;;;;;;;;;;:::i;13452:41::-;;;;;;;;;;;;;;;;12616:51;;;;;;;;;;-1:-1:-1;12616:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13185:27;;;;;;;;;;;;;;;;13500:45;;;;;;;;;;;;;;;;3258:79;;;;;;;;;;-1:-1:-1;3296:7:0;3323:6;-1:-1:-1;;;;;3323:6:0;3258:79;;15781:87;;;;;;;;;;;;;:::i;13814:33::-;;;;;;;;;;-1:-1:-1;13814:33:0;;;;-1:-1:-1;;;13814:33:0;;;;;;18021:167;;;;;;;;;;-1:-1:-1;18021:167:0;;;;;:::i;:::-;;:::i;12971:35::-;;;;;;;;;;;;;;;;13656:26;;;;;;;;;;-1:-1:-1;13656:26:0;;;;-1:-1:-1;;;;;13656:26:0;;;13331:27;;;;;;;;;;;;;;;;13762:45;;;;;;;;;;-1:-1:-1;13762:45:0;;;;-1:-1:-1;;;13762:45:0;;;;;;16198:143;;;;;;;;;;-1:-1:-1;16198:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16306:18:0;;;16279:7;16306:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16198:143;12554:55;;;;;;;;;;-1:-1:-1;12554:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3639:244;;;;;;;;;;-1:-1:-1;3639:244:0;;;;;:::i;:::-;;:::i;15690:83::-;15727:13;15760:5;15753:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15690:83;:::o;16349:161::-;16424:4;16441:39;2634:10;16464:7;16473:6;16441:8;:39::i;:::-;-1:-1:-1;16498:4:0;16349:161;;;;;:::o;18196:313::-;18294:4;18311:36;18321:6;18329:9;18340:6;18311:9;:36::i;:::-;-1:-1:-1;18358:121:0;18367:6;2634:10;18389:89;18427:6;18389:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18389:19:0;;;;;;:11;:19;;;;;;;;2634:10;18389:33;;;;;;;;;;:37;:89::i;:::-;18358:8;:121::i;:::-;-1:-1:-1;18497:4:0;18196:313;;;;;;:::o;3483:148::-;3392:6;;-1:-1:-1;;;;;3392:6:0;2634:10;3392:22;3384:67;;;;-1:-1:-1;;;3384:67:0;;;;;;;:::i;:::-;;;;;;;;;3590:1:::1;3574:6:::0;;3553:40:::1;::::0;-1:-1:-1;;;;;3574:6:0;;::::1;::::0;3553:40:::1;::::0;3590:1;;3553:40:::1;3621:1;3604:19:::0;;-1:-1:-1;;;;;;3604:19:0::1;::::0;;3483:148::o;22663:112::-;3392:6;;-1:-1:-1;;;;;3392:6:0;2634:10;3392:22;3384:67;;;;-1:-1:-1;;;3384:67:0;;;;;;;:::i;:::-;22726:8:::1;::::0;22717:6:::1;:17:::0;22745:14:::1;:22:::0;;-1:-1:-1;;;;22745:22:0::1;::::0;;22663:112::o;15781:87::-;15820:13;15853:7;15846:14;;;;;:::i;18021:167::-;18099:4;18116:42;2634:10;18140:9;18151:6;18116:9;:42::i;3639:244::-;3392:6;;-1:-1:-1;;;;;3392:6:0;2634:10;3392:22;3384:67;;;;-1:-1:-1;;;3384:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3728:22:0;::::1;3720:73;;;::::0;-1:-1:-1;;;3720:73:0;;4081:2:1;3720:73:0::1;::::0;::::1;4063:21:1::0;4120:2;4100:18;;;4093:30;4159:34;4139:18;;;4132:62;-1:-1:-1;;;4210:18:1;;;4203:36;4256:19;;3720:73:0::1;3879:402:1::0;3720:73:0::1;3830:6;::::0;;3809:38:::1;::::0;-1:-1:-1;;;;;3809:38:0;;::::1;::::0;3830:6;::::1;::::0;3809:38:::1;::::0;::::1;3858:6;:17:::0;;-1:-1:-1;;;;;;3858:17:0::1;-1:-1:-1::0;;;;;3858:17:0;;;::::1;::::0;;;::::1;::::0;;3639:244::o;16518:337::-;-1:-1:-1;;;;;16611:19:0;;16603:68;;;;-1:-1:-1;;;16603:68:0;;4488:2:1;16603:68:0;;;4470:21:1;4527:2;4507:18;;;4500:30;4566:34;4546:18;;;4539:62;-1:-1:-1;;;4617:18:1;;;4610:34;4661:19;;16603:68:0;4286:400:1;16603:68:0;-1:-1:-1;;;;;16690:21:0;;16682:68;;;;-1:-1:-1;;;16682:68:0;;4893:2:1;16682:68:0;;;4875:21:1;4932:2;4912:18;;;4905:30;4971:34;4951:18;;;4944:62;-1:-1:-1;;;5022:18:1;;;5015:32;5064:19;;16682:68:0;4691:398:1;16682:68:0;-1:-1:-1;;;;;16763:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16815:32;;1594:25:1;;;16815:32:0;;1567:18:1;16815:32:0;;;;;;;16518:337;;;:::o;18517:1892::-;18604:4;-1:-1:-1;;;;;18631:20:0;;18623:70;;;;-1:-1:-1;;;18623:70:0;;5296:2:1;18623:70:0;;;5278:21:1;5335:2;5315:18;;;5308:30;5374:34;5354:18;;;5347:62;-1:-1:-1;;;5425:18:1;;;5418:35;5470:19;;18623:70:0;5094:401:1;18623:70:0;-1:-1:-1;;;;;18712:23:0;;18704:71;;;;-1:-1:-1;;;18704:71:0;;5702:2:1;18704:71:0;;;5684:21:1;5741:2;5721:18;;;5714:30;5780:34;5760:18;;;5753:62;-1:-1:-1;;;5831:18:1;;;5824:33;5874:19;;18704:71:0;5500:399:1;18704:71:0;18791:8;;-1:-1:-1;;;18791:8:0;;;;18788:1614;;;18833:41;18848:6;18856:9;18867:6;18833:14;:41::i;:::-;18826:48;;;;18788:1614;-1:-1:-1;;;;;18930:26:0;;;;;;:18;:26;;;;;;;;18929:27;:61;;;;-1:-1:-1;;;;;;18961:29:0;;;;;;:18;:29;;;;;;;;18960:30;18929:61;18926:170;;;19029:6;;19019;:16;;19011:69;;;;-1:-1:-1;;;19011:69:0;;6106:2:1;19011:69:0;;;6088:21:1;6145:2;6125:18;;;6118:30;6184:34;6164:18;;;6157:62;-1:-1:-1;;;6235:18:1;;;6228:38;6283:19;;19011:69:0;5904:404:1;19011:69:0;19173:4;19124:28;16164:18;;;:9;:18;;;;;;19249:14;;19225:38;;;;;;;19296:36;;-1:-1:-1;19324:8:0;;-1:-1:-1;;;19324:8:0;;;;19323:9;19296:36;:71;;;;-1:-1:-1;;;;;;19336:31:0;;;;;;:20;:31;;;;;;;;19296:71;:96;;;;-1:-1:-1;19371:21:0;;-1:-1:-1;;;19371:21:0;;;;19296:96;:129;;;;-1:-1:-1;;;;;;19397:28:0;;;;;;:20;:28;;;;;;;;19396:29;19296:129;:156;;;;;19438:14;;19429:6;:23;19296:156;19292:371;;;19490:25;;-1:-1:-1;;;19490:25:0;;;;19487:88;;;19561:14;;19538:37;;19487:88;19594:49;19622:20;19594:27;:49::i;:::-;-1:-1:-1;;;;;19704:28:0;;19681:19;19704:28;;;:20;:28;;;;;;;;;:63;;-1:-1:-1;;;;;;19736:31:0;;;;;;:20;:31;;;;;;;;19704:63;19703:165;;19823:45;19842:6;19850:9;19861:6;19823:18;:45::i;:::-;19703:165;;;19814:6;19703:165;19888:14;;19681:187;;-1:-1:-1;;;;19888:14:0;;;;:52;;;;-1:-1:-1;;;;;;19907:33:0;;;;;;:22;:33;;;;;;;;19906:34;19888:52;19885:134;;;20008:10;;19967:37;19992:11;19967:20;19977:9;-1:-1:-1;;;;;16164:18:0;16137:7;16164:18;;;:9;:18;;;;;;;16071:119;19967:20;:24;;:37::i;:::-;:51;;19959:60;;;;;;20056:14;;20036:15;;-1:-1:-1;;;20056:14:0;;;;20055:15;:47;;;;-1:-1:-1;;;;;;20074:28:0;;;;;;:20;:28;;;;;;;;20055:47;20054:84;;20132:6;20054:84;;;20106:23;:6;20117:11;20106:10;:23::i;:::-;20036:102;;20173:54;20195:7;20173:54;;;;;;;;;;;;;-1:-1:-1;;;20173:54:0;;;:9;:17;20183:6;-1:-1:-1;;;;;20173:17:0;-1:-1:-1;;;;;20173:17:0;;;;;;;;;;;;;:21;;:54;;;;;:::i;:::-;-1:-1:-1;;;;;20153:17:0;;;;;;;:9;:17;;;;;;:74;;;;20265:20;;;;;;;:37;;20290:11;20265:24;:37::i;:::-;-1:-1:-1;;;;;20242:20:0;;;;;;;:9;:20;;;;;;;:60;;;;20324:40;;;;;;;;;;20352:11;1594:25:1;;1582:2;1567:18;;1448:177;20324:40:0;;;;;;;;20386:4;20379:11;;;;;;;;621:192;707:7;743:12;735:6;;;;727:29;;;;-1:-1:-1;;;727:29:0;;;;;;;;:::i;:::-;-1:-1:-1;767:9:0;779:5;783:1;779;:5;:::i;:::-;767:17;621:192;-1:-1:-1;;;;;621:192:0:o;20631:330::-;20761:53;;;;;;;;;;;-1:-1:-1;;;20761:53:0;;;;;;;;-1:-1:-1;;;;;20761:17:0;;20724:4;20761:17;;;:9;:17;;;;;;;:53;;20783:6;;20761:21;:53::i;:::-;-1:-1:-1;;;;;20741:17:0;;;;;;;:9;:17;;;;;;:73;;;;20848:20;;;;;;;:32;;20873:6;20848:24;:32::i;:::-;-1:-1:-1;;;;;20825:20:0;;;;;;;:9;:20;;;;;;;:55;;;;20896:35;;;;;;;;;;20924:6;1594:25:1;;1582:2;1567:18;;1448:177;20896:35:0;;;;;;;;-1:-1:-1;20949:4:0;20631:330;;;;;:::o;20969:1005::-;14270:8;:15;;-1:-1:-1;;;;14270:15:0;-1:-1:-1;;;14270:15:0;;;21112:11:::1;::::0;21098:8:::1;::::0;14270:15;;21086:45:::1;::::0;21129:1:::1;::::0;21086:38:::1;::::0;;;:7;;:11:::1;:21::i;:::-;:25:::0;::::1;:38::i;:45::-;21064:67:::0;-1:-1:-1;21142:21:0::1;21166:24;:7:::0;21064:67;21166:11:::1;:24::i;:::-;21142:48;;21203:30;21219:13;21203:15;:30::i;:::-;21341:8;::::0;21269:21:::1;::::0;21244:22:::1;::::0;21325:32:::1;::::0;21341:15:::1;::::0;21354:1:::1;21341:12;:15::i;:::-;21325:11;::::0;;:15:::1;:32::i;:::-;21303:54;;21378:26;21407:52;21457:1;21407:45;21440:11;21407:28;21426:8;;21407:14;:18;;:28;;;;:::i;:52::-;21378:81;;21470:28;21501:46;21535:11;21501:29;21520:9;;21501:14;:18;;:29;;;;:::i;:46::-;21470:77:::0;-1:-1:-1;21558:26:0::1;21587:64;21470:77:::0;21587:38:::1;:14:::0;21606:18;21587::::1;:38::i;:::-;:42:::0;::::1;:64::i;:::-;21558:93:::0;-1:-1:-1;21667:22:0;;21664:81:::1;;21713:11;::::0;21704:41:::1;::::0;-1:-1:-1;;;;;21713:11:0::1;21726:18:::0;21704:8:::1;:41::i;:::-;21761:24:::0;;21758:91:::1;;21809:17;::::0;21800:49:::1;::::0;-1:-1:-1;;;;;21809:17:0::1;21828:20:::0;21800:8:::1;:49::i;:::-;21886:1;21865:18;:22;:41;;;;;21905:1;21891:11;:15;21865:41;21862:104;;;21921:45;21934:11;21947:18;21921:12;:45::i;:::-;-1:-1:-1::0;;14308:8:0;:16;;-1:-1:-1;;;;14308:16:0;;;-1:-1:-1;;;;;;20969:1005:0:o;17384:629::-;-1:-1:-1;;;;;17556:28:0;;17481:7;17556:28;;;:20;:28;;;;;;17481:7;;17556:28;;17553:219;;;17613:28;17637:3;17613:19;17624:7;;17613:6;:10;;:19;;;;:::i;:28::-;17601:40;;17553:219;;;-1:-1:-1;;;;;17671:31:0;;;;;;:20;:31;;;;;;;;17668:104;;;17731:29;17756:3;17731:20;17742:8;;17731:6;:10;;:20;;;;:::i;:29::-;17719:41;;17668:104;17795:13;;17792:173;;17870:4;17852:24;;;;:9;:24;;;;;;:39;;17881:9;17852:28;:39::i;:::-;17843:4;17825:24;;;;:9;:24;;;;;;;:66;;;;17911:42;;-1:-1:-1;;;;;17911:42:0;;;;;;;17943:9;1594:25:1;;1582:2;1567:18;;1448:177;17911:42:0;;;;;;;;17792:173;17984:21;:6;17995:9;17984:10;:21::i;282:184::-;340:7;;372:5;376:1;372;:5;:::i;:::-;360:17;;401:1;396;:6;;388:49;;;;-1:-1:-1;;;388:49:0;;6910:2:1;388:49:0;;;6892:21:1;6949:2;6929:18;;;6922:30;6988:32;6968:18;;;6961:60;7038:18;;388:49:0;6708:354:1;474:139:0;532:7;559:46;563:1;566;559:46;;;;;;;;;;;;;;;;;:3;:46::i;821:253::-;879:7;903:1;908;903:6;899:47;;-1:-1:-1;933:1:0;926:8;;899:47;958:9;970:5;974:1;970;:5;:::i;:::-;958:17;-1:-1:-1;1003:1:0;994:5;998:1;958:17;994:5;:::i;:::-;:10;986:59;;;;-1:-1:-1;;;986:59:0;;7664:2:1;986:59:0;;;7646:21:1;7703:2;7683:18;;;7676:30;7742:34;7722:18;;;7715:62;-1:-1:-1;;;7793:18:1;;;7786:34;7837:19;;986:59:0;7462:400:1;1082:135:0;1140:7;1167:42;1171:1;1174;1167:42;;;;;;;;;;;;;;;;;:3;:42::i;21986:665::-;22135:16;;;22149:1;22135:16;;;;;;;;22111:21;;22135:16;;;;;;;;;;-1:-1:-1;22135:16:0;22111:40;;22180:4;22162;22167:1;22162:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22162:23:0;;;:7;;;;;;;;;;:23;;;;22206:15;;:22;;;-1:-1:-1;;;22206:22:0;;;;:15;;;;;:20;;:22;;;;;22162:7;;22206:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22196:4;22201:1;22196:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22196:32:0;;;:7;;;;;;;;;:32;22273:15;;22241:62;;22258:4;;22273:15;22291:11;22241:8;:62::i;:::-;22342:15;;:240;;-1:-1:-1;;;22342:240:0;;-1:-1:-1;;;;;22342:15:0;;;;:66;;:240;;22423:11;;22342:15;;22493:4;;22520;;22556:15;;22342:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22608:35;22625:11;22638:4;22608:35;;;;;;;:::i;:::-;;;;;;;;22040:611;21986:665;:::o;20415:114::-;20495:26;;-1:-1:-1;;;;;20495:18:0;;;:26;;;;;20514:6;;20495:26;;;;20514:6;20495:18;:26;;;;;;;;;;;;;;;;;;;;;20415:114;;:::o;16863:513::-;17043:15;;17011:62;;17028:4;;-1:-1:-1;;;;;17043:15:0;17061:11;17011:8;:62::i;:::-;17116:15;;-1:-1:-1;;;;;17116:15:0;:31;17155:9;17188:4;17208:11;17116:15;;17320:7;3296;3323:6;-1:-1:-1;;;;;3323:6:0;;3258:79;17320:7;17116:252;;;;;;-1:-1:-1;;;;;;17116:252:0;;;-1:-1:-1;;;;;10136:15:1;;;17116:252:0;;;10118:34:1;10168:18;;;10161:34;;;;10211:18;;;10204:34;;;;10254:18;;;10247:34;10318:15;;;10297:19;;;10290:44;17342:15:0;10350:19:1;;;10343:35;10052:19;;17116:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16863:513;;:::o;1225:278::-;1311:7;1346:12;1339:5;1331:28;;;;-1:-1:-1;;;1331:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1370:9:0;1382:5;1386:1;1382;:5;:::i;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;1630:456::-;1707:6;1715;1723;1776:2;1764:9;1755:7;1751:23;1747:32;1744:52;;;1792:1;1789;1782:12;1744:52;1831:9;1818:23;1850:31;1875:5;1850:31;:::i;:::-;1900:5;-1:-1:-1;1957:2:1;1942:18;;1929:32;1970:33;1929:32;1970:33;:::i;:::-;1630:456;;2022:7;;-1:-1:-1;;;2076:2:1;2061:18;;;;2048:32;;1630:456::o;2280:247::-;2339:6;2392:2;2380:9;2371:7;2367:23;2363:32;2360:52;;;2408:1;2405;2398:12;2360:52;2447:9;2434:23;2466:31;2491:5;2466:31;:::i;2740:388::-;2808:6;2816;2869:2;2857:9;2848:7;2844:23;2840:32;2837:52;;;2885:1;2882;2875:12;2837:52;2924:9;2911:23;2943:31;2968:5;2943:31;:::i;:::-;2993:5;-1:-1:-1;3050:2:1;3035:18;;3022:32;3063:33;3022:32;3063:33;:::i;:::-;3115:7;3105:17;;;2740:388;;;;;:::o;3133:380::-;3212:1;3208:12;;;;3255;;;3276:61;;3330:4;3322:6;3318:17;3308:27;;3276:61;3383:2;3375:6;3372:14;3352:18;3349:38;3346:161;;3429:10;3424:3;3420:20;3417:1;3410:31;3464:4;3461:1;3454:15;3492:4;3489:1;3482:15;3346:161;;3133:380;;;:::o;3518:356::-;3720:2;3702:21;;;3739:18;;;3732:30;3798:34;3793:2;3778:18;;3771:62;3865:2;3850:18;;3518:356::o;6313:127::-;6374:10;6369:3;6365:20;6362:1;6355:31;6405:4;6402:1;6395:15;6429:4;6426:1;6419:15;6445:128;6512:9;;;6533:11;;;6530:37;;;6547:18;;:::i;6578:125::-;6643:9;;;6664:10;;;6661:36;;;6677:18;;:::i;7067:168::-;7140:9;;;7171;;7188:15;;;7182:22;;7168:37;7158:71;;7209:18;;:::i;7240:217::-;7280:1;7306;7296:132;;7350:10;7345:3;7341:20;7338:1;7331:31;7385:4;7382:1;7375:15;7413:4;7410:1;7403:15;7296:132;-1:-1:-1;7442:9:1;;7240:217::o;7999:127::-;8060:10;8055:3;8051:20;8048:1;8041:31;8091:4;8088:1;8081:15;8115:4;8112:1;8105:15;8131:251;8201:6;8254:2;8242:9;8233:7;8229:23;8225:32;8222:52;;;8270:1;8267;8260:12;8222:52;8302:9;8296:16;8321:31;8346:5;8321:31;:::i;8387:461::-;8440:3;8478:5;8472:12;8505:6;8500:3;8493:19;8531:4;8560:2;8555:3;8551:12;8544:19;;8597:2;8590:5;8586:14;8618:1;8628:195;8642:6;8639:1;8636:13;8628:195;;;8707:13;;-1:-1:-1;;;;;8703:39:1;8691:52;;8763:12;;;;8798:15;;;;8739:1;8657:9;8628:195;;;-1:-1:-1;8839:3:1;;8387:461;-1:-1:-1;;;;;8387:461:1:o;8853:582::-;9152:6;9141:9;9134:25;9195:6;9190:2;9179:9;9175:18;9168:34;9238:3;9233:2;9222:9;9218:18;9211:31;9115:4;9259:57;9311:3;9300:9;9296:19;9288:6;9259:57;:::i;:::-;-1:-1:-1;;;;;9352:32:1;;;;9347:2;9332:18;;9325:60;-1:-1:-1;9416:3:1;9401:19;9394:35;9251:65;8853:582;-1:-1:-1;;;8853:582:1:o;9440:332::-;9647:6;9636:9;9629:25;9690:2;9685;9674:9;9670:18;9663:30;9610:4;9710:56;9762:2;9751:9;9747:18;9739:6;9710:56;:::i;:::-;9702:64;9440:332;-1:-1:-1;;;;9440:332:1:o;10389:306::-;10477:6;10485;10493;10546:2;10534:9;10525:7;10521:23;10517:32;10514:52;;;10562:1;10559;10552:12;10514:52;10591:9;10585:16;10575:26;;10641:2;10630:9;10626:18;10620:25;10610:35;;10685:2;10674:9;10670:18;10664:25;10654:35;;10389:306;;;;;:::o

Swarm Source

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