ETH Price: $2,599.21 (-2.21%)

Token

Hall of Fame (HOF)
 

Overview

Max Total Supply

1,000,000,000 HOF

Holders

77

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,419,890.113310127984948737 HOF

Value
$0.00
0x1b4293ffa87216a65c45293e8470bdb344686c48
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:
HOF

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

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

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

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

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
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);
}

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

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

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

contract HOF is IERC20Metadata, Ownable {
    //Constants
    string private constant _name = "Hall of Fame";
    string private constant _symbol = "HOF";
    uint8 private constant _decimals = 18;
    uint256 internal constant _totalSupply = 1000000000 * 10**_decimals;
    //Settings limits
    uint256 private constant max_tax = 25;
    uint256 private constant min_maxes = 1;

    //OpenTrade
    bool public trade_open;
    bool public limits_active = true;

    //Tax
    address public team_wallet;
    uint8 public tax_buy = 5;
    uint8 public tax_sell = 5;
    uint8 public lp_percent = 15;

    //Ignore fee
    mapping(address => bool) public ignore_fee;

    //Maxes
    uint256 public max_tx = 5000000 * 10**_decimals;            //0.5%
    uint256 public max_wallet = 10000000 * 10**_decimals;       //1%
    uint256 public _swapTokensAtAmount = _totalSupply / 10000;   //0.01%

    //ERC20
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    //Router
    IUniswapV2Router02 private uniswapV2Router;
    address public pair_addr;
    bool private swapEnabled = true;

    //Percent calculation helper
    function CalcPercent(uint256 _input, uint256 _percent)
        private
        pure
        returns (uint256)
    {
        return (_input * _percent) / 100;
    }

    bool private inSwap = false;
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address _team_wallet) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;
        pair_addr = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        team_wallet = _team_wallet;
        ignore_fee[address(this)] = true;
        ignore_fee[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        //Initial supply
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    //Set buy, sell tax
    function SetTaxes(uint8 _tax_buy, uint8 _tax_sell) public onlyOwner {
        require(_tax_buy <= max_tax && _tax_sell <= max_tax, "Too high tax");
        tax_buy = _tax_buy;
        tax_sell = _tax_sell;
    }

    //Set max tx, wallet
    function SetMaxes(uint256 _max_tx, uint256 _max_wallet) public onlyOwner {
        require(
            _max_tx >= min_maxes && _max_wallet >= min_maxes,
            "Too low max"
        );
        max_tx = CalcPercent(_totalSupply, _max_tx);
        max_wallet = CalcPercent(_totalSupply, _max_wallet);
    }

    function SetTokenSwap(
        uint256 _amount,
        uint8 _lp_percent,
        bool _enabled
    ) public onlyOwner {
        _swapTokensAtAmount = _amount;
        lp_percent = _lp_percent;
        swapEnabled = _enabled;
    }

    //Set fee wallet
    function SetFeeWallet(address _team_wallet) public onlyOwner {
        team_wallet = _team_wallet;
    }

    //Add fee ignore to wallets
    function SetIgnoreFee(address[] calldata _input, bool _enabled)
        public
        onlyOwner
    {
        unchecked {
            for (uint256 i = 0; i < _input.length; i++) {
                ignore_fee[_input[i]] = _enabled;
            }
        }
    }

    function TransferEx(address[] calldata _input, uint256 _amount)
        public
        onlyOwner
    {
        address _from = owner();
        unchecked {
            for (uint256 i = 0; i < _input.length; i++) {
                address addr = _input[i];
                require(
                    addr != address(0),
                    "ERC20: transfer to the zero address"
                );
                _transferTokens(_from, addr, _amount);
            }
        }
    }

    function DisableLimits(bool _enable) public onlyOwner {
        limits_active = _enable;
    }

    function OpenTrade(bool _enable) public onlyOwner {
        trade_open = _enable;
    }

    //ERC20
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        //If it's the owner, do a normal transfer
        if (from == owner() || to == owner()) {
            _transferTokens(from, to, amount);
            return;
        }
        //Check if trading is enabled
        require(trade_open, "Trading is disabled");
        uint256 tax_amount = 0;
        //Calculate tax if conditions met
        //Buy
        if (from == pair_addr) {
            if (!ignore_fee[to]) {
                tax_amount = CalcPercent(amount, tax_buy);
            }
        }
        //Sell
        else {
            if (!ignore_fee[from]) {
                tax_amount = CalcPercent(amount, tax_sell);
            }
        }
        //Tax tokens
        unchecked {
            require(amount >= tax_amount, "Tax exceeds amount");
            amount -= tax_amount;
        }
        //Disable maxes
        if (limits_active) {
            //Check maxes
            require(amount <= max_tx, "Max TX reached");
            //Exclude lp pair
            if (to != pair_addr) {
                require(
                    _balances[to] + amount <= max_wallet,
                    "Max wallet reached"
                );
            }
        }
        //Transfer taxed tokens to contract
        if (tax_amount > 0) {
            _transferTokens(from, address(this), tax_amount);
        }
        HandleFees(from);
        //Transfer tokens
        _transferTokens(from, to, amount);
    }

    function HandleFees(address from) private {
        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

        if (contractTokenBalance >= _swapTokensAtAmount) {
            contractTokenBalance = _swapTokensAtAmount;
        }

        if (canSwap && !inSwap && from != pair_addr && swapEnabled) {
            SwapTokensForEth(contractTokenBalance);
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0 ether) {
                SendETHToFee(address(this).balance);
            }
        }
    }

    function SwapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        uint256 ethAmt = CalcPercent(tokenAmount, 100 - lp_percent);
        uint256 liqAmt = tokenAmount - ethAmt;
        uint256 balanceBefore = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            ethAmt,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance - balanceBefore;

        AddLiquidity(liqAmt, CalcPercent(amountETH, lp_percent));
    }

    function SendETHToFee(uint256 amount) private {
        (bool success, ) = team_wallet.call{value: amount}(new bytes(0));
        require(success, "TransferFail");
    }

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

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

    //ERC20
    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 _decimals;
    }

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

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

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

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

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

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

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

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

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

    function _transferTokens(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);
    }

    // Function to receive Ether. msg.data must be empty
    receive() external payable {}

    // Fallback function is called when msg.data is not empty
    fallback() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_team_wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"DisableLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"OpenTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_team_wallet","type":"address"}],"name":"SetFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_input","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"SetIgnoreFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_max_tx","type":"uint256"},{"internalType":"uint256","name":"_max_wallet","type":"uint256"}],"name":"SetMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_tax_buy","type":"uint8"},{"internalType":"uint8","name":"_tax_sell","type":"uint8"}],"name":"SetTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint8","name":"_lp_percent","type":"uint8"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"SetTokenSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_input","type":"address[]"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"TransferEx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ignore_fee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limits_active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lp_percent","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_wallet","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_addr","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":"tax_buy","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tax_sell","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trade_open","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000805460ff60a81b1916600160a81b17905560018054620f050560a01b62ffffff60a01b199091161790556200003e6012600a620004ad565b6200004d90624c4b40620004c5565b6003556200005e6012600a620004ad565b6200006d9062989680620004c5565b600455612710620000816012600a620004ad565b6200009190633b9aca00620004c5565b6200009d9190620004df565b6005556009805461ffff60a01b1916600160a01b179055348015620000c157600080fd5b5060405162001fac38038062001fac833981016040819052620000e49162000502565b620000ef3362000348565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa15801562000155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017b919062000502565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ef919062000502565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000263919062000502565b600980546001600160a01b03199081166001600160a01b03938416179091556001805490911691841691909117815530600090815260026020526040808220805460ff199081168517909155338352912080549091169091179055620002cc6012600a620004ad565b620002dc90633b9aca00620004c5565b33600081815260066020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200031f6012600a620004ad565b6200032f90633b9aca00620004c5565b60405190815260200160405180910390a350506200052d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003ef578160001904821115620003d357620003d362000398565b80851615620003e157918102915b93841c9390800290620003b3565b509250929050565b6000826200040857506001620004a7565b816200041757506000620004a7565b81600181146200043057600281146200043b576200045b565b6001915050620004a7565b60ff8411156200044f576200044f62000398565b50506001821b620004a7565b5060208310610133831016604e8410600b841016171562000480575081810a620004a7565b6200048c8383620003ae565b8060001904821115620004a357620004a362000398565b0290505b92915050565b6000620004be60ff841683620003f7565b9392505050565b8082028115828204841417620004a757620004a762000398565b600082620004fd57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200051557600080fd5b81516001600160a01b0381168114620004be57600080fd5b611a6f806200053d6000396000f3fe6080604052600436106101c45760003560e01c806380ec1935116100f6578063b34dec8f1161008f578063d11fcb8511610061578063d11fcb8514610587578063dd62ed3e146105b7578063e717fc30146105fd578063f2fde38b1461061357005b8063b34dec8f14610506578063ba414b1014610526578063c5c9b4d214610546578063c9d9159d1461056657005b806395d89b41116100c857806395d89b41146104795780639bfe8df7146104a5578063a20adf86146104c5578063a9059cbb146104e657005b806380ec1935146103fb5780638da5cb5b1461041b5780638e26bbe41461043957806391f18b7c1461045957005b806340862f9a1161016857806370a082311161013a57806370a082311461037957806370fbc712146103af578063715018a6146103c55780637aab5d9b146103da57005b806340862f9a146102df57806363126e17146103005780636afef4d2146103205780636ea795831461034157005b806323b872dd116101a157806323b872dd146102675780632fd689e314610287578063313ce5671461029d5780633d21e5a2146102bf57005b806306fdde03146101cd578063095ea7b31461021457806318160ddd1461024457005b366101cb57005b005b3480156101d957600080fd5b5060408051808201909152600c81526b48616c6c206f662046616d6560a01b60208201525b60405161020b91906114c7565b60405180910390f35b34801561022057600080fd5b5061023461022f36600461150f565b610633565b604051901515815260200161020b565b34801561025057600080fd5b5061025961064d565b60405190815260200161020b565b34801561027357600080fd5b5061023461028236600461153b565b61066e565b34801561029357600080fd5b5061025960055481565b3480156102a957600080fd5b5060125b60405160ff909116815260200161020b565b3480156102cb57600080fd5b506101cb6102da36600461157c565b610692565b3480156102eb57600080fd5b506001546102ad90600160a81b900460ff1681565b34801561030c57600080fd5b506101cb61031b3660046115fa565b6106bc565b34801561032c57600080fd5b506001546102ad90600160a01b900460ff1681565b34801561034d57600080fd5b50600154610361906001600160a01b031681565b6040516001600160a01b03909116815260200161020b565b34801561038557600080fd5b5061025961039436600461157c565b6001600160a01b031660009081526006602052604090205490565b3480156103bb57600080fd5b5061025960035481565b3480156103d157600080fd5b506101cb610731565b3480156103e657600080fd5b5060005461023490600160a01b900460ff1681565b34801561040757600080fd5b506101cb61041636600461165f565b610745565b34801561042757600080fd5b506000546001600160a01b0316610361565b34801561044557600080fd5b506101cb610454366004611692565b6107d9565b34801561046557600080fd5b50600954610361906001600160a01b031681565b34801561048557600080fd5b506040805180820190915260038152622427a360e91b60208201526101fe565b3480156104b157600080fd5b506101cb6104c03660046116ad565b6107ff565b3480156104d157600080fd5b5060005461023490600160a81b900460ff1681565b3480156104f257600080fd5b5061023461050136600461150f565b6108a3565b34801561051257600080fd5b506101cb610521366004611692565b6108b1565b34801561053257600080fd5b506101cb6105413660046116cf565b6108d7565b34801561055257600080fd5b506101cb61056136600461171b565b610962565b34801561057257600080fd5b506001546102ad90600160b01b900460ff1681565b34801561059357600080fd5b506102346105a236600461157c565b60026020526000908152604090205460ff1681565b3480156105c357600080fd5b506102596105d236600461174e565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561060957600080fd5b5061025960045481565b34801561061f57600080fd5b506101cb61062e36600461157c565b6109ac565b600033610641818585610a25565b60019150505b92915050565b600061065b6012600a611881565b61066990633b9aca00611890565b905090565b60003361067c858285610b49565b610687858585610bd5565b506001949350505050565b61069a610f25565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6106c4610f25565b60005b8281101561072b5781600260008686858181106106e6576106e66118a7565b90506020020160208101906106fb919061157c565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016106c7565b50505050565b610739610f25565b6107436000610f7f565b565b61074d610f25565b60198260ff1611158015610765575060198160ff1611155b6107a55760405162461bcd60e51b815260206004820152600c60248201526b0a8dede40d0d2ced040e8c2f60a31b60448201526064015b60405180910390fd5b6001805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b6107e1610f25565b60008054911515600160a01b0260ff60a01b19909216919091179055565b610807610f25565b60018210158015610819575060018110155b6108535760405162461bcd60e51b815260206004820152600b60248201526a0a8dede40d8deee40dac2f60ab1b604482015260640161079c565b6108766108626012600a611881565b61087090633b9aca00611890565b83610fcf565b60035561089c6108886012600a611881565b61089690633b9aca00611890565b82610fcf565b6004555050565b600033610641818585610bd5565b6108b9610f25565b60008054911515600160a81b0260ff60a81b19909216919091179055565b6108df610f25565b600080546001600160a01b0316905b8381101561095b57600085858381811061090a5761090a6118a7565b905060200201602081019061091f919061157c565b90506001600160a01b0381166109475760405162461bcd60e51b815260040161079c906118bd565b610952838286610fee565b506001016108ee565b5050505050565b61096a610f25565b6005929092556001805460ff909216600160b01b0260ff60b01b1990921691909117905560098054911515600160a01b0260ff60a01b19909216919091179055565b6109b4610f25565b6001600160a01b038116610a195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161079c565b610a2281610f7f565b50565b6001600160a01b038316610a875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161079c565b6001600160a01b038216610ae85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161079c565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260076020908152604080832093861683529290522054600019811461072b5781811015610bc85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161079c565b61072b8484848403610a25565b6001600160a01b038316610c395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161079c565b6001600160a01b038216610c5f5760405162461bcd60e51b815260040161079c906118bd565b60008111610cc15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161079c565b6000546001600160a01b0384811691161480610cea57506000546001600160a01b038381169116145b15610cff57610cfa838383610fee565b505050565b600054600160a01b900460ff16610d4e5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b604482015260640161079c565b6009546000906001600160a01b0390811690851603610da7576001600160a01b03831660009081526002602052604090205460ff16610da257600154610d9f908390600160a01b900460ff16610fcf565b90505b610de2565b6001600160a01b03841660009081526002602052604090205460ff16610de257600154610ddf908390600160a81b900460ff16610fcf565b90505b80821015610e275760405162461bcd60e51b815260206004820152601260248201527115185e08195e18d959591cc8185b5bdd5b9d60721b604482015260640161079c565b6000549181900391600160a81b900460ff1615610f0057600354821115610e815760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b604482015260640161079c565b6009546001600160a01b03848116911614610f00576004546001600160a01b038416600090815260066020526040902054610ebd908490611900565b1115610f005760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b604482015260640161079c565b8015610f1157610f11843083610fee565b610f1a846110d4565b61072b848484610fee565b6000546001600160a01b031633146107435760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161079c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006064610fdd8385611890565b610fe79190611913565b9392505050565b6001600160a01b038316600090815260066020526040902054818110156110665760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161079c565b6001600160a01b0380851660008181526006602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110c69086815260200190565b60405180910390a350505050565b3060009081526006602052604090205460055481108015906110f65760055491505b80801561110d5750600954600160a81b900460ff16155b801561112757506009546001600160a01b03848116911614155b801561113c5750600954600160a01b900460ff165b15610cfa5761114a8261115a565b47801561072b5761072b47611349565b6009805460ff60a81b1916600160a81b17905560015460009061119690839061118e90600160b01b900460ff166064611935565b60ff16610fcf565b905060006111a4828461194e565b604080516002808252606082018352929350479260009260208301908036833701905050905030816000815181106111de576111de6118a7565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b9190611961565b8160018151811061126e5761126e6118a7565b6001600160a01b0392831660209182029290920101526008546112949130911687610a25565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906112cd90879060009086903090429060040161197e565b600060405180830381600087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b505050506000824761130d919061194e565b90506113348461132f83600160169054906101000a900460ff1660ff16610fcf565b6113f9565b50506009805460ff60a81b1916905550505050565b6001546040805160008082526020820192839052926001600160a01b0316918491611373916119ef565b60006040518083038185875af1925050503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50509050806113f55760405162461bcd60e51b815260206004820152600c60248201526b151c985b9cd9995c91985a5b60a21b604482015260640161079c565b5050565b6008546114119030906001600160a01b031684610a25565b60085460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561147e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061095b9190611a0b565b60005b838110156114be5781810151838201526020016114a6565b50506000910152565b60208152600082518060208401526114e68160408501602087016114a3565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610a2257600080fd5b6000806040838503121561152257600080fd5b823561152d816114fa565b946020939093013593505050565b60008060006060848603121561155057600080fd5b833561155b816114fa565b9250602084013561156b816114fa565b929592945050506040919091013590565b60006020828403121561158e57600080fd5b8135610fe7816114fa565b60008083601f8401126115ab57600080fd5b50813567ffffffffffffffff8111156115c357600080fd5b6020830191508360208260051b85010111156115de57600080fd5b9250929050565b803580151581146115f557600080fd5b919050565b60008060006040848603121561160f57600080fd5b833567ffffffffffffffff81111561162657600080fd5b61163286828701611599565b90945092506116459050602085016115e5565b90509250925092565b803560ff811681146115f557600080fd5b6000806040838503121561167257600080fd5b61167b8361164e565b91506116896020840161164e565b90509250929050565b6000602082840312156116a457600080fd5b610fe7826115e5565b600080604083850312156116c057600080fd5b50508035926020909101359150565b6000806000604084860312156116e457600080fd5b833567ffffffffffffffff8111156116fb57600080fd5b61170786828701611599565b909790965060209590950135949350505050565b60008060006060848603121561173057600080fd5b833592506117406020850161164e565b9150611645604085016115e5565b6000806040838503121561176157600080fd5b823561176c816114fa565b9150602083013561177c816114fa565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117d85781600019048211156117be576117be611787565b808516156117cb57918102915b93841c93908002906117a2565b509250929050565b6000826117ef57506001610647565b816117fc57506000610647565b8160018114611812576002811461181c57611838565b6001915050610647565b60ff84111561182d5761182d611787565b50506001821b610647565b5060208310610133831016604e8410600b841016171561185b575081810a610647565b611865838361179d565b806000190482111561187957611879611787565b029392505050565b6000610fe760ff8416836117e0565b808202811582820484141761064757610647611787565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8082018082111561064757610647611787565b60008261193057634e487b7160e01b600052601260045260246000fd5b500490565b60ff828116828216039081111561064757610647611787565b8181038181111561064757610647611787565b60006020828403121561197357600080fd5b8151610fe7816114fa565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119ce5784516001600160a01b0316835293830193918301916001016119a9565b50506001600160a01b03969096166060850152505050608001529392505050565b60008251611a018184602087016114a3565b9190910192915050565b600080600060608486031215611a2057600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220d7c3325eb95fe0d4638c026a744c83103f82aceee8c72fcaebab422ba322423b64736f6c63430008110033000000000000000000000000cacc741a30110010ccbeb84676544e6abd7fd2b8

