ETH Price: $2,360.21 (+2.05%)
 

Overview

Max Total Supply

1,000,000 HOMER

Holders

59

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Homer3DWorld

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2023-06-03
*/

/*

Immerse yourself in the captivating realm of Homer 3D World,
where realistic gameplay merges with boundless potential for growth.
Step into a new era of virtual reality, where every gaming moment
comes to life with stunning detail. Join us, for achieve extraordinary:

Telegram: https://t.me/HOMER3D_ETH
Website: https://homer3deth.xyz/
Game: https://homer3deth.xyz/app/

*/

//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.7;

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

    function transfer(address recipient, uint256 amount) external returns (bool);

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _tokengeneration(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: generation to the zero address");

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

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, 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");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

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

        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

contract Homer3DWorld is ERC20, Ownable {
    using Address for address payable;

    IRouter public router;
    address public pair;

    bool private _liquidityMutex = false;
    bool public providingLiquidity = false;
    bool public tradingEnabled = false;

    uint256 public tokenLiquidityThreshold = 20_000 * 10**18;
    uint256 public maxBuyLimit = 20_000 * 10**18;
    uint256 public maxSellLimit = 20_000 * 10**18;
    uint256 public maxWalletLimit = 20_000 * 10**18;

    uint256 public genesis_block;
    uint256 private deadline = 1;
    uint256 private launchtax = 99;

    address public marketingWallet = 0x31E6e258DA72e0514aCe8ebB76dF85f4E9Bb7682;
    address public devWallet = 0xc7d6759dde703dF0EA15Dd0e0Fa104f754dc35D2;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;

    struct Taxes {
        uint256 marketing;
        uint256 liquidity;
        uint256 dev;
    }

    Taxes public taxes = Taxes(0, 0, 0);
    Taxes public sellTaxes = Taxes(0, 0, 0);

    mapping(address => bool) public exemptFee;

    //Anti Dump
    mapping(address => uint256) private _lastSell;
    bool public coolDownEnabled = true;
    uint256 public coolDownTime = 60 seconds;

    modifier mutexLock() {
        if (!_liquidityMutex) {
            _liquidityMutex = true;
            _;
            _liquidityMutex = false;
        }
    }

    constructor(address routerAdd) ERC20("Homer 3D World", "HOMER") {
        _tokengeneration(msg.sender, 1e6 * 10**decimals());
        exemptFee[msg.sender] = true;

        IRouter _router = IRouter(routerAdd);
        // Create a uniswap pair for this new token
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;
        exemptFee[address(this)] = true;
        exemptFee[marketingWallet] = true;
        exemptFee[devWallet] = true;
        exemptFee[deadWallet] = true;

    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        override
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

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

    ////////////////////////
    // Transfer Functions //
    ////////////////////////

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");

        if (!exemptFee[sender] && !exemptFee[recipient]) {
            require(tradingEnabled, "Trading not enabled");
        }

        if (sender == pair && !exemptFee[recipient] && !_liquidityMutex) {
            require(amount <= maxBuyLimit, "You are exceeding maxBuyLimit");
            require(
                balanceOf(recipient) + amount <= maxWalletLimit,
                "You are exceeding maxWalletLimit"
            );
        }

        if (
            sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_liquidityMutex
        ) {
            require(amount <= maxSellLimit, "You are exceeding maxSellLimit");
            if (recipient != pair) {
                require(
                    balanceOf(recipient) + amount <= maxWalletLimit,
                    "You are exceeding maxWalletLimit"
                );
            }
            if (coolDownEnabled) {
                uint256 timePassed = block.timestamp - _lastSell[sender];
                require(timePassed >= coolDownTime, "Cooldown enabled");
                _lastSell[sender] = block.timestamp;
            }
        }

        uint256 feeswap;
        uint256 feesum;
        uint256 fee;
        Taxes memory currentTaxes;

        bool useLaunchFee = !exemptFee[sender] &&
            !exemptFee[recipient] &&
            block.number < genesis_block + deadline;

        //set fee to zero if fees in contract are handled or exempted
        if (_liquidityMutex || exemptFee[sender] || exemptFee[recipient])
            fee = 0;

            //calculate fee
        else if (recipient == pair && !useLaunchFee) {
            feeswap =
                sellTaxes.liquidity +
                sellTaxes.marketing +
                sellTaxes.dev ;
            feesum = feeswap;
            currentTaxes = sellTaxes;
        } else if (!useLaunchFee) {
            feeswap =
                taxes.liquidity +
                taxes.marketing +
                taxes.dev;
            feesum = feeswap;
            currentTaxes = taxes;
        } else if (useLaunchFee) {
            feeswap = launchtax;
            feesum = launchtax;
        }

        fee = (amount * feesum) / 100;

        //send fees if threshold has been reached
        //don't do this on buys, breaks swap
        if (providingLiquidity && sender != pair) handle_fees(feeswap, currentTaxes);

        //rest to recipient
        super._transfer(sender, recipient, amount - fee);
        if (fee > 0) {
            //send the fee to the contract
            if (feeswap > 0) {
                uint256 feeAmount = (amount * feeswap) / 100;
                super._transfer(sender, address(this), feeAmount);
            }

        }
    }

    function handle_fees(uint256 feeswap, Taxes memory swapTaxes) private mutexLock {

        if(feeswap == 0){
            return;
        }

        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= tokenLiquidityThreshold) {
            if (tokenLiquidityThreshold > 1) {
                contractBalance = tokenLiquidityThreshold;
            }

            // Split the contract balance into halves
            uint256 denominator = feeswap * 2;
            uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) /
                denominator;
            uint256 toSwap = contractBalance - tokensToAddLiquidityWith;

            uint256 initialBalance = address(this).balance;

            swapTokensForETH(toSwap);

            uint256 deltaBalance = address(this).balance - initialBalance;
            uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity);
            uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity;

            if (ethToAddLiquidityWith > 0) {
                // Add liquidity to uniswap
                addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
            }

            uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing;
            if (marketingAmt > 0) {
                payable(marketingWallet).sendValue(marketingAmt);
            }

            uint256 devAmt = unitBalance * 2 * swapTaxes.dev;
            if (devAmt > 0) {
                payable(devWallet).sendValue(devAmt);
            }

        }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

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

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

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

    function updateMaxTxLimit(uint256 maxBuy, uint256 maxSell, uint256 maxWallet) external onlyOwner {
        require(maxBuy >= 1e3, "Cannot set max buy amount lower than 0.1%");
        require(maxSell >= 1e3, "Cannot set max sell amount lower than 0.1%");
        require(maxWallet >= 1e3, "Cannot set max wallet amount lower than 0.1%");
        maxBuyLimit = maxBuy * 10**decimals();
        maxSellLimit = maxSell * 10**decimals();
        maxWalletLimit = maxWallet * 10**decimals(); 
    }

    function updateLiquidityProvide(bool state) external onlyOwner {
        //update liquidity providing state
        providingLiquidity = state;
    }

    function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner {
        //update the treshhold
        tokenLiquidityThreshold = new_amount * 10**decimals();
    }

    function SetBuyTaxes(
        uint256 _marketing,
        uint256 _liquidity,
        uint256 _dev
    ) external onlyOwner {
        require((_marketing + _liquidity + _dev) <= 1, "Must keep fees at 1% or less");
        taxes = Taxes(_marketing, _liquidity, _dev);
    }

    function SetSellTaxes(
        uint256 _marketing,
        uint256 _liquidity,
        uint256 _dev
    ) external onlyOwner {
        require((_marketing + _liquidity + _dev) <= 1, "Must keep fees at 1% or less");
        sellTaxes = Taxes(_marketing, _liquidity, _dev);
    }

    function EnableTrading() external onlyOwner {
        require(!tradingEnabled, "Cannot re-enable trading");
        tradingEnabled = true;
        providingLiquidity = true;
        genesis_block = block.number;
    }

    function updatedeadline(uint256 _deadline) external onlyOwner {
        require(!tradingEnabled, "Can't change when trading has started");
        require(_deadline < 2,"Deadline should be less than 2 Blocks");
        deadline = _deadline;
    }

    // fallbacks
    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"routerAdd","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":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"SetBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"SetSellTaxes","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":[],"name":"coolDownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coolDownTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","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":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"providingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenLiquidityThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"},{"internalType":"uint256","name":"maxSell","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadline","type":"uint256"}],"name":"updatedeadline","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6007805462ffffff60a01b1916905569043c33c193756480000060088190556009819055600a819055600b556001600d8190556063600e55600f80546001600160a01b03199081167331e6e258da72e0514ace8ebb76df85f4e9bb7682179091556010805490911673c7d6759dde703df0ea15dd0e0fa104f754dc35d21790556000608081905260a081905260c081905260118190556012819055601381905561014060405260e0819052610100819052610120819052601481905560158190556016556019805460ff19169091179055603c601a55348015620000e257600080fd5b5060405162002a5638038062002a568339810160408190526200010591620005ee565b604080518082018252600e81526d121bdb595c880cd10815dbdc9b1960921b6020808301918252835180850190945260058452642427a6a2a960d91b908401528151919291620001589160039162000548565b5080516200016e90600490602084019062000548565b5050506200018b62000185620003fc60201b60201c565b62000400565b620001b3336200019e6012600a62000684565b620001ad90620f424062000745565b62000452565b336000908152601760209081526040808320805460ff19166001179055805163c45a015560e01b815290518493926001600160a01b0385169263c45a01559260048083019392829003018186803b1580156200020e57600080fd5b505afa15801562000223573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002499190620005ee565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620005ee565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200031657600080fd5b505af11580156200032b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003519190620005ee565b600680546001600160a01b03199081166001600160a01b0395861617909155600780549091169184169190911790555030600090815260176020526040808220805460ff199081166001908117909255600f548516845282842080548216831790556010549094168352908220805484168217905561dead9091527f43fedf50e12e5c047fbe3576d03ab50250348e9a6030f531ab6d4ce10f5b0303805490921617905550620007ba565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620004bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2067656e65726174696f6e20746f20746865207a65726f206164604482015264647265737360d81b606482015260840160405180910390fd5b8060026000828254620004cf919062000620565b90915550506001600160a01b03821660009081526020819052604081208054839290620004fe90849062000620565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054620005569062000767565b90600052602060002090601f0160209004810192826200057a5760008555620005c5565b82601f106200059557805160ff1916838001178555620005c5565b82800160010185558215620005c5579182015b82811115620005c5578251825591602001919060010190620005a8565b50620005d3929150620005d7565b5090565b5b80821115620005d35760008155600101620005d8565b6000602082840312156200060157600080fd5b81516001600160a01b03811681146200061957600080fd5b9392505050565b60008219821115620006365762000636620007a4565b500190565b600181815b808511156200067c578160001904821115620006605762000660620007a4565b808516156200066e57918102915b93841c939080029062000640565b509250929050565b60006200061960ff841683600082620006a0575060016200073f565b81620006af575060006200073f565b8160018114620006c85760028114620006d357620006f3565b60019150506200073f565b60ff841115620006e757620006e7620007a4565b50506001821b6200073f565b5060208310610133831016604e8410600b841016171562000718575081810a6200073f565b6200072483836200063b565b80600019048211156200073b576200073b620007a4565b0290505b92915050565b6000816000190483118215151615620007625762000762620007a4565b500290565b600181811c908216806200077c57607f821691505b602082108114156200079e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61228c80620007ca6000396000f3fe6080604052600436106102295760003560e01c8063728f8eea11610123578063c5d32bb2116100ab578063ee36e3591161006f578063ee36e35914610687578063f2fde38b146106a1578063f66895a3146106c1578063f887ea40146106e0578063fbe6324e1461070057600080fd5b8063c5d32bb2146105bb578063d2ce0db2146105eb578063dd62ed3e14610601578063e1b450ad14610647578063edaa11681461066757600080fd5b80638ea5220f116100f25780638ea5220f1461052657806395d89b4114610546578063a457c2d71461055b578063a8aa1b311461057b578063a9059cbb1461059b57600080fd5b8063728f8eea1461048057806375f0a874146104ba57806385141a77146104f25780638da5cb5b1461050857600080fd5b806339509351116101b1578063652e2f0411610175578063652e2f04146103f357806366a88d96146104095780636aa5b37f1461041f57806370a0823114610435578063715018a61461046b57600080fd5b8063395093511461035257806342b6fa11146103725780634a2b3b13146103925780634ada218b146103b25780634e736f22146103d357600080fd5b806318160ddd116101f857806318160ddd146102d65780631d97b7cd146102eb57806323b872dd14610300578063274a533c14610320578063313ce5671461033657600080fd5b806306fdde0314610235578063095ea7b3146102605780631340538f146102905780631675d802146102b257600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a610721565b6040516102579190611f81565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611ec0565b6107b3565b6040519015158152602001610257565b34801561029c57600080fd5b506102b06102ab366004611eec565b6107ca565b005b3480156102be57600080fd5b506102c860085481565b604051908152602001610257565b3480156102e257600080fd5b506002546102c8565b3480156102f757600080fd5b506102b061081b565b34801561030c57600080fd5b5061028061031b366004611e7f565b6108ba565b34801561032c57600080fd5b506102c8600c5481565b34801561034257600080fd5b5060405160128152602001610257565b34801561035e57600080fd5b5061028061036d366004611ec0565b61096b565b34801561037e57600080fd5b506102b061038d366004611f0e565b6109a2565b34801561039e57600080fd5b506102b06103ad366004611f27565b6109e8565b3480156103be57600080fd5b5060075461028090600160b01b900460ff1681565b3480156103df57600080fd5b506102b06103ee366004611f27565b610a9d565b3480156103ff57600080fd5b506102c8600a5481565b34801561041557600080fd5b506102c8600b5481565b34801561042b57600080fd5b506102c860095481565b34801561044157600080fd5b506102c8610450366004611e05565b6001600160a01b031660009081526020819052604090205490565b34801561047757600080fd5b506102b0610b52565b34801561048c57600080fd5b5060115460125460135461049f92919083565b60408051938452602084019290925290820152606001610257565b3480156104c657600080fd5b50600f546104da906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b3480156104fe57600080fd5b506104da61dead81565b34801561051457600080fd5b506005546001600160a01b03166104da565b34801561053257600080fd5b506010546104da906001600160a01b031681565b34801561055257600080fd5b5061024a610b88565b34801561056757600080fd5b50610280610576366004611ec0565b610b97565b34801561058757600080fd5b506007546104da906001600160a01b031681565b3480156105a757600080fd5b506102806105b6366004611ec0565b610c32565b3480156105c757600080fd5b506102806105d6366004611e05565b60176020526000908152604090205460ff1681565b3480156105f757600080fd5b506102c8601a5481565b34801561060d57600080fd5b506102c861061c366004611e46565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561065357600080fd5b506102b0610662366004611f27565b610c3f565b34801561067357600080fd5b506102b0610682366004611f0e565b610dea565b34801561069357600080fd5b506019546102809060ff1681565b3480156106ad57600080fd5b506102b06106bc366004611e05565b610edf565b3480156106cd57600080fd5b5060145460155460165461049f92919083565b3480156106ec57600080fd5b506006546104da906001600160a01b031681565b34801561070c57600080fd5b5060075461028090600160a81b900460ff1681565b606060038054610730906121da565b80601f016020809104026020016040519081016040528092919081815260200182805461075c906121da565b80156107a95780601f1061077e576101008083540402835291602001916107a9565b820191906000526020600020905b81548152906001019060200180831161078c57829003601f168201915b5050505050905090565b60006107c0338484610f7a565b5060015b92915050565b6005546001600160a01b031633146107fd5760405162461bcd60e51b81526004016107f490611fd6565b60405180910390fd5b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b031633146108455760405162461bcd60e51b81526004016107f490611fd6565b600754600160b01b900460ff161561089f5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e67000000000000000060448201526064016107f4565b6007805461ffff60a81b191661010160a81b17905543600c55565b60006108c784848461109e565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561094c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107f4565b610960853361095b86856121c3565b610f7a565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107c091859061095b90869061207c565b6005546001600160a01b031633146109cc5760405162461bcd60e51b81526004016107f490611fd6565b6109d86012600a6120f9565b6109e290826121a4565b60085550565b6005546001600160a01b03163314610a125760405162461bcd60e51b81526004016107f490611fd6565b600181610a1f848661207c565b610a29919061207c565b1115610a775760405162461bcd60e51b815260206004820152601c60248201527f4d757374206b6565702066656573206174203125206f72206c6573730000000060448201526064016107f4565b604080516060810182528481526020810184905201819052601192909255601255601355565b6005546001600160a01b03163314610ac75760405162461bcd60e51b81526004016107f490611fd6565b600181610ad4848661207c565b610ade919061207c565b1115610b2c5760405162461bcd60e51b815260206004820152601c60248201527f4d757374206b6565702066656573206174203125206f72206c6573730000000060448201526064016107f4565b604080516060810182528481526020810184905201819052601492909255601555601655565b6005546001600160a01b03163314610b7c5760405162461bcd60e51b81526004016107f490611fd6565b610b8660006116f2565b565b606060048054610730906121da565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610c195760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107f4565b610c28338561095b86856121c3565b5060019392505050565b60006107c033848461109e565b6005546001600160a01b03163314610c695760405162461bcd60e51b81526004016107f490611fd6565b6103e8831015610ccd5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b60648201526084016107f4565b6103e8821015610d325760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e312560b01b60648201526084016107f4565b6103e8811015610d995760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201526b6572207468616e20302e312560a01b60648201526084016107f4565b610da56012600a6120f9565b610daf90846121a4565b600955610dbe6012600a6120f9565b610dc890836121a4565b600a556012610dd890600a6120f9565b610de290826121a4565b600b55505050565b6005546001600160a01b03163314610e145760405162461bcd60e51b81526004016107f490611fd6565b600754600160b01b900460ff1615610e7c5760405162461bcd60e51b815260206004820152602560248201527f43616e2774206368616e6765207768656e2074726164696e6720686173207374604482015264185c9d195960da1b60648201526084016107f4565b60028110610eda5760405162461bcd60e51b815260206004820152602560248201527f446561646c696e652073686f756c64206265206c657373207468616e203220426044820152646c6f636b7360d81b60648201526084016107f4565b600d55565b6005546001600160a01b03163314610f095760405162461bcd60e51b81526004016107f490611fd6565b6001600160a01b038116610f6e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f4565b610f77816116f2565b50565b6001600160a01b038316610fdc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107f4565b6001600160a01b03821661103d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107f4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116111005760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107f4565b6001600160a01b03831660009081526017602052604090205460ff1615801561114257506001600160a01b03821660009081526017602052604090205460ff16155b1561119657600754600160b01b900460ff166111965760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016107f4565b6007546001600160a01b0384811691161480156111cc57506001600160a01b03821660009081526017602052604090205460ff16155b80156111e25750600754600160a01b900460ff16155b156112b4576009548111156112395760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d697400000060448201526064016107f4565b600b548161125c846001600160a01b031660009081526020819052604090205490565b611266919061207c565b11156112b45760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016107f4565b6007546001600160a01b038481169116148015906112eb57506001600160a01b03821660009081526017602052604090205460ff16155b801561131057506001600160a01b03831660009081526017602052604090205460ff16155b80156113265750600754600160a01b900460ff16155b1561149f57600a5481111561137d5760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d6974000060448201526064016107f4565b6007546001600160a01b0383811691161461140d57600b54816113b5846001600160a01b031660009081526020819052604090205490565b6113bf919061207c565b111561140d5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016107f4565b60195460ff161561149f576001600160a01b03831660009081526018602052604081205461143b90426121c3565b9050601a548110156114825760405162461bcd60e51b815260206004820152601060248201526f10dbdbdb191bdddb88195b98589b195960821b60448201526064016107f4565b506001600160a01b03831660009081526018602052604090204290555b60008060006114c860405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03871660009081526017602052604081205460ff1615801561150a57506001600160a01b03871660009081526017602052604090205460ff16155b80156115245750600d54600c54611521919061207c565b43105b600754909150600160a01b900460ff168061155757506001600160a01b03881660009081526017602052604090205460ff165b8061157a57506001600160a01b03871660009081526017602052604090205460ff165b156115885760009250611652565b6007546001600160a01b0388811691161480156115a3575080155b156115f3576016546014546015546115bb919061207c565b6115c5919061207c565b6040805160608101825260145481526015546020820152601654918101919091529095508594509150611652565b806116435760135460115460125461160b919061207c565b611615919061207c565b6040805160608101825260115481526012546020820152601354918101919091529095508594509150611652565b801561165257600e5494508493505b606461165e85886121a4565b6116689190612094565b600754909350600160a81b900460ff16801561169257506007546001600160a01b03898116911614155b156116a1576116a18583611744565b6116b588886116b0868a6121c3565b6118c2565b82156116e85784156116e857600060646116cf87896121a4565b6116d99190612094565b90506116e68930836118c2565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff166118be576007805460ff60a01b1916600160a01b17905581611772576118b0565b3060009081526020819052604090205460085481106118ae576001600854111561179b57506008545b60006117a88460026121a4565b90506000818460200151846117bd91906121a4565b6117c79190612094565b905060006117d582856121c3565b9050476117e182611a9a565b60006117ed82476121c3565b9050600087602001518661180191906121c3565b61180b9083612094565b9050600088602001518261181f91906121a4565b90508015611831576118318682611c03565b88516000906118418460026121a4565b61184b91906121a4565b9050801561186957600f54611869906001600160a01b031682611ce7565b60408a015160009061187c8560026121a4565b61188691906121a4565b905080156118a4576010546118a4906001600160a01b031682611ce7565b5050505050505050505b505b6007805460ff60a01b191690555b5050565b6001600160a01b0383166119265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107f4565b6001600160a01b0382166119885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107f4565b6001600160a01b03831660009081526020819052604090205481811015611a005760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107f4565b611a0a82826121c3565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611a4090849061207c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a8c91815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611acf57611acf61222b565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611b2357600080fd5b505afa158015611b37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5b9190611e29565b81600181518110611b6e57611b6e61222b565b6001600160a01b039283166020918202929092010152600654611b949130911684610f7a565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611bcd90859060009086903090429060040161200b565b600060405180830381600087803b158015611be757600080fd5b505af1158015611bfb573d6000803e3d6000fd5b505050505050565b600654611c1b9030906001600160a01b031684610f7a565b6006546001600160a01b031663f305d719823085600080611c446005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611ca757600080fd5b505af1158015611cbb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ce09190611f53565b5050505050565b80471015611d375760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016107f4565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611d84576040519150601f19603f3d011682016040523d82523d6000602084013e611d89565b606091505b5050905080611e005760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016107f4565b505050565b600060208284031215611e1757600080fd5b8135611e2281612241565b9392505050565b600060208284031215611e3b57600080fd5b8151611e2281612241565b60008060408385031215611e5957600080fd5b8235611e6481612241565b91506020830135611e7481612241565b809150509250929050565b600080600060608486031215611e9457600080fd5b8335611e9f81612241565b92506020840135611eaf81612241565b929592945050506040919091013590565b60008060408385031215611ed357600080fd5b8235611ede81612241565b946020939093013593505050565b600060208284031215611efe57600080fd5b81358015158114611e2257600080fd5b600060208284031215611f2057600080fd5b5035919050565b600080600060608486031215611f3c57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611f6857600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611fae57858101830151858201604001528201611f92565b81811115611fc0576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561205b5784516001600160a01b031683529383019391830191600101612036565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561208f5761208f612215565b500190565b6000826120b157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156120f15781600019048211156120d7576120d7612215565b808516156120e457918102915b93841c93908002906120bb565b509250929050565b6000611e2260ff841683600082612112575060016107c4565b8161211f575060006107c4565b8160018114612135576002811461213f5761215b565b60019150506107c4565b60ff84111561215057612150612215565b50506001821b6107c4565b5060208310610133831016604e8410600b841016171561217e575081810a6107c4565b61218883836120b6565b806000190482111561219c5761219c612215565b029392505050565b60008160001904831182151516156121be576121be612215565b500290565b6000828210156121d5576121d5612215565b500390565b600181811c908216806121ee57607f821691505b6020821081141561220f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610f7757600080fdfea2646970667358221220f57b5f0f346a54e30b658ec9be9b864c23133e45a1da40100166b4f3e95416a564736f6c634300080700330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063728f8eea11610123578063c5d32bb2116100ab578063ee36e3591161006f578063ee36e35914610687578063f2fde38b146106a1578063f66895a3146106c1578063f887ea40146106e0578063fbe6324e1461070057600080fd5b8063c5d32bb2146105bb578063d2ce0db2146105eb578063dd62ed3e14610601578063e1b450ad14610647578063edaa11681461066757600080fd5b80638ea5220f116100f25780638ea5220f1461052657806395d89b4114610546578063a457c2d71461055b578063a8aa1b311461057b578063a9059cbb1461059b57600080fd5b8063728f8eea1461048057806375f0a874146104ba57806385141a77146104f25780638da5cb5b1461050857600080fd5b806339509351116101b1578063652e2f0411610175578063652e2f04146103f357806366a88d96146104095780636aa5b37f1461041f57806370a0823114610435578063715018a61461046b57600080fd5b8063395093511461035257806342b6fa11146103725780634a2b3b13146103925780634ada218b146103b25780634e736f22146103d357600080fd5b806318160ddd116101f857806318160ddd146102d65780631d97b7cd146102eb57806323b872dd14610300578063274a533c14610320578063313ce5671461033657600080fd5b806306fdde0314610235578063095ea7b3146102605780631340538f146102905780631675d802146102b257600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a610721565b6040516102579190611f81565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611ec0565b6107b3565b6040519015158152602001610257565b34801561029c57600080fd5b506102b06102ab366004611eec565b6107ca565b005b3480156102be57600080fd5b506102c860085481565b604051908152602001610257565b3480156102e257600080fd5b506002546102c8565b3480156102f757600080fd5b506102b061081b565b34801561030c57600080fd5b5061028061031b366004611e7f565b6108ba565b34801561032c57600080fd5b506102c8600c5481565b34801561034257600080fd5b5060405160128152602001610257565b34801561035e57600080fd5b5061028061036d366004611ec0565b61096b565b34801561037e57600080fd5b506102b061038d366004611f0e565b6109a2565b34801561039e57600080fd5b506102b06103ad366004611f27565b6109e8565b3480156103be57600080fd5b5060075461028090600160b01b900460ff1681565b3480156103df57600080fd5b506102b06103ee366004611f27565b610a9d565b3480156103ff57600080fd5b506102c8600a5481565b34801561041557600080fd5b506102c8600b5481565b34801561042b57600080fd5b506102c860095481565b34801561044157600080fd5b506102c8610450366004611e05565b6001600160a01b031660009081526020819052604090205490565b34801561047757600080fd5b506102b0610b52565b34801561048c57600080fd5b5060115460125460135461049f92919083565b60408051938452602084019290925290820152606001610257565b3480156104c657600080fd5b50600f546104da906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b3480156104fe57600080fd5b506104da61dead81565b34801561051457600080fd5b506005546001600160a01b03166104da565b34801561053257600080fd5b506010546104da906001600160a01b031681565b34801561055257600080fd5b5061024a610b88565b34801561056757600080fd5b50610280610576366004611ec0565b610b97565b34801561058757600080fd5b506007546104da906001600160a01b031681565b3480156105a757600080fd5b506102806105b6366004611ec0565b610c32565b3480156105c757600080fd5b506102806105d6366004611e05565b60176020526000908152604090205460ff1681565b3480156105f757600080fd5b506102c8601a5481565b34801561060d57600080fd5b506102c861061c366004611e46565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561065357600080fd5b506102b0610662366004611f27565b610c3f565b34801561067357600080fd5b506102b0610682366004611f0e565b610dea565b34801561069357600080fd5b506019546102809060ff1681565b3480156106ad57600080fd5b506102b06106bc366004611e05565b610edf565b3480156106cd57600080fd5b5060145460155460165461049f92919083565b3480156106ec57600080fd5b506006546104da906001600160a01b031681565b34801561070c57600080fd5b5060075461028090600160a81b900460ff1681565b606060038054610730906121da565b80601f016020809104026020016040519081016040528092919081815260200182805461075c906121da565b80156107a95780601f1061077e576101008083540402835291602001916107a9565b820191906000526020600020905b81548152906001019060200180831161078c57829003601f168201915b5050505050905090565b60006107c0338484610f7a565b5060015b92915050565b6005546001600160a01b031633146107fd5760405162461bcd60e51b81526004016107f490611fd6565b60405180910390fd5b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b031633146108455760405162461bcd60e51b81526004016107f490611fd6565b600754600160b01b900460ff161561089f5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e67000000000000000060448201526064016107f4565b6007805461ffff60a81b191661010160a81b17905543600c55565b60006108c784848461109e565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561094c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107f4565b610960853361095b86856121c3565b610f7a565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107c091859061095b90869061207c565b6005546001600160a01b031633146109cc5760405162461bcd60e51b81526004016107f490611fd6565b6109d86012600a6120f9565b6109e290826121a4565b60085550565b6005546001600160a01b03163314610a125760405162461bcd60e51b81526004016107f490611fd6565b600181610a1f848661207c565b610a29919061207c565b1115610a775760405162461bcd60e51b815260206004820152601c60248201527f4d757374206b6565702066656573206174203125206f72206c6573730000000060448201526064016107f4565b604080516060810182528481526020810184905201819052601192909255601255601355565b6005546001600160a01b03163314610ac75760405162461bcd60e51b81526004016107f490611fd6565b600181610ad4848661207c565b610ade919061207c565b1115610b2c5760405162461bcd60e51b815260206004820152601c60248201527f4d757374206b6565702066656573206174203125206f72206c6573730000000060448201526064016107f4565b604080516060810182528481526020810184905201819052601492909255601555601655565b6005546001600160a01b03163314610b7c5760405162461bcd60e51b81526004016107f490611fd6565b610b8660006116f2565b565b606060048054610730906121da565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610c195760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107f4565b610c28338561095b86856121c3565b5060019392505050565b60006107c033848461109e565b6005546001600160a01b03163314610c695760405162461bcd60e51b81526004016107f490611fd6565b6103e8831015610ccd5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b60648201526084016107f4565b6103e8821015610d325760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e312560b01b60648201526084016107f4565b6103e8811015610d995760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201526b6572207468616e20302e312560a01b60648201526084016107f4565b610da56012600a6120f9565b610daf90846121a4565b600955610dbe6012600a6120f9565b610dc890836121a4565b600a556012610dd890600a6120f9565b610de290826121a4565b600b55505050565b6005546001600160a01b03163314610e145760405162461bcd60e51b81526004016107f490611fd6565b600754600160b01b900460ff1615610e7c5760405162461bcd60e51b815260206004820152602560248201527f43616e2774206368616e6765207768656e2074726164696e6720686173207374604482015264185c9d195960da1b60648201526084016107f4565b60028110610eda5760405162461bcd60e51b815260206004820152602560248201527f446561646c696e652073686f756c64206265206c657373207468616e203220426044820152646c6f636b7360d81b60648201526084016107f4565b600d55565b6005546001600160a01b03163314610f095760405162461bcd60e51b81526004016107f490611fd6565b6001600160a01b038116610f6e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f4565b610f77816116f2565b50565b6001600160a01b038316610fdc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107f4565b6001600160a01b03821661103d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107f4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116111005760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107f4565b6001600160a01b03831660009081526017602052604090205460ff1615801561114257506001600160a01b03821660009081526017602052604090205460ff16155b1561119657600754600160b01b900460ff166111965760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016107f4565b6007546001600160a01b0384811691161480156111cc57506001600160a01b03821660009081526017602052604090205460ff16155b80156111e25750600754600160a01b900460ff16155b156112b4576009548111156112395760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d697400000060448201526064016107f4565b600b548161125c846001600160a01b031660009081526020819052604090205490565b611266919061207c565b11156112b45760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016107f4565b6007546001600160a01b038481169116148015906112eb57506001600160a01b03821660009081526017602052604090205460ff16155b801561131057506001600160a01b03831660009081526017602052604090205460ff16155b80156113265750600754600160a01b900460ff16155b1561149f57600a5481111561137d5760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d6974000060448201526064016107f4565b6007546001600160a01b0383811691161461140d57600b54816113b5846001600160a01b031660009081526020819052604090205490565b6113bf919061207c565b111561140d5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016107f4565b60195460ff161561149f576001600160a01b03831660009081526018602052604081205461143b90426121c3565b9050601a548110156114825760405162461bcd60e51b815260206004820152601060248201526f10dbdbdb191bdddb88195b98589b195960821b60448201526064016107f4565b506001600160a01b03831660009081526018602052604090204290555b60008060006114c860405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03871660009081526017602052604081205460ff1615801561150a57506001600160a01b03871660009081526017602052604090205460ff16155b80156115245750600d54600c54611521919061207c565b43105b600754909150600160a01b900460ff168061155757506001600160a01b03881660009081526017602052604090205460ff165b8061157a57506001600160a01b03871660009081526017602052604090205460ff165b156115885760009250611652565b6007546001600160a01b0388811691161480156115a3575080155b156115f3576016546014546015546115bb919061207c565b6115c5919061207c565b6040805160608101825260145481526015546020820152601654918101919091529095508594509150611652565b806116435760135460115460125461160b919061207c565b611615919061207c565b6040805160608101825260115481526012546020820152601354918101919091529095508594509150611652565b801561165257600e5494508493505b606461165e85886121a4565b6116689190612094565b600754909350600160a81b900460ff16801561169257506007546001600160a01b03898116911614155b156116a1576116a18583611744565b6116b588886116b0868a6121c3565b6118c2565b82156116e85784156116e857600060646116cf87896121a4565b6116d99190612094565b90506116e68930836118c2565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff166118be576007805460ff60a01b1916600160a01b17905581611772576118b0565b3060009081526020819052604090205460085481106118ae576001600854111561179b57506008545b60006117a88460026121a4565b90506000818460200151846117bd91906121a4565b6117c79190612094565b905060006117d582856121c3565b9050476117e182611a9a565b60006117ed82476121c3565b9050600087602001518661180191906121c3565b61180b9083612094565b9050600088602001518261181f91906121a4565b90508015611831576118318682611c03565b88516000906118418460026121a4565b61184b91906121a4565b9050801561186957600f54611869906001600160a01b031682611ce7565b60408a015160009061187c8560026121a4565b61188691906121a4565b905080156118a4576010546118a4906001600160a01b031682611ce7565b5050505050505050505b505b6007805460ff60a01b191690555b5050565b6001600160a01b0383166119265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107f4565b6001600160a01b0382166119885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107f4565b6001600160a01b03831660009081526020819052604090205481811015611a005760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107f4565b611a0a82826121c3565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611a4090849061207c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a8c91815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611acf57611acf61222b565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611b2357600080fd5b505afa158015611b37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5b9190611e29565b81600181518110611b6e57611b6e61222b565b6001600160a01b039283166020918202929092010152600654611b949130911684610f7a565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611bcd90859060009086903090429060040161200b565b600060405180830381600087803b158015611be757600080fd5b505af1158015611bfb573d6000803e3d6000fd5b505050505050565b600654611c1b9030906001600160a01b031684610f7a565b6006546001600160a01b031663f305d719823085600080611c446005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611ca757600080fd5b505af1158015611cbb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ce09190611f53565b5050505050565b80471015611d375760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016107f4565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611d84576040519150601f19603f3d011682016040523d82523d6000602084013e611d89565b606091505b5050905080611e005760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016107f4565b505050565b600060208284031215611e1757600080fd5b8135611e2281612241565b9392505050565b600060208284031215611e3b57600080fd5b8151611e2281612241565b60008060408385031215611e5957600080fd5b8235611e6481612241565b91506020830135611e7481612241565b809150509250929050565b600080600060608486031215611e9457600080fd5b8335611e9f81612241565b92506020840135611eaf81612241565b929592945050506040919091013590565b60008060408385031215611ed357600080fd5b8235611ede81612241565b946020939093013593505050565b600060208284031215611efe57600080fd5b81358015158114611e2257600080fd5b600060208284031215611f2057600080fd5b5035919050565b600080600060608486031215611f3c57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611f6857600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611fae57858101830151858201604001528201611f92565b81811115611fc0576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561205b5784516001600160a01b031683529383019391830191600101612036565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561208f5761208f612215565b500190565b6000826120b157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156120f15781600019048211156120d7576120d7612215565b808516156120e457918102915b93841c93908002906120bb565b509250929050565b6000611e2260ff841683600082612112575060016107c4565b8161211f575060006107c4565b8160018114612135576002811461213f5761215b565b60019150506107c4565b60ff84111561215057612150612215565b50506001821b6107c4565b5060208310610133831016604e8410600b841016171561217e575081810a6107c4565b61218883836120b6565b806000190482111561219c5761219c612215565b029392505050565b60008160001904831182151516156121be576121be612215565b500290565b6000828210156121d5576121d5612215565b500390565b600181811c908216806121ee57607f821691505b6020821081141561220f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610f7757600080fdfea2646970667358221220f57b5f0f346a54e30b658ec9be9b864c23133e45a1da40100166b4f3e95416a564736f6c63430008070033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

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

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


