ETH Price: $2,629.23 (-0.25%)
Gas: 2 Gwei

Token

LFG (LFG)
 

Overview

Max Total Supply

100,000,000 LFG

Holders

63

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
213,788.265169907 LFG

Value
$0.00
0x468d112a61b890dee5a4e13ccc30671e5bfa0d55
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:
LFG

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
Telegram: https://t.me/LFG_ETH
Twitter: https://twitter.com/lfgcoin_eth?s=21&t=xdY48-0L6EWOlNE4qmOYqQ
*/

//SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

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;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

    /**
     * @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];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    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;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    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);
    }

    /** This function will be used to generate the total supply
    * while deploying the contract
    *
    * This function can never be called again after deploying contract
    */
    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);
    }

    /**
     * @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);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * generation and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be generated for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    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 LFG is ERC20, Ownable {
    using Address for address payable;

    IRouter private router;
    address public pair;

    bool private _liquidityMutex = false;
    bool private  _isprovidingLiquidity = false;
    bool public tradingEnabled = false;
    
    uint256 private tokenLiquidityThreshold = 5e5 * 10**9;
    uint256 public maxWalletLimit = 2e6 * 10**9;

    address private  marketingWallet = 0x77f6C520657f3A1299bBf2A61654dac07fB52EF0;
    address private devWallet = 0xDf3DA8FE963f9Df7A11Ef0f6e361CA3060e475e9;
	address public constant DeadAddy = 0x000000000000000000000000000000000000dEaD;

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

    Taxes private buytaxes = Taxes(3, 0, 1);
    Taxes private sellTaxes = Taxes(3, 0, 1);

    uint256 private kill_block;
    uint256 private deadline = 4;
    uint256 private Earlytaxes = 99;
   
    mapping(address => bool) private exemptFee;
    mapping(address => bool) private isearlybuyer;

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

    constructor() ERC20("LFG", "LFG") {
        _tokengeneration(msg.sender, 1e8 * 10**decimals());
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
       
        exemptFee[address(this)] = true;
        exemptFee[owner()] = true;
        exemptFee[marketingWallet] = true;
        exemptFee[devWallet] = true;
        exemptFee[DeadAddy] = 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;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!isearlybuyer[sender] && !isearlybuyer[recipient],
            "You can't transfer tokens"
        );

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

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

        if (sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_liquidityMutex) {
           
            if (recipient != pair) {
                require(balanceOf(recipient) + amount <= maxWalletLimit,
                    "You are exceeding maxWalletLimit"
                );
            }
        }
        uint256 feeswap;
        uint256 feesum;
        uint256 fee;
        Taxes memory currentTaxes;

        bool useEarlyFee = !exemptFee[sender] &&
            !exemptFee[recipient] &&
            block.number < kill_block + deadline;
        
        if (_liquidityMutex || exemptFee[sender] || exemptFee[recipient])
            fee = 0;

        else if (recipient == pair) {
            feeswap = sellTaxes.liquidity + sellTaxes.marketing + sellTaxes.dev;
            feesum = feeswap;
            currentTaxes = sellTaxes;
        } else if (recipient != pair) {
            feeswap = buytaxes.liquidity + buytaxes.marketing + buytaxes.dev;
            feesum = feeswap;
            currentTaxes = buytaxes;
        } else if (useEarlyFee) {
            feesum = Earlytaxes;
        }

        
        fee = (amount * feesum) / 100;

        if (_isprovidingLiquidity && sender != pair) SwapBack(feeswap, currentTaxes);

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

        }
    }

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

	if(feeswap == 0){
            return;
        }	

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

            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) {
                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 {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

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

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(router), tokenAmount);

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

    function UpdateLiquidityProvide(bool state) external onlyOwner {
        _isprovidingLiquidity = state;
    }

    function UpdateTreshhold(uint256 new_amount) external onlyOwner {
        tokenLiquidityThreshold = new_amount * 10**decimals();
    }

    function Switch() external onlyOwner {
        buytaxes = Taxes(3, 0, 1);
        sellTaxes = Taxes(3, 0, 1);
    }

   function Fees() external onlyOwner {
        buytaxes = Taxes(20, 0, 4);
        sellTaxes = Taxes(40, 0, 10);
    }

       function BuyFee( uint256 _marketing, uint256 _liquidity, uint256 _dev) external onlyOwner {
        buytaxes.marketing = _marketing;
        buytaxes.liquidity = _liquidity;
        buytaxes.dev = _dev;
    }

    function SellFee( uint256 _marketing, uint256 _liquidity, uint256 _dev ) external onlyOwner {
        sellTaxes.marketing = _marketing;
        sellTaxes.liquidity = _liquidity;
        sellTaxes.dev = _dev;
    }
   
   function OpenTrading() external onlyOwner {
        require(!tradingEnabled, "Trading is already enabled");
        tradingEnabled = true;
        _isprovidingLiquidity = true;
    }

    function SetEarlyBuyer(address account, bool state) external onlyOwner {
        isearlybuyer[account] = state;
    }

    function SetExemptFee(address _address, bool state) external onlyOwner {
        exemptFee[_address] = state;
    }

    function SetMaxTxLimit(uint256 maxWallet) external onlyOwner {
        maxWalletLimit = maxWallet * 10**decimals(); 
    }

   function ClearStuckETH() external {
        uint256 contractETHBalance = address(this).balance;
        payable(devWallet).transfer(contractETHBalance);
    }
   
    function ClearStuckERC20(address tokenAdd, uint256 amount) external {
        IERC20(tokenAdd).transfer(devWallet, amount);
    }

    // fallbacks
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"BuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuckERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ClearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DeadAddy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Fees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"OpenTrading","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":"SellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"SetEarlyBuyer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"SetExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"SetMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Switch","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":"UpdateTreshhold","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"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"},{"stateMutability":"payable","type":"receive"}]

6007805462ffffff60a01b191690556601c6bf5263400060085566071afd498d0000600955600a80546001600160a01b03199081167377f6c520657f3a1299bbf2a61654dac07fb52ef017909155600b805490911673df3da8fe963f9df7a11ef0f6e361ca3060e475e917905560036080819052600060a0819052600160c0819052600c839055600d829055600e81905561014060405260e0839052610100829052610120819052600f9290925560105560115560046013556063601455348015620000ca57600080fd5b506040805180820182526003808252624c464760e81b602080840182905284518086019095528285528401529091906200010583826200053a565b5060046200011482826200053a565b505050620001316200012b6200037e60201b60201c565b62000382565b6200015a33620001446009600a6200071b565b62000154906305f5e10062000733565b620003d4565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001da91906200074d565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000228573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024e91906200074d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200029c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c291906200074d565b600680546001600160a01b03199081166001600160a01b0395861617909155600780549091169184169190911790555030600090815260156020526040808220805460ff199081166001908117909255600554851684528284208054821683179055600a54851684528284208054821683179055600b549094168352908220805484168217905561dead9091527f7ed1dca03d96f947ab02d66053f47073699eb6287021936c92f54972932767e5805490921617905562000778565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200043d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2067656e65726174696f6e20746f20746865207a65726f206164604482015264647265737360d81b606482015260840160405180910390fd5b60028190556001600160a01b038216600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004c157607f821691505b602082108103620004e257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200049157600081815260208120601f850160051c81016020861015620005115750805b601f850160051c820191505b8181101562000532578281556001016200051d565b505050505050565b81516001600160401b0381111562000556576200055662000496565b6200056e81620005678454620004ac565b84620004e8565b602080601f831160018114620005a657600084156200058d5750858301515b600019600386901b1c1916600185901b17855562000532565b600085815260208120601f198616915b82811015620005d757888601518255948401946001909101908401620005b6565b5085821015620005f65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200065d57816000190482111562000641576200064162000606565b808516156200064f57918102915b93841c939080029062000621565b509250929050565b600082620006765750600162000715565b81620006855750600062000715565b81600181146200069e5760028114620006a957620006c9565b600191505062000715565b60ff841115620006bd57620006bd62000606565b50506001821b62000715565b5060208310610133831016604e8410600b8410161715620006ee575081810a62000715565b620006fa83836200061c565b806000190482111562000711576200071162000606565b0290505b92915050565b60006200072c60ff84168362000665565b9392505050565b808202811582820484141762000715576200071562000606565b6000602082840312156200076057600080fd5b81516001600160a01b03811681146200072c57600080fd5b611f7b80620007886000396000f3fe6080604052600436106101d15760003560e01c80638da5cb5b116100f7578063c121e8da11610095578063e7aa150a11610064578063e7aa150a14610543578063efabb72f14610559578063f2fde38b1461056e578063f3d6b3661461058e57600080fd5b8063c121e8da146104a8578063d60dcb5d146104c8578063d7e5b5cc146104dd578063dd62ed3e146104fd57600080fd5b8063a8aa1b31116100d1578063a8aa1b3114610428578063a9059cbb14610448578063a9d31b4914610468578063aefd64271461048857600080fd5b80638da5cb5b146103c157806395d89b41146103f3578063a457c2d71461040857600080fd5b80633aaa36e61161016f57806370a082311161013e57806370a0823114610336578063715018a61461036c5780637d80d2e714610381578063870069ea146103a157600080fd5b80633aaa36e6146102d55780634ada218b146102ea57806351cd7cc31461030b57806366a88d961461032057600080fd5b806323b872dd116101ab57806323b872dd146102575780632b14e7da14610277578063313ce5671461029957806339509351146102b557600080fd5b806306fdde03146101dd578063095ea7b31461020857806318160ddd1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f26105ae565b6040516101ff9190611ab4565b60405180910390f35b34801561021457600080fd5b50610228610223366004611b17565b610640565b60405190151581526020016101ff565b34801561024457600080fd5b506002545b6040519081526020016101ff565b34801561026357600080fd5b50610228610272366004611b43565b610657565b34801561028357600080fd5b50610297610292366004611b92565b61070d565b005b3480156102a557600080fd5b50604051600981526020016101ff565b3480156102c157600080fd5b506102286102d0366004611b17565b610755565b3480156102e157600080fd5b5061029761078c565b3480156102f657600080fd5b5060075461022890600160b01b900460ff1681565b34801561031757600080fd5b50610297610812565b34801561032c57600080fd5b5061024960095481565b34801561034257600080fd5b50610249610351366004611bb6565b6001600160a01b031660009081526020819052604090205490565b34801561037857600080fd5b506102976108ad565b34801561038d57600080fd5b5061029761039c366004611bd3565b6108e3565b3480156103ad57600080fd5b506102976103bc366004611bff565b61091b565b3480156103cd57600080fd5b506005546001600160a01b03165b6040516001600160a01b0390911681526020016101ff565b3480156103ff57600080fd5b506101f2610961565b34801561041457600080fd5b50610228610423366004611b17565b610970565b34801561043457600080fd5b506007546103db906001600160a01b031681565b34801561045457600080fd5b50610228610463366004611b17565b610a0b565b34801561047457600080fd5b50610297610483366004611c18565b610a18565b34801561049457600080fd5b506102976104a3366004611b17565b610a6d565b3480156104b457600080fd5b506102976104c3366004611c18565b610ae9565b3480156104d457600080fd5b50610297610b3e565b3480156104e957600080fd5b506102976104f8366004611bff565b610bc0565b34801561050957600080fd5b50610249610518366004611c51565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561054f57600080fd5b506103db61dead81565b34801561056557600080fd5b50610297610c06565b34801561057a57600080fd5b50610297610589366004611bb6565b610c44565b34801561059a57600080fd5b506102976105a9366004611bd3565b610cdf565b6060600380546105bd90611c7f565b80601f01602080910402602001604051908101604052809291908181526020018280546105e990611c7f565b80156106365780601f1061060b57610100808354040283529160200191610636565b820191906000526020600020905b81548152906001019060200180831161061957829003601f168201915b5050505050905090565b600061064d338484610d17565b5060015b92915050565b6000610664848484610e3b565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156106ee5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61070285336106fd8685611ccf565b610d17565b506001949350505050565b6005546001600160a01b031633146107375760405162461bcd60e51b81526004016106e590611ce2565b60078054911515600160a81b0260ff60a81b19909216919091179055565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161064d9185906106fd908690611d17565b6005546001600160a01b031633146107b65760405162461bcd60e51b81526004016106e590611ce2565b60408051606080820183526014808352600060208085018290526004948601859052600c92909255600d819055600e93909355835191820184526028808352908201839052600a91909301819052600f92909255601055601155565b6005546001600160a01b0316331461083c5760405162461bcd60e51b81526004016106e590611ce2565b600754600160b01b900460ff16156108965760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016106e5565b6007805461ffff60a81b191661010160a81b179055565b6005546001600160a01b031633146108d75760405162461bcd60e51b81526004016106e590611ce2565b6108e160006113ea565b565b6005546001600160a01b0316331461090d5760405162461bcd60e51b81526004016106e590611ce2565b600c92909255600d55600e55565b6005546001600160a01b031633146109455760405162461bcd60e51b81526004016106e590611ce2565b6109516009600a611e0e565b61095b9082611e1d565b60095550565b6060600480546105bd90611c7f565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156109f25760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106e5565b610a0133856106fd8685611ccf565b5060019392505050565b600061064d338484610e3b565b6005546001600160a01b03163314610a425760405162461bcd60e51b81526004016106e590611ce2565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b600b5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae49190611e34565b505050565b6005546001600160a01b03163314610b135760405162461bcd60e51b81526004016106e590611ce2565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610b685760405162461bcd60e51b81526004016106e590611ce2565b60408051606080820183526003808352600060208085018290526001948601859052600c839055600d829055600e85905585519384018652828452830181905291909301829052600f92909255601091909155601155565b6005546001600160a01b03163314610bea5760405162461bcd60e51b81526004016106e590611ce2565b610bf66009600a611e0e565b610c009082611e1d565b60085550565b600b5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610c40573d6000803e3d6000fd5b5050565b6005546001600160a01b03163314610c6e5760405162461bcd60e51b81526004016106e590611ce2565b6001600160a01b038116610cd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e5565b610cdc816113ea565b50565b6005546001600160a01b03163314610d095760405162461bcd60e51b81526004016106e590611ce2565b600f92909255601055601155565b6001600160a01b038316610d795760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e5565b6001600160a01b038216610dda5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111610e9d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106e5565b6001600160a01b03831660009081526016602052604090205460ff16158015610edf57506001600160a01b03821660009081526016602052604090205460ff16155b610f2b5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774207472616e7366657220746f6b656e730000000000000060448201526064016106e5565b6001600160a01b03831660009081526015602052604090205460ff16158015610f6d57506001600160a01b03821660009081526015602052604090205460ff16155b15610fc157600754600160b01b900460ff16610fc15760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016106e5565b6007546001600160a01b038481169116148015610ff757506001600160a01b03821660009081526015602052604090205460ff16155b801561100d5750600754600160a01b900460ff16155b1561108d5760095481611035846001600160a01b031660009081526020819052604090205490565b61103f9190611d17565b111561108d5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016106e5565b6007546001600160a01b038481169116148015906110c457506001600160a01b03821660009081526015602052604090205460ff16155b80156110e957506001600160a01b03831660009081526015602052604090205460ff16155b80156110ff5750600754600160a01b900460ff16155b15611194576007546001600160a01b03838116911614611194576009548161113c846001600160a01b031660009081526020819052604090205490565b6111469190611d17565b11156111945760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016106e5565b60008060006111bd60405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03871660009081526015602052604081205460ff161580156111ff57506001600160a01b03871660009081526015602052604090205460ff16155b801561121957506013546012546112169190611d17565b43105b600754909150600160a01b900460ff168061124c57506001600160a01b03881660009081526015602052604090205460ff165b8061126f57506001600160a01b03871660009081526015602052604090205460ff165b1561127d576000925061134a565b6007546001600160a01b03908116908816036112de57601154600f546010546112a69190611d17565b6112b09190611d17565b60408051606081018252600f548152601054602082015260115491810191909152909550859450915061134a565b6007546001600160a01b0388811691161461133e57600e54600c54600d546113069190611d17565b6113109190611d17565b60408051606081018252600c548152600d546020820152600e5491810191909152909550859450915061134a565b801561134a5760145493505b60646113568588611e1d565b6113609190611e51565b600754909350600160a81b900460ff16801561138a57506007546001600160a01b03898116911614155b1561139957611399858361143c565b6113ad88886113a8868a611ccf565b6115b5565b82156113e05784156113e057600060646113c78789611e1d565b6113d19190611e51565b90506113de8930836115b5565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff16610c40576007805460ff60a01b1916600160a01b17905581156115a4573060009081526020819052604090205460085481106115a2576001600854111561148f57506008545b600061149c846002611e1d565b90506000818460200151846114b19190611e1d565b6114bb9190611e51565b905060006114c98285611ccf565b9050476114d58261178d565b60006114e18247611ccf565b905060008760200151866114f59190611ccf565b6114ff9083611e51565b905060008860200151826115139190611e1d565b905080156115255761152586826118e7565b8851600090611535846002611e1d565b61153f9190611e1d565b9050801561155d57600a5461155d906001600160a01b03168261199b565b60408a0151600090611570856002611e1d565b61157a9190611e1d565b9050801561159857600b54611598906001600160a01b03168261199b565b5050505050505050505b505b6007805460ff60a01b191690555050565b6001600160a01b0383166116195760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106e5565b6001600160a01b03821661167b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106e5565b6001600160a01b038316600090815260208190526040902054818110156116f35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106e5565b6116fd8282611ccf565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611733908490611d17565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161177f91815260200190565b60405180910390a350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106117c2576117c2611e73565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561181b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183f9190611e89565b8160018151811061185257611852611e73565b6001600160a01b0392831660209182029290920101526006546118789130911684610d17565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906118b1908590600090869030904290600401611ea6565b600060405180830381600087803b1580156118cb57600080fd5b505af11580156118df573d6000803e3d6000fd5b505050505050565b6006546118ff9030906001600160a01b031684610d17565b600654600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561196f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119949190611f17565b5050505050565b804710156119eb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106e5565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611a38576040519150601f19603f3d011682016040523d82523d6000602084013e611a3d565b606091505b5050905080610ae45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016106e5565b600060208083528351808285015260005b81811015611ae157858101830151858201604001528201611ac5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cdc57600080fd5b60008060408385031215611b2a57600080fd5b8235611b3581611b02565b946020939093013593505050565b600080600060608486031215611b5857600080fd5b8335611b6381611b02565b92506020840135611b7381611b02565b929592945050506040919091013590565b8015158114610cdc57600080fd5b600060208284031215611ba457600080fd5b8135611baf81611b84565b9392505050565b600060208284031215611bc857600080fd5b8135611baf81611b02565b600080600060608486031215611be857600080fd5b505081359360208301359350604090920135919050565b600060208284031215611c1157600080fd5b5035919050565b60008060408385031215611c2b57600080fd5b8235611c3681611b02565b91506020830135611c4681611b84565b809150509250929050565b60008060408385031215611c6457600080fd5b8235611c6f81611b02565b91506020830135611c4681611b02565b600181811c90821680611c9357607f821691505b602082108103611cb357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561065157610651611cb9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561065157610651611cb9565b600181815b80851115611d65578160001904821115611d4b57611d4b611cb9565b80851615611d5857918102915b93841c9390800290611d2f565b509250929050565b600082611d7c57506001610651565b81611d8957506000610651565b8160018114611d9f5760028114611da957611dc5565b6001915050610651565b60ff841115611dba57611dba611cb9565b50506001821b610651565b5060208310610133831016604e8410600b8410161715611de8575081810a610651565b611df28383611d2a565b8060001904821115611e0657611e06611cb9565b029392505050565b6000611baf60ff841683611d6d565b808202811582820484141761065157610651611cb9565b600060208284031215611e4657600080fd5b8151611baf81611b84565b600082611e6e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611e9b57600080fd5b8151611baf81611b02565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ef65784516001600160a01b031683529383019391830191600101611ed1565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611f2c57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212200eb3a8a3b3b2e864b9724dfdfb0e641310c4e2648dc3750b0ef5f239a9284f3f64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80638da5cb5b116100f7578063c121e8da11610095578063e7aa150a11610064578063e7aa150a14610543578063efabb72f14610559578063f2fde38b1461056e578063f3d6b3661461058e57600080fd5b8063c121e8da146104a8578063d60dcb5d146104c8578063d7e5b5cc146104dd578063dd62ed3e146104fd57600080fd5b8063a8aa1b31116100d1578063a8aa1b3114610428578063a9059cbb14610448578063a9d31b4914610468578063aefd64271461048857600080fd5b80638da5cb5b146103c157806395d89b41146103f3578063a457c2d71461040857600080fd5b80633aaa36e61161016f57806370a082311161013e57806370a0823114610336578063715018a61461036c5780637d80d2e714610381578063870069ea146103a157600080fd5b80633aaa36e6146102d55780634ada218b146102ea57806351cd7cc31461030b57806366a88d961461032057600080fd5b806323b872dd116101ab57806323b872dd146102575780632b14e7da14610277578063313ce5671461029957806339509351146102b557600080fd5b806306fdde03146101dd578063095ea7b31461020857806318160ddd1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f26105ae565b6040516101ff9190611ab4565b60405180910390f35b34801561021457600080fd5b50610228610223366004611b17565b610640565b60405190151581526020016101ff565b34801561024457600080fd5b506002545b6040519081526020016101ff565b34801561026357600080fd5b50610228610272366004611b43565b610657565b34801561028357600080fd5b50610297610292366004611b92565b61070d565b005b3480156102a557600080fd5b50604051600981526020016101ff565b3480156102c157600080fd5b506102286102d0366004611b17565b610755565b3480156102e157600080fd5b5061029761078c565b3480156102f657600080fd5b5060075461022890600160b01b900460ff1681565b34801561031757600080fd5b50610297610812565b34801561032c57600080fd5b5061024960095481565b34801561034257600080fd5b50610249610351366004611bb6565b6001600160a01b031660009081526020819052604090205490565b34801561037857600080fd5b506102976108ad565b34801561038d57600080fd5b5061029761039c366004611bd3565b6108e3565b3480156103ad57600080fd5b506102976103bc366004611bff565b61091b565b3480156103cd57600080fd5b506005546001600160a01b03165b6040516001600160a01b0390911681526020016101ff565b3480156103ff57600080fd5b506101f2610961565b34801561041457600080fd5b50610228610423366004611b17565b610970565b34801561043457600080fd5b506007546103db906001600160a01b031681565b34801561045457600080fd5b50610228610463366004611b17565b610a0b565b34801561047457600080fd5b50610297610483366004611c18565b610a18565b34801561049457600080fd5b506102976104a3366004611b17565b610a6d565b3480156104b457600080fd5b506102976104c3366004611c18565b610ae9565b3480156104d457600080fd5b50610297610b3e565b3480156104e957600080fd5b506102976104f8366004611bff565b610bc0565b34801561050957600080fd5b50610249610518366004611c51565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561054f57600080fd5b506103db61dead81565b34801561056557600080fd5b50610297610c06565b34801561057a57600080fd5b50610297610589366004611bb6565b610c44565b34801561059a57600080fd5b506102976105a9366004611bd3565b610cdf565b6060600380546105bd90611c7f565b80601f01602080910402602001604051908101604052809291908181526020018280546105e990611c7f565b80156106365780601f1061060b57610100808354040283529160200191610636565b820191906000526020600020905b81548152906001019060200180831161061957829003601f168201915b5050505050905090565b600061064d338484610d17565b5060015b92915050565b6000610664848484610e3b565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156106ee5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61070285336106fd8685611ccf565b610d17565b506001949350505050565b6005546001600160a01b031633146107375760405162461bcd60e51b81526004016106e590611ce2565b60078054911515600160a81b0260ff60a81b19909216919091179055565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161064d9185906106fd908690611d17565b6005546001600160a01b031633146107b65760405162461bcd60e51b81526004016106e590611ce2565b60408051606080820183526014808352600060208085018290526004948601859052600c92909255600d819055600e93909355835191820184526028808352908201839052600a91909301819052600f92909255601055601155565b6005546001600160a01b0316331461083c5760405162461bcd60e51b81526004016106e590611ce2565b600754600160b01b900460ff16156108965760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016106e5565b6007805461ffff60a81b191661010160a81b179055565b6005546001600160a01b031633146108d75760405162461bcd60e51b81526004016106e590611ce2565b6108e160006113ea565b565b6005546001600160a01b0316331461090d5760405162461bcd60e51b81526004016106e590611ce2565b600c92909255600d55600e55565b6005546001600160a01b031633146109455760405162461bcd60e51b81526004016106e590611ce2565b6109516009600a611e0e565b61095b9082611e1d565b60095550565b6060600480546105bd90611c7f565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156109f25760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106e5565b610a0133856106fd8685611ccf565b5060019392505050565b600061064d338484610e3b565b6005546001600160a01b03163314610a425760405162461bcd60e51b81526004016106e590611ce2565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b600b5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae49190611e34565b505050565b6005546001600160a01b03163314610b135760405162461bcd60e51b81526004016106e590611ce2565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610b685760405162461bcd60e51b81526004016106e590611ce2565b60408051606080820183526003808352600060208085018290526001948601859052600c839055600d829055600e85905585519384018652828452830181905291909301829052600f92909255601091909155601155565b6005546001600160a01b03163314610bea5760405162461bcd60e51b81526004016106e590611ce2565b610bf66009600a611e0e565b610c009082611e1d565b60085550565b600b5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610c40573d6000803e3d6000fd5b5050565b6005546001600160a01b03163314610c6e5760405162461bcd60e51b81526004016106e590611ce2565b6001600160a01b038116610cd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e5565b610cdc816113ea565b50565b6005546001600160a01b03163314610d095760405162461bcd60e51b81526004016106e590611ce2565b600f92909255601055601155565b6001600160a01b038316610d795760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e5565b6001600160a01b038216610dda5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111610e9d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106e5565b6001600160a01b03831660009081526016602052604090205460ff16158015610edf57506001600160a01b03821660009081526016602052604090205460ff16155b610f2b5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774207472616e7366657220746f6b656e730000000000000060448201526064016106e5565b6001600160a01b03831660009081526015602052604090205460ff16158015610f6d57506001600160a01b03821660009081526015602052604090205460ff16155b15610fc157600754600160b01b900460ff16610fc15760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016106e5565b6007546001600160a01b038481169116148015610ff757506001600160a01b03821660009081526015602052604090205460ff16155b801561100d5750600754600160a01b900460ff16155b1561108d5760095481611035846001600160a01b031660009081526020819052604090205490565b61103f9190611d17565b111561108d5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016106e5565b6007546001600160a01b038481169116148015906110c457506001600160a01b03821660009081526015602052604090205460ff16155b80156110e957506001600160a01b03831660009081526015602052604090205460ff16155b80156110ff5750600754600160a01b900460ff16155b15611194576007546001600160a01b03838116911614611194576009548161113c846001600160a01b031660009081526020819052604090205490565b6111469190611d17565b11156111945760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016106e5565b60008060006111bd60405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03871660009081526015602052604081205460ff161580156111ff57506001600160a01b03871660009081526015602052604090205460ff16155b801561121957506013546012546112169190611d17565b43105b600754909150600160a01b900460ff168061124c57506001600160a01b03881660009081526015602052604090205460ff165b8061126f57506001600160a01b03871660009081526015602052604090205460ff165b1561127d576000925061134a565b6007546001600160a01b03908116908816036112de57601154600f546010546112a69190611d17565b6112b09190611d17565b60408051606081018252600f548152601054602082015260115491810191909152909550859450915061134a565b6007546001600160a01b0388811691161461133e57600e54600c54600d546113069190611d17565b6113109190611d17565b60408051606081018252600c548152600d546020820152600e5491810191909152909550859450915061134a565b801561134a5760145493505b60646113568588611e1d565b6113609190611e51565b600754909350600160a81b900460ff16801561138a57506007546001600160a01b03898116911614155b1561139957611399858361143c565b6113ad88886113a8868a611ccf565b6115b5565b82156113e05784156113e057600060646113c78789611e1d565b6113d19190611e51565b90506113de8930836115b5565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff16610c40576007805460ff60a01b1916600160a01b17905581156115a4573060009081526020819052604090205460085481106115a2576001600854111561148f57506008545b600061149c846002611e1d565b90506000818460200151846114b19190611e1d565b6114bb9190611e51565b905060006114c98285611ccf565b9050476114d58261178d565b60006114e18247611ccf565b905060008760200151866114f59190611ccf565b6114ff9083611e51565b905060008860200151826115139190611e1d565b905080156115255761152586826118e7565b8851600090611535846002611e1d565b61153f9190611e1d565b9050801561155d57600a5461155d906001600160a01b03168261199b565b60408a0151600090611570856002611e1d565b61157a9190611e1d565b9050801561159857600b54611598906001600160a01b03168261199b565b5050505050505050505b505b6007805460ff60a01b191690555050565b6001600160a01b0383166116195760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106e5565b6001600160a01b03821661167b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106e5565b6001600160a01b038316600090815260208190526040902054818110156116f35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106e5565b6116fd8282611ccf565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611733908490611d17565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161177f91815260200190565b60405180910390a350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106117c2576117c2611e73565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561181b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183f9190611e89565b8160018151811061185257611852611e73565b6001600160a01b0392831660209182029290920101526006546118789130911684610d17565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906118b1908590600090869030904290600401611ea6565b600060405180830381600087803b1580156118cb57600080fd5b505af11580156118df573d6000803e3d6000fd5b505050505050565b6006546118ff9030906001600160a01b031684610d17565b600654600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561196f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119949190611f17565b5050505050565b804710156119eb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106e5565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611a38576040519150601f19603f3d011682016040523d82523d6000602084013e611a3d565b606091505b5050905080610ae45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016106e5565b600060208083528351808285015260005b81811015611ae157858101830151858201604001528201611ac5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cdc57600080fd5b60008060408385031215611b2a57600080fd5b8235611b3581611b02565b946020939093013593505050565b600080600060608486031215611b5857600080fd5b8335611b6381611b02565b92506020840135611b7381611b02565b929592945050506040919091013590565b8015158114610cdc57600080fd5b600060208284031215611ba457600080fd5b8135611baf81611b84565b9392505050565b600060208284031215611bc857600080fd5b8135611baf81611b02565b600080600060608486031215611be857600080fd5b505081359360208301359350604090920135919050565b600060208284031215611c1157600080fd5b5035919050565b60008060408385031215611c2b57600080fd5b8235611c3681611b02565b91506020830135611c4681611b84565b809150509250929050565b60008060408385031215611c6457600080fd5b8235611c6f81611b02565b91506020830135611c4681611b02565b600181811c90821680611c9357607f821691505b602082108103611cb357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561065157610651611cb9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561065157610651611cb9565b600181815b80851115611d65578160001904821115611d4b57611d4b611cb9565b80851615611d5857918102915b93841c9390800290611d2f565b509250929050565b600082611d7c57506001610651565b81611d8957506000610651565b8160018114611d9f5760028114611da957611dc5565b6001915050610651565b60ff841115611dba57611dba611cb9565b50506001821b610651565b5060208310610133831016604e8410600b8410161715611de8575081810a610651565b611df28383611d2a565b8060001904821115611e0657611e06611cb9565b029392505050565b6000611baf60ff841683611d6d565b808202811582820484141761065157610651611cb9565b600060208284031215611e4657600080fd5b8151611baf81611b84565b600082611e6e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611e9b57600080fd5b8151611baf81611b02565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ef65784516001600160a01b031683529383019391830191600101611ed1565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611f2c57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212200eb3a8a3b3b2e864b9724dfdfb0e641310c4e2648dc3750b0ef5f239a9284f3f64736f6c63430008130033

Deployed Bytecode Sourcemap

12796:9779:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2488:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14575:161;;;;;;;;;;-1:-1:-1;14575:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;14575:161:0;1023:187:1;3607:108:0;;;;;;;;;;-1:-1:-1;3695:12:0;;3607:108;;;1361:25:1;;;1349:2;1334:18;3607:108:0;1215:177:1;14744:448:0;;;;;;;;;;-1:-1:-1;14744:448:0;;;;;:::i;:::-;;:::i;20672:111::-;;;;;;;;;;-1:-1:-1;20672:111:0;;;;;:::i;:::-;;:::i;:::-;;3450:92;;;;;;;;;;-1:-1:-1;3450:92:0;;3533:1;2369:36:1;;2357:2;2342:18;3450:92:0;2227:184:1;15200:248:0;;;;;;;;;;-1:-1:-1;15200:248:0;;;;;:::i;:::-;;:::i;21060:119::-;;;;;;;;;;;;;:::i;13026:34::-;;;;;;;;;;-1:-1:-1;13026:34:0;;;;-1:-1:-1;;;13026:34:0;;;;;;21637:186;;;;;;;;;;;;;:::i;13133:43::-;;;;;;;;;;;;;;;;3778:127;;;;;;;;;;-1:-1:-1;3778:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3879:18:0;3852:7;3879:18;;;;;;;;;;;;3778:127;11459:94;;;;;;;;;;;;;:::i;21190:212::-;;;;;;;;;;-1:-1:-1;21190:212:0;;;;;:::i;:::-;;:::i;22083:124::-;;;;;;;;;;-1:-1:-1;22083:124:0;;;;;:::i;:::-;;:::i;11236:87::-;;;;;;;;;;-1:-1:-1;11309:6:0;;-1:-1:-1;;;;;11309:6:0;11236:87;;;-1:-1:-1;;;;;3338:32:1;;;3320:51;;3308:2;3293:18;11236:87:0;3174:203:1;2707:104:0;;;;;;;;;;;;;:::i;15456:410::-;;;;;;;;;;-1:-1:-1;15456:410:0;;;;;:::i;:::-;;:::i;12905:19::-;;;;;;;;;;-1:-1:-1;12905:19:0;;;;-1:-1:-1;;;;;12905:19:0;;;15874:165;;;;;;;;;;-1:-1:-1;15874:165:0;;;;;:::i;:::-;;:::i;21831:119::-;;;;;;;;;;-1:-1:-1;21831:119:0;;;;;:::i;:::-;;:::i;22386:131::-;;;;;;;;;;-1:-1:-1;22386:131:0;;;;;:::i;:::-;;:::i;21958:117::-;;;;;;;;;;-1:-1:-1;21958:117:0;;;;;:::i;:::-;;:::i;20935:118::-;;;;;;;;;;;;;:::i;20791:136::-;;;;;;;;;;-1:-1:-1;20791:136:0;;;;;:::i;:::-;;:::i;4397:201::-;;;;;;;;;;-1:-1:-1;4397:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;4563:18:0;;;4531:7;4563:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4397:201;13343:77;;;;;;;;;;;;13378:42;13343:77;;22214:161;;;;;;;;;;;;;:::i;11561:192::-;;;;;;;;;;-1:-1:-1;11561:192:0;;;;;:::i;:::-;;:::i;21410:217::-;;;;;;;;;;-1:-1:-1;21410:217:0;;;;;:::i;:::-;;:::i;2488:100::-;2542:13;2575:5;2568:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2488:100;:::o;14575:161::-;14650:4;14667:39;290:10;14690:7;14699:6;14667:8;:39::i;:::-;-1:-1:-1;14724:4:0;14575:161;;;;;:::o;14744:448::-;14876:4;14893:36;14903:6;14911:9;14922:6;14893:9;:36::i;:::-;-1:-1:-1;;;;;14969:19:0;;14942:24;14969:19;;;:11;:19;;;;;;;;290:10;14969:33;;;;;;;;15021:26;;;;15013:79;;;;-1:-1:-1;;;15013:79:0;;4749:2:1;15013:79:0;;;4731:21:1;4788:2;4768:18;;;4761:30;4827:34;4807:18;;;4800:62;-1:-1:-1;;;4878:18:1;;;4871:38;4926:19;;15013:79:0;;;;;;;;;15103:57;15112:6;290:10;15134:25;15153:6;15134:16;:25;:::i;:::-;15103:8;:57::i;:::-;-1:-1:-1;15180:4:0;;14744:448;-1:-1:-1;;;;14744:448:0:o;20672:111::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;20746:21:::1;:29:::0;;;::::1;;-1:-1:-1::0;;;20746:29:0::1;-1:-1:-1::0;;;;20746:29:0;;::::1;::::0;;;::::1;::::0;;20672:111::o;15200:248::-;290:10;15316:4;15370:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15370:34:0;;;;;;;;;;15316:4;;15338:80;;15361:7;;15370:47;;15407:10;;15370:47;:::i;21060:119::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;21117:15:::1;::::0;;::::1;::::0;;::::1;::::0;;21123:2:::1;21117:15:::0;;;-1:-1:-1;21117:15:0::1;::::0;;::::1;::::0;;;21130:1:::1;21117:15:::0;;;;;;21106:8:::1;:26:::0;;;;;;;;;;;;;21155:16;;;;::::1;::::0;;21161:2:::1;21155:16:::0;;;;;::::1;::::0;;;21168:2:::1;21155:16:::0;;;;;;;21143:9:::1;:28:::0;;;;;;;;21060:119::o;21637:186::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;21699:14:::1;::::0;-1:-1:-1;;;21699:14:0;::::1;;;21698:15;21690:54;;;::::0;-1:-1:-1;;;21690:54:0;;5914:2:1;21690:54:0::1;::::0;::::1;5896:21:1::0;5953:2;5933:18;;;5926:30;5992:28;5972:18;;;5965:56;6038:18;;21690:54:0::1;5712:350:1::0;21690:54:0::1;21755:14;:21:::0;;-1:-1:-1;;;;21787:28:0;-1:-1:-1;;;21787:28:0;;;21637:186::o;11459:94::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;11524:21:::1;11542:1;11524:9;:21::i;:::-;11459:94::o:0;21190:212::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;21291:8:::1;:31:::0;;;;21333:18;:31;21375:12;:19;21190:212::o;22083:124::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;22184:14:::1;3533:1:::0;22184:2:::1;:14;:::i;:::-;22172:26;::::0;:9;:26:::1;:::i;:::-;22155:14;:43:::0;-1:-1:-1;22083:124:0:o;2707:104::-;2763:13;2796:7;2789:14;;;;;:::i;15456:410::-;290:10;15577:4;15626:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15626:34:0;;;;;;;;;;15679:35;;;;15671:85;;;;-1:-1:-1;;;15671:85:0;;7825:2:1;15671:85:0;;;7807:21:1;7864:2;7844:18;;;7837:30;7903:34;7883:18;;;7876:62;-1:-1:-1;;;7954:18:1;;;7947:35;7999:19;;15671:85:0;7623:401:1;15671:85:0;15767:67;290:10;15790:7;15799:34;15818:15;15799:16;:34;:::i;15767:67::-;-1:-1:-1;15854:4:0;;15456:410;-1:-1:-1;;;15456:410:0:o;15874:165::-;15952:4;15969:40;15979:10;15991:9;16002:6;15969:9;:40::i;21831:119::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21913:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:29;;-1:-1:-1;;21913:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21831:119::o;22386:131::-;22491:9;;22465:44;;-1:-1:-1;;;22465:44:0;;-1:-1:-1;;;;;22491:9:0;;;22465:44;;;8203:51:1;8270:18;;;8263:34;;;22465:25:0;;;;;;8176:18:1;;22465:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22386:131;;:::o;21958:117::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22040:19:0;;;::::1;;::::0;;;:9:::1;:19;::::0;;;;:27;;-1:-1:-1;;22040:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21958:117::o;20935:118::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;20994:14:::1;::::0;;::::1;::::0;;::::1;::::0;;21000:1:::1;20994:14:::0;;;-1:-1:-1;20994:14:0::1;::::0;;::::1;::::0;;;21006:1:::1;20994:14:::0;;;;;;20983:8:::1;:25:::0;;;;;;;;;;;21031:14;;;;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;;21019:9:::1;:26:::0;;;;;;;;;;;20935:118::o;20791:136::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;20905:14:::1;3533:1:::0;20905:2:::1;:14;:::i;:::-;20892:27;::::0;:10;:27:::1;:::i;:::-;20866:23;:53:::0;-1:-1:-1;20791:136:0:o;22214:161::-;22328:9;;22320:47;;22288:21;;-1:-1:-1;;;;;22328:9:0;;22320:47;;;;;22288:21;;22259:26;22320:47;22259:26;22320:47;22288:21;22328:9;22320:47;;;;;;;;;;;;;;;;;;;;;22248:127;22214:161::o;11561:192::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11650:22:0;::::1;11642:73;;;::::0;-1:-1:-1;;;11642:73:0;;8760:2:1;11642:73:0::1;::::0;::::1;8742:21:1::0;8799:2;8779:18;;;8772:30;8838:34;8818:18;;;8811:62;-1:-1:-1;;;8889:18:1;;;8882:36;8935:19;;11642:73:0::1;8558:402:1::0;11642:73:0::1;11726:19;11736:8;11726:9;:19::i;:::-;11561:192:::0;:::o;21410:217::-;11309:6;;-1:-1:-1;;;;;11309:6:0;290:10;11371:23;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;21513:9:::1;:32:::0;;;;21556:19;:32;21599:13;:20;21410:217::o;9535:380::-;-1:-1:-1;;;;;9671:19:0;;9663:68;;;;-1:-1:-1;;;9663:68:0;;9167:2:1;9663:68:0;;;9149:21:1;9206:2;9186:18;;;9179:30;9245:34;9225:18;;;9218:62;-1:-1:-1;;;9296:18:1;;;9289:34;9340:19;;9663:68:0;8965:400:1;9663:68:0;-1:-1:-1;;;;;9750:21:0;;9742:68;;;;-1:-1:-1;;;9742:68:0;;9572:2:1;9742:68:0;;;9554:21:1;9611:2;9591:18;;;9584:30;9650:34;9630:18;;;9623:62;-1:-1:-1;;;9701:18:1;;;9694:32;9743:19;;9742:68:0;9370:398:1;9742:68:0;-1:-1:-1;;;;;9823:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9875:32;;1361:25:1;;;9875:32:0;;1334:18:1;9875:32:0;;;;;;;9535:380;;;:::o;16047:2264::-;16197:1;16188:6;:10;16180:64;;;;-1:-1:-1;;;16180:64:0;;9975:2:1;16180:64:0;;;9957:21:1;10014:2;9994:18;;;9987:30;10053:34;10033:18;;;10026:62;-1:-1:-1;;;10104:18:1;;;10097:39;10153:19;;16180:64:0;9773:405:1;16180:64:0;-1:-1:-1;;;;;16264:20:0;;;;;;:12;:20;;;;;;;;16263:21;:49;;;;-1:-1:-1;;;;;;16289:23:0;;;;;;:12;:23;;;;;;;;16288:24;16263:49;16255:110;;;;-1:-1:-1;;;16255:110:0;;10385:2:1;16255:110:0;;;10367:21:1;10424:2;10404:18;;;10397:30;10463:27;10443:18;;;10436:55;10508:18;;16255:110:0;10183:349:1;16255:110:0;-1:-1:-1;;;;;16383:17:0;;;;;;:9;:17;;;;;;;;16382:18;:43;;;;-1:-1:-1;;;;;;16405:20:0;;;;;;:9;:20;;;;;;;;16404:21;16382:43;16378:122;;;16450:14;;-1:-1:-1;;;16450:14:0;;;;16442:46;;;;-1:-1:-1;;;16442:46:0;;10739:2:1;16442:46:0;;;10721:21:1;10778:2;10758:18;;;10751:30;-1:-1:-1;;;10797:18:1;;;10790:49;10856:18;;16442:46:0;10537:343:1;16442:46:0;16526:4;;-1:-1:-1;;;;;16516:14:0;;;16526:4;;16516:14;:39;;;;-1:-1:-1;;;;;;16535:20:0;;;;;;:9;:20;;;;;;;;16534:21;16516:39;:59;;;;-1:-1:-1;16560:15:0;;-1:-1:-1;;;16560:15:0;;;;16559:16;16516:59;16512:215;;;16633:14;;16623:6;16600:20;16610:9;-1:-1:-1;;;;;3879:18:0;3852:7;3879:18;;;;;;;;;;;;3778:127;16600:20;:29;;;;:::i;:::-;:47;;16592:123;;;;-1:-1:-1;;;16592:123:0;;11087:2:1;16592:123:0;;;11069:21:1;;;11106:18;;;11099:30;11165:34;11145:18;;;11138:62;11217:18;;16592:123:0;10885:356:1;16592:123:0;16753:4;;-1:-1:-1;;;;;16743:14:0;;;16753:4;;16743:14;;;;:39;;-1:-1:-1;;;;;;16762:20:0;;;;;;:9;:20;;;;;;;;16761:21;16743:39;:61;;;;-1:-1:-1;;;;;;16787:17:0;;;;;;:9;:17;;;;;;;;16786:18;16743:61;:81;;;;-1:-1:-1;16809:15:0;;-1:-1:-1;;;16809:15:0;;;;16808:16;16743:81;16739:315;;;16871:4;;-1:-1:-1;;;;;16858:17:0;;;16871:4;;16858:17;16854:189;;16937:14;;16927:6;16904:20;16914:9;-1:-1:-1;;;;;3879:18:0;3852:7;3879:18;;;;;;;;;;;;3778:127;16904:20;:29;;;;:::i;:::-;:47;;16896:131;;;;-1:-1:-1;;;16896:131:0;;11087:2:1;16896:131:0;;;11069:21:1;;;11106:18;;;11099:30;11165:34;11145:18;;;11138:62;11217:18;;16896:131:0;10885:356:1;16896:131:0;17064:15;17090:14;17115:11;17137:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;17137:25:0;-1:-1:-1;;;;;17195:17:0;;17175:16;17195:17;;;:9;:17;;;;;;;;17194:18;:56;;;;-1:-1:-1;;;;;;17230:20:0;;;;;;:9;:20;;;;;;;;17229:21;17194:56;:109;;;;;17295:8;;17282:10;;:21;;;;:::i;:::-;17267:12;:36;17194:109;17328:15;;17175:128;;-1:-1:-1;;;;17328:15:0;;;;;:36;;-1:-1:-1;;;;;;17347:17:0;;;;;;:9;:17;;;;;;;;17328:36;:60;;;-1:-1:-1;;;;;;17368:20:0;;;;;;:9;:20;;;;;;;;17328:60;17324:549;;;17409:1;17403:7;;17324:549;;;17445:4;;-1:-1:-1;;;;;17445:4:0;;;17432:17;;;;17428:445;;17520:13;;:9;17498:19;17476;;:41;;17498:19;17476:41;:::i;:::-;:57;;;;:::i;:::-;17579:24;;;;;;;;17594:9;17579:24;;;;;;;;;;;;;;;;;;17466:67;;-1:-1:-1;17466:67:0;;-1:-1:-1;17579:24:0;-1:-1:-1;17428:445:0;;;17638:4;;-1:-1:-1;;;;;17625:17:0;;;17638:4;;17625:17;17621:252;;17711:12;;:8;17690:18;17669;;:39;;17690:18;17669:39;:::i;:::-;:54;;;;:::i;:::-;17769:23;;;;;;;;17784:8;17769:23;;;;;;;;;;;;;;;;;;17659:64;;-1:-1:-1;17659:64:0;;-1:-1:-1;17769:23:0;-1:-1:-1;17621:252:0;;;17814:11;17810:63;;;17851:10;;17842:19;;17810:63;17921:3;17902:15;17911:6;17902;:15;:::i;:::-;17901:23;;;;:::i;:::-;17941:21;;17895:29;;-1:-1:-1;;;;17941:21:0;;;;:39;;;;-1:-1:-1;17976:4:0;;-1:-1:-1;;;;;17966:14:0;;;17976:4;;17966:14;;17941:39;17937:76;;;17982:31;17991:7;18000:12;17982:8;:31::i;:::-;18026:48;18042:6;18050:9;18061:12;18070:3;18061:6;:12;:::i;:::-;18026:15;:48::i;:::-;18089:7;;18085:219;;18131:11;;18127:164;;18163:17;18204:3;18184:16;18193:7;18184:6;:16;:::i;:::-;18183:24;;;;:::i;:::-;18163:44;;18226:49;18242:6;18258:4;18265:9;18226:15;:49::i;:::-;18144:147;18127:164;16169:2142;;;;;16047:2264;;;:::o;11761:173::-;11836:6;;;-1:-1:-1;;;;;11853:17:0;;;-1:-1:-1;;;;;;11853:17:0;;;;;;;11886:40;;11836:6;;;11853:17;11836:6;;11886:40;;11817:16;;11886:40;11806:128;11761:173;:::o;18319:1479::-;13885:15;;-1:-1:-1;;;13885:15:0;;;;13880:125;;13917:15;:22;;-1:-1:-1;;;;13917:22:0;-1:-1:-1;;;13917:22:0;;;18402:49;;18433:7:::1;18402:49;18508:4;18464:23;3879:18:::0;;;;;;;;;;;18548:23:::1;::::0;18529:42;::::1;18525:1266;;18618:1;18592:23;;:27;18588:109;;;-1:-1:-1::0;18658:23:0::1;::::0;18588:109:::1;18713:19;18735:11;:7:::0;18745:1:::1;18735:11;:::i;:::-;18713:33;;18761:32;18838:11;18815:9;:19;;;18797:15;:37;;;;:::i;:::-;18796:53;;;;:::i;:::-;18761:88:::0;-1:-1:-1;18864:14:0::1;18881:42;18761:88:::0;18881:15;:42:::1;:::i;:::-;18864:59:::0;-1:-1:-1;18965:21:0::1;19003:24;18864:59:::0;19003:16:::1;:24::i;:::-;19044:20;19067:38;19091:14:::0;19067:21:::1;:38;:::i;:::-;19044:61;;19120:19;19172:9;:19;;;19158:11;:33;;;;:::i;:::-;19142:50;::::0;:12;:50:::1;:::i;:::-;19120:72;;19207:29;19253:9;:19;;;19239:11;:33;;;;:::i;:::-;19207:65:::0;-1:-1:-1;19293:25:0;;19289:127:::1;;19339:61;19352:24;19378:21;19339:12;:61::i;:::-;19473:19:::0;;19432:20:::1;::::0;19455:15:::1;:11:::0;19469:1:::1;19455:15;:::i;:::-;:37;;;;:::i;:::-;19432:60:::0;-1:-1:-1;19511:16:0;;19507:105:::1;;19556:15;::::0;19548:48:::1;::::0;-1:-1:-1;;;;;19556:15:0::1;19583:12:::0;19548:34:::1;:48::i;:::-;19663:13;::::0;::::1;::::0;19628:14:::1;::::0;19645:15:::1;:11:::0;19659:1:::1;19645:15;:::i;:::-;:31;;;;:::i;:::-;19628:48:::0;-1:-1:-1;19695:10:0;;19691:87:::1;;19734:9;::::0;19726:36:::1;::::0;-1:-1:-1;;;;;19734:9:0::1;19755:6:::0;19726:28:::1;:36::i;:::-;18573:1218;;;;;;;;;18525:1266;18396:1402;13954:1;13970:15:::0;:23;;-1:-1:-1;;;;13970:23:0;;;18319:1479;;:::o;7910:638::-;-1:-1:-1;;;;;8050:20:0;;8042:70;;;;-1:-1:-1;;;8042:70:0;;11670:2:1;8042:70:0;;;11652:21:1;11709:2;11689:18;;;11682:30;11748:34;11728:18;;;11721:62;-1:-1:-1;;;11799:18:1;;;11792:35;11844:19;;8042:70:0;11468:401:1;8042:70:0;-1:-1:-1;;;;;8131:23:0;;8123:71;;;;-1:-1:-1;;;8123:71:0;;12076:2:1;8123:71:0;;;12058:21:1;12115:2;12095:18;;;12088:30;12154:34;12134:18;;;12127:62;-1:-1:-1;;;12205:18:1;;;12198:33;12248:19;;8123:71:0;11874:399:1;8123:71:0;-1:-1:-1;;;;;8291:17:0;;8267:21;8291:17;;;;;;;;;;;8327:23;;;;8319:74;;;;-1:-1:-1;;;8319:74:0;;12480:2:1;8319:74:0;;;12462:21:1;12519:2;12499:18;;;12492:30;12558:34;12538:18;;;12531:62;-1:-1:-1;;;12609:18:1;;;12602:36;12655:19;;8319:74:0;12278:402:1;8319:74:0;8424:22;8440:6;8424:13;:22;:::i;:::-;-1:-1:-1;;;;;8404:17:0;;;:9;:17;;;;;;;;;;;:42;;;;8457:20;;;;;;;;:30;;8481:6;;8404:9;8457:30;;8481:6;;8457:30;:::i;:::-;;;;;;;;8522:9;-1:-1:-1;;;;;8505:35:0;8514:6;-1:-1:-1;;;;;8505:35:0;;8533:6;8505:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;8505:35:0;;;;;;;;8031:517;7910:638;;;:::o;19806:448::-;19896:16;;;19910:1;19896:16;;;;;;;;19872:21;;19896:16;;;;;;;;;;-1:-1:-1;19896:16:0;19872:40;;19941:4;19923;19928:1;19923:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19923:23:0;;;:7;;;;;;;;;;:23;;;;19967:6;;:13;;;-1:-1:-1;;;19967:13:0;;;;:6;;;;;:11;;:13;;;;;19923:7;;19967:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19957:4;19962:1;19957:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19957:23:0;;;:7;;;;;;;;;:23;20025:6;;19993:53;;20010:4;;20025:6;20034:11;19993:8;:53::i;:::-;20059:6;;:187;;-1:-1:-1;;;20059:187:0;;-1:-1:-1;;;;;20059:6:0;;;;:57;;:187;;20131:11;;20059:6;;20173:4;;20200;;20220:15;;20059:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19861:393;19806:448;:::o;20262:402::-;20375:6;;20343:53;;20360:4;;-1:-1:-1;;;;;20375:6:0;20384:11;20343:8;:53::i;:::-;20409:6;;20606:9;;20409:247;;-1:-1:-1;;;20409:247:0;;20474:4;20409:247;;;14531:34:1;14581:18;;;14574:34;;;20409:6:0;14624:18:1;;;14617:34;;;14667:18;;;14660:34;-1:-1:-1;;;;;20606:9:0;;;14710:19:1;;;14703:44;20630:15:0;14763:19:1;;;14756:35;20409:6:0;;;:22;;20440:9;;14465:19:1;;20409:247:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20262:402;;:::o;10679:319::-;10794:6;10769:21;:31;;10761:73;;;;-1:-1:-1;;;10761:73:0;;15315:2:1;10761:73:0;;;15297:21:1;15354:2;15334:18;;;15327:30;15393:31;15373:18;;;15366:59;15442:18;;10761:73:0;15113:353:1;10761:73:0;10848:12;10866:9;-1:-1:-1;;;;;10866:14:0;10889:6;10866:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10847:54;;;10920:7;10912:78;;;;-1:-1:-1;;;10912:78:0;;15883:2:1;10912:78:0;;;15865:21:1;15922:2;15902:18;;;15895:30;15961:34;15941:18;;;15934:62;16032:28;16012:18;;;16005:56;16078:19;;10912:78:0;15681:422:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:118::-;1944:5;1937:13;1930:21;1923:5;1920:32;1910:60;;1966:1;1963;1956:12;1981:241;2037:6;2090:2;2078:9;2069:7;2065:23;2061:32;2058:52;;;2106:1;2103;2096:12;2058:52;2145:9;2132:23;2164:28;2186:5;2164:28;:::i;:::-;2211:5;1981:241;-1:-1:-1;;;1981:241:1:o;2416:247::-;2475:6;2528:2;2516:9;2507:7;2503:23;2499:32;2496:52;;;2544:1;2541;2534:12;2496:52;2583:9;2570:23;2602:31;2627:5;2602:31;:::i;2668:316::-;2745:6;2753;2761;2814:2;2802:9;2793:7;2789:23;2785:32;2782:52;;;2830:1;2827;2820:12;2782:52;-1:-1:-1;;2853:23:1;;;2923:2;2908:18;;2895:32;;-1:-1:-1;2974:2:1;2959:18;;;2946:32;;2668:316;-1:-1:-1;2668:316:1:o;2989:180::-;3048:6;3101:2;3089:9;3080:7;3076:23;3072:32;3069:52;;;3117:1;3114;3107:12;3069:52;-1:-1:-1;3140:23:1;;2989:180;-1:-1:-1;2989:180:1:o;3382:382::-;3447:6;3455;3508:2;3496:9;3487:7;3483:23;3479:32;3476:52;;;3524:1;3521;3514:12;3476:52;3563:9;3550:23;3582:31;3607:5;3582:31;:::i;:::-;3632:5;-1:-1:-1;3689:2:1;3674:18;;3661:32;3702:30;3661:32;3702:30;:::i;:::-;3751:7;3741:17;;;3382:382;;;;;:::o;3769:388::-;3837:6;3845;3898:2;3886:9;3877:7;3873:23;3869:32;3866:52;;;3914:1;3911;3904:12;3866:52;3953:9;3940:23;3972:31;3997:5;3972:31;:::i;:::-;4022:5;-1:-1:-1;4079:2:1;4064:18;;4051:32;4092:33;4051:32;4092:33;:::i;4162:380::-;4241:1;4237:12;;;;4284;;;4305:61;;4359:4;4351:6;4347:17;4337:27;;4305:61;4412:2;4404:6;4401:14;4381:18;4378:38;4375:161;;4458:10;4453:3;4449:20;4446:1;4439:31;4493:4;4490:1;4483:15;4521:4;4518:1;4511:15;4375:161;;4162:380;;;:::o;4956:127::-;5017:10;5012:3;5008:20;5005:1;4998:31;5048:4;5045:1;5038:15;5072:4;5069:1;5062:15;5088:128;5155:9;;;5176:11;;;5173:37;;;5190:18;;:::i;5221:356::-;5423:2;5405:21;;;5442:18;;;5435:30;5501:34;5496:2;5481:18;;5474:62;5568:2;5553:18;;5221:356::o;5582:125::-;5647:9;;;5668:10;;;5665:36;;;5681:18;;:::i;6067:422::-;6156:1;6199:5;6156:1;6213:270;6234:7;6224:8;6221:21;6213:270;;;6293:4;6289:1;6285:6;6281:17;6275:4;6272:27;6269:53;;;6302:18;;:::i;:::-;6352:7;6342:8;6338:22;6335:55;;;6372:16;;;;6335:55;6451:22;;;;6411:15;;;;6213:270;;;6217:3;6067:422;;;;;:::o;6494:806::-;6543:5;6573:8;6563:80;;-1:-1:-1;6614:1:1;6628:5;;6563:80;6662:4;6652:76;;-1:-1:-1;6699:1:1;6713:5;;6652:76;6744:4;6762:1;6757:59;;;;6830:1;6825:130;;;;6737:218;;6757:59;6787:1;6778:10;;6801:5;;;6825:130;6862:3;6852:8;6849:17;6846:43;;;6869:18;;:::i;:::-;-1:-1:-1;;6925:1:1;6911:16;;6940:5;;6737:218;;7039:2;7029:8;7026:16;7020:3;7014:4;7011:13;7007:36;7001:2;6991:8;6988:16;6983:2;6977:4;6974:12;6970:35;6967:77;6964:159;;;-1:-1:-1;7076:19:1;;;7108:5;;6964:159;7155:34;7180:8;7174:4;7155:34;:::i;:::-;7225:6;7221:1;7217:6;7213:19;7204:7;7201:32;7198:58;;;7236:18;;:::i;:::-;7274:20;;6494:806;-1:-1:-1;;;6494:806:1:o;7305:140::-;7363:5;7392:47;7433:4;7423:8;7419:19;7413:4;7392:47;:::i;7450:168::-;7523:9;;;7554;;7571:15;;;7565:22;;7551:37;7541:71;;7592:18;;:::i;8308:245::-;8375:6;8428:2;8416:9;8407:7;8403:23;8399:32;8396:52;;;8444:1;8441;8434:12;8396:52;8476:9;8470:16;8495:28;8517:5;8495:28;:::i;11246:217::-;11286:1;11312;11302:132;;11356:10;11351:3;11347:20;11344:1;11337:31;11391:4;11388:1;11381:15;11419:4;11416:1;11409:15;11302:132;-1:-1:-1;11448:9:1;;11246:217::o;12817:127::-;12878:10;12873:3;12869:20;12866:1;12859:31;12909:4;12906:1;12899:15;12933:4;12930:1;12923:15;12949:251;13019:6;13072:2;13060:9;13051:7;13047:23;13043:32;13040:52;;;13088:1;13085;13078:12;13040:52;13120:9;13114:16;13139:31;13164:5;13139:31;:::i;13205:980::-;13467:4;13515:3;13504:9;13500:19;13546:6;13535:9;13528:25;13572:2;13610:6;13605:2;13594:9;13590:18;13583:34;13653:3;13648:2;13637:9;13633:18;13626:31;13677:6;13712;13706:13;13743:6;13735;13728:22;13781:3;13770:9;13766:19;13759:26;;13820:2;13812:6;13808:15;13794:29;;13841:1;13851:195;13865:6;13862:1;13859:13;13851:195;;;13930:13;;-1:-1:-1;;;;;13926:39:1;13914:52;;14021:15;;;;13986:12;;;;13962:1;13880:9;13851:195;;;-1:-1:-1;;;;;;;14102:32:1;;;;14097:2;14082:18;;14075:60;-1:-1:-1;;;14166:3:1;14151:19;14144:35;14063:3;13205:980;-1:-1:-1;;;13205:980:1:o;14802:306::-;14890:6;14898;14906;14959:2;14947:9;14938:7;14934:23;14930:32;14927:52;;;14975:1;14972;14965:12;14927:52;15004:9;14998:16;14988:26;;15054:2;15043:9;15039:18;15033:25;15023:35;;15098:2;15087:9;15083:18;15077:25;15067:35;;14802:306;;;;;:::o

Swarm Source

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