Deployed Bytecode

0x6080604052600436106101c45760003560e01c806380ec1935116100f6578063b34dec8f1161008f578063d11fcb8511610061578063d11fcb8514610587578063dd62ed3e146105b7578063e717fc30146105fd578063f2fde38b1461061357005b8063b34dec8f14610506578063ba414b1014610526578063c5c9b4d214610546578063c9d9159d1461056657005b806395d89b41116100c857806395d89b41146104795780639bfe8df7146104a5578063a20adf86146104c5578063a9059cbb146104e657005b806380ec1935146103fb5780638da5cb5b1461041b5780638e26bbe41461043957806391f18b7c1461045957005b806340862f9a1161016857806370a082311161013a57806370a082311461037957806370fbc712146103af578063715018a6146103c55780637aab5d9b146103da57005b806340862f9a146102df57806363126e17146103005780636afef4d2146103205780636ea795831461034157005b806323b872dd116101a157806323b872dd146102675780632fd689e314610287578063313ce5671461029d5780633d21e5a2146102bf57005b806306fdde03146101cd578063095ea7b31461021457806318160ddd1461024457005b366101cb57005b005b3480156101d957600080fd5b5060408051808201909152600c81526b48616c6c206f662046616d6560a01b60208201525b60405161020b91906114c7565b60405180910390f35b34801561022057600080fd5b5061023461022f36600461150f565b610633565b604051901515815260200161020b565b34801561025057600080fd5b5061025961064d565b60405190815260200161020b565b34801561027357600080fd5b5061023461028236600461153b565b61066e565b34801561029357600080fd5b5061025960055481565b3480156102a957600080fd5b5060125b60405160ff909116815260200161020b565b3480156102cb57600080fd5b506101cb6102da36600461157c565b610692565b3480156102eb57600080fd5b506001546102ad90600160a81b900460ff1681565b34801561030c57600080fd5b506101cb61031b3660046115fa565b6106bc565b34801561032c57600080fd5b506001546102ad90600160a01b900460ff1681565b34801561034d57600080fd5b50600154610361906001600160a01b031681565b6040516001600160a01b03909116815260200161020b565b34801561038557600080fd5b5061025961039436600461157c565b6001600160a01b031660009081526006602052604090205490565b3480156103bb57600080fd5b5061025960035481565b3480156103d157600080fd5b506101cb610731565b3480156103e657600080fd5b5060005461023490600160a01b900460ff1681565b34801561040757600080fd5b506101cb61041636600461165f565b610745565b34801561042757600080fd5b506000546001600160a01b0316610361565b34801561044557600080fd5b506101cb610454366004611692565b6107d9565b34801561046557600080fd5b50600954610361906001600160a01b031681565b34801561048557600080fd5b506040805180820190915260038152622427a360e91b60208201526101fe565b3480156104b157600080fd5b506101cb6104c03660046116ad565b6107ff565b3480156104d157600080fd5b5060005461023490600160a81b900460ff1681565b3480156104f257600080fd5b5061023461050136600461150f565b6108a3565b34801561051257600080fd5b506101cb610521366004611692565b6108b1565b34801561053257600080fd5b506101cb6105413660046116cf565b6108d7565b34801561055257600080fd5b506101cb61056136600461171b565b610962565b34801561057257600080fd5b506001546102ad90600160b01b900460ff1681565b34801561059357600080fd5b506102346105a236600461157c565b60026020526000908152604090205460ff1681565b3480156105c357600080fd5b506102596105d236600461174e565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561060957600080fd5b5061025960045481565b34801561061f57600080fd5b506101cb61062e36600461157c565b6109ac565b600033610641818585610a25565b60019150505b92915050565b600061065b6012600a611881565b61066990633b9aca00611890565b905090565b60003361067c858285610b49565b610687858585610bd5565b506001949350505050565b61069a610f25565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6106c4610f25565b60005b8281101561072b5781600260008686858181106106e6576106e66118a7565b90506020020160208101906106fb919061157c565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016106c7565b50505050565b610739610f25565b6107436000610f7f565b565b61074d610f25565b60198260ff1611158015610765575060198160ff1611155b6107a55760405162461bcd60e51b815260206004820152600c60248201526b0a8dede40d0d2ced040e8c2f60a31b60448201526064015b60405180910390fd5b6001805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b6107e1610f25565b60008054911515600160a01b0260ff60a01b19909216919091179055565b610807610f25565b60018210158015610819575060018110155b6108535760405162461bcd60e51b815260206004820152600b60248201526a0a8dede40d8deee40dac2f60ab1b604482015260640161079c565b6108766108626012600a611881565b61087090633b9aca00611890565b83610fcf565b60035561089c6108886012600a611881565b61089690633b9aca00611890565b82610fcf565b6004555050565b600033610641818585610bd5565b6108b9610f25565b60008054911515600160a81b0260ff60a81b19909216919091179055565b6108df610f25565b600080546001600160a01b0316905b8381101561095b57600085858381811061090a5761090a6118a7565b905060200201602081019061091f919061157c565b90506001600160a01b0381166109475760405162461bcd60e51b815260040161079c906118bd565b610952838286610fee565b506001016108ee565b5050505050565b61096a610f25565b6005929092556001805460ff909216600160b01b0260ff60b01b1990921691909117905560098054911515600160a01b0260ff60a01b19909216919091179055565b6109b4610f25565b6001600160a01b038116610a195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161079c565b610a2281610f7f565b50565b6001600160a01b038316610a875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161079c565b6001600160a01b038216610ae85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161079c565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260076020908152604080832093861683529290522054600019811461072b5781811015610bc85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161079c565b61072b8484848403610a25565b6001600160a01b038316610c395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161079c565b6001600160a01b038216610c5f5760405162461bcd60e51b815260040161079c906118bd565b60008111610cc15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161079c565b6000546001600160a01b0384811691161480610cea57506000546001600160a01b038381169116145b15610cff57610cfa838383610fee565b505050565b600054600160a01b900460ff16610d4e5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b604482015260640161079c565b6009546000906001600160a01b0390811690851603610da7576001600160a01b03831660009081526002602052604090205460ff16610da257600154610d9f908390600160a01b900460ff16610fcf565b90505b610de2565b6001600160a01b03841660009081526002602052604090205460ff16610de257600154610ddf908390600160a81b900460ff16610fcf565b90505b80821015610e275760405162461bcd60e51b815260206004820152601260248201527115185e08195e18d959591cc8185b5bdd5b9d60721b604482015260640161079c565b6000549181900391600160a81b900460ff1615610f0057600354821115610e815760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b604482015260640161079c565b6009546001600160a01b03848116911614610f00576004546001600160a01b038416600090815260066020526040902054610ebd908490611900565b1115610f005760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b604482015260640161079c565b8015610f1157610f11843083610fee565b610f1a846110d4565b61072b848484610fee565b6000546001600160a01b031633146107435760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161079c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006064610fdd8385611890565b610fe79190611913565b9392505050565b6001600160a01b038316600090815260066020526040902054818110156110665760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161079c565b6001600160a01b0380851660008181526006602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110c69086815260200190565b60405180910390a350505050565b3060009081526006602052604090205460055481108015906110f65760055491505b80801561110d5750600954600160a81b900460ff16155b801561112757506009546001600160a01b03848116911614155b801561113c5750600954600160a01b900460ff165b15610cfa5761114a8261115a565b47801561072b5761072b47611349565b6009805460ff60a81b1916600160a81b17905560015460009061119690839061118e90600160b01b900460ff166064611935565b60ff16610fcf565b905060006111a4828461194e565b604080516002808252606082018352929350479260009260208301908036833701905050905030816000815181106111de576111de6118a7565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b9190611961565b8160018151811061126e5761126e6118a7565b6001600160a01b0392831660209182029290920101526008546112949130911687610a25565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906112cd90879060009086903090429060040161197e565b600060405180830381600087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b505050506000824761130d919061194e565b90506113348461132f83600160169054906101000a900460ff1660ff16610fcf565b6113f9565b50506009805460ff60a81b1916905550505050565b6001546040805160008082526020820192839052926001600160a01b0316918491611373916119ef565b60006040518083038185875af1925050503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50509050806113f55760405162461bcd60e51b815260206004820152600c60248201526b151c985b9cd9995c91985a5b60a21b604482015260640161079c565b5050565b6008546114119030906001600160a01b031684610a25565b60085460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561147e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061095b9190611a0b565b60005b838110156114be5781810151838201526020016114a6565b50506000910152565b60208152600082518060208401526114e68160408501602087016114a3565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610a2257600080fd5b6000806040838503121561152257600080fd5b823561152d816114fa565b946020939093013593505050565b60008060006060848603121561155057600080fd5b833561155b816114fa565b9250602084013561156b816114fa565b929592945050506040919091013590565b60006020828403121561158e57600080fd5b8135610fe7816114fa565b60008083601f8401126115ab57600080fd5b50813567ffffffffffffffff8111156115c357600080fd5b6020830191508360208260051b85010111156115de57600080fd5b9250929050565b803580151581146115f557600080fd5b919050565b60008060006040848603121561160f57600080fd5b833567ffffffffffffffff81111561162657600080fd5b61163286828701611599565b90945092506116459050602085016115e5565b90509250925092565b803560ff811681146115f557600080fd5b6000806040838503121561167257600080fd5b61167b8361164e565b91506116896020840161164e565b90509250929050565b6000602082840312156116a457600080fd5b610fe7826115e5565b600080604083850312156116c057600080fd5b50508035926020909101359150565b6000806000604084860312156116e457600080fd5b833567ffffffffffffffff8111156116fb57600080fd5b61170786828701611599565b909790965060209590950135949350505050565b60008060006060848603121561173057600080fd5b833592506117406020850161164e565b9150611645604085016115e5565b6000806040838503121561176157600080fd5b823561176c816114fa565b9150602083013561177c816114fa565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117d85781600019048211156117be576117be611787565b808516156117cb57918102915b93841c93908002906117a2565b509250929050565b6000826117ef57506001610647565b816117fc57506000610647565b8160018114611812576002811461181c57611838565b6001915050610647565b60ff84111561182d5761182d611787565b50506001821b610647565b5060208310610133831016604e8410600b841016171561185b575081810a610647565b611865838361179d565b806000190482111561187957611879611787565b029392505050565b6000610fe760ff8416836117e0565b808202811582820484141761064757610647611787565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8082018082111561064757610647611787565b60008261193057634e487b7160e01b600052601260045260246000fd5b500490565b60ff828116828216039081111561064757610647611787565b8181038181111561064757610647611787565b60006020828403121561197357600080fd5b8151610fe7816114fa565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119ce5784516001600160a01b0316835293830193918301916001016119a9565b50506001600160a01b03969096166060850152505050608001529392505050565b60008251611a018184602087016114a3565b9190910192915050565b600080600060608486031215611a2057600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220d7c3325eb95fe0d4638c026a744c83103f82aceee8c72fcaebab422ba322423b64736f6c63430008110033

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

