ETH Price: $3,397.79 (-1.46%)
Gas: 2 Gwei

Token

7/4 Inu (74Inu)
 

Overview

Max Total Supply

7,400,000,000 74Inu

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
71,040,000 74Inu

Value
$0.00
0x02df832f6f4af41c05c8b7e572a70491fe7dd9a0
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:
SevenFourInu

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
    Happy Independence Day, people!

    7/4 Inu is here to celebrate the date! Let us all have fun and make money!

    Taxes are low, gas is cheap so nothing can stop us from having a great celebration!

    Supply  7,400,000,000

    Tax 4/4

    Max buy 1%

    Max wallet 3%
*/

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;

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

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

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

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

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        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;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


/**
 * Allows for contract ownership along with multi-address authorization
 */


interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    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(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    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,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 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 (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

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

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 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,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);

    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);

    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

contract SevenFourInu is IBEP20, Ownable {
    using SafeMath for uint256;

    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "7/4 Inu";
    string constant _symbol = "74Inu";
    uint8 constant _decimals = 18;

    uint256 _totalSupply = 7400000000 * (10 ** _decimals);
    uint256 public _maxTxAmount = (_totalSupply * 1) / 100;  // 1% max tx
    uint256 public _maxWalletSize = (_totalSupply * 3) / 100;  // 1% max wallet


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

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;

    uint256 liquidityFee = 0;
    uint256 teamFee = 1;
    uint256 marketingFee = 2;
    uint256 devFee = 1;
    uint256 totalFee = 4;
    uint256 feeDenominator = 100;
    
    address private marketingFeeReceiver = 0xBA09bc96A3959882ddd77281e81C753aF5ABeEa9;
    address private devFeeReceiver = 0xBA09bc96A3959882ddd77281e81C753aF5ABeEa9;
    address private teamFeeReceiver = 0xBA09bc96A3959882ddd77281e81C753aF5ABeEa9;

    IUniswapV2Router02 public router;
    address public pair;

    uint256 public launchedAt;

    bool public swapEnabled = true;
    bool public tradingActive = false;

    uint256 public swapThreshold = _totalSupply / 1000 * 1; // .1%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor ()  {
        router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pair = IUniswapV2Factory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner();
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[address(router)] = true;
        isTxLimitExempt[address(pair)] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    

    function getOwner() external view returns (address) { return owner(); }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!tradingActive){
            require(isFeeExempt[sender] || isFeeExempt[recipient], "Trading is not active yet.");
        }
        
        checkTxLimit(sender, amount);
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); }

        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

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

        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

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

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }
    
    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !(isFeeExempt[sender] || isFeeExempt[recipient]);
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); }
        if(selling) { return totalFee.add(1); }
        return totalFee;
    }

    function enableTrading() external onlyOwner() {
        tradingActive = true;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountBNB = address(this).balance.sub(balanceBefore);
        uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2));
        //uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBdevelopment = amountBNB.mul(teamFee).div(totalBNBFee);
        uint256 amountBNBmarketing = amountBNB.mul(marketingFee).div(totalBNBFee);
        uint256 amountBNBDev = amountBNB.mul(devFee).div(totalBNBFee);



        (bool marketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountBNBmarketing, gas: 30000}("");
        require(marketingSuccess, "receiver rejected ETH transfer");

        (bool DevSuccess, /* bytes memory data */) = payable(devFeeReceiver).call{value: amountBNBDev, gas: 30000}("");
        require(DevSuccess, "receiver rejected ETH transfer");

        (bool developmentSuccess, /* bytes memory data */) = payable(teamFeeReceiver).call{value: amountBNBdevelopment, gas: 30000}("");
        require(developmentSuccess, "receiver rejected ETH transfer");


    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WETH;
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function setTxLimit(uint256 amount) external onlyOwner() {
        require(amount >= _totalSupply / 1000);
        _maxTxAmount = amount;
    }

   function setMaxWallet(uint256 amount) external onlyOwner() {
        require(amount >= _totalSupply / 1000 );
        _maxWalletSize = amount;
    }    

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner() {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner() {
        isTxLimitExempt[holder] = exempt;
    }

    function setFees( uint256 _teamFee, uint256 _marketingFee, uint256 _devFee , uint256 _feeDenominator) external onlyOwner() {
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        devFee = _devFee ;
        totalFee = _devFee.add(_teamFee).add(_marketingFee);
        feeDenominator = _feeDenominator;
    }

    function setFeeReceiver(address _marketingFeeReceiver, address _teamFeeReceiver) external onlyOwner() {
        marketingFeeReceiver = _marketingFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner() {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function manualSend() external onlyOwner() {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingFeeReceiver).transfer(contractETHBalance);
    }

    function transferForeignToken(address _token) public onlyOwner() {
        require(_token != address(this), "Can't let you take all native token");
        uint256 _contractBalance = IBEP20(_token).balanceOf(address(this));
        payable(marketingFeeReceiver).transfer(_contractBalance);
    }
        
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }
    
    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"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"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560028054821661dead179055600380549091169055620000506012600a620004bc565b62000061906401b9130a00620004d4565b60045560646004546001620000779190620004d4565b620000839190620004f6565b60055560646004546003620000999190620004d4565b620000a59190620004f6565b6006556000600b556001600c8190556002600d55600e8190556004600f81905560646010556011805473ba09bc96a3959882ddd77281e81c753af5abeea96001600160a01b03199182168117909255601280548216831790556013805490911690911790556017805461ffff19169092179091555462000129906103e890620004f6565b62000136906001620004d4565b6018553480156200014657600080fd5b50620001523362000357565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dd919062000519565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200022f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000255919062000519565b601580546001600160a01b0319166001600160a01b0392831617905530600090815260086020908152604080832060145490941683529290529081206000199055620002a96000546001600160a01b031690565b6001600160a01b0381811660008181526009602090815260408083208054600160ff199182168117909255600a845282852080548216831790556014548716855282852080548216831790556015549096168452818420805490961617909455600454838352600782528483208190559351938452939450909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000544565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003fe578160001904821115620003e257620003e2620003a7565b80851615620003f057918102915b93841c9390800290620003c2565b509250929050565b6000826200041757506001620004b6565b816200042657506000620004b6565b81600181146200043f57600281146200044a576200046a565b6001915050620004b6565b60ff8411156200045e576200045e620003a7565b50506001821b620004b6565b5060208310610133831016604e8410600b84101617156200048f575081810a620004b6565b6200049b8383620003bd565b8060001904821115620004b257620004b2620003a7565b0290505b92915050565b6000620004cd60ff84168362000406565b9392505050565b6000816000190483118215151615620004f157620004f1620003a7565b500290565b6000826200051457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200052c57600080fd5b81516001600160a01b0381168114620004cd57600080fd5b611bcb80620005546000396000f3fe6080604052600436106102295760003560e01c80638a8c523c11610123578063d51ed1c8116100ab578063f1f3bca31161006f578063f1f3bca3146106ae578063f2fde38b146106ce578063f4293890146106ee578063f84ba65d14610703578063f887ea401461072357600080fd5b8063d51ed1c8146105e8578063dc93cf7014610608578063dd62ed3e14610628578063df20fd491461066e578063e66db25e1461068e57600080fd5b806395d89b41116100f257806395d89b4114610545578063a8aa1b3114610573578063a9059cbb14610593578063bbc0c742146105b3578063bf56b371146105d257600080fd5b80638a8c523c146104cc5780638b42507f146104e15780638da5cb5b146105115780638f9a55c01461052f57600080fd5b8063571ac8b0116101b15780636fcba377116101755780636fcba3771461041957806370a0823114610439578063715018a61461046f5780637d1db4a514610484578063893d20e81461049a57600080fd5b8063571ac8b01461037d5780635c85974f1461039d5780635d0044ca146103bf578063658d4b7f146103df5780636ddd1713146103ff57600080fd5b806318160ddd116101f857806318160ddd146102e757806323b872dd146102fc5780632b112e491461031c578063313ce567146103315780633f4218e01461034d57600080fd5b80630445b6671461023557806306fdde031461025e578063095ea7b3146102975780631161ae39146102c757600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024b60185481565b6040519081526020015b60405180910390f35b34801561026a57600080fd5b50604080518082019091526007815266372f3420496e7560c81b60208201525b6040516102559190611835565b3480156102a357600080fd5b506102b76102b23660046118a6565b610743565b6040519015158152602001610255565b3480156102d357600080fd5b506102b76102e23660046118d0565b6107b0565b3480156102f357600080fd5b5060045461024b565b34801561030857600080fd5b506102b76103173660046118f2565b6107c4565b34801561032857600080fd5b5061024b610886565b34801561033d57600080fd5b5060405160128152602001610255565b34801561035957600080fd5b506102b761036836600461192e565b60096020526000908152604090205460ff1681565b34801561038957600080fd5b506102b761039836600461192e565b6108d8565b3480156103a957600080fd5b506103bd6103b8366004611949565b6108e6565b005b3480156103cb57600080fd5b506103bd6103da366004611949565b61090f565b3480156103eb57600080fd5b506103bd6103fa366004611972565b610938565b34801561040b57600080fd5b506017546102b79060ff1681565b34801561042557600080fd5b506103bd6104343660046119a5565b61096b565b34801561044557600080fd5b5061024b61045436600461192e565b6001600160a01b031660009081526007602052604090205490565b34801561047b57600080fd5b506103bd6109a1565b34801561049057600080fd5b5061024b60055481565b3480156104a657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610255565b3480156104d857600080fd5b506103bd6109b5565b3480156104ed57600080fd5b506102b76104fc36600461192e565b600a6020526000908152604090205460ff1681565b34801561051d57600080fd5b506000546001600160a01b03166104b4565b34801561053b57600080fd5b5061024b60065481565b34801561055157600080fd5b506040805180820190915260058152643734496e7560d81b602082015261028a565b34801561057f57600080fd5b506015546104b4906001600160a01b031681565b34801561059f57600080fd5b506102b76105ae3660046118a6565b6109ce565b3480156105bf57600080fd5b506017546102b790610100900460ff1681565b3480156105de57600080fd5b5061024b60165481565b3480156105f457600080fd5b5061024b610603366004611949565b6109db565b34801561061457600080fd5b506103bd61062336600461192e565b610a1f565b34801561063457600080fd5b5061024b6106433660046119d7565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561067a57600080fd5b506103bd610689366004611a01565b610b3b565b34801561069a57600080fd5b506103bd6106a93660046119d7565b610b5a565b3480156106ba57600080fd5b5061024b6106c9366004611a1d565b610b90565b3480156106da57600080fd5b506103bd6106e936600461192e565b610bd1565b3480156106fa57600080fd5b506103bd610c4a565b34801561070f57600080fd5b506103bd61071e366004611972565b610c90565b34801561072f57600080fd5b506014546104b4906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061079e9086815260200190565b60405180910390a35060015b92915050565b6000826107bc836109db565b119392505050565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610871576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260088252838120338252909152919091205461084c918490610cc3565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b61087c848484610cfd565b90505b9392505050565b6003546001600160a01b03166000908152600760205260408120546108d3906002546001600160a01b03166000908152600760205260409020546108cd9060045490611014565b90611014565b905090565b60006107aa82600019610743565b6108ee611056565b6103e86004546108fe9190611a4e565b81101561090a57600080fd5b600555565b610917611056565b6103e86004546109279190611a4e565b81101561093357600080fd5b600655565b610940611056565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b610973611056565b600c849055600d839055600e8290556109968361099084876110b0565b906110b0565b600f55601055505050565b6109a9611056565b6109b3600061110f565b565b6109bd611056565b6017805461ff001916610100179055565b600061087f338484610cfd565b60006107aa6109e8610886565b6015546001600160a01b0316600090815260076020526040902054610a1990610a1290600261115f565b859061115f565b906111e1565b610a27611056565b306001600160a01b03821603610a905760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b60648201526084015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ad7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afb9190611a70565b6011546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610b36573d6000803e3d6000fd5b505050565b610b43611056565b6017805460ff191692151592909217909155601855565b610b62611056565b601180546001600160a01b039384166001600160a01b03199182161790915560138054929093169116179055565b6000436016546001610ba29190611a89565b10610bb5576010546107aa906001611014565b8115610bc957600f546107aa9060016110b0565b5050600f5490565b610bd9611056565b6001600160a01b038116610c3e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a87565b610c478161110f565b50565b610c52611056565b60115460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610c8c573d6000803e3d6000fd5b5050565b610c98611056565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b60008184841115610ce75760405162461bcd60e51b8152600401610a879190611835565b506000610cf48486611aa1565b95945050505050565b60195460009060ff1615610d1d57610d16848484611223565b905061087f565b601754610100900460ff16610db7576001600160a01b03841660009081526009602052604090205460ff1680610d6b57506001600160a01b03831660009081526009602052604090205460ff165b610db75760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610a87565b610dc18483611309565b6015546001600160a01b03848116911614801590610ded57506002546001600160a01b03848116911614155b15610e98576001600160a01b0383166000908152600a602052604090205460ff1680610e3e57506006546001600160a01b038416600090815260076020526040902054610e3b908490611a89565b11155b610e985760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610a87565b610ea0611372565b15610ead57610ead6113c1565b601654158015610eca57506015546001600160a01b038481169116145b15610efa576001600160a01b038416600090815260076020526040902054610ef157600080fd5b610efa43601655565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260079091529190912054610f4c918490610cc3565b6001600160a01b038516600090815260076020526040812091909155610f72858561170e565b610f7c5782610f87565b610f87858585611755565b6001600160a01b038516600090815260076020526040902054909150610fad90826110b0565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110019085815260200190565b60405180910390a3506001949350505050565b600061087f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cc3565b6000546001600160a01b031633146109b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a87565b6000806110bd8385611a89565b90508381101561087f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a87565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082600003611171575060006107aa565b600061117d8385611ab8565b90508261118a8583611a4e565b1461087f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a87565b600061087f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611807565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600790915291822054611274918490610cc3565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546112a390836110b0565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f79086815260200190565b60405180910390a35060019392505050565b6005548111158061133257506001600160a01b0382166000908152600a602052604090205460ff165b610c8c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610a87565b6015546000906001600160a01b03163314801590611393575060195460ff16155b80156113a1575060175460ff165b80156108d357505060185430600090815260076020526040902054101590565b6019805460ff1916600117905530600090815260076020526040812054905060006114026002610a19600f54610a19600b548761115f90919063ffffffff16565b905060006114108383611014565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061144a5761144a611ad7565b6001600160a01b039283166020918202929092010152600180548351921691839190811061147a5761147a611ad7565b6001600160a01b03928316602091820292909201015260145460405163791ac94760e01b81524792919091169063791ac947906114c4908690600090879030904290600401611aed565b600060405180830381600087803b1580156114de57600080fd5b505af11580156114f2573d6000803e3d6000fd5b50505050600061150b824761101490919063ffffffff16565b905060006115316115286002600b546111e190919063ffffffff16565b600f5490611014565b9050600061154e82610a19600c548661115f90919063ffffffff16565b9050600061156b83610a19600d548761115f90919063ffffffff16565b9050600061158884610a19600e548861115f90919063ffffffff16565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146115df576040519150601f19603f3d011682016040523d82523d6000602084013e6115e4565b606091505b50509050806116055760405162461bcd60e51b8152600401610a8790611b5e565b6012546040516000916001600160a01b03169061753090859084818181858888f193505050503d8060008114611657576040519150601f19603f3d011682016040523d82523d6000602084013e61165c565b606091505b505090508061167d5760405162461bcd60e51b8152600401610a8790611b5e565b6013546040516000916001600160a01b03169061753090889084818181858888f193505050503d80600081146116cf576040519150601f19603f3d011682016040523d82523d6000602084013e6116d4565b606091505b50509050806116f55760405162461bcd60e51b8152600401610a8790611b5e565b50506019805460ff191690555050505050505050505050565b6001600160a01b03821660009081526009602052604081205460ff168061174d57506001600160a01b03821660009081526009602052604090205460ff165b159392505050565b60105460155460009182916117879190610a1990611780906001600160a01b03898116911614610b90565b869061115f565b306000908152600760205260409020549091506117a490826110b0565b30600081815260076020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117f59085815260200190565b60405180910390a3610cf48382611014565b600081836118285760405162461bcd60e51b8152600401610a879190611835565b506000610cf48486611a4e565b600060208083528351808285015260005b8181101561186257858101830151858201604001528201611846565b81811115611874576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146118a157600080fd5b919050565b600080604083850312156118b957600080fd5b6118c28361188a565b946020939093013593505050565b600080604083850312156118e357600080fd5b50508035926020909101359150565b60008060006060848603121561190757600080fd5b6119108461188a565b925061191e6020850161188a565b9150604084013590509250925092565b60006020828403121561194057600080fd5b61087f8261188a565b60006020828403121561195b57600080fd5b5035919050565b803580151581146118a157600080fd5b6000806040838503121561198557600080fd5b61198e8361188a565b915061199c60208401611962565b90509250929050565b600080600080608085870312156119bb57600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156119ea57600080fd5b6119f38361188a565b915061199c6020840161188a565b60008060408385031215611a1457600080fd5b6118c283611962565b600060208284031215611a2f57600080fd5b61087f82611962565b634e487b7160e01b600052601160045260246000fd5b600082611a6b57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611a8257600080fd5b5051919050565b60008219821115611a9c57611a9c611a38565b500190565b600082821015611ab357611ab3611a38565b500390565b6000816000190483118215151615611ad257611ad2611a38565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b3d5784516001600160a01b031683529383019391830191600101611b18565b50506001600160a01b03969096166060850152505050608001529392505050565b6020808252601e908201527f72656365697665722072656a656374656420455448207472616e73666572000060408201526060019056fea2646970667358221220b5ca50c2e41eb6541768703e05293c4cb7a5b4ef6a20f11272892a7b464c8ccd64736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106102295760003560e01c80638a8c523c11610123578063d51ed1c8116100ab578063f1f3bca31161006f578063f1f3bca3146106ae578063f2fde38b146106ce578063f4293890146106ee578063f84ba65d14610703578063f887ea401461072357600080fd5b8063d51ed1c8146105e8578063dc93cf7014610608578063dd62ed3e14610628578063df20fd491461066e578063e66db25e1461068e57600080fd5b806395d89b41116100f257806395d89b4114610545578063a8aa1b3114610573578063a9059cbb14610593578063bbc0c742146105b3578063bf56b371146105d257600080fd5b80638a8c523c146104cc5780638b42507f146104e15780638da5cb5b146105115780638f9a55c01461052f57600080fd5b8063571ac8b0116101b15780636fcba377116101755780636fcba3771461041957806370a0823114610439578063715018a61461046f5780637d1db4a514610484578063893d20e81461049a57600080fd5b8063571ac8b01461037d5780635c85974f1461039d5780635d0044ca146103bf578063658d4b7f146103df5780636ddd1713146103ff57600080fd5b806318160ddd116101f857806318160ddd146102e757806323b872dd146102fc5780632b112e491461031c578063313ce567146103315780633f4218e01461034d57600080fd5b80630445b6671461023557806306fdde031461025e578063095ea7b3146102975780631161ae39146102c757600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024b60185481565b6040519081526020015b60405180910390f35b34801561026a57600080fd5b50604080518082019091526007815266372f3420496e7560c81b60208201525b6040516102559190611835565b3480156102a357600080fd5b506102b76102b23660046118a6565b610743565b6040519015158152602001610255565b3480156102d357600080fd5b506102b76102e23660046118d0565b6107b0565b3480156102f357600080fd5b5060045461024b565b34801561030857600080fd5b506102b76103173660046118f2565b6107c4565b34801561032857600080fd5b5061024b610886565b34801561033d57600080fd5b5060405160128152602001610255565b34801561035957600080fd5b506102b761036836600461192e565b60096020526000908152604090205460ff1681565b34801561038957600080fd5b506102b761039836600461192e565b6108d8565b3480156103a957600080fd5b506103bd6103b8366004611949565b6108e6565b005b3480156103cb57600080fd5b506103bd6103da366004611949565b61090f565b3480156103eb57600080fd5b506103bd6103fa366004611972565b610938565b34801561040b57600080fd5b506017546102b79060ff1681565b34801561042557600080fd5b506103bd6104343660046119a5565b61096b565b34801561044557600080fd5b5061024b61045436600461192e565b6001600160a01b031660009081526007602052604090205490565b34801561047b57600080fd5b506103bd6109a1565b34801561049057600080fd5b5061024b60055481565b3480156104a657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610255565b3480156104d857600080fd5b506103bd6109b5565b3480156104ed57600080fd5b506102b76104fc36600461192e565b600a6020526000908152604090205460ff1681565b34801561051d57600080fd5b506000546001600160a01b03166104b4565b34801561053b57600080fd5b5061024b60065481565b34801561055157600080fd5b506040805180820190915260058152643734496e7560d81b602082015261028a565b34801561057f57600080fd5b506015546104b4906001600160a01b031681565b34801561059f57600080fd5b506102b76105ae3660046118a6565b6109ce565b3480156105bf57600080fd5b506017546102b790610100900460ff1681565b3480156105de57600080fd5b5061024b60165481565b3480156105f457600080fd5b5061024b610603366004611949565b6109db565b34801561061457600080fd5b506103bd61062336600461192e565b610a1f565b34801561063457600080fd5b5061024b6106433660046119d7565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561067a57600080fd5b506103bd610689366004611a01565b610b3b565b34801561069a57600080fd5b506103bd6106a93660046119d7565b610b5a565b3480156106ba57600080fd5b5061024b6106c9366004611a1d565b610b90565b3480156106da57600080fd5b506103bd6106e936600461192e565b610bd1565b3480156106fa57600080fd5b506103bd610c4a565b34801561070f57600080fd5b506103bd61071e366004611972565b610c90565b34801561072f57600080fd5b506014546104b4906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061079e9086815260200190565b60405180910390a35060015b92915050565b6000826107bc836109db565b119392505050565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610871576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260088252838120338252909152919091205461084c918490610cc3565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b61087c848484610cfd565b90505b9392505050565b6003546001600160a01b03166000908152600760205260408120546108d3906002546001600160a01b03166000908152600760205260409020546108cd9060045490611014565b90611014565b905090565b60006107aa82600019610743565b6108ee611056565b6103e86004546108fe9190611a4e565b81101561090a57600080fd5b600555565b610917611056565b6103e86004546109279190611a4e565b81101561093357600080fd5b600655565b610940611056565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b610973611056565b600c849055600d839055600e8290556109968361099084876110b0565b906110b0565b600f55601055505050565b6109a9611056565b6109b3600061110f565b565b6109bd611056565b6017805461ff001916610100179055565b600061087f338484610cfd565b60006107aa6109e8610886565b6015546001600160a01b0316600090815260076020526040902054610a1990610a1290600261115f565b859061115f565b906111e1565b610a27611056565b306001600160a01b03821603610a905760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b60648201526084015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ad7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afb9190611a70565b6011546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610b36573d6000803e3d6000fd5b505050565b610b43611056565b6017805460ff191692151592909217909155601855565b610b62611056565b601180546001600160a01b039384166001600160a01b03199182161790915560138054929093169116179055565b6000436016546001610ba29190611a89565b10610bb5576010546107aa906001611014565b8115610bc957600f546107aa9060016110b0565b5050600f5490565b610bd9611056565b6001600160a01b038116610c3e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a87565b610c478161110f565b50565b610c52611056565b60115460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610c8c573d6000803e3d6000fd5b5050565b610c98611056565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b60008184841115610ce75760405162461bcd60e51b8152600401610a879190611835565b506000610cf48486611aa1565b95945050505050565b60195460009060ff1615610d1d57610d16848484611223565b905061087f565b601754610100900460ff16610db7576001600160a01b03841660009081526009602052604090205460ff1680610d6b57506001600160a01b03831660009081526009602052604090205460ff165b610db75760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610a87565b610dc18483611309565b6015546001600160a01b03848116911614801590610ded57506002546001600160a01b03848116911614155b15610e98576001600160a01b0383166000908152600a602052604090205460ff1680610e3e57506006546001600160a01b038416600090815260076020526040902054610e3b908490611a89565b11155b610e985760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610a87565b610ea0611372565b15610ead57610ead6113c1565b601654158015610eca57506015546001600160a01b038481169116145b15610efa576001600160a01b038416600090815260076020526040902054610ef157600080fd5b610efa43601655565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260079091529190912054610f4c918490610cc3565b6001600160a01b038516600090815260076020526040812091909155610f72858561170e565b610f7c5782610f87565b610f87858585611755565b6001600160a01b038516600090815260076020526040902054909150610fad90826110b0565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110019085815260200190565b60405180910390a3506001949350505050565b600061087f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cc3565b6000546001600160a01b031633146109b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a87565b6000806110bd8385611a89565b90508381101561087f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a87565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082600003611171575060006107aa565b600061117d8385611ab8565b90508261118a8583611a4e565b1461087f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a87565b600061087f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611807565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600790915291822054611274918490610cc3565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546112a390836110b0565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f79086815260200190565b60405180910390a35060019392505050565b6005548111158061133257506001600160a01b0382166000908152600a602052604090205460ff165b610c8c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610a87565b6015546000906001600160a01b03163314801590611393575060195460ff16155b80156113a1575060175460ff165b80156108d357505060185430600090815260076020526040902054101590565b6019805460ff1916600117905530600090815260076020526040812054905060006114026002610a19600f54610a19600b548761115f90919063ffffffff16565b905060006114108383611014565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061144a5761144a611ad7565b6001600160a01b039283166020918202929092010152600180548351921691839190811061147a5761147a611ad7565b6001600160a01b03928316602091820292909201015260145460405163791ac94760e01b81524792919091169063791ac947906114c4908690600090879030904290600401611aed565b600060405180830381600087803b1580156114de57600080fd5b505af11580156114f2573d6000803e3d6000fd5b50505050600061150b824761101490919063ffffffff16565b905060006115316115286002600b546111e190919063ffffffff16565b600f5490611014565b9050600061154e82610a19600c548661115f90919063ffffffff16565b9050600061156b83610a19600d548761115f90919063ffffffff16565b9050600061158884610a19600e548861115f90919063ffffffff16565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146115df576040519150601f19603f3d011682016040523d82523d6000602084013e6115e4565b606091505b50509050806116055760405162461bcd60e51b8152600401610a8790611b5e565b6012546040516000916001600160a01b03169061753090859084818181858888f193505050503d8060008114611657576040519150601f19603f3d011682016040523d82523d6000602084013e61165c565b606091505b505090508061167d5760405162461bcd60e51b8152600401610a8790611b5e565b6013546040516000916001600160a01b03169061753090889084818181858888f193505050503d80600081146116cf576040519150601f19603f3d011682016040523d82523d6000602084013e6116d4565b606091505b50509050806116f55760405162461bcd60e51b8152600401610a8790611b5e565b50506019805460ff191690555050505050505050505050565b6001600160a01b03821660009081526009602052604081205460ff168061174d57506001600160a01b03821660009081526009602052604090205460ff165b159392505050565b60105460155460009182916117879190610a1990611780906001600160a01b03898116911614610b90565b869061115f565b306000908152600760205260409020549091506117a490826110b0565b30600081815260076020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117f59085815260200190565b60405180910390a3610cf48382611014565b600081836118285760405162461bcd60e51b8152600401610a879190611835565b506000610cf48486611a4e565b600060208083528351808285015260005b8181101561186257858101830151858201604001528201611846565b81811115611874576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146118a157600080fd5b919050565b600080604083850312156118b957600080fd5b6118c28361188a565b946020939093013593505050565b600080604083850312156118e357600080fd5b50508035926020909101359150565b60008060006060848603121561190757600080fd5b6119108461188a565b925061191e6020850161188a565b9150604084013590509250925092565b60006020828403121561194057600080fd5b61087f8261188a565b60006020828403121561195b57600080fd5b5035919050565b803580151581146118a157600080fd5b6000806040838503121561198557600080fd5b61198e8361188a565b915061199c60208401611962565b90509250929050565b600080600080608085870312156119bb57600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156119ea57600080fd5b6119f38361188a565b915061199c6020840161188a565b60008060408385031215611a1457600080fd5b6118c283611962565b600060208284031215611a2f57600080fd5b61087f82611962565b634e487b7160e01b600052601160045260246000fd5b600082611a6b57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611a8257600080fd5b5051919050565b60008219821115611a9c57611a9c611a38565b500190565b600082821015611ab357611ab3611a38565b500390565b6000816000190483118215151615611ad257611ad2611a38565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b3d5784516001600160a01b031683529383019391830191600101611b18565b50506001600160a01b03969096166060850152505050608001529392505050565b6020808252601e908201527f72656365697665722072656a656374656420455448207472616e73666572000060408201526060019056fea2646970667358221220b5ca50c2e41eb6541768703e05293c4cb7a5b4ef6a20f11272892a7b464c8ccd64736f6c634300080f0033

Deployed Bytecode Sourcemap

14184:11171:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15638:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;15638:54:0;;;;;;;;16686:80;;;;;;;;;;-1:-1:-1;16758:5:0;;;;;;;;;;;;-1:-1:-1;;;16758:5:0;;;;16686:80;;;;;;;:::i;17109:216::-;;;;;;;;;;-1:-1:-1;17109:216:0;;;;;:::i;:::-;;:::i;:::-;;;1400:14:1;;1393:22;1375:41;;1363:2;1348:18;17109:216:0;1235:187:1;25134:150:0;;;;;;;;;;-1:-1:-1;25134:150:0;;;;;:::i;:::-;;:::i;16416:88::-;;;;;;;;;;-1:-1:-1;16489:12:0;;16416:88;;17627:370;;;;;;;;;;-1:-1:-1;17627:370:0;;;;;:::i;:::-;;:::i;24809:142::-;;;;;;;;;;;;;:::i;16510:80::-;;;;;;;;;;-1:-1:-1;16510:80:0;;14568:2;2155:36:1;;2143:2;2128:18;16510:80:0;2013:184:1;14914:44:0;;;;;;;;;;-1:-1:-1;14914:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17333:122;;;;;;;;;;-1:-1:-1;17333:122:0;;;;;:::i;:::-;;:::i;23000:146::-;;;;;;;;;;-1:-1:-1;23000:146:0;;;;;:::i;:::-;;:::i;:::-;;23153:151;;;;;;;;;;-1:-1:-1;23153:151:0;;;;;:::i;:::-;;:::i;23316:121::-;;;;;;;;;;-1:-1:-1;23316:121:0;;;;;:::i;:::-;;:::i;15559:30::-;;;;;;;;;;-1:-1:-1;15559:30:0;;;;;;;;23582:332;;;;;;;;;;-1:-1:-1;23582:332:0;;;;;:::i;:::-;;:::i;16857:105::-;;;;;;;;;;-1:-1:-1;16857:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;16941:18:0;16923:7;16941:18;;;:9;:18;;;;;;;16857:105;4079:103;;;;;;;;;;;;;:::i;14639:54::-;;;;;;;;;;;;;;;;16780:71;;;;;;;;;;-1:-1:-1;16823:7:0;3504:6;-1:-1:-1;;;;;3504:6:0;16780:71;;;-1:-1:-1;;;;;3556:32:1;;;3538:51;;3526:2;3511:18;16780:71:0;3392:203:1;20029:85:0;;;;;;;;;;;;;:::i;14965:48::-;;;;;;;;;;-1:-1:-1;14965:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3431:87;;;;;;;;;;-1:-1:-1;3477:7:0;3504:6;-1:-1:-1;;;;;3504:6:0;3431:87;;14714:56;;;;;;;;;;;;;;;;16596:84;;;;;;;;;;-1:-1:-1;16670:7:0;;;;;;;;;;;;-1:-1:-1;;;16670:7:0;;;;16596:84;;15497:19;;;;;;;;;;-1:-1:-1;15497:19:0;;;;-1:-1:-1;;;;;15497:19:0;;;17463:156;;;;;;;;;;-1:-1:-1;17463:156:0;;;;;:::i;:::-;;:::i;15596:33::-;;;;;;;;;;-1:-1:-1;15596:33:0;;;;;;;;;;;15525:25;;;;;;;;;;;;;;;;24959:167;;;;;;;;;;-1:-1:-1;24959:167:0;;;;;:::i;:::-;;:::i;24494:299::-;;;;;;;;;;-1:-1:-1;24494:299:0;;;;;:::i;:::-;;:::i;16968:133::-;;;;;;;;;;-1:-1:-1;16968:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;17070:19:0;;;17052:7;17070:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;16968:133;24140:157;;;;;;;;;;-1:-1:-1;24140:157:0;;;;;:::i;:::-;;:::i;23922:210::-;;;;;;;;;;-1:-1:-1;23922:210:0;;;;;:::i;:::-;;:::i;19796:225::-;;;;;;;;;;-1:-1:-1;19796:225:0;;;;;:::i;:::-;;:::i;4337:201::-;;;;;;;;;;-1:-1:-1;4337:201:0;;;;;:::i;:::-;;:::i;24305:181::-;;;;;;;;;;;;;:::i;23445:129::-;;;;;;;;;;-1:-1:-1;23445:129:0;;;;;:::i;:::-;;:::i;15458:32::-;;;;;;;;;;-1:-1:-1;15458:32:0;;;;-1:-1:-1;;;;;15458:32:0;;;17109:216;17213:10;17184:4;17201:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;17201:32:0;;;;;;;;;;:41;;;17258:37;17184:4;;17201:32;;17258:37;;;;17236:6;160:25:1;;148:2;133:18;;14:177;17258:37:0;;;;;;;;-1:-1:-1;17313:4:0;17109:216;;;;;:::o;25134:150::-;25214:4;25270:6;25238:29;25258:8;25238:19;:29::i;:::-;:38;;25134:150;-1:-1:-1;;;25134:150:0:o;17627:370::-;-1:-1:-1;;;;;17747:19:0;;17727:4;17747:19;;;:11;:19;;;;;;;;17767:10;17747:31;;;;;;;;-1:-1:-1;;17747:52:0;17744:186;;17849:69;;;;;;;;;;;-1:-1:-1;;;17849:69:0;;;;;;;;-1:-1:-1;;;;;17849:19:0;;-1:-1:-1;17849:19:0;;;:11;:19;;;;;17869:10;17849:31;;;;;;;;;;:69;;17885:6;;17849:35;:69::i;:::-;-1:-1:-1;;;;;17815:19:0;;;;;;:11;:19;;;;;;;;17835:10;17815:31;;;;;;;:103;17744:186;17949:40;17963:6;17971:9;17982:6;17949:13;:40::i;:::-;17942:47;;17627:370;;;;;;:::o;24809:142::-;24937:4;;-1:-1:-1;;;;;24937:4:0;24862:7;16941:18;;;:9;:18;;;;;;24889:54;;24916:4;;-1:-1:-1;;;;;24916:4:0;16923:7;16941:18;;;:9;:18;;;;;;24889:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;24882:61;;24809:142;:::o;17333:122::-;17388:4;17412:35;17420:7;-1:-1:-1;;17412:7:0;:35::i;23000:146::-;3317:13;:11;:13::i;:::-;23101:4:::1;23086:12;;:19;;;;:::i;:::-;23076:6;:29;;23068:38;;;::::0;::::1;;23117:12;:21:::0;23000:146::o;23153:151::-;3317:13;:11;:13::i;:::-;23256:4:::1;23241:12;;:19;;;;:::i;:::-;23231:6;:29;;23223:39;;;::::0;::::1;;23273:14;:23:::0;23153:151::o;23316:121::-;3317:13;:11;:13::i;:::-;-1:-1:-1;;;;;23401:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;23401:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23316:121::o;23582:332::-;3317:13;:11;:13::i;:::-;23716:7:::1;:18:::0;;;23745:12:::1;:28:::0;;;23784:6:::1;:16:::0;;;23823:40:::1;23760:13:::0;23823:21:::1;23793:7:::0;23726:8;23823:11:::1;:21::i;:::-;:25:::0;::::1;:40::i;:::-;23812:8;:51:::0;23874:14:::1;:32:::0;-1:-1:-1;;;23582:332:0:o;4079:103::-;3317:13;:11;:13::i;:::-;4144:30:::1;4171:1;4144:18;:30::i;:::-;4079:103::o:0;20029:85::-;3317:13;:11;:13::i;:::-;20086::::1;:20:::0;;-1:-1:-1;;20086:20:0::1;;;::::0;;20029:85::o;17463:156::-;17543:4;17567:44;17581:10;17593:9;17604:6;17567:13;:44::i;24959:167::-;25027:7;25054:64;25095:22;:20;:22::i;:::-;25077:4;;-1:-1:-1;;;;;25077:4:0;16923:7;16941:18;;;:9;:18;;;;;;25054:36;;25067:22;;25087:1;25067:19;:22::i;:::-;25054:8;;:12;:36::i;:::-;:40;;:64::i;24494:299::-;3317:13;:11;:13::i;:::-;24596:4:::1;-1:-1:-1::0;;;;;24578:23:0;::::1;::::0;24570:71:::1;;;::::0;-1:-1:-1;;;24570:71:0;;5094:2:1;24570:71:0::1;::::0;::::1;5076:21:1::0;5133:2;5113:18;;;5106:30;5172:34;5152:18;;;5145:62;-1:-1:-1;;;5223:18:1;;;5216:33;5266:19;;24570:71:0::1;;;;;;;;;24679:39;::::0;-1:-1:-1;;;24679:39:0;;24712:4:::1;24679:39;::::0;::::1;3538:51:1::0;24652:24:0::1;::::0;-1:-1:-1;;;;;24679:24:0;::::1;::::0;::::1;::::0;3511:18:1;;24679:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24737:20;::::0;24729:56:::1;::::0;24652:66;;-1:-1:-1;;;;;;24737:20:0::1;::::0;24729:56;::::1;;;::::0;24652:66;;24737:20:::1;24729:56:::0;24737:20;24729:56;24652:66;24737:20;24729:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;24559:234;24494:299:::0;:::o;24140:157::-;3317:13;:11;:13::i;:::-;24233:11:::1;:22:::0;;-1:-1:-1;;24233:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;24266:13:::1;:23:::0;24140:157::o;23922:210::-;3317:13;:11;:13::i;:::-;24035:20:::1;:44:::0;;-1:-1:-1;;;;;24035:44:0;;::::1;-1:-1:-1::0;;;;;;24035:44:0;;::::1;;::::0;;;24090:15:::1;:34:::0;;;;;::::1;::::0;::::1;;::::0;;23922:210::o;19796:225::-;19852:7;19893:12;19875:10;;19888:1;19875:14;;;;:::i;:::-;:30;19872:67;;19915:14;;:21;;19934:1;19915:18;:21::i;19872:67::-;19952:7;19949:39;;;19970:8;;:15;;19983:1;19970:12;:15::i;19949:39::-;-1:-1:-1;;20005:8:0;;;19796:225::o;4337:201::-;3317:13;:11;:13::i;:::-;-1:-1:-1;;;;;4426:22:0;::::1;4418:73;;;::::0;-1:-1:-1;;;4418:73:0;;5820:2:1;4418:73:0::1;::::0;::::1;5802:21:1::0;5859:2;5839:18;;;5832:30;5898:34;5878:18;;;5871:62;-1:-1:-1;;;5949:18:1;;;5942:36;5995:19;;4418:73:0::1;5618:402:1::0;4418:73:0::1;4502:28;4521:8;4502:18;:28::i;:::-;4337:201:::0;:::o;24305:181::-;3317:13;:11;:13::i;:::-;24428:20:::1;::::0;24420:58:::1;::::0;24388:21:::1;::::0;-1:-1:-1;;;;;24428:20:0::1;::::0;24420:58;::::1;;;::::0;24388:21;;24359:26:::1;24420:58:::0;24359:26;24420:58;24388:21;24428:20;24420:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;24348:138;24305:181::o:0;23445:129::-;3317:13;:11;:13::i;:::-;-1:-1:-1;;;;;23534:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;23534:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23445:129::o;716:192::-;802:7;838:12;830:6;;;;822:29;;;;-1:-1:-1;;;822:29:0;;;;;;;;:::i;:::-;-1:-1:-1;862:9:0;874:5;878:1;874;:5;:::i;:::-;862:17;716:192;-1:-1:-1;;;;;716:192:0:o;18005:1094::-;18117:6;;18097:4;;18117:6;;18114:63;;;18133:41;18148:6;18156:9;18167:6;18133:14;:41::i;:::-;18126:48;;;;18114:63;18193:13;;;;;;;18189:129;;-1:-1:-1;;;;;18230:19:0;;;;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;18253:22:0;;;;;;:11;:22;;;;;;;;18230:45;18222:84;;;;-1:-1:-1;;;18222:84:0;;6357:2:1;18222:84:0;;;6339:21:1;6396:2;6376:18;;;6369:30;6435:28;6415:18;;;6408:56;6481:18;;18222:84:0;6155:350:1;18222:84:0;18338:28;18351:6;18359;18338:12;:28::i;:::-;18404:4;;-1:-1:-1;;;;;18391:17:0;;;18404:4;;18391:17;;;;:38;;-1:-1:-1;18425:4:0;;-1:-1:-1;;;;;18412:17:0;;;18425:4;;18412:17;;18391:38;18387:198;;;-1:-1:-1;;;;;18454:26:0;;;;;;:15;:26;;;;;;;;;:77;;-1:-1:-1;18517:14:0;;-1:-1:-1;;;;;18484:20:0;;;;;;:9;:20;;;;;;:29;;18507:6;;18484:29;:::i;:::-;:47;;18454:77;18446:127;;;;-1:-1:-1;;;18446:127:0;;6712:2:1;18446:127:0;;;6694:21:1;6751:2;6731:18;;;6724:30;6790:34;6770:18;;;6763:62;-1:-1:-1;;;6841:18:1;;;6834:35;6886:19;;18446:127:0;6510:401:1;18446:127:0;18608:16;:14;:16::i;:::-;18605:35;;;18627:10;:8;:10::i;:::-;22890;;:15;;;18655:32;;-1:-1:-1;18683:4:0;;-1:-1:-1;;;;;18670:17:0;;;18683:4;;18670:17;18655:32;18652:81;;;-1:-1:-1;;;;;18698:17:0;;18718:1;18698:17;;;:9;:17;;;;;;18690:30;;;;;;18722:8;22972:12;22959:10;:25;22921:71;18722:8;18765:53;;;;;;;;;;;-1:-1:-1;;;18765:53:0;;;;;;;;-1:-1:-1;;;;;18765:17:0;;-1:-1:-1;18765:17:0;;;:9;:17;;;;;;;;:53;;18787:6;;18765:21;:53::i;:::-;-1:-1:-1;;;;;18745:17:0;;;;;;:9;:17;;;;;:73;;;;18856:32;18755:6;18878:9;18856:13;:32::i;:::-;:78;;18928:6;18856:78;;;18891:34;18899:6;18907:9;18918:6;18891:7;:34::i;:::-;-1:-1:-1;;;;;18968:20:0;;;;;;:9;:20;;;;;;18831:103;;-1:-1:-1;18968:40:0;;18831:103;18968:24;:40::i;:::-;-1:-1:-1;;;;;18945:20:0;;;;;;;:9;:20;;;;;;;:63;;;;19026:43;;;;;;;;;;19054:14;160:25:1;;148:2;133:18;;14:177;19026:43:0;;;;;;;;-1:-1:-1;19087:4:0;;18005:1094;-1:-1:-1;;;;18005:1094:0:o;574:136::-;632:7;659:43;663:1;666;659:43;;;;;;;;;;;;;;;;;:3;:43::i;3596:132::-;3477:7;3504:6;-1:-1:-1;;;;;3504:6:0;2727:10;3660:23;3652:68;;;;-1:-1:-1;;;3652:68:0;;7118:2:1;3652:68:0;;;7100:21:1;;;7137:18;;;7130:30;7196:34;7176:18;;;7169:62;7248:18;;3652:68:0;6916:356:1;387:181:0;445:7;;477:5;481:1;477;:5;:::i;:::-;465:17;;506:1;501;:6;;493:46;;;;-1:-1:-1;;;493:46:0;;7479:2:1;493:46:0;;;7461:21:1;7518:2;7498:18;;;7491:30;7557:29;7537:18;;;7530:57;7604:18;;493:46:0;7277:351:1;4698:191:0;4772:16;4791:6;;-1:-1:-1;;;;;4808:17:0;;;-1:-1:-1;;;;;;4808:17:0;;;;;;4841:40;;4791:6;;;;;;;4841:40;;4772:16;4841:40;4761:128;4698:191;:::o;914:250::-;972:7;996:1;1001;996:6;992:47;;-1:-1:-1;1026:1:0;1019:8;;992:47;1051:9;1063:5;1067:1;1063;:5;:::i;:::-;1051:17;-1:-1:-1;1096:1:0;1087:5;1091:1;1051:17;1087:5;:::i;:::-;:10;1079:56;;;;-1:-1:-1;;;1079:56:0;;8008:2:1;1079:56:0;;;7990:21:1;8047:2;8027:18;;;8020:30;8086:34;8066:18;;;8059:62;-1:-1:-1;;;8137:18:1;;;8130:31;8178:19;;1079:56:0;7806:397:1;1170:132:0;1228:7;1255:39;1259:1;1262;1255:39;;;;;;;;;;;;;;;;;:3;:39::i;19111:330::-;19241:53;;;;;;;;;;;-1:-1:-1;;;19241:53:0;;;;;;;;-1:-1:-1;;;;;19241:17:0;;19204:4;19241:17;;;:9;:17;;;;;;;:53;;19263:6;;19241:21;:53::i;:::-;-1:-1:-1;;;;;19221:17:0;;;;;;;:9;:17;;;;;;:73;;;;19328:20;;;;;;;:32;;19353:6;19328:24;:32::i;:::-;-1:-1:-1;;;;;19305:20:0;;;;;;;:9;:20;;;;;;;:55;;;;19376:35;;;;;;;;;;19404:6;160:25:1;;148:2;133:18;;14:177;19376:35:0;;;;;;;;-1:-1:-1;19429:4:0;19111:330;;;;;:::o;19449:166::-;19546:12;;19536:6;:22;;:49;;;-1:-1:-1;;;;;;19562:23:0;;;;;;:15;:23;;;;;;;;19536:49;19528:79;;;;-1:-1:-1;;;19528:79:0;;8410:2:1;19528:79:0;;;8392:21:1;8449:2;8429:18;;;8422:30;-1:-1:-1;;;8468:18:1;;;8461:47;8525:18;;19528:79:0;8208:341:1;20502:197:0;20589:4;;20551;;-1:-1:-1;;;;;20589:4:0;20575:10;:18;;;;:38;;-1:-1:-1;20607:6:0;;;;20606:7;20575:38;:62;;;;-1:-1:-1;20626:11:0;;;;20575:62;:116;;;;-1:-1:-1;;20678:13:0;;20668:4;20650:24;;;;:9;:24;;;;;;:41;;;20502:197::o;20707:1739::-;15746:6;:13;;-1:-1:-1;;15746:13:0;15755:4;15746:13;;;20805:4:::1;-1:-1:-1::0;16941:18:0;;;:9;:18;;;;;;20756:55:::1;;20822:23;20848:59;20905:1;20848:52;20891:8;;20848:38;20873:12;;20848:20;:24;;:38;;;;:::i;:59::-;20822:85:::0;-1:-1:-1;20918:20:0::1;20941:41;:20:::0;20822:85;20941:24:::1;:41::i;:::-;21019:16;::::0;;21033:1:::1;21019:16:::0;;;;;::::1;::::0;;20918:64;;-1:-1:-1;20995:21:0::1;::::0;21019:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;21019:16:0::1;20995:40;;21064:4;21046;21051:1;21046:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21046:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;21090:4:::1;::::0;;21080:7;;21090:4;::::1;::::0;21080;;21090;21080:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;21080:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;21165:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;21165:188:0;;21131:21:::1;::::0;21165:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;21237:12;;21107:21:::1;::::0;21280:4;;21307::::1;::::0;21327:15:::1;::::0;21165:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;21364:17;21384:40;21410:13;21384:21;:25;;:40;;;;:::i;:::-;21364:60;;21435:19;21457:33;21470:19;21487:1;21470:12;;:16;;:19;;;;:::i;:::-;21457:8;::::0;;:12:::1;:33::i;:::-;21435:55;;21594:28;21625:39;21652:11;21625:22;21639:7;;21625:9;:13;;:22;;;;:::i;:39::-;21594:70;;21675:26;21704:44;21736:11;21704:27;21718:12;;21704:9;:13;;:27;;;;:::i;:44::-;21675:73;;21759:20;21782:38;21808:11;21782:21;21796:6;;21782:9;:13;;:21;;;;:::i;:38::-;21896:20;::::0;21888:77:::1;::::0;21759:61;;-1:-1:-1;21838:21:0::1;::::0;-1:-1:-1;;;;;21896:20:0;;::::1;::::0;21955:5:::1;::::0;21930:18;;21838:21;21888:77;21838:21;21888:77;21930:18;21896:20;21955:5;21888:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21837:128;;;21984:16;21976:59;;;;-1:-1:-1::0;;;21976:59:0::1;;;;;;;:::i;:::-;22101:14;::::0;22093:65:::1;::::0;22049:15:::1;::::0;-1:-1:-1;;;;;22101:14:0::1;::::0;22148:5:::1;::::0;22129:12;;22049:15;22093:65;22049:15;22093:65;22129:12;22101:14;22148:5;22093:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22048:110;;;22177:10;22169:53;;;;-1:-1:-1::0;;;22169:53:0::1;;;;;;;:::i;:::-;22296:15;::::0;22288:74:::1;::::0;22236:23:::1;::::0;-1:-1:-1;;;;;22296:15:0::1;::::0;22352:5:::1;::::0;22325:20;;22236:23;22288:74;22236:23;22288:74;22325:20;22296:15;22352:5;22288:74:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22235:127;;;22381:18;22373:61;;;;-1:-1:-1::0;;;22373:61:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;15764:6:0;:14;;-1:-1:-1;;15764:14:0;;;-1:-1:-1;;;;;;;;;;;20707:1739:0:o;19627:161::-;-1:-1:-1;;;;;19734:19:0;;19708:4;19734:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;19757:22:0;;;;;;:11;:22;;;;;;;;19734:45;19732:48;;19627:161;-1:-1:-1;;;19627:161:0:o;20122:372::-;20293:14;;20282:4;;20207:7;;;;20247:61;;20293:14;20247:41;;20258:29;;-1:-1:-1;;;;;20270:16:0;;;20282:4;;20270:16;20258:11;:29::i;:::-;20247:6;;:10;:41::i;:61::-;20366:4;20348:24;;;;:9;:24;;;;;;20227:81;;-1:-1:-1;20348:39:0;;20227:81;20348:28;:39::i;:::-;20339:4;20321:24;;;;:9;:24;;;;;;;:66;;;;20403:42;;-1:-1:-1;;;;;20403:42:0;;;;;;;20435:9;160:25:1;;148:2;133:18;;14:177;20403:42:0;;;;;;;;20465:21;:6;20476:9;20465:10;:21::i;1308:345::-;1394:7;1496:12;1489:5;1481:28;;;;-1:-1:-1;;;1481:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1520:9:0;1532:5;1536:1;1532;:5;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:173::-;866:20;;-1:-1:-1;;;;;915:31:1;;905:42;;895:70;;961:1;958;951:12;895:70;798:173;;;:::o;976:254::-;1044:6;1052;1105:2;1093:9;1084:7;1080:23;1076:32;1073:52;;;1121:1;1118;1111:12;1073:52;1144:29;1163:9;1144:29;:::i;:::-;1134:39;1220:2;1205:18;;;;1192:32;;-1:-1:-1;;;976:254:1:o;1427:248::-;1495:6;1503;1556:2;1544:9;1535:7;1531:23;1527:32;1524:52;;;1572:1;1569;1562:12;1524:52;-1:-1:-1;;1595:23:1;;;1665:2;1650:18;;;1637:32;;-1:-1:-1;1427:248:1:o;1680:328::-;1757:6;1765;1773;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1865:29;1884:9;1865:29;:::i;:::-;1855:39;;1913:38;1947:2;1936:9;1932:18;1913:38;:::i;:::-;1903:48;;1998:2;1987:9;1983:18;1970:32;1960:42;;1680:328;;;;;:::o;2202:186::-;2261:6;2314:2;2302:9;2293:7;2289:23;2285:32;2282:52;;;2330:1;2327;2320:12;2282:52;2353:29;2372:9;2353:29;:::i;2393:180::-;2452:6;2505:2;2493:9;2484:7;2480:23;2476:32;2473:52;;;2521:1;2518;2511:12;2473:52;-1:-1:-1;2544:23:1;;2393:180;-1:-1:-1;2393:180:1:o;2578:160::-;2643:20;;2699:13;;2692:21;2682:32;;2672:60;;2728:1;2725;2718:12;2743:254;2808:6;2816;2869:2;2857:9;2848:7;2844:23;2840:32;2837:52;;;2885:1;2882;2875:12;2837:52;2908:29;2927:9;2908:29;:::i;:::-;2898:39;;2956:35;2987:2;2976:9;2972:18;2956:35;:::i;:::-;2946:45;;2743:254;;;;;:::o;3002:385::-;3088:6;3096;3104;3112;3165:3;3153:9;3144:7;3140:23;3136:33;3133:53;;;3182:1;3179;3172:12;3133:53;-1:-1:-1;;3205:23:1;;;3275:2;3260:18;;3247:32;;-1:-1:-1;3326:2:1;3311:18;;3298:32;;3377:2;3362:18;3349:32;;-1:-1:-1;3002:385:1;-1:-1:-1;3002:385:1:o;3600:260::-;3668:6;3676;3729:2;3717:9;3708:7;3704:23;3700:32;3697:52;;;3745:1;3742;3735:12;3697:52;3768:29;3787:9;3768:29;:::i;:::-;3758:39;;3816:38;3850:2;3839:9;3835:18;3816:38;:::i;3865:248::-;3930:6;3938;3991:2;3979:9;3970:7;3966:23;3962:32;3959:52;;;4007:1;4004;3997:12;3959:52;4030:26;4046:9;4030:26;:::i;4118:180::-;4174:6;4227:2;4215:9;4206:7;4202:23;4198:32;4195:52;;;4243:1;4240;4233:12;4195:52;4266:26;4282:9;4266:26;:::i;4538:127::-;4599:10;4594:3;4590:20;4587:1;4580:31;4630:4;4627:1;4620:15;4654:4;4651:1;4644:15;4670:217;4710:1;4736;4726:132;;4780:10;4775:3;4771:20;4768:1;4761:31;4815:4;4812:1;4805:15;4843:4;4840:1;4833:15;4726:132;-1:-1:-1;4872:9:1;;4670:217::o;5296:184::-;5366:6;5419:2;5407:9;5398:7;5394:23;5390:32;5387:52;;;5435:1;5432;5425:12;5387:52;-1:-1:-1;5458:16:1;;5296:184;-1:-1:-1;5296:184:1:o;5485:128::-;5525:3;5556:1;5552:6;5549:1;5546:13;5543:39;;;5562:18;;:::i;:::-;-1:-1:-1;5598:9:1;;5485:128::o;6025:125::-;6065:4;6093:1;6090;6087:8;6084:34;;;6098:18;;:::i;:::-;-1:-1:-1;6135:9:1;;6025:125::o;7633:168::-;7673:7;7739:1;7735;7731:6;7727:14;7724:1;7721:21;7716:1;7709:9;7702:17;7698:45;7695:71;;;7746:18;;:::i;:::-;-1:-1:-1;7786:9:1;;7633:168::o;8686:127::-;8747:10;8742:3;8738:20;8735:1;8728:31;8778:4;8775:1;8768:15;8802:4;8799:1;8792:15;8818:980;9080:4;9128:3;9117:9;9113:19;9159:6;9148:9;9141:25;9185:2;9223:6;9218:2;9207:9;9203:18;9196:34;9266:3;9261:2;9250:9;9246:18;9239:31;9290:6;9325;9319:13;9356:6;9348;9341:22;9394:3;9383:9;9379:19;9372:26;;9433:2;9425:6;9421:15;9407:29;;9454:1;9464:195;9478:6;9475:1;9472:13;9464:195;;;9543:13;;-1:-1:-1;;;;;9539:39:1;9527:52;;9634:15;;;;9599:12;;;;9575:1;9493:9;9464:195;;;-1:-1:-1;;;;;;;9715:32:1;;;;9710:2;9695:18;;9688:60;-1:-1:-1;;;9779:3:1;9764:19;9757:35;9676:3;8818:980;-1:-1:-1;;;8818:980:1:o;10013:354::-;10215:2;10197:21;;;10254:2;10234:18;;;10227:30;10293:32;10288:2;10273:18;;10266:60;10358:2;10343:18;;10013:354::o

Swarm Source

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