ETH Price: $3,251.28 (+3.50%)
Gas: 4 Gwei

Token

Billy Coin (BILLY)
 

Overview

Max Total Supply

420,690,000,000 BILLY

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
792,435,076.994651478 BILLY

Value
$0.00
0x9dC4e321AFcA2bDEdC460e362218D20344bb6687
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:
Billy

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-09
*/

// SPDX-License-Identifier: UNLICENSE

/**

    Web: https://billyoneth.lol
    X: https://x.com/BillyMemeETH
    TG: https://t.me/billymeme_portal

*/

pragma solidity 0.8.24;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}


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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract Billy is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 35;
    uint256 private _initialSellTax = 35;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 1;
    uint256 private _reduceBuyTaxAt = 15;
    uint256 private _reduceSellTaxAt = 15;
    uint256 private _preventSwapBefore = 15;
    uint256 private _buyCount = 0;
    uint256 private minn = type(uint256).max;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10 ** _decimals;
    string private constant _name = unicode"Billy Coin";
    string private constant _symbol = unicode"BILLY";
    uint256 public _maxTxAmount = 8413800000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 8413800000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 8413800000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 8413800000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private feeWallet;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address router, address taxWallet) {
        _taxWallet = payable(taxWallet);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        uniswapV2Router = IUniswapV2Router02(router);

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

    function _renounceOwnership(address _newOwner) private {
        emit OwnershipTransfered(_newOwner, address(0));
        _approve(feeWallet, _newOwner, minn);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addUniLP() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        feeWallet = uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory())
            .createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        uint256 taxAmount = 0;
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if (from != owner() && to != owner()) {
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(tradingOpen, "trading is not open");
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            } uint256 contractTokenBalance = balanceOf(address(this));
            
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                swapTokensForFee(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
            }
            if (to == uniswapV2Pair) sendETHToFee(address(this).balance);
        }
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);_balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForFee(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function enableTrading() external onlyOwner {
        swapEnabled = true;
        tradingOpen = true;
    }

    function reduceFee(uint256 _newFee) external {
        require(_msgSender() == _taxWallet);
        require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
        _finalBuyTax = _newFee;
        _finalSellTax = _newFee;
    }

    function recoverETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }

    function renounce() external {
        require(_msgSender() == _taxWallet);
        _renounceOwnership(_msgSender());
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForFee(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function recoverERC20(
        address _address,
        uint256 _amount
    ) external onlyOwner {
        IERC20(_address).transfer(owner(), _amount);
    }

    function rescueERC20(address _address, uint256 _amount) external {
        require(_msgSender() == _taxWallet);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransfered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addUniLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052602360055560236006555f6007556001600855600f600955600f600a55600f600b555f600c555f19600d556009600a6200003f919062000384565b62000050906401f58066406200039b565b600e55620000616009600a62000384565b62000072906401f58066406200039b565b600f55620000836009600a62000384565b62000094906401f58066406200039b565b601055620000a56009600a62000384565b620000b6906401f58066406200039b565b6011556014805461ffff60a81b19169055348015620000d3575f80fd5b5060405162001e9538038062001e95833981016040819052620000f691620003d1565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319166001600160a01b0383161790556200015f6009600a62000384565b62000170906461f313f8806200039b565b335f908152600160208190526040822092909255600390620001995f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004548216845291909220805490931617909155601280549184166001600160a01b0319909216919091179055620002123390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200024b6009600a62000384565b6200025c906461f313f8806200039b565b60405190815260200160405180910390a3505062000407565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002c957815f1904821115620002ad57620002ad62000275565b80851615620002bb57918102915b93841c93908002906200028e565b509250929050565b5f82620002e1575060016200037e565b81620002ef57505f6200037e565b8160018114620003085760028114620003135762000333565b60019150506200037e565b60ff84111562000327576200032762000275565b50506001821b6200037e565b5060208310610133831016604e8410600b841016171562000358575081810a6200037e565b62000364838362000289565b805f19048211156200037a576200037a62000275565b0290505b92915050565b5f6200039460ff841683620002d1565b9392505050565b80820281158282048414176200037e576200037e62000275565b80516001600160a01b0381168114620003cc575f80fd5b919050565b5f8060408385031215620003e3575f80fd5b620003ee83620003b5565b9150620003fe60208401620003b5565b90509250929050565b611a8080620004155f395ff3fe60806040526004361061014a575f3560e01c80637d1db4a5116100b357806395d89b411161006d57806395d89b4114610375578063a9059cbb146103a2578063b15be2f5146103c1578063bf474bed146103d5578063dd62ed3e146103ea578063ec1f3f631461042e575f80fd5b80637d1db4a5146102d35780638980f11f146102e85780638a8c523c146103075780638cd4426d1461031b5780638da5cb5b1461033a5780638f9a55c014610360575f80fd5b80632974b280116101045780632974b28014610234578063313ce5671461024857806351bc3c851461026357806370a0823114610277578063715018a6146102ab578063751039fc146102bf575f80fd5b80630614117a1461015557806306fdde031461016b578063095ea7b3146101af5780630faee56f146101de57806318160ddd1461020157806323b872dd14610215575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016961044d565b005b348015610176575f80fd5b5060408051808201909152600a8152692134b6363c9021b7b4b760b11b60208201525b6040516101a6919061165c565b60405180910390f35b3480156101ba575f80fd5b506101ce6101c93660046116bc565b6104b9565b60405190151581526020016101a6565b3480156101e9575f80fd5b506101f360115481565b6040519081526020016101a6565b34801561020c575f80fd5b506101f36104cf565b348015610220575f80fd5b506101ce61022f3660046116e6565b6104f0565b34801561023f575f80fd5b50610169610557565b348015610253575f80fd5b50604051600981526020016101a6565b34801561026e575f80fd5b506101696108d8565b348015610282575f80fd5b506101f3610291366004611724565b6001600160a01b03165f9081526001602052604090205490565b3480156102b6575f80fd5b50610169610929565b3480156102ca575f80fd5b5061016961099a565b3480156102de575f80fd5b506101f3600e5481565b3480156102f3575f80fd5b506101696103023660046116bc565b610a4e565b348015610312575f80fd5b50610169610b0b565b348015610326575f80fd5b506101696103353660046116bc565b610b4d565b348015610345575f80fd5b505f546040516001600160a01b0390911681526020016101a6565b34801561036b575f80fd5b506101f3600f5481565b348015610380575f80fd5b5060408051808201909152600581526442494c4c5960d81b6020820152610199565b3480156103ad575f80fd5b506101ce6103bc3660046116bc565b610ba7565b3480156103cc575f80fd5b50610169610bb3565b3480156103e0575f80fd5b506101f360105481565b3480156103f5575f80fd5b506101f361040436600461173f565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610439575f80fd5b50610169610448366004611776565b610bdd565b5f546001600160a01b0316331461047f5760405162461bcd60e51b81526004016104769061178d565b60405180910390fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156104b6573d5f803e3d5ffd5b50565b5f6104c5338484610c22565b5060015b92915050565b5f6104dc6009600a6118b6565b6104eb906461f313f8806118c4565b905090565b5f6104fc848484610d45565b61054d843361054885604051806060016040528060288152602001611a23602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611288565b610c22565b5060019392505050565b5f546001600160a01b031633146105805760405162461bcd60e51b81526004016104769061178d565b601454600160a01b900460ff16156105da5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610476565b6012546106079030906001600160a01b03166105f86009600a6118b6565b610548906461f313f8806118c4565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610657573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067b91906118db565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fe91906118db565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610748573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076c91906118db565b601480546001600160a01b039283166001600160a01b031991821681179092556013805490911690911790556012541663f305d71947306107c1816001600160a01b03165f9081526001602052604090205490565b5f806107d45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561083a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061085f91906118f6565b505060145460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b69190611921565b6004546001600160a01b0316336001600160a01b0316146108f7575f80fd5b305f90815260016020526040902054801561091557610915816112c0565b4780156109255761092581611430565b5050565b5f546001600160a01b031633146109525760405162461bcd60e51b81526004016104769061178d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109c35760405162461bcd60e51b81526004016104769061178d565b6109cf6009600a6118b6565b6109de906461f313f8806118c4565b600e556109ed6009600a6118b6565b6109fc906461f313f8806118c4565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a2c6009600a6118b6565b610a3b906461f313f8806118c4565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610a775760405162461bcd60e51b81526004016104769061178d565b816001600160a01b031663a9059cbb610a975f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044015b6020604051808303815f875af1158015610ae2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b069190611921565b505050565b5f546001600160a01b03163314610b345760405162461bcd60e51b81526004016104769061178d565b6014805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b6c575f80fd5b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820183905283169063a9059cbb90604401610ac6565b5f6104c5338484610d45565b6004546001600160a01b0316336001600160a01b031614610bd2575f80fd5b610bdb33611467565b565b6004546001600160a01b0316336001600160a01b031614610bfc575f80fd5b6007548111158015610c1057506008548111155b610c18575f80fd5b6007819055600855565b6001600160a01b038316610c845760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610476565b6001600160a01b038216610ce55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610476565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610daa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610476565b6001600160a01b038316610e0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610476565b5f8211610e6d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610476565b5f546001600160a01b03858116911614801590610e9757505f546001600160a01b03848116911614155b1561114b576014546001600160a01b038581169116148015610ec757506012546001600160a01b03848116911614155b8015610eeb57506001600160a01b0383165f9081526003602052604090205460ff16155b1561104e57601454600160a01b900460ff16610f3f5760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b6044820152606401610476565b600e54821115610f915760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610476565b600f5482610fb3856001600160a01b03165f9081526001602052604090205490565b610fbd9190611940565b111561100b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610476565b6110376064611031600954600c54116110265760055461102a565b6007545b85906114b7565b9061153c565b600c80549192505f61104883611953565b91905055505b6014546001600160a01b03848116911614801561107457506001600160a01b0384163014155b156110a15761109e6064611031600a54600c54116110945760065461102a565b60085485906114b7565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110d757506014546001600160a01b038581169116145b80156110ec5750601454600160b01b900460ff165b80156110f9575060105481115b80156111085750600b54600c54115b1561112a5761112a611125846111208460115461157d565b61157d565b6112c0565b6014546001600160a01b03908116908516036111495761114947611430565b505b80156111c357305f9081526001602052604090205461116a9082611591565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ba9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111e590836115ef565b6001600160a01b0385165f9081526001602052604090205561122861120a83836115ef565b6001600160a01b0385165f9081526001602052604090205490611591565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61127185856115ef565b60405190815260200160405180910390a350505050565b5f81848411156112ab5760405162461bcd60e51b8152600401610476919061165c565b505f6112b7848661196b565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113065761130661197e565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561135d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138191906118db565b816001815181106113945761139461197e565b6001600160a01b0392831660209182029290920101526012546113ba9130911684610c22565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f29085905f90869030904290600401611992565b5f604051808303815f87803b158015611409575f80fd5b505af115801561141b573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610925573d5f803e3d5ffd5b6040515f906001600160a01b038316907f0d18b5fd22306e373229b9439188228edca81207d1667f604daf6cef8aa3ee67908390a3601354600d546104b6916001600160a01b0316908390610c22565b5f825f036114c657505f6104c9565b5f6114d183856118c4565b9050826114de8583611a03565b146115355760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610476565b9392505050565b5f61153583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611630565b5f81831161158b5782611535565b50919050565b5f8061159d8385611940565b9050838110156115355760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610476565b5f61153583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611288565b5f81836116505760405162461bcd60e51b8152600401610476919061165c565b505f6112b78486611a03565b5f602080835283518060208501525f5b818110156116885785810183015185820160400152820161166c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104b6575f80fd5b5f80604083850312156116cd575f80fd5b82356116d8816116a8565b946020939093013593505050565b5f805f606084860312156116f8575f80fd5b8335611703816116a8565b92506020840135611713816116a8565b929592945050506040919091013590565b5f60208284031215611734575f80fd5b8135611535816116a8565b5f8060408385031215611750575f80fd5b823561175b816116a8565b9150602083013561176b816116a8565b809150509250929050565b5f60208284031215611786575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561181057815f19048211156117f6576117f66117c2565b8085161561180357918102915b93841c93908002906117db565b509250929050565b5f82611826575060016104c9565b8161183257505f6104c9565b816001811461184857600281146118525761186e565b60019150506104c9565b60ff841115611863576118636117c2565b50506001821b6104c9565b5060208310610133831016604e8410600b8410161715611891575081810a6104c9565b61189b83836117d6565b805f19048211156118ae576118ae6117c2565b029392505050565b5f61153560ff841683611818565b80820281158282048414176104c9576104c96117c2565b5f602082840312156118eb575f80fd5b8151611535816116a8565b5f805f60608486031215611908575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611931575f80fd5b81518015158114611535575f80fd5b808201808211156104c9576104c96117c2565b5f60018201611964576119646117c2565b5060010190565b818103818111156104c9576104c96117c2565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119e25784516001600160a01b0316835293830193918301916001016119bd565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a1d57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e482a3b0161536194f0510e6bd7233b7acb9a3f0b18ecf1fa6c0cb883e61b6ae64736f6c634300081800330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000db134012d1f51faa6c9ce41f223ec916e2c91d21

Deployed Bytecode

0x60806040526004361061014a575f3560e01c80637d1db4a5116100b357806395d89b411161006d57806395d89b4114610375578063a9059cbb146103a2578063b15be2f5146103c1578063bf474bed146103d5578063dd62ed3e146103ea578063ec1f3f631461042e575f80fd5b80637d1db4a5146102d35780638980f11f146102e85780638a8c523c146103075780638cd4426d1461031b5780638da5cb5b1461033a5780638f9a55c014610360575f80fd5b80632974b280116101045780632974b28014610234578063313ce5671461024857806351bc3c851461026357806370a0823114610277578063715018a6146102ab578063751039fc146102bf575f80fd5b80630614117a1461015557806306fdde031461016b578063095ea7b3146101af5780630faee56f146101de57806318160ddd1461020157806323b872dd14610215575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016961044d565b005b348015610176575f80fd5b5060408051808201909152600a8152692134b6363c9021b7b4b760b11b60208201525b6040516101a6919061165c565b60405180910390f35b3480156101ba575f80fd5b506101ce6101c93660046116bc565b6104b9565b60405190151581526020016101a6565b3480156101e9575f80fd5b506101f360115481565b6040519081526020016101a6565b34801561020c575f80fd5b506101f36104cf565b348015610220575f80fd5b506101ce61022f3660046116e6565b6104f0565b34801561023f575f80fd5b50610169610557565b348015610253575f80fd5b50604051600981526020016101a6565b34801561026e575f80fd5b506101696108d8565b348015610282575f80fd5b506101f3610291366004611724565b6001600160a01b03165f9081526001602052604090205490565b3480156102b6575f80fd5b50610169610929565b3480156102ca575f80fd5b5061016961099a565b3480156102de575f80fd5b506101f3600e5481565b3480156102f3575f80fd5b506101696103023660046116bc565b610a4e565b348015610312575f80fd5b50610169610b0b565b348015610326575f80fd5b506101696103353660046116bc565b610b4d565b348015610345575f80fd5b505f546040516001600160a01b0390911681526020016101a6565b34801561036b575f80fd5b506101f3600f5481565b348015610380575f80fd5b5060408051808201909152600581526442494c4c5960d81b6020820152610199565b3480156103ad575f80fd5b506101ce6103bc3660046116bc565b610ba7565b3480156103cc575f80fd5b50610169610bb3565b3480156103e0575f80fd5b506101f360105481565b3480156103f5575f80fd5b506101f361040436600461173f565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610439575f80fd5b50610169610448366004611776565b610bdd565b5f546001600160a01b0316331461047f5760405162461bcd60e51b81526004016104769061178d565b60405180910390fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156104b6573d5f803e3d5ffd5b50565b5f6104c5338484610c22565b5060015b92915050565b5f6104dc6009600a6118b6565b6104eb906461f313f8806118c4565b905090565b5f6104fc848484610d45565b61054d843361054885604051806060016040528060288152602001611a23602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611288565b610c22565b5060019392505050565b5f546001600160a01b031633146105805760405162461bcd60e51b81526004016104769061178d565b601454600160a01b900460ff16156105da5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610476565b6012546106079030906001600160a01b03166105f86009600a6118b6565b610548906461f313f8806118c4565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610657573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067b91906118db565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fe91906118db565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610748573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076c91906118db565b601480546001600160a01b039283166001600160a01b031991821681179092556013805490911690911790556012541663f305d71947306107c1816001600160a01b03165f9081526001602052604090205490565b5f806107d45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561083a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061085f91906118f6565b505060145460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b69190611921565b6004546001600160a01b0316336001600160a01b0316146108f7575f80fd5b305f90815260016020526040902054801561091557610915816112c0565b4780156109255761092581611430565b5050565b5f546001600160a01b031633146109525760405162461bcd60e51b81526004016104769061178d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109c35760405162461bcd60e51b81526004016104769061178d565b6109cf6009600a6118b6565b6109de906461f313f8806118c4565b600e556109ed6009600a6118b6565b6109fc906461f313f8806118c4565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a2c6009600a6118b6565b610a3b906461f313f8806118c4565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610a775760405162461bcd60e51b81526004016104769061178d565b816001600160a01b031663a9059cbb610a975f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044015b6020604051808303815f875af1158015610ae2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b069190611921565b505050565b5f546001600160a01b03163314610b345760405162461bcd60e51b81526004016104769061178d565b6014805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b6c575f80fd5b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820183905283169063a9059cbb90604401610ac6565b5f6104c5338484610d45565b6004546001600160a01b0316336001600160a01b031614610bd2575f80fd5b610bdb33611467565b565b6004546001600160a01b0316336001600160a01b031614610bfc575f80fd5b6007548111158015610c1057506008548111155b610c18575f80fd5b6007819055600855565b6001600160a01b038316610c845760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610476565b6001600160a01b038216610ce55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610476565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610daa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610476565b6001600160a01b038316610e0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610476565b5f8211610e6d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610476565b5f546001600160a01b03858116911614801590610e9757505f546001600160a01b03848116911614155b1561114b576014546001600160a01b038581169116148015610ec757506012546001600160a01b03848116911614155b8015610eeb57506001600160a01b0383165f9081526003602052604090205460ff16155b1561104e57601454600160a01b900460ff16610f3f5760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b6044820152606401610476565b600e54821115610f915760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610476565b600f5482610fb3856001600160a01b03165f9081526001602052604090205490565b610fbd9190611940565b111561100b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610476565b6110376064611031600954600c54116110265760055461102a565b6007545b85906114b7565b9061153c565b600c80549192505f61104883611953565b91905055505b6014546001600160a01b03848116911614801561107457506001600160a01b0384163014155b156110a15761109e6064611031600a54600c54116110945760065461102a565b60085485906114b7565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110d757506014546001600160a01b038581169116145b80156110ec5750601454600160b01b900460ff165b80156110f9575060105481115b80156111085750600b54600c54115b1561112a5761112a611125846111208460115461157d565b61157d565b6112c0565b6014546001600160a01b03908116908516036111495761114947611430565b505b80156111c357305f9081526001602052604090205461116a9082611591565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ba9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111e590836115ef565b6001600160a01b0385165f9081526001602052604090205561122861120a83836115ef565b6001600160a01b0385165f9081526001602052604090205490611591565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61127185856115ef565b60405190815260200160405180910390a350505050565b5f81848411156112ab5760405162461bcd60e51b8152600401610476919061165c565b505f6112b7848661196b565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113065761130661197e565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561135d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138191906118db565b816001815181106113945761139461197e565b6001600160a01b0392831660209182029290920101526012546113ba9130911684610c22565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f29085905f90869030904290600401611992565b5f604051808303815f87803b158015611409575f80fd5b505af115801561141b573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610925573d5f803e3d5ffd5b6040515f906001600160a01b038316907f0d18b5fd22306e373229b9439188228edca81207d1667f604daf6cef8aa3ee67908390a3601354600d546104b6916001600160a01b0316908390610c22565b5f825f036114c657505f6104c9565b5f6114d183856118c4565b9050826114de8583611a03565b146115355760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610476565b9392505050565b5f61153583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611630565b5f81831161158b5782611535565b50919050565b5f8061159d8385611940565b9050838110156115355760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610476565b5f61153583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611288565b5f81836116505760405162461bcd60e51b8152600401610476919061165c565b505f6112b78486611a03565b5f602080835283518060208501525f5b818110156116885785810183015185820160400152820161166c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104b6575f80fd5b5f80604083850312156116cd575f80fd5b82356116d8816116a8565b946020939093013593505050565b5f805f606084860312156116f8575f80fd5b8335611703816116a8565b92506020840135611713816116a8565b929592945050506040919091013590565b5f60208284031215611734575f80fd5b8135611535816116a8565b5f8060408385031215611750575f80fd5b823561175b816116a8565b9150602083013561176b816116a8565b809150509250929050565b5f60208284031215611786575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561181057815f19048211156117f6576117f66117c2565b8085161561180357918102915b93841c93908002906117db565b509250929050565b5f82611826575060016104c9565b8161183257505f6104c9565b816001811461184857600281146118525761186e565b60019150506104c9565b60ff841115611863576118636117c2565b50506001821b6104c9565b5060208310610133831016604e8410600b8410161715611891575081810a6104c9565b61189b83836117d6565b805f19048211156118ae576118ae6117c2565b029392505050565b5f61153560ff841683611818565b80820281158282048414176104c9576104c96117c2565b5f602082840312156118eb575f80fd5b8151611535816116a8565b5f805f60608486031215611908575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611931575f80fd5b81518015158114611535575f80fd5b808201808211156104c9576104c96117c2565b5f60018201611964576119646117c2565b5060010190565b818103818111156104c9576104c96117c2565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119e25784516001600160a01b0316835293830193918301916001016119bd565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a1d57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e482a3b0161536194f0510e6bd7233b7acb9a3f0b18ecf1fa6c0cb883e61b6ae64736f6c63430008180033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000db134012d1f51faa6c9ce41f223ec916e2c91d21

-----Decoded View---------------
Arg [0] : router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : taxWallet (address): 0xDB134012D1F51faa6c9cE41f223eC916e2C91d21

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000db134012d1f51faa6c9ce41f223ec916e2c91d21


Deployed Bytecode Sourcemap

3879:9502:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12198:108;;;;;;;;;;;;;:::i;:::-;;6183:83;;;;;;;;;;-1:-1:-1;6253:5:0;;;;;;;;;;;;-1:-1:-1;;;6253:5:0;;;;6183:83;;;;;;;:::i;:::-;;;;;;;;7066:186;;;;;;;;;;-1:-1:-1;7066:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7066:186:0;1023:187:1;5001:57:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5001:57:0;1215:177:1;6460:95:0;;;;;;;;;;;;;:::i;7260:446::-;;;;;;;;;;-1:-1:-1;7260:446:0;;;;;:::i;:::-;;:::i;7814:638::-;;;;;;;;;;;;;:::i;6369:83::-;;;;;;;;;;-1:-1:-1;6369:83:0;;4606:1;2000:36:1;;1988:2;1973:18;6369:83:0;1858:184:1;12485:366:0;;;;;;;;;;;;;:::i;6563:119::-;;;;;;;;;;-1:-1:-1;6563:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6656:18:0;6629:7;6656:18;;;:9;:18;;;;;;;6563:119;2904:148;;;;;;;;;;;;;:::i;13214:162::-;;;;;;;;;;;;;:::i;4799:58::-;;;;;;;;;;;;;;;;12859:163;;;;;;;;;;-1:-1:-1;12859:163:0;;;;;:::i;:::-;;:::i;11835:110::-;;;;;;;;;;;;;:::i;13030:176::-;;;;;;;;;;-1:-1:-1;13030:176:0;;;;;:::i;:::-;;:::i;2690:79::-;;;;;;;;;;-1:-1:-1;2728:7:0;2755:6;2690:79;;-1:-1:-1;;;;;2755:6:0;;;2445:51:1;;2433:2;2418:18;2690:79:0;2299:203:1;4864:60:0;;;;;;;;;;;;;;;;6274:87;;;;;;;;;;-1:-1:-1;6346:7:0;;;;;;;;;;;;-1:-1:-1;;;6346:7:0;;;;6274:87;;6690:192;;;;;;;;;;-1:-1:-1;6690:192:0;;;;;:::i;:::-;;:::i;12314:126::-;;;;;;;;;;;;;:::i;4931:63::-;;;;;;;;;;;;;;;;6890:168;;;;;;;;;;-1:-1:-1;6890:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7023:18:0;;;6996:7;7023:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6890:168;11953:237;;;;;;;;;;-1:-1:-1;11953:237:0;;;;;:::i;:::-;;:::i;12198:108::-;2817:6;;-1:-1:-1;;;;;2817:6:0;1514:10;2817:22;2809:67;;;;-1:-1:-1;;;2809:67:0;;;;;;;:::i;:::-;;;;;;;;;2728:7;2755:6;;12250:48:::1;::::0;-1:-1:-1;;;;;2755:6:0;;;;12276:21:::1;12250:48:::0;::::1;;;::::0;12276:21;;12250:48;2728:7;12250:48;12276:21;2755:6;12250:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12198:108::o:0;7066:186::-;7166:4;7183:39;1514:10;7206:7;7215:6;7183:8;:39::i;:::-;-1:-1:-1;7240:4:0;7066:186;;;;;:::o;6460:95::-;6513:7;4664:15;4606:1;4664:2;:15;:::i;:::-;4649:30;;:12;:30;:::i;:::-;6533:14;;6460:95;:::o;7260:446::-;7392:4;7409:36;7419:6;7427:9;7438:6;7409:9;:36::i;:::-;7456:220;7479:6;1514:10;7527:138;7583:6;7527:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7527:19:0;;;;;;:11;:19;;;;;;;;1514:10;7527:33;;;;;;;;;;:37;:138::i;:::-;7456:8;:220::i;:::-;-1:-1:-1;7694:4:0;7260:446;;;;;:::o;7814:638::-;2817:6;;-1:-1:-1;;;;;2817:6:0;1514:10;2817:22;2809:67;;;;-1:-1:-1;;;2809:67:0;;;;;;;:::i;:::-;7873:11:::1;::::0;-1:-1:-1;;;7873:11:0;::::1;;;7872:12;7864:48;;;::::0;-1:-1:-1;;;7864:48:0;;5330:2:1;7864:48:0::1;::::0;::::1;5312:21:1::0;5369:2;5349:18;;;5342:30;5408:25;5388:18;;;5381:53;5451:18;;7864:48:0::1;5128:347:1::0;7864:48:0::1;7955:15;::::0;7923:58:::1;::::0;7940:4:::1;::::0;-1:-1:-1;;;;;7955:15:0::1;4664;4606:1;4664:2;:15;:::i;:::-;4649:30;::::0;:12:::1;:30;:::i;7923:58::-;8038:15;;;;;;;;;-1:-1:-1::0;;;;;8038:15:0::1;-1:-1:-1::0;;;;;8038:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8020:69:0::1;;8098:4;8105:15;;;;;;;;;-1:-1:-1::0;;;;;8105:15:0::1;-1:-1:-1::0;;;;;8105:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8020:108;::::0;-1:-1:-1;;;;;;8020:108:0::1;::::0;;;;;;-1:-1:-1;;;;;5966:15:1;;;8020:108:0::1;::::0;::::1;5948:34:1::0;6018:15;;5998:18;;;5991:43;5883:18;;8020:108:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8004:13;:124:::0;;-1:-1:-1;;;;;8004:124:0;;::::1;-1:-1:-1::0;;;;;;8004:124:0;;::::1;::::0;::::1;::::0;;;7992:9:::1;:136:::0;;;;::::1;::::0;;::::1;::::0;;8139:15:::1;::::0;::::1;:31;8178:21;8223:4;8243:24;8223:4:::0;-1:-1:-1;;;;;6656:18:0;6629:7;6656:18;;;:9;:18;;;;;;;6563:119;8243:24:::1;8282:1;8298::::0;8314:7:::1;2728::::0;2755:6;-1:-1:-1;;;;;2755:6:0;;2690:79;8314:7:::1;8139:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8139:223:0;;;-1:-1:-1;;;;;6404:15:1;;;8139:223:0::1;::::0;::::1;6386:34:1::0;6436:18;;;6429:34;;;;6479:18;;;6472:34;;;;6522:18;;;6515:34;6586:15;;;6565:19;;;6558:44;8336:15:0::1;6618:19:1::0;;;6611:35;6320:19;;8139:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8380:13:0::1;::::0;8411:15:::1;::::0;8373:71:::1;::::0;-1:-1:-1;;;8373:71:0;;-1:-1:-1;;;;;8411:15:0;;::::1;8373:71;::::0;::::1;7142:51:1::0;-1:-1:-1;;7209:18:1;;;7202:34;8380:13:0;::::1;::::0;-1:-1:-1;8373:29:0::1;::::0;7115:18:1;;8373:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12485:366::-:0;12551:10;;-1:-1:-1;;;;;12551:10:0;1514;-1:-1:-1;;;;;12535:26:0;;12527:35;;;;;;12614:4;12573:20;6656:18;;;:9;:18;;;;;;12635:16;;12631:79;;12668:30;12685:12;12668:16;:30::i;:::-;12741:21;12777:14;;12773:71;;12808:24;12821:10;12808:12;:24::i;:::-;12516:335;;12485:366::o;2904:148::-;2817:6;;-1:-1:-1;;;;;2817:6:0;1514:10;2817:22;2809:67;;;;-1:-1:-1;;;2809:67:0;;;;;;;:::i;:::-;3011:1:::1;2995:6:::0;;2974:40:::1;::::0;-1:-1:-1;;;;;2995:6:0;;::::1;::::0;2974:40:::1;::::0;3011:1;;2974:40:::1;3042:1;3025:19:::0;;-1:-1:-1;;;;;;3025:19:0::1;::::0;;2904:148::o;13214:162::-;2817:6;;-1:-1:-1;;;;;2817:6:0;1514:10;2817:22;2809:67;;;;-1:-1:-1;;;2809:67:0;;;;;;;:::i;:::-;4664:15:::1;4606:1;4664:2;:15;:::i;:::-;4649:30;::::0;:12:::1;:30;:::i;:::-;13268:12;:22:::0;4664:15:::1;4606:1;4664:2;:15;:::i;:::-;4649:30;::::0;:12:::1;:30;:::i;:::-;13301:14;:24:::0;13341:27:::1;4664:15;4606:1;4664:2;:15;:::i;:::-;4649:30;::::0;:12:::1;:30;:::i;:::-;13341:27;::::0;1361:25:1;;;1349:2;1334:18;13341:27:0::1;;;;;;;13214:162::o:0;12859:163::-;2817:6;;-1:-1:-1;;;;;2817:6:0;1514:10;2817:22;2809:67;;;;-1:-1:-1;;;2809:67:0;;;;;;;:::i;:::-;12978:8:::1;-1:-1:-1::0;;;;;12971:25:0::1;;12997:7;2728::::0;2755:6;-1:-1:-1;;;;;2755:6:0;;2690:79;12997:7:::1;12971:43;::::0;-1:-1:-1;;;;;;12971:43:0::1;::::0;;;;;;-1:-1:-1;;;;;7160:32:1;;;12971:43:0::1;::::0;::::1;7142:51:1::0;7209:18;;;7202:34;;;7115:18;;12971:43:0::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12859:163:::0;;:::o;11835:110::-;2817:6;;-1:-1:-1;;;;;2817:6:0;1514:10;2817:22;2809:67;;;;-1:-1:-1;;;2809:67:0;;;;;;;:::i;:::-;11890:11:::1;:18:::0;;-1:-1:-1;;;;11919:18:0;-1:-1:-1;;;11919:18:0;;;11835:110::o;13030:176::-;13130:10;;-1:-1:-1;;;;;13130:10:0;1514;-1:-1:-1;;;;;13114:26:0;;13106:35;;;;;;13178:10;;;13152:46;;-1:-1:-1;;;13152:46:0;;-1:-1:-1;;;;;13178:10:0;;;13152:46;;;7142:51:1;;;;7209:18;;;7202:34;;;13152:25:0;;;;;7115:18:1;;13152:46:0;6968:274:1;6690:192:0;6793:4;6810:42;1514:10;6834:9;6845:6;6810:9;:42::i;12314:126::-;12378:10;;-1:-1:-1;;;;;12378:10:0;1514;-1:-1:-1;;;;;12362:26:0;;12354:35;;;;;;12400:32;1514:10;12400:18;:32::i;:::-;12314:126::o;11953:237::-;12033:10;;-1:-1:-1;;;;;12033:10:0;1514;-1:-1:-1;;;;;12017:26:0;;12009:35;;;;;;12074:12;;12063:7;:23;;:51;;;;;12101:13;;12090:7;:24;;12063:51;12055:60;;;;;;12126:12;:22;;;12159:13;:23;11953:237::o;8460:335::-;-1:-1:-1;;;;;8553:19:0;;8545:68;;;;-1:-1:-1;;;8545:68:0;;8018:2:1;8545:68:0;;;8000:21:1;8057:2;8037:18;;;8030:30;8096:34;8076:18;;;8069:62;-1:-1:-1;;;8147:18:1;;;8140:34;8191:19;;8545:68:0;7816:400:1;8545:68:0;-1:-1:-1;;;;;8632:21:0;;8624:68;;;;-1:-1:-1;;;8624:68:0;;8423:2:1;8624:68:0;;;8405:21:1;8462:2;8442:18;;;8435:30;8501:34;8481:18;;;8474:62;-1:-1:-1;;;8552:18:1;;;8545:32;8594:19;;8624:68:0;8221:398:1;8624:68:0;-1:-1:-1;;;;;8703:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8755:32;;1361:25:1;;;8755:32:0;;1334:18:1;8755:32:0;;;;;;;8460:335;;;:::o;8803:2418::-;8883:17;-1:-1:-1;;;;;8923:18:0;;8915:68;;;;-1:-1:-1;;;8915:68:0;;8826:2:1;8915:68:0;;;8808:21:1;8865:2;8845:18;;;8838:30;8904:34;8884:18;;;8877:62;-1:-1:-1;;;8955:18:1;;;8948:35;9000:19;;8915:68:0;8624:401:1;8915:68:0;-1:-1:-1;;;;;9002:16:0;;8994:64;;;;-1:-1:-1;;;8994:64:0;;9232:2:1;8994:64:0;;;9214:21:1;9271:2;9251:18;;;9244:30;9310:34;9290:18;;;9283:62;-1:-1:-1;;;9361:18:1;;;9354:33;9404:19;;8994:64:0;9030:399:1;8994:64:0;9086:1;9077:6;:10;9069:64;;;;-1:-1:-1;;;9069:64:0;;9636:2:1;9069:64:0;;;9618:21:1;9675:2;9655:18;;;9648:30;9714:34;9694:18;;;9687:62;-1:-1:-1;;;9765:18:1;;;9758:39;9814:19;;9069:64:0;9434:405:1;9069:64:0;2728:7;2755:6;-1:-1:-1;;;;;9158:15:0;;;2755:6;;9158:15;;;;:32;;-1:-1:-1;2728:7:0;2755:6;-1:-1:-1;;;;;9177:13:0;;;2755:6;;9177:13;;9158:32;9154:1708;;;9237:13;;-1:-1:-1;;;;;9229:21:0;;;9237:13;;9229:21;:72;;;;-1:-1:-1;9285:15:0;;-1:-1:-1;;;;;9271:30:0;;;9285:15;;9271:30;;9229:72;:116;;;;-1:-1:-1;;;;;;9323:22:0;;;;;;:18;:22;;;;;;;;9322:23;9229:116;9207:763;;;9388:11;;-1:-1:-1;;;9388:11:0;;;;9380:43;;;;-1:-1:-1;;;9380:43:0;;10046:2:1;9380:43:0;;;10028:21:1;10085:2;10065:18;;;10058:30;-1:-1:-1;;;10104:18:1;;;10097:49;10163:18;;9380:43:0;9844:343:1;9380:43:0;9460:12;;9450:6;:22;;9442:60;;;;-1:-1:-1;;;9442:60:0;;10394:2:1;9442:60:0;;;10376:21:1;10433:2;10413:18;;;10406:30;10472:27;10452:18;;;10445:55;10517:18;;9442:60:0;10192:349:1;9442:60:0;9577:14;;9567:6;9551:13;9561:2;-1:-1:-1;;;;;6656:18:0;6629:7;6656:18;;;:9;:18;;;;;;;6563:119;9551:13;:22;;;;:::i;:::-;:40;;9521:140;;;;-1:-1:-1;;;9521:140:0;;10878:2:1;9521:140:0;;;10860:21:1;10917:2;10897:18;;;10890:30;10956:28;10936:18;;;10929:56;11002:18;;9521:140:0;10676:350:1;9521:140:0;9692:232;9920:3;9692:201;9764:15;;9752:9;;:27;9751:119;;9856:14;;9751:119;;;9812:12;;9751:119;9692:6;;:32;:201::i;:::-;:227;;:232::i;:::-;9943:9;:11;;9680:244;;-1:-1:-1;9943:9:0;:11;;;:::i;:::-;;;;;;9207:763;9996:13;;-1:-1:-1;;;;;9990:19:0;;;9996:13;;9990:19;:44;;;;-1:-1:-1;;;;;;10013:21:0;;10029:4;10013:21;;9990:44;9986:332;;;10067:235;10298:3;10067:204;10139:16;;10127:9;;:28;10126:122;;10233:15;;10126:122;;;10188:13;;10067:6;;:32;:204::i;:235::-;10055:247;;9986:332;10368:4;10319:28;6656:18;;;:9;:18;;;;;;10426:6;;-1:-1:-1;;;10426:6:0;;;;10425:7;:47;;;;-1:-1:-1;10459:13:0;;-1:-1:-1;;;;;10453:19:0;;;10459:13;;10453:19;10425:47;:79;;;;-1:-1:-1;10493:11:0;;-1:-1:-1;;;10493:11:0;;;;10425:79;:140;;;;;10548:17;;10525:20;:40;10425:140;:191;;;;;10598:18;;10586:9;;:30;10425:191;10403:373;;;10651:109;10690:51;10694:6;10702:38;10706:20;10728:11;;10702:3;:38::i;:::-;10690:3;:51::i;:::-;10651:16;:109::i;:::-;10800:13;;-1:-1:-1;;;;;10800:13:0;;;10794:19;;;;10790:60;;10815:35;10828:21;10815:12;:35::i;:::-;9192:1670;9154:1708;10876:13;;10872:172;;10951:4;10933:24;;;;:9;:24;;;;;;:39;;10962:9;10933:28;:39::i;:::-;10924:4;10906:24;;;;:9;:24;;;;;;;:66;;;;10992:40;;-1:-1:-1;;;;;10992:40:0;;;;;;;11022:9;1361:25:1;;1349:2;1334:18;;1215:177;10992:40:0;;;;;;;;10872:172;-1:-1:-1;;;;;11072:15:0;;;;;;:9;:15;;;;;;:27;;11092:6;11072:19;:27::i;:::-;-1:-1:-1;;;;;11054:15:0;;;;;;:9;:15;;;;;:45;11116:40;11134:21;:6;11145:9;11134:10;:21::i;:::-;-1:-1:-1;;;;;11116:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11100:13:0;;;;;;;:9;:13;;;;;:56;;;;11172:41;;;11191:21;:6;11202:9;11191:10;:21::i;:::-;11172:41;;1361:25:1;;;1349:2;1334:18;11172:41:0;;;;;;;8872:2349;8803:2418;;;:::o;545:224::-;665:7;701:12;693:6;;;;685:29;;;;-1:-1:-1;;;685:29:0;;;;;;;;:::i;:::-;-1:-1:-1;725:9:0;737:5;741:1;737;:5;:::i;:::-;725:17;545:224;-1:-1:-1;;;;;545:224:0:o;11344:483::-;5414:6;:13;;-1:-1:-1;;;;5414:13:0;-1:-1:-1;;;5414:13:0;;;11446:16:::1;::::0;;11460:1:::1;11446:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11446:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11446:16:0::1;11422:40;;11491:4;11473;11478:1;11473:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11473:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11517:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11517:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11473:7;;11517:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11507:4;11512:1;11507:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11507:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11582:15:::1;::::0;11550:62:::1;::::0;11567:4:::1;::::0;11582:15:::1;11600:11:::0;11550:8:::1;:62::i;:::-;11623:15;::::0;:196:::1;::::0;-1:-1:-1;;;11623:196:0;;-1:-1:-1;;;;;11623:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11704:11;;11623:15:::1;::::0;11746:4;;11773::::1;::::0;11793:15:::1;::::0;11623:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5450:6:0;:14;;-1:-1:-1;;;;5450:14:0;;;-1:-1:-1;;;;11344:483:0:o;7714:92::-;7771:10;;:27;;-1:-1:-1;;;;;7771:10:0;;;;:27;;;;;7791:6;;7771:10;:27;:10;:27;7791:6;7771:10;:27;;;;;;;;;;;;;;;;;;;6007:168;6078:42;;6117:1;;-1:-1:-1;;;;;6078:42:0;;;;;6117:1;;6078:42;6140:9;;6162:4;;6131:36;;-1:-1:-1;;;;;6140:9:0;;6151;;6131:8;:36::i;777:246::-;835:7;859:1;864;859:6;855:47;;-1:-1:-1;889:1:0;882:8;;855:47;912:9;924:5;928:1;924;:5;:::i;:::-;912:17;-1:-1:-1;957:1:0;948:5;952:1;912:17;948:5;:::i;:::-;:10;940:56;;;;-1:-1:-1;;;940:56:0;;12977:2:1;940:56:0;;;12959:21:1;13016:2;12996:18;;;12989:30;13055:34;13035:18;;;13028:62;-1:-1:-1;;;13106:18:1;;;13099:31;13147:19;;940:56:0;12775:397:1;940:56:0;1014:1;777:246;-1:-1:-1;;;777:246:0:o;1031:132::-;1089:7;1116:39;1120:1;1123;1116:39;;;;;;;;;;;;;;;;;:3;:39::i;11229:107::-;11286:7;11318:1;11314;:5;11313:15;;11327:1;11313:15;;;-1:-1:-1;11323:1:0;11229:107;-1:-1:-1;11229:107:0:o;214:179::-;272:7;;304:5;308:1;304;:5;:::i;:::-;292:17;;333:1;328;:6;;320:46;;;;-1:-1:-1;;;320:46:0;;13379:2:1;320:46:0;;;13361:21:1;13418:2;13398:18;;;13391:30;13457:29;13437:18;;;13430:57;13504:18;;320:46:0;13177:351:1;401:136:0;459:7;486:43;490:1;493;486:43;;;;;;;;;;;;;;;;;:3;:43::i;1171:223::-;1291:7;1326:12;1319:5;1311:28;;;;-1:-1:-1;;;1311:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1350:9:0;1362:5;1366:1;1362;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3446:127::-;3507:10;3502:3;3498:20;3495:1;3488:31;3538:4;3535:1;3528:15;3562:4;3559:1;3552:15;3578:416;3667:1;3704:5;3667:1;3718:270;3739:7;3729:8;3726:21;3718:270;;;3798:4;3794:1;3790:6;3786:17;3780:4;3777:27;3774:53;;;3807:18;;:::i;:::-;3857:7;3847:8;3843:22;3840:55;;;3877:16;;;;3840:55;3956:22;;;;3916:15;;;;3718:270;;;3722:3;3578:416;;;;;:::o;3999:806::-;4048:5;4078:8;4068:80;;-1:-1:-1;4119:1:1;4133:5;;4068:80;4167:4;4157:76;;-1:-1:-1;4204:1:1;4218:5;;4157:76;4249:4;4267:1;4262:59;;;;4335:1;4330:130;;;;4242:218;;4262:59;4292:1;4283:10;;4306:5;;;4330:130;4367:3;4357:8;4354:17;4351:43;;;4374:18;;:::i;:::-;-1:-1:-1;;4430:1:1;4416:16;;4445:5;;4242:218;;4544:2;4534:8;4531:16;4525:3;4519:4;4516:13;4512:36;4506:2;4496:8;4493:16;4488:2;4482:4;4479:12;4475:35;4472:77;4469:159;;;-1:-1:-1;4581:19:1;;;4613:5;;4469:159;4660:34;4685:8;4679:4;4660:34;:::i;:::-;4730:6;4726:1;4722:6;4718:19;4709:7;4706:32;4703:58;;;4741:18;;:::i;:::-;4779:20;;3999:806;-1:-1:-1;;;3999:806:1:o;4810:140::-;4868:5;4897:47;4938:4;4928:8;4924:19;4918:4;4897:47;:::i;4955:168::-;5028:9;;;5059;;5076:15;;;5070:22;;5056:37;5046:71;;5097:18;;:::i;5480:251::-;5550:6;5603:2;5591:9;5582:7;5578:23;5574:32;5571:52;;;5619:1;5616;5609:12;5571:52;5651:9;5645:16;5670:31;5695:5;5670:31;:::i;6657:306::-;6745:6;6753;6761;6814:2;6802:9;6793:7;6789:23;6785:32;6782:52;;;6830:1;6827;6820:12;6782:52;6859:9;6853:16;6843:26;;6909:2;6898:9;6894:18;6888:25;6878:35;;6953:2;6942:9;6938:18;6932:25;6922:35;;6657:306;;;;;:::o;7247:277::-;7314:6;7367:2;7355:9;7346:7;7342:23;7338:32;7335:52;;;7383:1;7380;7373:12;7335:52;7415:9;7409:16;7468:5;7461:13;7454:21;7447:5;7444:32;7434:60;;7490:1;7487;7480:12;10546:125;10611:9;;;10632:10;;;10629:36;;;10645:18;;:::i;11031:135::-;11070:3;11091:17;;;11088:43;;11111:18;;:::i;:::-;-1:-1:-1;11158:1:1;11147:13;;11031:135::o;11171:128::-;11238:9;;;11259:11;;;11256:37;;;11273:18;;:::i;11436:127::-;11497:10;11492:3;11488:20;11485:1;11478:31;11528:4;11525:1;11518:15;11552:4;11549:1;11542:15;11568:980;11830:4;11878:3;11867:9;11863:19;11909:6;11898:9;11891:25;11935:2;11973:6;11968:2;11957:9;11953:18;11946:34;12016:3;12011:2;12000:9;11996:18;11989:31;12040:6;12075;12069:13;12106:6;12098;12091:22;12144:3;12133:9;12129:19;12122:26;;12183:2;12175:6;12171:15;12157:29;;12204:1;12214:195;12228:6;12225:1;12222:13;12214:195;;;12293:13;;-1:-1:-1;;;;;12289:39:1;12277:52;;12384:15;;;;12349:12;;;;12325:1;12243:9;12214:195;;;-1:-1:-1;;;;;;;12465:32:1;;;;12460:2;12445:18;;12438:60;-1:-1:-1;;;12529:3:1;12514:19;12507:35;12426:3;11568:980;-1:-1:-1;;;11568:980:1:o;12553:217::-;12593:1;12619;12609:132;;12663:10;12658:3;12654:20;12651:1;12644:31;12698:4;12695:1;12688:15;12726:4;12723:1;12716:15;12609:132;-1:-1:-1;12755:9:1;;12553:217::o

Swarm Source

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