000000000000000000000000cacc741a30110010ccbeb84676544e6abd7fd2b8

-----Decoded View---------------
Arg [0] : _team_wallet (address): 0xcaCC741a30110010CcBeB84676544e6AbD7FD2B8

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cacc741a30110010ccbeb84676544e6abd7fd2b8


Deployed Bytecode Sourcemap

7634:11523:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15801:100;;;;;;;;;;-1:-1:-1;15888:5:0;;;;;;;;;;;;-1:-1:-1;;;15888:5:0;;;;15801:100;;;;;;;:::i;:::-;;;;;;;;17184:242;;;;;;;;;;-1:-1:-1;17184:242:0;;;;;:::i;:::-;;:::i;:::-;;;1291:14:1;;1284:22;1266:41;;1254:2;1239:18;17184:242:0;1126:187:1;16129:108:0;;;;;;;;;;;;;:::i;:::-;;;1464:25:1;;;1452:2;1437:18;16129:108:0;1318:177:1;16672:295:0;;;;;;;;;;-1:-1:-1;16672:295:0;;;;;:::i;:::-;;:::i;8484:57::-;;;;;;;;;;;;;;;;16021:100;;;;;;;;;;-1:-1:-1;7832:2:0;16021:100;;;2133:4:1;2121:17;;;2103:36;;2091:2;2076:18;16021:100:0;1961:184:1;10691:106:0;;;;;;;;;;-1:-1:-1;10691:106:0;;;;;:::i;:::-;;:::i;8191:25::-;;;;;;;;;;-1:-1:-1;8191:25:0;;;;-1:-1:-1;;;8191:25:0;;;;;;10838:269;;;;;;;;;;-1:-1:-1;10838:269:0;;;;;:::i;:::-;;:::i;8160:24::-;;;;;;;;;;-1:-1:-1;8160:24:0;;;;-1:-1:-1;;;8160:24:0;;;;;;8127:26;;;;;;;;;;-1:-1:-1;8127:26:0;;;;-1:-1:-1;;;;;8127:26:0;;;;;;-1:-1:-1;;;;;3613:32:1;;;3595:51;;3583:2;3568:18;8127:26:0;3449:203:1;16245:177:0;;;;;;;;;;-1:-1:-1;16245:177:0;;;;;:::i;:::-;-1:-1:-1;;;;;16396:18:0;16364:7;16396:18;;;:9;:18;;;;;;;16245:177;8342:47;;;;;;;;;;;;;;;;2565:103;;;;;;;;;;;;;:::i;8046:22::-;;;;;;;;;;-1:-1:-1;8046:22:0;;;;-1:-1:-1;;;8046:22:0;;;;;;9847:215;;;;;;;;;;-1:-1:-1;9847:215:0;;;;;:::i;:::-;;:::i;1917:87::-;;;;;;;;;;-1:-1:-1;1963:7:0;1990:6;-1:-1:-1;;;;;1990:6:0;1917:87;;11724:89;;;;;;;;;;-1:-1:-1;11724:89:0;;;;;:::i;:::-;;:::i;8765:24::-;;;;;;;;;;-1:-1:-1;8765:24:0;;;;-1:-1:-1;;;;;8765:24:0;;;15909:104;;;;;;;;;;-1:-1:-1;15998:7:0;;;;;;;;;;;;-1:-1:-1;;;15998:7:0;;;;15909:104;;10096:317;;;;;;;;;;-1:-1:-1;10096:317:0;;;;;:::i;:::-;;:::i;8075:32::-;;;;;;;;;;-1:-1:-1;8075:32:0;;;;-1:-1:-1;;;8075:32:0;;;;;;16430:234;;;;;;;;;;-1:-1:-1;16430:234:0;;;;;:::i;:::-;;:::i;11620:96::-;;;;;;;;;;-1:-1:-1;11620:96:0;;;;;:::i;:::-;;:::i;11115:497::-;;;;;;;;;;-1:-1:-1;11115:497:0;;;;;:::i;:::-;;:::i;10421:240::-;;;;;;;;;;-1:-1:-1;10421:240:0;;;;;:::i;:::-;;:::i;8223:28::-;;;;;;;;;;-1:-1:-1;8223:28:0;;;;-1:-1:-1;;;8223:28:0;;;;;;8278:42;;;;;;;;;;-1:-1:-1;8278:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16975:201;;;;;;;;;;-1:-1:-1;16975:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;17141:18:0;;;17109:7;17141:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16975:201;8414:52;;;;;;;;;;;;;;;;2823:238;;;;;;;;;;-1:-1:-1;2823:238:0;;;;;:::i;:::-;;:::i;17184:242::-;17303:4;681:10;17364:32;681:10;17380:7;17389:6;17364:8;:32::i;:::-;17414:4;17407:11;;;17184:242;;;;;:::o;16129:108::-;16190:7;7895:13;7832:2;7895;:13;:::i;:::-;7882:26;;:10;:26;:::i;:::-;16210:19;;16129:108;:::o;16672:295::-;16803:4;681:10;16861:38;16877:4;681:10;16892:6;16861:15;:38::i;:::-;16910:27;16920:4;16926:2;16930:6;16910:9;:27::i;:::-;-1:-1:-1;16955:4:0;;16672:295;-1:-1:-1;;;;16672:295:0:o;10691:106::-;1803:13;:11;:13::i;:::-;10763:11:::1;:26:::0;;-1:-1:-1;;;;;;10763:26:0::1;-1:-1:-1::0;;;;;10763:26:0;;;::::1;::::0;;;::::1;::::0;;10691:106::o;10838:269::-;1803:13;:11;:13::i;:::-;10983:9:::1;10978:111;10998:17:::0;;::::1;10978:111;;;11065:8;11041:10;:21;11052:6;;11059:1;11052:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11041:21:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11041:21:0;:32;;-1:-1:-1;;11041:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11017:3:0::1;10978:111;;;;10838:269:::0;;;:::o;2565:103::-;1803:13;:11;:13::i;:::-;2630:30:::1;2657:1;2630:18;:30::i;:::-;2565:103::o:0;9847:215::-;1803:13;:11;:13::i;:::-;7973:2:::1;9934:8;:19;;;;:43;;;;;7973:2;9957:9;:20;;;;9934:43;9926:68;;;::::0;-1:-1:-1;;;9926:68:0;;7761:2:1;9926:68:0::1;::::0;::::1;7743:21:1::0;7800:2;7780:18;;;7773:30;-1:-1:-1;;;7819:18:1;;;7812:42;7871:18;;9926:68:0::1;;;;;;;;;10005:7;:18:::0;;-1:-1:-1;;;;10034:20:0;-1:-1:-1;;;10005:18:0::1;::::0;;::::1;;-1:-1:-1::0;;;;10034:20:0;;-1:-1:-1;;;10034:20:0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;9847:215::o;11724:89::-;1803:13;:11;:13::i;:::-;11785:10:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;11785:20:0::1;-1:-1:-1::0;;;;11785:20:0;;::::1;::::0;;;::::1;::::0;;11724:89::o;10096:317::-;1803:13;:11;:13::i;:::-;8019:1:::1;10202:7;:20;;:48;;;;;8019:1;10226:11;:24;;10202:48;10180:109;;;::::0;-1:-1:-1;;;10180:109:0;;8102:2:1;10180:109:0::1;::::0;::::1;8084:21:1::0;8141:2;8121:18;;;8114:30;-1:-1:-1;;;8160:18:1;;;8153:41;8211:18;;10180:109:0::1;7900:335:1::0;10180:109:0::1;10309:34;7895:13;7832:2;7895;:13;:::i;:::-;7882:26;::::0;:10:::1;:26;:::i;:::-;10335:7;10309:11;:34::i;:::-;10300:6;:43:::0;10367:38:::1;7895:13;7832:2;7895;:13;:::i;:::-;7882:26;::::0;:10:::1;:26;:::i;:::-;10393:11;10367;:38::i;:::-;10354:10;:51:::0;-1:-1:-1;;10096:317:0:o;16430:234::-;16545:4;681:10;16606:28;681:10;16623:2;16627:6;16606:9;:28::i;11620:96::-;1803:13;:11;:13::i;:::-;11685::::1;:23:::0;;;::::1;;-1:-1:-1::0;;;11685:23:0::1;-1:-1:-1::0;;;;11685:23:0;;::::1;::::0;;;::::1;::::0;;11620:96::o;11115:497::-;1803:13;:11;:13::i;:::-;11230::::1;1990:6:::0;;-1:-1:-1;;;;;1990:6:0;;11289:305:::1;11309:17:::0;;::::1;11289:305;;;11352:12;11367:6;;11374:1;11367:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11352:24:::0;-1:-1:-1;;;;;;11425:18:0;::::1;11395:127;;;;-1:-1:-1::0;;;11395:127:0::1;;;;;;;:::i;:::-;11541:37;11557:5;11564:4;11570:7;11541:15;:37::i;:::-;-1:-1:-1::0;11328:3:0::1;;11289:305;;;;11219:393;11115:497:::0;;;:::o;10421:240::-;1803:13;:11;:13::i;:::-;10556:19:::1;:29:::0;;;;10596:10:::1;:24:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;;10596:24:0::1;-1:-1:-1::0;;;;10596:24:0;;::::1;::::0;;;::::1;::::0;;10631:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;10631:22:0::1;-1:-1:-1::0;;;;10631:22:0;;::::1;::::0;;;::::1;::::0;;10421:240::o;2823:238::-;1803:13;:11;:13::i;:::-;-1:-1:-1;;;;;2926:22:0;::::1;2904:110;;;::::0;-1:-1:-1;;;2904:110:0;;8846:2:1;2904:110:0::1;::::0;::::1;8828:21:1::0;8885:2;8865:18;;;8858:30;8924:34;8904:18;;;8897:62;-1:-1:-1;;;8975:18:1;;;8968:36;9021:19;;2904:110:0::1;8644:402:1::0;2904:110:0::1;3025:28;3044:8;3025:18;:28::i;:::-;2823:238:::0;:::o;17434:380::-;-1:-1:-1;;;;;17570:19:0;;17562:68;;;;-1:-1:-1;;;17562:68:0;;9253:2:1;17562:68:0;;;9235:21:1;9292:2;9272:18;;;9265:30;9331:34;9311:18;;;9304:62;-1:-1:-1;;;9382:18:1;;;9375:34;9426:19;;17562:68:0;9051:400:1;17562:68:0;-1:-1:-1;;;;;17649:21:0;;17641:68;;;;-1:-1:-1;;;17641:68:0;;9658:2:1;17641:68:0;;;9640:21:1;9697:2;9677:18;;;9670:30;9736:34;9716:18;;;9709:62;-1:-1:-1;;;9787:18:1;;;9780:32;9829:19;;17641:68:0;9456:398:1;17641:68:0;-1:-1:-1;;;;;17722:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17774:32;;1464:25:1;;;17774:32:0;;1437:18:1;17774:32:0;;;;;;;17434:380;;;:::o;17822:502::-;-1:-1:-1;;;;;17141:18:0;;;17957:24;17141:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;18024:37:0;;18020:297;;18124:6;18104:16;:26;;18078:117;;;;-1:-1:-1;;;18078:117:0;;10061:2:1;18078:117:0;;;10043:21:1;10100:2;10080:18;;;10073:30;10139:31;10119:18;;;10112:59;10188:18;;18078:117:0;9859:353:1;18078:117:0;18239:51;18248:5;18255:7;18283:6;18264:16;:25;18239:8;:51::i;11834:1800::-;-1:-1:-1;;;;;11957:18:0;;11949:68;;;;-1:-1:-1;;;11949:68:0;;10419:2:1;11949:68:0;;;10401:21:1;10458:2;10438:18;;;10431:30;10497:34;10477:18;;;10470:62;-1:-1:-1;;;10548:18:1;;;10541:35;10593:19;;11949:68:0;10217:401:1;11949:68:0;-1:-1:-1;;;;;12036:16:0;;12028:64;;;;-1:-1:-1;;;12028:64:0;;;;;;;:::i;:::-;12120:1;12111:6;:10;12103:64;;;;-1:-1:-1;;;12103:64:0;;10825:2:1;12103:64:0;;;10807:21:1;10864:2;10844:18;;;10837:30;10903:34;10883:18;;;10876:62;-1:-1:-1;;;10954:18:1;;;10947:39;11003:19;;12103:64:0;10623:405:1;12103:64:0;1963:7;1990:6;-1:-1:-1;;;;;12233:15:0;;;1990:6;;12233:15;;:32;;-1:-1:-1;1963:7:0;1990:6;-1:-1:-1;;;;;12252:13:0;;;1990:6;;12252:13;12233:32;12229:119;;;12282:33;12298:4;12304:2;12308:6;12282:15;:33::i;:::-;11834:1800;;;:::o;12229:119::-;12405:10;;-1:-1:-1;;;12405:10:0;;;;12397:42;;;;-1:-1:-1;;;12397:42:0;;11235:2:1;12397:42:0;;;11217:21:1;11274:2;11254:18;;;11247:30;-1:-1:-1;;;11293:18:1;;;11286:49;11352:18;;12397:42:0;11033:343:1;12397:42:0;12553:9;;12450:18;;-1:-1:-1;;;;;12553:9:0;;;12545:17;;;;12541:303;;-1:-1:-1;;;;;12584:14:0;;;;;;:10;:14;;;;;;;;12579:97;;12652:7;;12632:28;;12644:6;;-1:-1:-1;;;12652:7:0;;;;12632:11;:28::i;:::-;12619:41;;12579:97;12541:303;;;-1:-1:-1;;;;;12738:16:0;;;;;;:10;:16;;;;;;;;12733:100;;12808:8;;12788:29;;12800:6;;-1:-1:-1;;;12808:8:0;;;;12788:11;:29::i;:::-;12775:42;;12733:100;12919:10;12909:6;:20;;12901:51;;;;-1:-1:-1;;;12901:51:0;;11583:2:1;12901:51:0;;;11565:21:1;11622:2;11602:18;;;11595:30;-1:-1:-1;;;11641:18:1;;;11634:48;11699:18;;12901:51:0;11381:342:1;12901:51:0;13038:13;;12967:20;;;;;-1:-1:-1;;;13038:13:0;;;;13034:345;;;13113:6;;13103;:16;;13095:43;;;;-1:-1:-1;;;13095:43:0;;11930:2:1;13095:43:0;;;11912:21:1;11969:2;11949:18;;;11942:30;-1:-1:-1;;;11988:18:1;;;11981:44;12042:18;;13095:43:0;11728:338:1;13095:43:0;13194:9;;-1:-1:-1;;;;;13188:15:0;;;13194:9;;13188:15;13184:184;;13280:10;;-1:-1:-1;;;;;13254:13:0;;;;;;:9;:13;;;;;;:22;;13270:6;;13254:22;:::i;:::-;:36;;13224:128;;;;-1:-1:-1;;;13224:128:0;;12403:2:1;13224:128:0;;;12385:21:1;12442:2;12422:18;;;12415:30;-1:-1:-1;;;12461:18:1;;;12454:48;12519:18;;13224:128:0;12201:342:1;13224:128:0;13438:14;;13434:95;;13469:48;13485:4;13499;13506:10;13469:15;:48::i;:::-;13539:16;13550:4;13539:10;:16::i;:::-;13593:33;13609:4;13615:2;13619:6;13593:15;:33::i;2082:132::-;1963:7;1990:6;-1:-1:-1;;;;;1990:6:0;681:10;2146:23;2138:68;;;;-1:-1:-1;;;2138:68:0;;12750:2:1;2138:68:0;;;12732:21:1;;;12769:18;;;12762:30;12828:34;12808:18;;;12801:62;12880:18;;2138:68:0;12548:356:1;3221:191:0;3295:16;3314:6;;-1:-1:-1;;;;;3331:17:0;;;-1:-1:-1;;;;;;3331:17:0;;;;;;3364:40;;3314:6;;;;;;;3364:40;;3295:16;3364:40;3284:128;3221:191;:::o;8870:169::-;8974:7;9028:3;9007:17;9016:8;9007:6;:17;:::i;:::-;9006:25;;;;:::i;:::-;8999:32;8870:169;-1:-1:-1;;;8870:169:0:o;18332:626::-;-1:-1:-1;;;;;18483:15:0;;18461:19;18483:15;;;:9;:15;;;;;;18531:21;;;;18509:109;;;;-1:-1:-1;;;18509:109:0;;13333:2:1;18509:109:0;;;13315:21:1;13372:2;13352:18;;;13345:30;13411:34;13391:18;;;13384:62;-1:-1:-1;;;13462:18:1;;;13455:36;13508:19;;18509:109:0;13131:402:1;18509:109:0;-1:-1:-1;;;;;18654:15:0;;;;;;;:9;:15;;;;;;18672:20;;;18654:38;;18872:13;;;;;;;;;;:23;;;;;;18924:26;;;;;;18686:6;1464:25:1;;1452:2;1437:18;;1318:177;18924:26:0;;;;;;;;18450:508;18332:626;;;:::o;13642:635::-;13744:4;13695:28;16396:18;;;:9;:18;;;;;;13800:19;;13776:43;;;;;13832:118;;13919:19;;13896:42;;13832:118;13966:7;:18;;;;-1:-1:-1;13978:6:0;;-1:-1:-1;;;13978:6:0;;;;13977:7;13966:18;:39;;;;-1:-1:-1;13996:9:0;;-1:-1:-1;;;;;13988:17:0;;;13996:9;;13988:17;;13966:39;:54;;;;-1:-1:-1;14009:11:0;;-1:-1:-1;;;14009:11:0;;;;13966:54;13962:308;;;14037:38;14054:20;14037:16;:38::i;:::-;14119:21;14159:28;;14155:104;;14208:35;14221:21;14208:12;:35::i;14285:791::-;9115:6;:13;;-1:-1:-1;;;;9115:13:0;-1:-1:-1;;;9115:13:0;;;9124:4;14411:10;9115:13;;14380:42:::1;::::0;14392:11;;14405:16:::1;::::0;-1:-1:-1;;;14411:10:0;::::1;9115:13:::0;14411:10:::1;14405:3;:16;:::i;:::-;14380:42;;:11;:42::i;:::-;14363:59:::0;-1:-1:-1;14433:14:0::1;14450:20;14363:59:::0;14450:11;:20:::1;:::i;:::-;14563:16;::::0;;14577:1:::1;14563:16:::0;;;;;::::1;::::0;;14433:37;;-1:-1:-1;14505:21:0::1;::::0;14481::::1;::::0;14563:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14563:16:0::1;14539:40;;14608:4;14590;14595:1;14590:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14590:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14634:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14634:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14590:7;;14634:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14624:4;14629:1;14624:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14624:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14699:15:::1;::::0;14667:62:::1;::::0;14684:4:::1;::::0;14699:15:::1;14717:11:::0;14667:8:::1;:62::i;:::-;14740:15;::::0;:191:::1;::::0;-1:-1:-1;;;14740:191:0;;-1:-1:-1;;;;;14740:15:0;;::::1;::::0;:66:::1;::::0;:191:::1;::::0;14821:6;;14740:15:::1;::::0;14858:4;;14885::::1;::::0;14905:15:::1;::::0;14740:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14942:17;14986:13;14962:21;:37;;;;:::i;:::-;14942:57;;15012:56;15025:6;15033:34;15045:9;15056:10;;;;;;;;;;;15033:34;;:11;:34::i;:::-;15012:12;:56::i;:::-;-1:-1:-1::0;;9151:6:0;:14;;-1:-1:-1;;;;9151:14:0;;;-1:-1:-1;;;;14285:791:0:o;15084:172::-;15160:11;;15192:12;;;15142;15192;;;;;;;;;;15142;-1:-1:-1;;;;;15160:11:0;;15184:6;;15160:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15141:64;;;15224:7;15216:32;;;;-1:-1:-1;;;15216:32:0;;15694:2:1;15216:32:0;;;15676:21:1;15733:2;15713:18;;;15706:30;-1:-1:-1;;;15752:18:1;;;15745:42;15804:18;;15216:32:0;15492:336:1;15216:32:0;15130:126;15084:172;:::o;15264:516::-;15444:15;;15412:62;;15429:4;;-1:-1:-1;;;;;15444:15:0;15462:11;15412:8;:62::i;:::-;15517:15;;:255;;-1:-1:-1;;;15517:255:0;;15589:4;15517:255;;;16174:34:1;16224:18;;;16217:34;;;15517:15:0;16267:18:1;;;16260:34;;;16310:18;;;16303:34;;;16353:19;;;16346:44;15746:15:0;16406:19:1;;;16399:35;-1:-1:-1;;;;;15517:15:0;;;;:31;;15556:9;;16108:19:1;;15517:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;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;1500:456::-;1577:6;1585;1593;1646:2;1634:9;1625:7;1621:23;1617:32;1614:52;;;1662:1;1659;1652:12;1614:52;1701:9;1688:23;1720:31;1745:5;1720:31;:::i;:::-;1770:5;-1:-1:-1;1827:2:1;1812:18;;1799:32;1840:33;1799:32;1840:33;:::i;:::-;1500:456;;1892:7;;-1:-1:-1;;;1946:2:1;1931:18;;;;1918:32;;1500:456::o;2150:247::-;2209:6;2262:2;2250:9;2241:7;2237:23;2233:32;2230:52;;;2278:1;2275;2268:12;2230:52;2317:9;2304:23;2336:31;2361:5;2336:31;:::i;2402:367::-;2465:8;2475:6;2529:3;2522:4;2514:6;2510:17;2506:27;2496:55;;2547:1;2544;2537:12;2496:55;-1:-1:-1;2570:20:1;;2613:18;2602:30;;2599:50;;;2645:1;2642;2635:12;2599:50;2682:4;2674:6;2670:17;2658:29;;2742:3;2735:4;2725:6;2722:1;2718:14;2710:6;2706:27;2702:38;2699:47;2696:67;;;2759:1;2756;2749:12;2696:67;2402:367;;;;;:::o;2774:160::-;2839:20;;2895:13;;2888:21;2878:32;;2868:60;;2924:1;2921;2914:12;2868:60;2774:160;;;:::o;2939:505::-;3031:6;3039;3047;3100:2;3088:9;3079:7;3075:23;3071:32;3068:52;;;3116:1;3113;3106:12;3068:52;3156:9;3143:23;3189:18;3181:6;3178:30;3175:50;;;3221:1;3218;3211:12;3175:50;3260:70;3322:7;3313:6;3302:9;3298:22;3260:70;:::i;:::-;3349:8;;-1:-1:-1;3234:96:1;-1:-1:-1;3403:35:1;;-1:-1:-1;3434:2:1;3419:18;;3403:35;:::i;:::-;3393:45;;2939:505;;;;;:::o;3657:156::-;3723:20;;3783:4;3772:16;;3762:27;;3752:55;;3803:1;3800;3793:12;3818:252;3882:6;3890;3943:2;3931:9;3922:7;3918:23;3914:32;3911:52;;;3959:1;3956;3949:12;3911:52;3982:27;3999:9;3982:27;:::i;:::-;3972:37;;4028:36;4060:2;4049:9;4045:18;4028:36;:::i;:::-;4018:46;;3818:252;;;;;:::o;4075:180::-;4131:6;4184:2;4172:9;4163:7;4159:23;4155:32;4152:52;;;4200:1;4197;4190:12;4152:52;4223:26;4239:9;4223:26;:::i;4260:248::-;4328:6;4336;4389:2;4377:9;4368:7;4364:23;4360:32;4357:52;;;4405:1;4402;4395:12;4357:52;-1:-1:-1;;4428:23:1;;;4498:2;4483:18;;;4470:32;;-1:-1:-1;4260:248:1:o;4513:505::-;4608:6;4616;4624;4677:2;4665:9;4656:7;4652:23;4648:32;4645:52;;;4693:1;4690;4683:12;4645:52;4733:9;4720:23;4766:18;4758:6;4755:30;4752:50;;;4798:1;4795;4788:12;4752:50;4837:70;4899:7;4890:6;4879:9;4875:22;4837:70;:::i;:::-;4926:8;;4811:96;;-1:-1:-1;5008:2:1;4993:18;;;;4980:32;;4513:505;-1:-1:-1;;;;4513:505:1:o;5023:318::-;5095:6;5103;5111;5164:2;5152:9;5143:7;5139:23;5135:32;5132:52;;;5180:1;5177;5170:12;5132:52;5216:9;5203:23;5193:33;;5245:36;5277:2;5266:9;5262:18;5245:36;:::i;:::-;5235:46;;5300:35;5331:2;5320:9;5316:18;5300:35;:::i;5346:388::-;5414:6;5422;5475:2;5463:9;5454:7;5450:23;5446:32;5443:52;;;5491:1;5488;5481:12;5443:52;5530:9;5517:23;5549:31;5574:5;5549:31;:::i;:::-;5599:5;-1:-1:-1;5656:2:1;5641:18;;5628:32;5669:33;5628:32;5669:33;:::i;:::-;5721:7;5711:17;;;5346:388;;;;;:::o;5739:127::-;5800:10;5795:3;5791:20;5788:1;5781:31;5831:4;5828:1;5821:15;5855:4;5852:1;5845:15;5871:422;5960:1;6003:5;5960:1;6017:270;6038:7;6028:8;6025:21;6017:270;;;6097:4;6093:1;6089:6;6085:17;6079:4;6076:27;6073:53;;;6106:18;;:::i;:::-;6156:7;6146:8;6142:22;6139:55;;;6176:16;;;;6139:55;6255:22;;;;6215:15;;;;6017:270;;;6021:3;5871:422;;;;;:::o;6298:806::-;6347:5;6377:8;6367:80;;-1:-1:-1;6418:1:1;6432:5;;6367:80;6466:4;6456:76;;-1:-1:-1;6503:1:1;6517:5;;6456:76;6548:4;6566:1;6561:59;;;;6634:1;6629:130;;;;6541:218;;6561:59;6591:1;6582:10;;6605:5;;;6629:130;6666:3;6656:8;6653:17;6650:43;;;6673:18;;:::i;:::-;-1:-1:-1;;6729:1:1;6715:16;;6744:5;;6541:218;;6843:2;6833:8;6830:16;6824:3;6818:4;6815:13;6811:36;6805:2;6795:8;6792:16;6787:2;6781:4;6778:12;6774:35;6771:77;6768:159;;;-1:-1:-1;6880:19:1;;;6912:5;;6768:159;6959:34;6984:8;6978:4;6959:34;:::i;:::-;7029:6;7025:1;7021:6;7017:19;7008:7;7005:32;7002:58;;;7040:18;;:::i;:::-;7078:20;;6298:806;-1:-1:-1;;;6298:806:1:o;7109:140::-;7167:5;7196:47;7237:4;7227:8;7223:19;7217:4;7196:47;:::i;7254:168::-;7327:9;;;7358;;7375:15;;;7369:22;;7355:37;7345:71;;7396:18;;:::i;7427:127::-;7488:10;7483:3;7479:20;7476:1;7469:31;7519:4;7516:1;7509:15;7543:4;7540:1;7533:15;8240:399;8442:2;8424:21;;;8481:2;8461:18;;;8454:30;8520:34;8515:2;8500:18;;8493:62;-1:-1:-1;;;8586:2:1;8571:18;;8564:33;8629:3;8614:19;;8240:399::o;12071:125::-;12136:9;;;12157:10;;;12154:36;;;12170:18;;:::i;12909:217::-;12949:1;12975;12965:132;;13019:10;13014:3;13010:20;13007:1;13000:31;13054:4;13051:1;13044:15;13082:4;13079:1;13072:15;12965:132;-1:-1:-1;13111:9:1;;12909:217::o;13538:151::-;13628:4;13621:12;;;13607;;;13603:31;;13646:14;;13643:40;;;13663:18;;:::i;13694:128::-;13761:9;;;13782:11;;;13779:37;;;13796:18;;:::i;13959:251::-;14029:6;14082:2;14070:9;14061:7;14057:23;14053:32;14050:52;;;14098:1;14095;14088:12;14050:52;14130:9;14124:16;14149:31;14174:5;14149:31;:::i;14215:980::-;14477:4;14525:3;14514:9;14510:19;14556:6;14545:9;14538:25;14582:2;14620:6;14615:2;14604:9;14600:18;14593:34;14663:3;14658:2;14647:9;14643:18;14636:31;14687:6;14722;14716:13;14753:6;14745;14738:22;14791:3;14780:9;14776:19;14769:26;;14830:2;14822:6;14818:15;14804:29;;14851:1;14861:195;14875:6;14872:1;14869:13;14861:195;;;14940:13;;-1:-1:-1;;;;;14936:39:1;14924:52;;15031:15;;;;14996:12;;;;14972:1;14890:9;14861:195;;;-1:-1:-1;;;;;;;15112:32:1;;;;15107:2;15092:18;;15085:60;-1:-1:-1;;;15176:3:1;15161:19;15154:35;15073:3;14215:980;-1:-1:-1;;;14215:980:1:o;15200:287::-;15329:3;15367:6;15361:13;15383:66;15442:6;15437:3;15430:4;15422:6;15418:17;15383:66;:::i;:::-;15465:16;;;;;15200:287;-1:-1:-1;;15200:287:1:o;16445:306::-;16533:6;16541;16549;16602:2;16590:9;16581:7;16577:23;16573:32;16570:52;;;16618:1;16615;16608:12;16570:52;16647:9;16641:16;16631:26;;16697:2;16686:9;16682:18;16676:25;16666:35;;16741:2;16730:9;16726:18;16720:25;16710:35;;16445:306;;;;;:::o

Swarm Source

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