Deployed Bytecode Sourcemap

11274:11216:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2397:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13300:161;;;;;;;;;;-1:-1:-1;13300:161:0;;;;;:::i;:::-;;:::i;:::-;;;3986:14:1;;3979:22;3961:41;;3949:2;3934:18;13300:161:0;3821:187:1;21028:152:0;;;;;;;;;;-1:-1:-1;21028:152:0;;;;;:::i;:::-;;:::i;:::-;;11550:56;;;;;;;;;;;;;;;;;;;14314:25:1;;;14302:2;14287:18;11550:56:0;14168:177:1;2775:108:0;;;;;;;;;;-1:-1:-1;2863:12:0;;2775:108;;21952:222;;;;;;;;;;;;;:::i;13469:448::-;;;;;;;;;;-1:-1:-1;13469:448:0;;;;;:::i;:::-;;:::i;11772:28::-;;;;;;;;;;;;;;;;2617:93;;;;;;;;;;-1:-1:-1;2617:93:0;;2700:2;15801:36:1;;15789:2;15774:18;2617:93:0;15659:184:1;13925:248:0;;;;;;;;;;-1:-1:-1;13925:248:0;;;;;:::i;:::-;;:::i;21188:177::-;;;;;;;;;;-1:-1:-1;21188:177:0;;;;;:::i;:::-;;:::i;21373:279::-;;;;;;;;;;-1:-1:-1;21373:279:0;;;;;:::i;:::-;;:::i;11507:34::-;;;;;;;;;;-1:-1:-1;11507:34:0;;;;-1:-1:-1;;;11507:34:0;;;;;;21660:284;;;;;;;;;;-1:-1:-1;21660:284:0;;;;;:::i;:::-;;:::i;11664:45::-;;;;;;;;;;;;;;;;11716:47;;;;;;;;;;;;;;;;11613:44;;;;;;;;;;;;;;;;2946:127;;;;;;;;;;-1:-1:-1;2946:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3047:18:0;3020:7;3047:18;;;;;;;;;;;;2946:127;9937:94;;;;;;;;;;;;;:::i;12234:35::-;;;;;;;;;;-1:-1:-1;12234:35:0;;;;;;;;;;;;;;;;15537:25:1;;;15593:2;15578:18;;15571:34;;;;15621:18;;;15614:34;15525:2;15510:18;12234:35:0;15335:319:1;11881:75:0;;;;;;;;;;-1:-1:-1;11881:75:0;;;;-1:-1:-1;;;;;11881:75:0;;;;;;-1:-1:-1;;;;;3165:32:1;;;3147:51;;3135:2;3120:18;11881:75:0;3001:203:1;12039:79:0;;;;;;;;;;;;12076:42;12039:79;;9714:87;;;;;;;;;;-1:-1:-1;9787:6:0;;-1:-1:-1;;;;;9787:6:0;9714:87;;11963:69;;;;;;;;;;-1:-1:-1;11963:69:0;;;;-1:-1:-1;;;;;11963:69:0;;;2505:104;;;;;;;;;;;;;:::i;14181:410::-;;;;;;;;;;-1:-1:-1;14181:410:0;;;;;:::i;:::-;;:::i;11391:19::-;;;;;;;;;;-1:-1:-1;11391:19:0;;;;-1:-1:-1;;;;;11391:19:0;;;14599:165;;;;;;;;;;-1:-1:-1;14599:165:0;;;;;:::i;:::-;;:::i;12324:41::-;;;;;;;;;;-1:-1:-1;12324:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12484:40;;;;;;;;;;;;;;;;3360:201;;;;;;;;;;-1:-1:-1;3360:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;3526:18:0;;;3494:7;3526:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3360:201;20520:500;;;;;;;;;;-1:-1:-1;20520:500:0;;;;;:::i;:::-;;:::i;22182:250::-;;;;;;;;;;-1:-1:-1;22182:250:0;;;;;:::i;:::-;;:::i;12443:34::-;;;;;;;;;;-1:-1:-1;12443:34:0;;;;;;;;10039:192;;;;;;;;;;-1:-1:-1;10039:192:0;;;;;:::i;:::-;;:::i;12276:39::-;;;;;;;;;;-1:-1:-1;12276:39:0;;;;;;;;;;;;11363:21;;;;;;;;;;-1:-1:-1;11363:21:0;;;;-1:-1:-1;;;;;11363:21:0;;;11462:38;;;;;;;;;;-1:-1:-1;11462:38:0;;;;-1:-1:-1;;;11462:38:0;;;;;;2397:100;2451:13;2484:5;2477:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2397:100;:::o;13300:161::-;13375:4;13392:39;572:10;13415:7;13424:6;13392:8;:39::i;:::-;-1:-1:-1;13449:4:0;13300:161;;;;;:::o;21028:152::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;;;;;;;;;21146:18:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;21146:26:0::1;-1:-1:-1::0;;;;21146:26:0;;::::1;::::0;;;::::1;::::0;;21028:152::o;21952:222::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;22016:14:::1;::::0;-1:-1:-1;;;22016:14:0;::::1;;;22015:15;22007:52;;;::::0;-1:-1:-1;;;22007:52:0;;10162:2:1;22007:52:0::1;::::0;::::1;10144:21:1::0;10201:2;10181:18;;;10174:30;10240:26;10220:18;;;10213:54;10284:18;;22007:52:0::1;9960:348:1::0;22007:52:0::1;22070:14;:21:::0;;-1:-1:-1;;;;22102:25:0;-1:-1:-1;;;22102:25:0;;;22154:12:::1;22138:13;:28:::0;21952:222::o;13469:448::-;13601:4;13618:36;13628:6;13636:9;13647:6;13618:9;:36::i;:::-;-1:-1:-1;;;;;13694:19:0;;13667:24;13694:19;;;:11;:19;;;;;;;;572:10;13694:33;;;;;;;;13746:26;;;;13738:79;;;;-1:-1:-1;;;13738:79:0;;10921:2:1;13738:79:0;;;10903:21:1;10960:2;10940:18;;;10933:30;10999:34;10979:18;;;10972:62;-1:-1:-1;;;11050:18:1;;;11043:38;11098:19;;13738:79:0;10719:404:1;13738:79:0;13828:57;13837:6;572:10;13859:25;13878:6;13859:16;:25;:::i;:::-;13828:8;:57::i;:::-;-1:-1:-1;13905:4:0;;13469:448;-1:-1:-1;;;;13469:448:0:o;13925:248::-;572:10;14041:4;14095:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14095:34:0;;;;;;;;;;14041:4;;14063:80;;14086:7;;14095:47;;14132:10;;14095:47;:::i;21188:177::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;21343:14:::1;2700:2:::0;21343::::1;:14;:::i;:::-;21330:27;::::0;:10;:27:::1;:::i;:::-;21304:23;:53:::0;-1:-1:-1;21188:177:0:o;21373:279::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;21556:1:::1;21547:4:::0;21521:23:::1;21534:10:::0;21521;:23:::1;:::i;:::-;:30;;;;:::i;:::-;21520:37;;21512:78;;;::::0;-1:-1:-1;;;21512:78:0;;9805:2:1;21512:78:0::1;::::0;::::1;9787:21:1::0;9844:2;9824:18;;;9817:30;9883;9863:18;;;9856:58;9931:18;;21512:78:0::1;9603:352:1::0;21512:78:0::1;21609:35;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;21601:5:::1;:43:::0;;;;;;;;21373:279::o;21660:284::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;21844:1:::1;21835:4:::0;21809:23:::1;21822:10:::0;21809;:23:::1;:::i;:::-;:30;;;;:::i;:::-;21808:37;;21800:78;;;::::0;-1:-1:-1;;;21800:78:0;;9805:2:1;21800:78:0::1;::::0;::::1;9787:21:1::0;9844:2;9824:18;;;9817:30;9883;9863:18;;;9856:58;9931:18;;21800:78:0::1;9603:352:1::0;21800:78:0::1;21901:35;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;21889:9:::1;:47:::0;;;;;;;;21660:284::o;9937:94::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;10002:21:::1;10020:1;10002:9;:21::i;:::-;9937:94::o:0;2505:104::-;2561:13;2594:7;2587:14;;;;;:::i;14181:410::-;572:10;14302:4;14351:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14351:34:0;;;;;;;;;;14404:35;;;;14396:85;;;;-1:-1:-1;;;14396:85:0;;13964:2:1;14396:85:0;;;13946:21:1;14003:2;13983:18;;;13976:30;14042:34;14022:18;;;14015:62;-1:-1:-1;;;14093:18:1;;;14086:35;14138:19;;14396:85:0;13762:401:1;14396:85:0;14492:67;572:10;14515:7;14524:34;14543:15;14524:16;:34;:::i;14492:67::-;-1:-1:-1;14579:4:0;;14181:410;-1:-1:-1;;;14181:410:0:o;14599:165::-;14677:4;14694:40;14704:10;14716:9;14727:6;14694:9;:40::i;20520:500::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;20646:3:::1;20636:6;:13;;20628:67;;;::::0;-1:-1:-1;;;20628:67:0;;9395:2:1;20628:67:0::1;::::0;::::1;9377:21:1::0;9434:2;9414:18;;;9407:30;9473:34;9453:18;;;9446:62;-1:-1:-1;;;9524:18:1;;;9517:39;9573:19;;20628:67:0::1;9193:405:1::0;20628:67:0::1;20725:3;20714:7;:14;;20706:69;;;::::0;-1:-1:-1;;;20706:69:0;;6612:2:1;20706:69:0::1;::::0;::::1;6594:21:1::0;6651:2;6631:18;;;6624:30;6690:34;6670:18;;;6663:62;-1:-1:-1;;;6741:18:1;;;6734:40;6791:19;;20706:69:0::1;6410:406:1::0;20706:69:0::1;20807:3;20794:9;:16;;20786:73;;;::::0;-1:-1:-1;;;20786:73:0;;7791:2:1;20786:73:0::1;::::0;::::1;7773:21:1::0;7830:2;7810:18;;;7803:30;7869:34;7849:18;;;7842:62;-1:-1:-1;;;7920:18:1;;;7913:42;7972:19;;20786:73:0::1;7589:408:1::0;20786:73:0::1;20893:14;2700:2:::0;20893::::1;:14;:::i;:::-;20884:23;::::0;:6;:23:::1;:::i;:::-;20870:11;:37:::0;20943:14:::1;2700:2:::0;20943::::1;:14;:::i;:::-;20933:24;::::0;:7;:24:::1;:::i;:::-;20918:12;:39:::0;2700:2;20997:14:::1;::::0;:2:::1;:14;:::i;:::-;20985:26;::::0;:9;:26:::1;:::i;:::-;20968:14;:43:::0;-1:-1:-1;;;20520:500:0:o;22182:250::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;22264:14:::1;::::0;-1:-1:-1;;;22264:14:0;::::1;;;22263:15;22255:65;;;::::0;-1:-1:-1;;;22255:65:0;;10515:2:1;22255:65:0::1;::::0;::::1;10497:21:1::0;10554:2;10534:18;;;10527:30;10593:34;10573:18;;;10566:62;-1:-1:-1;;;10644:18:1;;;10637:35;10689:19;;22255:65:0::1;10313:401:1::0;22255:65:0::1;22351:1;22339:9;:13;22331:62;;;::::0;-1:-1:-1;;;22331:62:0;;8631:2:1;22331:62:0::1;::::0;::::1;8613:21:1::0;8670:2;8650:18;;;8643:30;8709:34;8689:18;;;8682:62;-1:-1:-1;;;8760:18:1;;;8753:35;8805:19;;22331:62:0::1;8429:401:1::0;22331:62:0::1;22404:8;:20:::0;22182:250::o;10039:192::-;9787:6;;-1:-1:-1;;;;;9787:6:0;572:10;9849:23;9841:68;;;;-1:-1:-1;;;9841:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10128:22:0;::::1;10120:73;;;::::0;-1:-1:-1;;;10120:73:0;;5802:2:1;10120:73:0::1;::::0;::::1;5784:21:1::0;5841:2;5821:18;;;5814:30;5880:34;5860:18;;;5853:62;-1:-1:-1;;;5931:18:1;;;5924:36;5977:19;;10120:73:0::1;5600:402:1::0;10120:73:0::1;10204:19;10214:8;10204:9;:19::i;:::-;10039:192:::0;:::o;8614:380::-;-1:-1:-1;;;;;8750:19:0;;8742:68;;;;-1:-1:-1;;;8742:68:0;;13200:2:1;8742:68:0;;;13182:21:1;13239:2;13219:18;;;13212:30;13278:34;13258:18;;;13251:62;-1:-1:-1;;;13329:18:1;;;13322:34;13373:19;;8742:68:0;12998:400:1;8742:68:0;-1:-1:-1;;;;;8829:21:0;;8821:68;;;;-1:-1:-1;;;8821:68:0;;6209:2:1;8821:68:0;;;6191:21:1;6248:2;6228:18;;;6221:30;6287:34;6267:18;;;6260:62;-1:-1:-1;;;6338:18:1;;;6331:32;6380:19;;8821:68:0;6007:398:1;8821:68:0;-1:-1:-1;;;;;8902:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8954:32;;14314:25:1;;;8954:32:0;;14287:18:1;8954:32:0;;;;;;;8614:380;;;:::o;14864:2988::-;15014:1;15005:6;:10;14997:64;;;;-1:-1:-1;;;14997:64:0;;11691:2:1;14997:64:0;;;11673:21:1;11730:2;11710:18;;;11703:30;11769:34;11749:18;;;11742:62;-1:-1:-1;;;11820:18:1;;;11813:39;11869:19;;14997:64:0;11489:405:1;14997:64:0;-1:-1:-1;;;;;15079:17:0;;;;;;:9;:17;;;;;;;;15078:18;:43;;;;-1:-1:-1;;;;;;15101:20:0;;;;;;:9;:20;;;;;;;;15100:21;15078:43;15074:122;;;15146:14;;-1:-1:-1;;;15146:14:0;;;;15138:46;;;;-1:-1:-1;;;15138:46:0;;12101:2:1;15138:46:0;;;12083:21:1;12140:2;12120:18;;;12113:30;-1:-1:-1;;;12159:18:1;;;12152:49;12218:18;;15138:46:0;11899:343:1;15138:46:0;15222:4;;-1:-1:-1;;;;;15212:14:0;;;15222:4;;15212:14;:39;;;;-1:-1:-1;;;;;;15231:20:0;;;;;;:9;:20;;;;;;;;15230:21;15212:39;:59;;;;-1:-1:-1;15256:15:0;;-1:-1:-1;;;15256:15:0;;;;15255:16;15212:59;15208:311;;;15306:11;;15296:6;:21;;15288:63;;;;-1:-1:-1;;;15288:63:0;;5444:2:1;15288:63:0;;;5426:21:1;5483:2;5463:18;;;5456:30;5522:31;5502:18;;;5495:59;5571:18;;15288:63:0;5242:353:1;15288:63:0;15425:14;;15415:6;15392:20;15402:9;-1:-1:-1;;;;;3047:18:0;3020:7;3047:18;;;;;;;;;;;;2946:127;15392:20;:29;;;;:::i;:::-;:47;;15366:141;;;;-1:-1:-1;;;15366:141:0;;7430:2:1;15366:141:0;;;7412:21:1;;;7449:18;;;7442:30;7508:34;7488:18;;;7481:62;7560:18;;15366:141:0;7228:356:1;15366:141:0;15559:4;;-1:-1:-1;;;;;15549:14:0;;;15559:4;;15549:14;;;;:39;;-1:-1:-1;;;;;;15568:20:0;;;;;;:9;:20;;;;;;;;15567:21;15549:39;:61;;;;-1:-1:-1;;;;;;15593:17:0;;;;;;:9;:17;;;;;;;;15592:18;15549:61;:81;;;;-1:-1:-1;15615:15:0;;-1:-1:-1;;;15615:15:0;;;;15614:16;15549:81;15531:682;;;15675:12;;15665:6;:22;;15657:65;;;;-1:-1:-1;;;15657:65:0;;13605:2:1;15657:65:0;;;13587:21:1;13644:2;13624:18;;;13617:30;13683:32;13663:18;;;13656:60;13733:18;;15657:65:0;13403:354:1;15657:65:0;15754:4;;-1:-1:-1;;;;;15741:17:0;;;15754:4;;15741:17;15737:211;;15842:14;;15832:6;15809:20;15819:9;-1:-1:-1;;;;;3047:18:0;3020:7;3047:18;;;;;;;;;;;;2946:127;15809:20;:29;;;;:::i;:::-;:47;;15779:153;;;;-1:-1:-1;;;15779:153:0;;7430:2:1;15779:153:0;;;7412:21:1;;;7449:18;;;7442:30;7508:34;7488:18;;;7481:62;7560:18;;15779:153:0;7228:356:1;15779:153:0;15966:15;;;;15962:240;;;-1:-1:-1;;;;;16041:17:0;;16002:18;16041:17;;;:9;:17;;;;;;16023:35;;:15;:35;:::i;:::-;16002:56;;16099:12;;16085:10;:26;;16077:55;;;;-1:-1:-1;;;16077:55:0;;12449:2:1;16077:55:0;;;12431:21:1;12488:2;12468:18;;;12461:30;-1:-1:-1;;;12507:18:1;;;12500:46;12563:18;;16077:55:0;12247:340:1;16077:55:0;-1:-1:-1;;;;;;16151:17:0;;;;;;:9;:17;;;;;16171:15;16151:35;;15962:240;16225:15;16251:14;16276:11;16298:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;16298:25:0;-1:-1:-1;;;;;16357:17:0;;16336;16357;;;:9;:17;;;;;;;;16356:18;:56;;;;-1:-1:-1;;;;;;16392:20:0;;;;;;:9;:20;;;;;;;;16391:21;16356:56;:112;;;;;16460:8;;16444:13;;:24;;;;:::i;:::-;16429:12;:39;16356:112;16556:15;;16336:132;;-1:-1:-1;;;;16556:15:0;;;;;:36;;-1:-1:-1;;;;;;16575:17:0;;;;;;:9;:17;;;;;;;;16556:36;:60;;;-1:-1:-1;;;;;;16596:20:0;;;;;;:9;:20;;;;;;;;16556:60;16552:716;;;16637:1;16631:7;;16552:716;;;16702:4;;-1:-1:-1;;;;;16689:17:0;;;16702:4;;16689:17;:34;;;;;16711:12;16710:13;16689:34;16685:583;;;16845:13;;:9;16806:19;16767;;:58;;16806:19;16767:58;:::i;:::-;:91;;;;:::i;:::-;16905:24;;;;;;;;16920:9;16905:24;;;;;;;;;;;;;;;;;;16740:118;;-1:-1:-1;16740:118:0;;-1:-1:-1;16905:24:0;-1:-1:-1;16685:583:0;;;16952:12;16947:321;;17078:9;;:5;17043:15;17008;;:50;;17043:15;17008:50;:::i;:::-;:79;;;;:::i;:::-;17133:20;;;;;;;;17148:5;17133:20;;;;;;;;;;;;;;;;;;16981:106;;-1:-1:-1;16981:106:0;;-1:-1:-1;17133:20:0;-1:-1:-1;16947:321:0;;;17175:12;17171:97;;;17214:9;;;-1:-1:-1;17214:9:0;;-1:-1:-1;17171:97:0;17306:3;17287:15;17296:6;17287;:15;:::i;:::-;17286:23;;;;:::i;:::-;17423:18;;17280:29;;-1:-1:-1;;;;17423:18:0;;;;:36;;;;-1:-1:-1;17455:4:0;;-1:-1:-1;;;;;17445:14:0;;;17455:4;;17445:14;;17423:36;17419:76;;;17461:34;17473:7;17482:12;17461:11;:34::i;:::-;17537:48;17553:6;17561:9;17572:12;17581:3;17572:6;:12;:::i;:::-;17537:15;:48::i;:::-;17600:7;;17596:249;;17672:11;;17668:164;;17704:17;17745:3;17725:16;17734:7;17725:6;:16;:::i;:::-;17724:24;;;;:::i;:::-;17704:44;;17767:49;17783:6;17799:4;17806:9;17767:15;:49::i;:::-;17685:147;17668:164;14986:2866;;;;;14864:2988;;;:::o;10239:173::-;10314:6;;;-1:-1:-1;;;;;10331:17:0;;;-1:-1:-1;;;;;;10331:17:0;;;;;;;10364:40;;10314:6;;;10331:17;10314:6;;10364:40;;10295:16;;10364:40;10284:128;10239:173;:::o;17860:1605::-;12570:15;;-1:-1:-1;;;12570:15:0;;;;12565:125;;12602:15;:22;;-1:-1:-1;;;;12602:22:0;-1:-1:-1;;;12602:22:0;;;17956:12;17953:49:::1;;17984:7;;17953:49;18058:4;18014:23;3047:18:::0;;;;;;;;;;;18098:23:::1;::::0;18079:42;::::1;18075:1383;;18168:1;18142:23;;:27;18138:109;;;-1:-1:-1::0;18208:23:0::1;::::0;18138:109:::1;18318:19;18340:11;:7:::0;18350:1:::1;18340:11;:::i;:::-;18318:33;;18366:32;18460:11;18420:9;:19;;;18402:15;:37;;;;:::i;:::-;18401:70;;;;:::i;:::-;18366:105:::0;-1:-1:-1;18486:14:0::1;18503:42;18366:105:::0;18503:15;:42:::1;:::i;:::-;18486:59:::0;-1:-1:-1;18587:21:0::1;18625:24;18486:59:::0;18625:16:::1;:24::i;:::-;18666:20;18689:38;18713:14:::0;18689:21:::1;:38;:::i;:::-;18666:61;;18742:19;18794:9;:19;;;18780:11;:33;;;;:::i;:::-;18764:50;::::0;:12;:50:::1;:::i;:::-;18742:72;;18829:29;18875:9;:19;;;18861:11;:33;;;;:::i;:::-;18829:65:::0;-1:-1:-1;18915:25:0;;18911:172:::1;;19006:61;19019:24;19045:21;19006:12;:61::i;:::-;19140:19:::0;;19099:20:::1;::::0;19122:15:::1;:11:::0;19136:1:::1;19122:15;:::i;:::-;:37;;;;:::i;:::-;19099:60:::0;-1:-1:-1;19178:16:0;;19174:105:::1;;19223:15;::::0;19215:48:::1;::::0;-1:-1:-1;;;;;19223:15:0::1;19250:12:::0;19215:34:::1;:48::i;:::-;19330:13;::::0;::::1;::::0;19295:14:::1;::::0;19312:15:::1;:11:::0;19326:1:::1;19312:15;:::i;:::-;:31;;;;:::i;:::-;19295:48:::0;-1:-1:-1;19362:10:0;;19358:87:::1;;19401:9;::::0;19393:36:::1;::::0;-1:-1:-1;;;;;19401:9:0::1;19422:6:::0;19393:28:::1;:36::i;:::-;18123:1335;;;;;;;;;18075:1383;17940:1525;12639:1;12655:15:::0;:23;;-1:-1:-1;;;;12655:23:0;;;12565:125;17860:1605;;:::o;6399:638::-;-1:-1:-1;;;;;6539:20:0;;6531:70;;;;-1:-1:-1;;;6531:70:0;;12794:2:1;6531:70:0;;;12776:21:1;12833:2;12813:18;;;12806:30;12872:34;12852:18;;;12845:62;-1:-1:-1;;;12923:18:1;;;12916:35;12968:19;;6531:70:0;12592:401:1;6531:70:0;-1:-1:-1;;;;;6620:23:0;;6612:71;;;;-1:-1:-1;;;6612:71:0;;5040:2:1;6612:71:0;;;5022:21:1;5079:2;5059:18;;;5052:30;5118:34;5098:18;;;5091:62;-1:-1:-1;;;5169:18:1;;;5162:33;5212:19;;6612:71:0;4838:399:1;6612:71:0;-1:-1:-1;;;;;6780:17:0;;6756:21;6780:17;;;;;;;;;;;6816:23;;;;6808:74;;;;-1:-1:-1;;;6808:74:0;;7023:2:1;6808:74:0;;;7005:21:1;7062:2;7042:18;;;7035:30;7101:34;7081:18;;;7074:62;-1:-1:-1;;;7152:18:1;;;7145:36;7198:19;;6808:74:0;6821:402:1;6808:74:0;6913:22;6929:6;6913:13;:22;:::i;:::-;-1:-1:-1;;;;;6893:17:0;;;:9;:17;;;;;;;;;;;:42;;;;6946:20;;;;;;;;:30;;6970:6;;6893:9;6946:30;;6970:6;;6946:30;:::i;:::-;;;;;;;;7011:9;-1:-1:-1;;;;;6994:35:0;7003:6;-1:-1:-1;;;;;6994:35:0;;7022:6;6994:35;;;;14314:25:1;;14302:2;14287:18;;14168:177;6994:35:0;;;;;;;;6520:517;6399:638;;;:::o;19473:534::-;19623:16;;;19637:1;19623:16;;;;;;;;19599:21;;19623:16;;;;;;;;;;-1:-1:-1;19623:16:0;19599:40;;19668:4;19650;19655:1;19650:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19650:23:0;;;:7;;;;;;;;;;:23;;;;19694:6;;:13;;;-1:-1:-1;;;19694:13:0;;;;:6;;;;;:11;;:13;;;;;19650:7;;19694:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19684:4;19689:1;19684:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19684:23:0;;;:7;;;;;;;;;:23;19752:6;;19720:53;;19737:4;;19752:6;19761:11;19720:8;:53::i;:::-;19812:6;;:187;;-1:-1:-1;;;19812:187:0;;-1:-1:-1;;;;;19812:6:0;;;;:57;;:187;;19884:11;;19812:6;;19926:4;;19953;;19973:15;;19812:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:479;19473:534;:::o;20015:497::-;20195:6;;20163:53;;20180:4;;-1:-1:-1;;;;;20195:6:0;20204:11;20163:8;:53::i;:::-;20259:6;;-1:-1:-1;;;;;20259:6:0;:22;20290:9;20324:4;20344:11;20259:6;;20456:7;9787:6;;-1:-1:-1;;;;;9787:6:0;;9714:87;20456:7;20259:245;;;;;;-1:-1:-1;;;;;;20259:245:0;;;-1:-1:-1;;;;;3568:15:1;;;20259:245:0;;;3550:34:1;3600:18;;;3593:34;;;;3643:18;;;3636:34;;;;3686:18;;;3679:34;3750:15;;;3729:19;;;3722:44;20478:15:0;3782:19:1;;;3775:35;3484:19;;20259:245:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20015:497;;:::o;9157:319::-;9272:6;9247:21;:31;;9239:73;;;;-1:-1:-1;;;9239:73:0;;9037:2:1;9239:73:0;;;9019:21:1;9076:2;9056:18;;;9049:30;9115:31;9095:18;;;9088:59;9164:18;;9239:73:0;8835:353:1;9239:73:0;9326:12;9344:9;-1:-1:-1;;;;;9344:14:0;9367:6;9344:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9325:54;;;9398:7;9390:78;;;;-1:-1:-1;;;9390:78:0;;8204:2:1;9390:78:0;;;8186:21:1;8243:2;8223:18;;;8216:30;8282:34;8262:18;;;8255:62;8353:28;8333:18;;;8326:56;8399:19;;9390:78:0;8002:422:1;9390:78:0;9228:248;9157:319;;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;:::-;250:5;14:247;-1:-1:-1;;;14:247:1:o;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:273::-;1752:6;1805:2;1793:9;1784:7;1780:23;1776:32;1773:52;;;1821:1;1818;1811:12;1773:52;1860:9;1847:23;1913:5;1906:13;1899:21;1892:5;1889:32;1879:60;;1935:1;1932;1925:12;1974:180;2033:6;2086:2;2074:9;2065:7;2061:23;2057:32;2054:52;;;2102:1;2099;2092:12;2054:52;-1:-1:-1;2125:23:1;;1974:180;-1:-1:-1;1974:180:1:o;2159:316::-;2236:6;2244;2252;2305:2;2293:9;2284:7;2280:23;2276:32;2273:52;;;2321:1;2318;2311:12;2273:52;-1:-1:-1;;2344:23:1;;;2414:2;2399:18;;2386:32;;-1:-1:-1;2465:2:1;2450:18;;;2437:32;;2159:316;-1:-1:-1;2159:316:1:o;2480:306::-;2568:6;2576;2584;2637:2;2625:9;2616:7;2612:23;2608:32;2605:52;;;2653:1;2650;2643:12;2605:52;2682:9;2676:16;2666:26;;2732:2;2721:9;2717:18;2711:25;2701:35;;2776:2;2765:9;2761:18;2755:25;2745:35;;2480:306;;;;;:::o;4236:597::-;4348:4;4377:2;4406;4395:9;4388:21;4438:6;4432:13;4481:6;4476:2;4465:9;4461:18;4454:34;4506:1;4516:140;4530:6;4527:1;4524:13;4516:140;;;4625:14;;;4621:23;;4615:30;4591:17;;;4610:2;4587:26;4580:66;4545:10;;4516:140;;;4674:6;4671:1;4668:13;4665:91;;;4744:1;4739:2;4730:6;4719:9;4715:22;4711:31;4704:42;4665:91;-1:-1:-1;4817:2:1;4796:15;-1:-1:-1;;4792:29:1;4777:45;;;;4824:2;4773:54;;4236:597;-1:-1:-1;;;4236:597:1:o;11128:356::-;11330:2;11312:21;;;11349:18;;;11342:30;11408:34;11403:2;11388:18;;11381:62;11475:2;11460:18;;11128:356::o;14350:980::-;14612:4;14660:3;14649:9;14645:19;14691:6;14680:9;14673:25;14717:2;14755:6;14750:2;14739:9;14735:18;14728:34;14798:3;14793:2;14782:9;14778:18;14771:31;14822:6;14857;14851:13;14888:6;14880;14873:22;14926:3;14915:9;14911:19;14904:26;;14965:2;14957:6;14953:15;14939:29;;14986:1;14996:195;15010:6;15007:1;15004:13;14996:195;;;15075:13;;-1:-1:-1;;;;;15071:39:1;15059:52;;15166:15;;;;15131:12;;;;15107:1;15025:9;14996:195;;;-1:-1:-1;;;;;;;15247:32:1;;;;15242:2;15227:18;;15220:60;-1:-1:-1;;;15311:3:1;15296:19;15289:35;15208:3;14350:980;-1:-1:-1;;;14350:980:1:o;15848:128::-;15888:3;15919:1;15915:6;15912:1;15909:13;15906:39;;;15925:18;;:::i;:::-;-1:-1:-1;15961:9:1;;15848:128::o;15981:217::-;16021:1;16047;16037:132;;16091:10;16086:3;16082:20;16079:1;16072:31;16126:4;16123:1;16116:15;16154:4;16151:1;16144:15;16037:132;-1:-1:-1;16183:9:1;;15981:217::o;16203:422::-;16292:1;16335:5;16292:1;16349:270;16370:7;16360:8;16357:21;16349:270;;;16429:4;16425:1;16421:6;16417:17;16411:4;16408:27;16405:53;;;16438:18;;:::i;:::-;16488:7;16478:8;16474:22;16471:55;;;16508:16;;;;16471:55;16587:22;;;;16547:15;;;;16349:270;;;16353:3;16203:422;;;;;:::o;16630:140::-;16688:5;16717:47;16758:4;16748:8;16744:19;16738:4;16824:5;16854:8;16844:80;;-1:-1:-1;16895:1:1;16909:5;;16844:80;16943:4;16933:76;;-1:-1:-1;16980:1:1;16994:5;;16933:76;17025:4;17043:1;17038:59;;;;17111:1;17106:130;;;;17018:218;;17038:59;17068:1;17059:10;;17082:5;;;17106:130;17143:3;17133:8;17130:17;17127:43;;;17150:18;;:::i;:::-;-1:-1:-1;;17206:1:1;17192:16;;17221:5;;17018:218;;17320:2;17310:8;17307:16;17301:3;17295:4;17292:13;17288:36;17282:2;17272:8;17269:16;17264:2;17258:4;17255:12;17251:35;17248:77;17245:159;;;-1:-1:-1;17357:19:1;;;17389:5;;17245:159;17436:34;17461:8;17455:4;17436:34;:::i;:::-;17506:6;17502:1;17498:6;17494:19;17485:7;17482:32;17479:58;;;17517:18;;:::i;:::-;17555:20;;16775:806;-1:-1:-1;;;16775:806:1:o;17586:168::-;17626:7;17692:1;17688;17684:6;17680:14;17677:1;17674:21;17669:1;17662:9;17655:17;17651:45;17648:71;;;17699:18;;:::i;:::-;-1:-1:-1;17739:9:1;;17586:168::o;17759:125::-;17799:4;17827:1;17824;17821:8;17818:34;;;17832:18;;:::i;:::-;-1:-1:-1;17869:9:1;;17759:125::o;17889:380::-;17968:1;17964:12;;;;18011;;;18032:61;;18086:4;18078:6;18074:17;18064:27;;18032:61;18139:2;18131:6;18128:14;18108:18;18105:38;18102:161;;;18185:10;18180:3;18176:20;18173:1;18166:31;18220:4;18217:1;18210:15;18248:4;18245:1;18238:15;18102:161;;17889:380;;;:::o;18274:127::-;18335:10;18330:3;18326:20;18323:1;18316:31;18366:4;18363:1;18356:15;18390:4;18387:1;18380:15;18406:127;18467:10;18462:3;18458:20;18455:1;18448:31;18498:4;18495:1;18488:15;18522:4;18519:1;18512:15;18670:131;-1:-1:-1;;;;;18745:31:1;;18735:42;;18725:70;;18791:1;18788;18781:12

Swarm Source

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