ETH Price: $3,392.35 (+0.79%)

Token

Grok Mini (GROKMINI)
 

Overview

Max Total Supply

1,000,000,000 GROKMINI

Holders

109

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,091,355.799116966 GROKMINI

Value
$0.00
0x14c0615516aBBdFEb6018c820c57FF729669e3cD
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:
GROKMINI

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-16
*/

/**
https://t.me/grokmini_erc20
https://x.com/elonmusk/status/1824576240616898594
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.25;

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

library SafeMath {
    function tryAdd(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IERC20 {
    function decimals() external view returns (uint8);

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

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

    function getOwner() external view returns (address);

    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 IFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);

    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
}

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

    function WETH() external pure returns (address);

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

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

contract GROKMINI is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Grok Mini";
    string private constant _symbol = "GROKMINI";
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1_000_000_000 * (10 ** _decimals);
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public isFeeExempt;
    mapping(address => bool) public isMaxTxLimit;
    mapping(address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    bool private swapEnabled = true;
    bool private swapping;
    uint256 _buyCount = 0;
    uint256 reduceFeeAtTx = 40;
    uint256 preventSwapBefore = 40;
    uint256 private swapThreshold = (_totalSupply * 1) / 100;
    modifier lockTheSwap() {
        swapping = true;
        _;
        swapping = false;
    }
    uint256 private initBuyFee = 11;
    uint256 private initSellFee = 11;
    uint256 private finalBuyFee = 0;
    uint256 private finalSellFee = 0;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address payable internal treasury;
    uint256 public _maxTxAmount = (_totalSupply * 2 ) / 100;
    uint256 public _maxWalletSize = (_totalSupply * 2) / 100;

    constructor(address _taxWallet) {
        router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        treasury = payable(_taxWallet);
        isFeeExempt[address(this)] = true;
        isFeeExempt[treasury] = true;
        isFeeExempt[owner()] = true;
        isMaxTxLimit[treasury] = true;
        isMaxTxLimit[pair] = true;
        _balances[owner()] = _totalSupply;
        emit Transfer(address(0), owner(), _totalSupply);
    }

    receive() external payable {}

    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 OpenTrading() external onlyOwner {
        tradingAllowed = true;
    }

    function getOwner() external view override returns (address) {
        return owner();
    }

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

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));
    }

    function shouldContractSwap(
        address sender,
        address recipient
    ) internal view returns (bool) {
        return
            !swapping &&
            swapEnabled &&
            !isFeeExempt[sender] &&
            recipient == pair &&
            _buyCount > preventSwapBefore;
    }

    function setBBot(
        address[] calldata addresses,
        bool _enabled
    ) external onlyOwner {
        for (uint i = 0; i < addresses.length; i++) {
            isBot[addresses[i]] = _enabled;
        }
    }

    function manualSwap() external onlyOwner {
        swapTokensForETH(swapThreshold);
    }

    function rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address)
            .balanceOf(address(this))
            .mul(percent)
            .div(100);
        IERC20(_address).transfer(owner(), _amount);
    }

    function rescueETH() external onlyOwner {
        require(address(this).balance > 0);
        payable(owner()).transfer(address(this).balance);
    }

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

    function shouldTakeFee(
        address sender,
        address recipient
    ) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function getTotalFee(
        address sender,
        address recipient
    ) internal returns (uint256) {
        if (isBot[sender] || isBot[recipient]) {
            return 100;
        }
        if (sender == pair) {
            _buyCount++;
            return _buyCount < reduceFeeAtTx ? initBuyFee : finalBuyFee;
        }
        if (recipient == pair) {
            return _buyCount < reduceFeeAtTx ? initSellFee : finalSellFee;
        }
        return 0;
    }

    function takeFee(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        uint256 feeAmount = amount.mul(
            getTotalFee(sender, recipient)
        ).div(100);
   
        if(shouldTakeFee(sender, recipient))
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
        else if(sender != pair)
        {
            if(shouldMaxTx(sender))
                _balances[sender] = _balances[sender].add(amount);
        }
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldMaxTx (address addr) internal view returns(bool){
        return isMaxTxLimit[addr];
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount != 0, "ERC20: transfer to the zero address");
        if (sender != owner() && recipient != owner()) {
            if (!isFeeExempt[sender] && !isFeeExempt[recipient]) {
                require(tradingAllowed, "tradingAllowed");
            }

            if( sender == address(pair) && recipient != address(router) && !isFeeExempt[recipient])
            {
                require(
                    (_balances[recipient] + amount) <= _maxWalletSize,
                    "Exceeds maximum wallet amount."
                );
                require(
                    amount <= _maxTxAmount,
                    "TX Limit Exceeded"
                );
            }

            if (shouldContractSwap(sender, recipient)) {
                uint256 contractTokenBalance = balanceOf(address(this));
                bool aboveThreshold = contractTokenBalance >= swapThreshold;
                if (aboveThreshold)          
                    swapTokensForETH(min(amount, min(contractTokenBalance, swapThreshold)));
                sendETHToFee(address(this).balance);
            }
        }
        
        uint256 amountReceived = takeFee(sender, recipient, amount);
        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }
    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
    function sendETHToFee(uint256 amount) private {
        treasury.transfer(amount);
    }

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

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _totalSupply;
        _maxWalletSize=_totalSupply;
    }

    function launch() external onlyOwner {
        require(!tradingAllowed, "trading is already open");
        _approve(address(this), address(router), _totalSupply);
        pair = IFactory(router.factory()).createPair(
            address(this),
            router.WETH()
        );
        router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(pair).approve(address(router), type(uint).max);
        swapEnabled = true;
        tradingAllowed = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"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":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"},{"inputs":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","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":[{"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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMaxTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setBBot","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":"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"},{"stateMutability":"payable","type":"receive"}]

60806040526100106009600a610394565b61001e90633b9aca006103aa565b60018181556008805461ffff60a01b1916600160a81b17905560006009556028600a819055600b55606491610052916103aa565b61005c91906103c1565b600c55600b600d55600b600e556000600f5560006010556064600154600261008491906103aa565b61008e91906103c1565b601255606460015460026100a291906103aa565b6100ac91906103c1565b6013553480156100bb57600080fd5b50604051611e77380380611e778339810160408190526100da916103e3565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155601180546001600160a01b0384811691909316178155306000908152600460208190526040808320805460ff199081166001908117909255945490951683528220805490931684179092556101a16000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556011548216815260059093528183208054851660019081179091556008549091168352908220805490931681179092559054906002906102176000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020556102436000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60015460405161028a91815260200190565b60405180910390a35061040c565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156102e95781600019048211156102cf576102cf610298565b808516156102dc57918102915b93841c93908002906102b3565b509250929050565b6000826103005750600161038e565b8161030d5750600061038e565b8160018114610323576002811461032d57610349565b600191505061038e565b60ff84111561033e5761033e610298565b50506001821b61038e565b5060208310610133831016604e8410600b841016171561036c575081810a61038e565b61037683836102ae565b806000190482111561038a5761038a610298565b0290505b92915050565b60006103a360ff8416836102f1565b9392505050565b808202811582820484141761038e5761038e610298565b6000826103de57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156103f557600080fd5b81516001600160a01b03811681146103a357600080fd5b611a5c8061041b6000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b65780638f9a55c01161006f5780638f9a55c0146103ba57806395d89b41146103d05780639f5834f914610401578063a8aa1b3114610431578063a9059cbb14610451578063dd62ed3e1461047157600080fd5b8063715018a61461030a578063751039fc1461031f5780637d1db4a514610334578063893d20e81461034a5780638cd4426d1461037c5780638da5cb5b1461039c57600080fd5b806323b872dd1161010857806323b872dd1461023e578063313ce5671461025e5780633f4218e01461027a57806351bc3c85146102aa57806351cd7cc3146102bf57806370a08231146102d457600080fd5b806301339c211461015b57806306fdde0314610172578063095ea7b3146101b65780630edc39d8146101e657806318160ddd1461020657806320800a001461022957600080fd5b3661015657005b600080fd5b34801561016757600080fd5b506101706104b7565b005b34801561017e57600080fd5b5060408051808201909152600981526847726f6b204d696e6960b81b60208201525b6040516101ad9190611633565b60405180910390f35b3480156101c257600080fd5b506101d66101d1366004611697565b61084e565b60405190151581526020016101ad565b3480156101f257600080fd5b506101706102013660046116d1565b610865565b34801561021257600080fd5b5061021b6108fc565b6040519081526020016101ad565b34801561023557600080fd5b5061017061096d565b34801561024a57600080fd5b506101d6610259366004611757565b6109e1565b34801561026a57600080fd5b50604051600981526020016101ad565b34801561028657600080fd5b506101d6610295366004611798565b60046020526000908152604090205460ff1681565b3480156102b657600080fd5b50610170610a4a565b3480156102cb57600080fd5b50610170610a81565b3480156102e057600080fd5b5061021b6102ef366004611798565b6001600160a01b031660009081526002602052604090205490565b34801561031657600080fd5b50610170610ac0565b34801561032b57600080fd5b50610170610b34565b34801561034057600080fd5b5061021b60125481565b34801561035657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ad565b34801561038857600080fd5b50610170610397366004611697565b610b6b565b3480156103a857600080fd5b506000546001600160a01b0316610364565b3480156103c657600080fd5b5061021b60135481565b3480156103dc57600080fd5b5060408051808201909152600881526747524f4b4d494e4960c01b60208201526101a0565b34801561040d57600080fd5b506101d661041c366004611798565b60056020526000908152604090205460ff1681565b34801561043d57600080fd5b50600854610364906001600160a01b031681565b34801561045d57600080fd5b506101d661046c366004611697565b610cad565b34801561047d57600080fd5b5061021b61048c3660046117b5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000546001600160a01b031633146104ea5760405162461bcd60e51b81526004016104e1906117ee565b60405180910390fd5b600854600160a01b900460ff16156105445760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e1565b6007546001546105619130916001600160a01b0390911690610cba565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d89190611823565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561063a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065e9190611823565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190611823565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d7194730610717816001600160a01b031660009081526002602052604090205490565b60008061072c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610794573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107b99190611840565b505060085460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610812573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610836919061186e565b506008805461ffff60a01b191661010160a01b179055565b600061085b338484610cba565b5060015b92915050565b6000546001600160a01b0316331461088f5760405162461bcd60e51b81526004016104e1906117ee565b60005b828110156108f65781600660008686858181106108b1576108b161188b565b90506020020160208101906108c69190611798565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610892565b50505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926109689290916109629190610dde565b90610dde565b905090565b6000546001600160a01b031633146109975760405162461bcd60e51b81526004016104e1906117ee565b600047116109a457600080fd5b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156109de573d6000803e3d6000fd5b50565b60006109ee848484610df1565b610a408433610a3b856040518060600160405280602881526020016119ff602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611185565b610cba565b5060019392505050565b6000546001600160a01b03163314610a745760405162461bcd60e51b81526004016104e1906117ee565b610a7f600c546111b1565b565b6000546001600160a01b03163314610aab5760405162461bcd60e51b81526004016104e1906117ee565b6008805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610aea5760405162461bcd60e51b81526004016104e1906117ee565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b5e5760405162461bcd60e51b81526004016104e1906117ee565b6001546012819055601355565b6000546001600160a01b03163314610b955760405162461bcd60e51b81526004016104e1906117ee565b6040516370a0823160e01b8152306004820152600090610c1990606490610c139085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610be9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0d91906118a1565b9061130b565b90611317565b9050826001600160a01b031663a9059cbb610c3c6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610c89573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f6919061186e565b600061085b338484610df1565b6001600160a01b038316610d1c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e1565b6001600160a01b038216610d7d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e1565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610dea82846118d0565b9392505050565b6001600160a01b038316610e555760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e1565b6001600160a01b038216610e7b5760405162461bcd60e51b81526004016104e1906118e3565b80600003610e9b5760405162461bcd60e51b81526004016104e1906118e3565b6000546001600160a01b03848116911614801590610ec757506000546001600160a01b03838116911614155b156110c1576001600160a01b03831660009081526004602052604090205460ff16158015610f0e57506001600160a01b03821660009081526004602052604090205460ff16155b15610f5d57600854600160a01b900460ff16610f5d5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104e1565b6008546001600160a01b038481169116148015610f8857506007546001600160a01b03838116911614155b8015610fad57506001600160a01b03821660009081526004602052604090205460ff16155b1561106d576013546001600160a01b038316600090815260026020526040902054610fd9908390611926565b11156110275760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104e1565b60125481111561106d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104e1565b6110778383611323565b156110c15730600090815260026020526040902054600c5481108015906110b5576110b56110b0846110ab85600c5461139c565b61139c565b6111b1565b6110be476113b1565b50505b60006110ce8484846113ef565b6001600160a01b0385166000908152600260205260409020549091506110f49083610dde565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546111239082611511565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111779085815260200190565b60405180910390a350505050565b600081848411156111a95760405162461bcd60e51b81526004016104e19190611633565b505050900390565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106111e6576111e661188b565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561123f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112639190611823565b816001815181106112765761127661188b565b6001600160a01b03928316602091820292909201015260075461129c9130911684610cba565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906112d5908590600090869030904290600401611939565b600060405180830381600087803b1580156112ef57600080fd5b505af1158015611303573d6000803e3d6000fd5b505050505050565b6000610dea82846119ac565b6000610dea82846119c3565b600854600090600160b01b900460ff161580156113495750600854600160a81b900460ff165b801561136e57506001600160a01b03831660009081526004602052604090205460ff16155b801561138757506008546001600160a01b038381169116145b8015610dea575050600b546009541192915050565b60008183116113ab5782610dea565b50919050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113eb573d6000803e3d6000fd5b5050565b60008061140b6064610c13611404888861151d565b869061130b565b905061141785856115ed565b1561144b57306000908152600260205260409020546114369082611511565b306000908152600260205260409020556114be565b6008546001600160a01b038681169116146114be576001600160a01b03851660009081526005602052604090205460ff16156114be576001600160a01b0385166000908152600260205260409020546114a49084611511565b6001600160a01b0386166000908152600260205260409020555b60405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36115088382610dde565b95945050505050565b6000610dea8284611926565b6001600160a01b03821660009081526006602052604081205460ff168061155c57506001600160a01b03821660009081526006602052604090205460ff165b156115695750606461085f565b6008546001600160a01b03908116908416036115b2576009805490600061158f836119e5565b9190505550600a54600954106115a757600f546115ab565b600d545b905061085f565b6008546001600160a01b03908116908316036115e457600a54600954106115db576010546115ab565b50600e5461085f565b50600092915050565b6001600160a01b03821660009081526004602052604081205460ff16158015610dea5750506001600160a01b031660009081526004602052604090205460ff1615919050565b60006020808352835180602085015260005b8181101561166157858101830151858201604001528201611645565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109de57600080fd5b600080604083850312156116aa57600080fd5b82356116b581611682565b946020939093013593505050565b80151581146109de57600080fd5b6000806000604084860312156116e657600080fd5b833567ffffffffffffffff808211156116fe57600080fd5b818601915086601f83011261171257600080fd5b81358181111561172157600080fd5b8760208260051b850101111561173657600080fd5b6020928301955093505084013561174c816116c3565b809150509250925092565b60008060006060848603121561176c57600080fd5b833561177781611682565b9250602084013561178781611682565b929592945050506040919091013590565b6000602082840312156117aa57600080fd5b8135610dea81611682565b600080604083850312156117c857600080fd5b82356117d381611682565b915060208301356117e381611682565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561183557600080fd5b8151610dea81611682565b60008060006060848603121561185557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561188057600080fd5b8151610dea816116c3565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118b357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561085f5761085f6118ba565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8082018082111561085f5761085f6118ba565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b8181101561198b5784516001600160a01b031683529383019391830191600101611966565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761085f5761085f6118ba565b6000826119e057634e487b7160e01b600052601260045260246000fd5b500490565b6000600182016119f7576119f76118ba565b506001019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122019f55f78b94cffb445f4abd71dbe14e8ee603751404761ba16b657c1af94726364736f6c634300081900330000000000000000000000003209504a5dc654d00c905b49aa557490bbb03088

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b65780638f9a55c01161006f5780638f9a55c0146103ba57806395d89b41146103d05780639f5834f914610401578063a8aa1b3114610431578063a9059cbb14610451578063dd62ed3e1461047157600080fd5b8063715018a61461030a578063751039fc1461031f5780637d1db4a514610334578063893d20e81461034a5780638cd4426d1461037c5780638da5cb5b1461039c57600080fd5b806323b872dd1161010857806323b872dd1461023e578063313ce5671461025e5780633f4218e01461027a57806351bc3c85146102aa57806351cd7cc3146102bf57806370a08231146102d457600080fd5b806301339c211461015b57806306fdde0314610172578063095ea7b3146101b65780630edc39d8146101e657806318160ddd1461020657806320800a001461022957600080fd5b3661015657005b600080fd5b34801561016757600080fd5b506101706104b7565b005b34801561017e57600080fd5b5060408051808201909152600981526847726f6b204d696e6960b81b60208201525b6040516101ad9190611633565b60405180910390f35b3480156101c257600080fd5b506101d66101d1366004611697565b61084e565b60405190151581526020016101ad565b3480156101f257600080fd5b506101706102013660046116d1565b610865565b34801561021257600080fd5b5061021b6108fc565b6040519081526020016101ad565b34801561023557600080fd5b5061017061096d565b34801561024a57600080fd5b506101d6610259366004611757565b6109e1565b34801561026a57600080fd5b50604051600981526020016101ad565b34801561028657600080fd5b506101d6610295366004611798565b60046020526000908152604090205460ff1681565b3480156102b657600080fd5b50610170610a4a565b3480156102cb57600080fd5b50610170610a81565b3480156102e057600080fd5b5061021b6102ef366004611798565b6001600160a01b031660009081526002602052604090205490565b34801561031657600080fd5b50610170610ac0565b34801561032b57600080fd5b50610170610b34565b34801561034057600080fd5b5061021b60125481565b34801561035657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ad565b34801561038857600080fd5b50610170610397366004611697565b610b6b565b3480156103a857600080fd5b506000546001600160a01b0316610364565b3480156103c657600080fd5b5061021b60135481565b3480156103dc57600080fd5b5060408051808201909152600881526747524f4b4d494e4960c01b60208201526101a0565b34801561040d57600080fd5b506101d661041c366004611798565b60056020526000908152604090205460ff1681565b34801561043d57600080fd5b50600854610364906001600160a01b031681565b34801561045d57600080fd5b506101d661046c366004611697565b610cad565b34801561047d57600080fd5b5061021b61048c3660046117b5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000546001600160a01b031633146104ea5760405162461bcd60e51b81526004016104e1906117ee565b60405180910390fd5b600854600160a01b900460ff16156105445760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e1565b6007546001546105619130916001600160a01b0390911690610cba565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d89190611823565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561063a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065e9190611823565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190611823565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d7194730610717816001600160a01b031660009081526002602052604090205490565b60008061072c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610794573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107b99190611840565b505060085460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610812573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610836919061186e565b506008805461ffff60a01b191661010160a01b179055565b600061085b338484610cba565b5060015b92915050565b6000546001600160a01b0316331461088f5760405162461bcd60e51b81526004016104e1906117ee565b60005b828110156108f65781600660008686858181106108b1576108b161188b565b90506020020160208101906108c69190611798565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610892565b50505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926109689290916109629190610dde565b90610dde565b905090565b6000546001600160a01b031633146109975760405162461bcd60e51b81526004016104e1906117ee565b600047116109a457600080fd5b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156109de573d6000803e3d6000fd5b50565b60006109ee848484610df1565b610a408433610a3b856040518060600160405280602881526020016119ff602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611185565b610cba565b5060019392505050565b6000546001600160a01b03163314610a745760405162461bcd60e51b81526004016104e1906117ee565b610a7f600c546111b1565b565b6000546001600160a01b03163314610aab5760405162461bcd60e51b81526004016104e1906117ee565b6008805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610aea5760405162461bcd60e51b81526004016104e1906117ee565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b5e5760405162461bcd60e51b81526004016104e1906117ee565b6001546012819055601355565b6000546001600160a01b03163314610b955760405162461bcd60e51b81526004016104e1906117ee565b6040516370a0823160e01b8152306004820152600090610c1990606490610c139085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610be9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0d91906118a1565b9061130b565b90611317565b9050826001600160a01b031663a9059cbb610c3c6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610c89573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f6919061186e565b600061085b338484610df1565b6001600160a01b038316610d1c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e1565b6001600160a01b038216610d7d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e1565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610dea82846118d0565b9392505050565b6001600160a01b038316610e555760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e1565b6001600160a01b038216610e7b5760405162461bcd60e51b81526004016104e1906118e3565b80600003610e9b5760405162461bcd60e51b81526004016104e1906118e3565b6000546001600160a01b03848116911614801590610ec757506000546001600160a01b03838116911614155b156110c1576001600160a01b03831660009081526004602052604090205460ff16158015610f0e57506001600160a01b03821660009081526004602052604090205460ff16155b15610f5d57600854600160a01b900460ff16610f5d5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104e1565b6008546001600160a01b038481169116148015610f8857506007546001600160a01b03838116911614155b8015610fad57506001600160a01b03821660009081526004602052604090205460ff16155b1561106d576013546001600160a01b038316600090815260026020526040902054610fd9908390611926565b11156110275760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104e1565b60125481111561106d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104e1565b6110778383611323565b156110c15730600090815260026020526040902054600c5481108015906110b5576110b56110b0846110ab85600c5461139c565b61139c565b6111b1565b6110be476113b1565b50505b60006110ce8484846113ef565b6001600160a01b0385166000908152600260205260409020549091506110f49083610dde565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546111239082611511565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111779085815260200190565b60405180910390a350505050565b600081848411156111a95760405162461bcd60e51b81526004016104e19190611633565b505050900390565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106111e6576111e661188b565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561123f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112639190611823565b816001815181106112765761127661188b565b6001600160a01b03928316602091820292909201015260075461129c9130911684610cba565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906112d5908590600090869030904290600401611939565b600060405180830381600087803b1580156112ef57600080fd5b505af1158015611303573d6000803e3d6000fd5b505050505050565b6000610dea82846119ac565b6000610dea82846119c3565b600854600090600160b01b900460ff161580156113495750600854600160a81b900460ff165b801561136e57506001600160a01b03831660009081526004602052604090205460ff16155b801561138757506008546001600160a01b038381169116145b8015610dea575050600b546009541192915050565b60008183116113ab5782610dea565b50919050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113eb573d6000803e3d6000fd5b5050565b60008061140b6064610c13611404888861151d565b869061130b565b905061141785856115ed565b1561144b57306000908152600260205260409020546114369082611511565b306000908152600260205260409020556114be565b6008546001600160a01b038681169116146114be576001600160a01b03851660009081526005602052604090205460ff16156114be576001600160a01b0385166000908152600260205260409020546114a49084611511565b6001600160a01b0386166000908152600260205260409020555b60405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36115088382610dde565b95945050505050565b6000610dea8284611926565b6001600160a01b03821660009081526006602052604081205460ff168061155c57506001600160a01b03821660009081526006602052604090205460ff165b156115695750606461085f565b6008546001600160a01b03908116908416036115b2576009805490600061158f836119e5565b9190505550600a54600954106115a757600f546115ab565b600d545b905061085f565b6008546001600160a01b03908116908316036115e457600a54600954106115db576010546115ab565b50600e5461085f565b50600092915050565b6001600160a01b03821660009081526004602052604081205460ff16158015610dea5750506001600160a01b031660009081526004602052604090205460ff1615919050565b60006020808352835180602085015260005b8181101561166157858101830151858201604001528201611645565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109de57600080fd5b600080604083850312156116aa57600080fd5b82356116b581611682565b946020939093013593505050565b80151581146109de57600080fd5b6000806000604084860312156116e657600080fd5b833567ffffffffffffffff808211156116fe57600080fd5b818601915086601f83011261171257600080fd5b81358181111561172157600080fd5b8760208260051b850101111561173657600080fd5b6020928301955093505084013561174c816116c3565b809150509250925092565b60008060006060848603121561176c57600080fd5b833561177781611682565b9250602084013561178781611682565b929592945050506040919091013590565b6000602082840312156117aa57600080fd5b8135610dea81611682565b600080604083850312156117c857600080fd5b82356117d381611682565b915060208301356117e381611682565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561183557600080fd5b8151610dea81611682565b60008060006060848603121561185557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561188057600080fd5b8151610dea816116c3565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118b357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561085f5761085f6118ba565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8082018082111561085f5761085f6118ba565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b8181101561198b5784516001600160a01b031683529383019391830191600101611966565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761085f5761085f6118ba565b6000826119e057634e487b7160e01b600052601260045260246000fd5b500490565b6000600182016119f7576119f76118ba565b506001019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122019f55f78b94cffb445f4abd71dbe14e8ee603751404761ba16b657c1af94726364736f6c63430008190033

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

0000000000000000000000003209504a5dc654d00c905b49aa557490bbb03088

-----Decoded View---------------
Arg [0] : _taxWallet (address): 0x3209504A5DC654D00c905b49Aa557490Bbb03088

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003209504a5dc654d00c905b49aa557490bbb03088


Deployed Bytecode Sourcemap

5487:9652:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14492:644;;;;;;;;;;;;;:::i;:::-;;7361:83;;;;;;;;;;-1:-1:-1;7431:5:0;;;;;;;;;;;;-1:-1:-1;;;7431:5:0;;;;7361:83;;;;;;;:::i;:::-;;;;;;;;8331:184;;;;;;;;;;-1:-1:-1;8331:184:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8331:184:0;1023:187:1;8997:225:0;;;;;;;;;;-1:-1:-1;8997:225:0;;;;;:::i;:::-;;:::i;8523:148::-;;;;;;;;;;;;;:::i;:::-;;;2239:25:1;;;2227:2;2212:18;8523:148:0;2093:177:1;9608:152:0;;;;;;;;;;;;;:::i;13565:442::-;;;;;;;;;;-1:-1:-1;13565:442:0;;;;;:::i;:::-;;:::i;7547:83::-;;;;;;;;;;-1:-1:-1;7547:83:0;;5700:1;2878:36:1;;2866:2;2851:18;7547:83:0;2736:184:1;5897:43:0;;;;;;;;;;-1:-1:-1;5897:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9230:91;;;;;;;;;;;;;:::i;7638:82::-;;;;;;;;;;;;;:::i;7830:119::-;;;;;;;;;;-1:-1:-1;7830:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7923:18:0;7896:7;7923:18;;;:9;:18;;;;;;;7830:119;4411:148;;;;;;;;;;;;;:::i;14358:126::-;;;;;;;;;;;;;:::i;6737:55::-;;;;;;;;;;;;;;;;7728:94;;;;;;;;;;-1:-1:-1;7780:7:0;4262:6;-1:-1:-1;;;;;4262:6:0;7728:94;;;-1:-1:-1;;;;;3341:32:1;;;3323:51;;3311:2;3296:18;7728:94:0;3177:203:1;9329:271:0;;;;;;;;;;-1:-1:-1;9329:271:0;;;;;:::i;:::-;;:::i;4197:79::-;;;;;;;;;;-1:-1:-1;4235:7:0;4262:6;-1:-1:-1;;;;;4262:6:0;4197:79;;6799:56;;;;;;;;;;;;;;;;7452:87;;;;;;;;;;-1:-1:-1;7524:7:0;;;;;;;;;;;;-1:-1:-1;;;7524:7:0;;;;7452:87;;5947:44;;;;;;;;;;-1:-1:-1;5947:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6064:19;;;;;;;;;;-1:-1:-1;6064:19:0;;;;-1:-1:-1;;;;;6064:19:0;;;7957:190;;;;;;;;;;-1:-1:-1;7957:190:0;;;;;:::i;:::-;;:::i;8155:168::-;;;;;;;;;;-1:-1:-1;8155:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8288:18:0;;;8261:7;8288:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8155:168;14492:644;4324:6;;-1:-1:-1;;;;;4324:6:0;266:10;4324:22;4316:67;;;;-1:-1:-1;;;4316:67:0;;;;;;;:::i;:::-;;;;;;;;;14549:14:::1;::::0;-1:-1:-1;;;14549:14:0;::::1;;;14548:15;14540:51;;;::::0;-1:-1:-1;;;14540:51:0;;4341:2:1;14540:51:0::1;::::0;::::1;4323:21:1::0;4380:2;4360:18;;;4353:30;4419:25;4399:18;;;4392:53;4462:18;;14540:51:0::1;4139:347:1::0;14540:51:0::1;14634:6;::::0;;14643:12;14602:54:::1;::::0;14619:4:::1;::::0;-1:-1:-1;;;;;14634:6:0;;::::1;::::0;14602:8:::1;:54::i;:::-;14683:6;;;;;;;;;-1:-1:-1::0;;;;;14683:6:0::1;-1:-1:-1::0;;;;;14683:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14674:37:0::1;;14734:4;14754:6;;;;;;;;;-1:-1:-1::0;;;;;14754:6:0::1;-1:-1:-1::0;;;;;14754:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14674:104;::::0;-1:-1:-1;;;;;;14674:104:0::1;::::0;;;;;;-1:-1:-1;;;;;4977:15:1;;;14674:104:0::1;::::0;::::1;4959:34:1::0;5029:15;;5009:18;;;5002:43;4894:18;;14674:104:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14667:4;:111:::0;;-1:-1:-1;;;;;14667:111:0;;::::1;-1:-1:-1::0;;;;;;14667:111:0;;::::1;;::::0;;14789:6:::1;::::0;::::1;:22;14819:21;14864:4;14884:24;14864:4:::0;-1:-1:-1;;;;;7923:18:0;7896:7;7923:18;;;:9;:18;;;;;;;7830:119;14884:24:::1;14923:1;14939::::0;14955:7:::1;4235::::0;4262:6;-1:-1:-1;;;;;4262:6:0;;4197:79;14955:7:::1;14789:214;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14789:214:0;;;-1:-1:-1;;;;;5415:15:1;;;14789:214:0::1;::::0;::::1;5397:34:1::0;5447:18;;;5440:34;;;;5490:18;;;5483:34;;;;5533:18;;;5526:34;5597:15;;;5576:19;;;5569:44;14977:15:0::1;5629:19:1::0;;;5622:35;5331:19;;14789:214:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15021:4:0::1;::::0;15043:6:::1;::::0;15014:53:::1;::::0;-1:-1:-1;;;15014:53:0;;-1:-1:-1;;;;;15043:6:0;;::::1;15014:53;::::0;::::1;6153:51:1::0;-1:-1:-1;;6220:18:1;;;6213:34;15021:4:0;::::1;::::0;-1:-1:-1;15014:20:0::1;::::0;6126:18:1;;15014:53:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;15078:11:0::1;:18:::0;;-1:-1:-1;;;;15107:21:0;-1:-1:-1;;;15107:21:0;;;14492:644::o;8331:184::-;8431:4;8448:37;8457:10;8469:7;8478:6;8448:8;:37::i;:::-;-1:-1:-1;8503:4:0;8331:184;;;;;:::o;8997:225::-;4324:6;;-1:-1:-1;;;;;4324:6:0;266:10;4324:22;4316:67;;;;-1:-1:-1;;;4316:67:0;;;;;;;:::i;:::-;9119:6:::1;9114:101;9131:20:::0;;::::1;9114:101;;;9195:8;9173:5;:19;9179:9;;9189:1;9179:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9173:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9173:19:0;:30;;-1:-1:-1;;9173:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;9153:3:0::1;9114:101;;;;8997:225:::0;;;:::o;8523:148::-;7923:9;:18;;;;6648:42;8576:7;7923:18;;;;;8603:12;;8576:7;;8603:60;;7923:18;;8603:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8596:67;;8523:148;:::o;9608:152::-;4324:6;;-1:-1:-1;;;;;4324:6:0;266:10;4324:22;4316:67;;;;-1:-1:-1;;;4316:67:0;;;;;;;:::i;:::-;9691:1:::1;9667:21;:25;9659:34;;;::::0;::::1;;4235:7:::0;4262:6;;9704:48:::1;::::0;-1:-1:-1;;;;;4262:6:0;;;;9730:21:::1;9704:48:::0;::::1;;;::::0;9730:21;;9704:48;4235:7;9704:48;9730:21;4262:6;9704:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9608:152::o:0;13565:442::-;13697:4;13714:36;13724:6;13732:9;13743:6;13714:9;:36::i;:::-;13761:216;13784:6;13805:10;13830:136;13884:6;13830:136;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13830:19:0;;;;;;:11;:19;;;;;;;;13850:10;13830:31;;;;;;;;;:136;:35;:136::i;:::-;13761:8;:216::i;:::-;-1:-1:-1;13995:4:0;13565:442;;;;;:::o;9230:91::-;4324:6;;-1:-1:-1;;;;;4324:6:0;266:10;4324:22;4316:67;;;;-1:-1:-1;;;4316:67:0;;;;;;;:::i;:::-;9282:31:::1;9299:13;;9282:16;:31::i;:::-;9230:91::o:0;7638:82::-;4324:6;;-1:-1:-1;;;;;4324:6:0;266:10;4324:22;4316:67;;;;-1:-1:-1;;;4316:67:0;;;;;;;:::i;:::-;7691:14:::1;:21:::0;;-1:-1:-1;;;;7691:21:0::1;-1:-1:-1::0;;;7691:21:0::1;::::0;;7638:82::o;4411:148::-;4324:6;;-1:-1:-1;;;;;4324:6:0;266:10;4324:22;4316:67;;;;-1:-1:-1;;;4316:67:0;;;;;;;:::i;:::-;4518:1:::1;4502:6:::0;;4481:40:::1;::::0;-1:-1:-1;;;;;4502:6:0;;::::1;::::0;4481:40:::1;::::0;4518:1;;4481:40:::1;4549:1;4532:19:::0;;-1:-1:-1;;;;;;4532:19:0::1;::::0;;4411:148::o;14358:126::-;4324:6;;-1:-1:-1;;;;;4324:6:0;266:10;4324:22;4316:67;;;;-1:-1:-1;;;4316:67:0;;;;;;;:::i;:::-;14426:12:::1;::::0;14411::::1;:27:::0;;;14449:14:::1;:27:::0;14358:126::o;9329:271::-;4324:6;;-1:-1:-1;;;;;4324:6:0;266:10;4324:22;4316:67;;;;-1:-1:-1;;;4316:67:0;;;;;;;:::i;:::-;9433:55:::1;::::0;-1:-1:-1;;;9433:55:0;;9482:4:::1;9433:55;::::0;::::1;3323:51:1::0;9415:15:0::1;::::0;9433:105:::1;::::0;9534:3:::1;::::0;9433:82:::1;::::0;9507:7;;-1:-1:-1;;;;;9433:40:0;::::1;::::0;::::1;::::0;3296:18:1;;9433:55:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:73:::0;::::1;:82::i;:::-;:100:::0;::::1;:105::i;:::-;9415:123;;9556:8;-1:-1:-1::0;;;;;9549:25:0::1;;9575:7;4235::::0;4262:6;-1:-1:-1;;;;;4262:6:0;;4197:79;9575:7:::1;9549:43;::::0;-1:-1:-1;;;;;;9549:43:0::1;::::0;;;;;;-1:-1:-1;;;;;6171:32:1;;;9549:43:0::1;::::0;::::1;6153:51:1::0;6220:18;;;6213:34;;;6126:18;;9549:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7957:190::-:0;8060:4;8077:40;8087:10;8099:9;8110:6;8077:9;:40::i;14015:335::-;-1:-1:-1;;;;;14108:19:0;;14100:68;;;;-1:-1:-1;;;14100:68:0;;7031:2:1;14100:68:0;;;7013:21:1;7070:2;7050:18;;;7043:30;7109:34;7089:18;;;7082:62;-1:-1:-1;;;7160:18:1;;;7153:34;7204:19;;14100:68:0;6829:400:1;14100:68:0;-1:-1:-1;;;;;14187:21:0;;14179:68;;;;-1:-1:-1;;;14179:68:0;;7436:2:1;14179:68:0;;;7418:21:1;7475:2;7455:18;;;7448:30;7514:34;7494:18;;;7487:62;-1:-1:-1;;;7565:18:1;;;7558:32;7607:19;;14179:68:0;7234:398:1;14179:68:0;-1:-1:-1;;;;;14258:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14310:32;;2239:25:1;;;14310:32:0;;2212:18:1;14310:32:0;;;;;;;14015:335;;;:::o;1662:98::-;1720:7;1747:5;1751:1;1747;:5;:::i;:::-;1740:12;1662:98;-1:-1:-1;;;1662:98:0:o;11660:1697::-;-1:-1:-1;;;;;11791:20:0;;11783:70;;;;-1:-1:-1;;;11783:70:0;;8104:2:1;11783:70:0;;;8086:21:1;8143:2;8123:18;;;8116:30;8182:34;8162:18;;;8155:62;-1:-1:-1;;;8233:18:1;;;8226:35;8278:19;;11783:70:0;7902:401:1;11783:70:0;-1:-1:-1;;;;;11872:23:0;;11864:71;;;;-1:-1:-1;;;11864:71:0;;;;;;;:::i;:::-;11954:6;11964:1;11954:11;11946:59;;;;-1:-1:-1;;;11946:59:0;;;;;;;:::i;:::-;4235:7;4262:6;-1:-1:-1;;;;;12020:17:0;;;4262:6;;12020:17;;;;:41;;-1:-1:-1;4235:7:0;4262:6;-1:-1:-1;;;;;12041:20:0;;;4262:6;;12041:20;;12020:41;12016:1061;;;-1:-1:-1;;;;;12083:19:0;;;;;;:11;:19;;;;;;;;12082:20;:47;;;;-1:-1:-1;;;;;;12107:22:0;;;;;;:11;:22;;;;;;;;12106:23;12082:47;12078:129;;;12158:14;;-1:-1:-1;;;12158:14:0;;;;12150:41;;;;-1:-1:-1;;;12150:41:0;;8914:2:1;12150:41:0;;;8896:21:1;8953:2;8933:18;;;8926:30;-1:-1:-1;;;8972:18:1;;;8965:44;9026:18;;12150:41:0;8712:338:1;12150:41:0;12245:4;;-1:-1:-1;;;;;12227:23:0;;;12245:4;;12227:23;:55;;;;-1:-1:-1;12275:6:0;;-1:-1:-1;;;;;12254:28:0;;;12275:6;;12254:28;;12227:55;:82;;;;-1:-1:-1;;;;;;12287:22:0;;;;;;:11;:22;;;;;;;;12286:23;12227:82;12223:421;;;12408:14;;-1:-1:-1;;;;;12374:20:0;;;;;;:9;:20;;;;;;:29;;12397:6;;12374:29;:::i;:::-;12373:49;;12343:153;;;;-1:-1:-1;;;12343:153:0;;9387:2:1;12343:153:0;;;9369:21:1;9426:2;9406:18;;;9399:30;9465:32;9445:18;;;9438:60;9515:18;;12343:153:0;9185:354:1;12343:153:0;12555:12;;12545:6;:22;;12515:113;;;;-1:-1:-1;;;12515:113:0;;9746:2:1;12515:113:0;;;9728:21:1;9785:2;9765:18;;;9758:30;-1:-1:-1;;;9804:18:1;;;9797:47;9861:18;;12515:113:0;9544:341:1;12515:113:0;12664:37;12683:6;12691:9;12664:18;:37::i;:::-;12660:406;;;12771:4;12722:28;7923:18;;;:9;:18;;;;;;12842:13;;12818:37;;;;;12874:122;;12925:71;12942:53;12946:6;12954:40;12958:20;12980:13;;12954:3;:40::i;:::-;12942:3;:53::i;:::-;12925:16;:71::i;:::-;13015:35;13028:21;13015:12;:35::i;:::-;12703:363;;12660:406;13097:22;13122:34;13130:6;13138:9;13149:6;13122:7;:34::i;:::-;-1:-1:-1;;;;;13187:17:0;;;;;;:9;:17;;;;;;13097:59;;-1:-1:-1;13187:29:0;;13209:6;13187:21;:29::i;:::-;-1:-1:-1;;;;;13167:17:0;;;;;;;:9;:17;;;;;;:49;;;;13250:20;;;;;;;:40;;13275:14;13250:24;:40::i;:::-;-1:-1:-1;;;;;13227:20:0;;;;;;;:9;:20;;;;;;;:63;;;;13306:43;;;;;;;;;;13334:14;2239:25:1;;2227:2;2212:18;;2093:177;13306:43:0;;;;;;;;11772:1585;11660:1697;;;:::o;2086:240::-;2206:7;2267:12;2259:6;;;;2251:29;;;;-1:-1:-1;;;2251:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2302:5:0;;;2086:240::o;9768:444::-;9858:16;;;9872:1;9858:16;;;;;;;;9834:21;;9858:16;;;;;;;;;;-1:-1:-1;9858:16:0;9834:40;;9903:4;9885;9890:1;9885:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9885:23:0;;;:7;;;;;;;;;;:23;;;;9929:6;;:13;;;-1:-1:-1;;;9929:13:0;;;;:6;;;;;:11;;:13;;;;;9885:7;;9929:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9919:4;9924:1;9919:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9919:23:0;;;:7;;;;;;;;;:23;9985:6;;9953:53;;9970:4;;9985:6;9994:11;9953:8;:53::i;:::-;10017:6;;:187;;-1:-1:-1;;;10017:187:0;;-1:-1:-1;;;;;10017:6:0;;;;:57;;:187;;10089:11;;10017:6;;10131:4;;10158;;10178:15;;10017:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9823:389;9768:444;:::o;1768:98::-;1826:7;1853:5;1857:1;1853;:5;:::i;1874:98::-;1932:7;1959:5;1963:1;1959;:5;:::i;8679:310::-;8828:8;;8790:4;;-1:-1:-1;;;8828:8:0;;;;8827:9;:37;;;;-1:-1:-1;8853:11:0;;-1:-1:-1;;;8853:11:0;;;;8827:37;:74;;;;-1:-1:-1;;;;;;8882:19:0;;;;;;:11;:19;;;;;;;;8881:20;8827:74;:108;;;;-1:-1:-1;8931:4:0;;-1:-1:-1;;;;;8918:17:0;;;8931:4;;8918:17;8827:108;:154;;;;-1:-1:-1;;8964:17:0;;8952:9;;:29;;8679:310;-1:-1:-1;;8679:310:0:o;13363:98::-;13420:7;13447:1;13445;:3;13444:9;;13452:1;13444:9;;;-1:-1:-1;13450:1:0;13363:98;-1:-1:-1;13363:98:0:o;13467:90::-;13524:8;;:25;;-1:-1:-1;;;;;13524:8:0;;;;:25;;;;;13542:6;;13524:8;:25;:8;:25;13542:6;13524:8;:25;;;;;;;;;;;;;;;;;;;;;13467:90;:::o;10905:632::-;11025:7;11045:17;11065:75;11136:3;11065:66;11090:30;11102:6;11110:9;11090:11;:30::i;:::-;11065:6;;:10;:66::i;:75::-;11045:95;;11159:32;11173:6;11181:9;11159:13;:32::i;:::-;11156:277;;;11251:4;11233:24;;;;:9;:24;;;;;;:39;;11262:9;11233:28;:39::i;:::-;11224:4;11206:24;;;;:9;:24;;;;;:66;11156:277;;;11301:4;;-1:-1:-1;;;;;11291:14:0;;;11301:4;;11291:14;11288:145;;-1:-1:-1;;;;;11626:18:0;;11603:4;11626:18;;;:12;:18;;;;;;;;11331:90;;;-1:-1:-1;;;;;11392:17:0;;;;;;:9;:17;;;;;;:29;;11414:6;11392:21;:29::i;:::-;-1:-1:-1;;;;;11372:17:0;;;;;;:9;:17;;;;;:49;11331:90;11448:42;;2239:25:1;;;11473:4:0;;-1:-1:-1;;;;;11448:42:0;;;;;2227:2:1;2212:18;11448:42:0;;;;;;;11508:21;:6;11519:9;11508:10;:21::i;:::-;11501:28;10905:632;-1:-1:-1;;;;;10905:632:0:o;1556:98::-;1614:7;1641:5;1645:1;1641;:5;:::i;10413:484::-;-1:-1:-1;;;;;10536:13:0;;10512:7;10536:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;10553:16:0;;;;;;:5;:16;;;;;;;;10536:33;10532:76;;;-1:-1:-1;10593:3:0;10586:10;;10532:76;10632:4;;-1:-1:-1;;;;;10632:4:0;;;10622:14;;;;10618:132;;10653:9;:11;;;:9;:11;;;:::i;:::-;;;;;;10698:13;;10686:9;;:25;:52;;10727:11;;10686:52;;;10714:10;;10686:52;10679:59;;;;10618:132;10777:4;;-1:-1:-1;;;;;10777:4:0;;;10764:17;;;;10760:111;;10817:13;;10805:9;;:25;:54;;10847:12;;10805:54;;;-1:-1:-1;10833:11:0;;10798:61;;10760:111;-1:-1:-1;10888:1:0;10413:484;;;;:::o;10220:185::-;-1:-1:-1;;;;;10351:19:0;;10326:4;10351:19;;;:11;:19;;;;;;;;10350:20;:47;;;;-1:-1:-1;;;;;;;10375:22:0;;;;;:11;:22;;;;;;;;10374:23;;10220:185;-1:-1:-1;10220:185:0:o;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;1215:118::-;1301:5;1294:13;1287:21;1280:5;1277:32;1267:60;;1323:1;1320;1313:12;1338:750;1430:6;1438;1446;1499:2;1487:9;1478:7;1474:23;1470:32;1467:52;;;1515:1;1512;1505:12;1467:52;1555:9;1542:23;1584:18;1625:2;1617:6;1614:14;1611:34;;;1641:1;1638;1631:12;1611:34;1679:6;1668:9;1664:22;1654:32;;1724:7;1717:4;1713:2;1709:13;1705:27;1695:55;;1746:1;1743;1736:12;1695:55;1786:2;1773:16;1812:2;1804:6;1801:14;1798:34;;;1828:1;1825;1818:12;1798:34;1883:7;1876:4;1866:6;1863:1;1859:14;1855:2;1851:23;1847:34;1844:47;1841:67;;;1904:1;1901;1894:12;1841:67;1935:4;1927:13;;;;-1:-1:-1;1959:6:1;-1:-1:-1;;2000:20:1;;1987:34;2030:28;1987:34;2030:28;:::i;:::-;2077:5;2067:15;;;1338:750;;;;;:::o;2275:456::-;2352:6;2360;2368;2421:2;2409:9;2400:7;2396:23;2392:32;2389:52;;;2437:1;2434;2427:12;2389:52;2476:9;2463:23;2495:31;2520:5;2495:31;:::i;:::-;2545:5;-1:-1:-1;2602:2:1;2587:18;;2574:32;2615:33;2574:32;2615:33;:::i;:::-;2275:456;;2667:7;;-1:-1:-1;;;2721:2:1;2706:18;;;;2693:32;;2275:456::o;2925:247::-;2984:6;3037:2;3025:9;3016:7;3012:23;3008:32;3005:52;;;3053:1;3050;3043:12;3005:52;3092:9;3079:23;3111:31;3136:5;3111:31;:::i;3385:388::-;3453:6;3461;3514:2;3502:9;3493:7;3489:23;3485:32;3482:52;;;3530:1;3527;3520:12;3482:52;3569:9;3556:23;3588:31;3613:5;3588:31;:::i;:::-;3638:5;-1:-1:-1;3695:2:1;3680:18;;3667:32;3708:33;3667:32;3708:33;:::i;:::-;3760:7;3750:17;;;3385:388;;;;;:::o;3778:356::-;3980:2;3962:21;;;3999:18;;;3992:30;4058:34;4053:2;4038:18;;4031:62;4125:2;4110:18;;3778:356::o;4491:251::-;4561:6;4614:2;4602:9;4593:7;4589:23;4585:32;4582:52;;;4630:1;4627;4620:12;4582:52;4662:9;4656:16;4681:31;4706:5;4681:31;:::i;5668:306::-;5756:6;5764;5772;5825:2;5813:9;5804:7;5800:23;5796:32;5793:52;;;5841:1;5838;5831:12;5793:52;5870:9;5864:16;5854:26;;5920:2;5909:9;5905:18;5899:25;5889:35;;5964:2;5953:9;5949:18;5943:25;5933:35;;5668:306;;;;;:::o;6258:245::-;6325:6;6378:2;6366:9;6357:7;6353:23;6349:32;6346:52;;;6394:1;6391;6384:12;6346:52;6426:9;6420:16;6445:28;6467:5;6445:28;:::i;6508:127::-;6569:10;6564:3;6560:20;6557:1;6550:31;6600:4;6597:1;6590:15;6624:4;6621:1;6614:15;6640:184;6710:6;6763:2;6751:9;6742:7;6738:23;6734:32;6731:52;;;6779:1;6776;6769:12;6731:52;-1:-1:-1;6802:16:1;;6640:184;-1:-1:-1;6640:184:1:o;7637:127::-;7698:10;7693:3;7689:20;7686:1;7679:31;7729:4;7726:1;7719:15;7753:4;7750:1;7743:15;7769:128;7836:9;;;7857:11;;;7854:37;;;7871:18;;:::i;8308:399::-;8510:2;8492:21;;;8549:2;8529:18;;;8522:30;8588:34;8583:2;8568:18;;8561:62;-1:-1:-1;;;8654:2:1;8639:18;;8632:33;8697:3;8682:19;;8308:399::o;9055:125::-;9120:9;;;9141:10;;;9138:36;;;9154:18;;:::i;10022:980::-;10284:4;10332:3;10321:9;10317:19;10363:6;10352:9;10345:25;10389:2;10427:6;10422:2;10411:9;10407:18;10400:34;10470:3;10465:2;10454:9;10450:18;10443:31;10494:6;10529;10523:13;10560:6;10552;10545:22;10598:3;10587:9;10583:19;10576:26;;10637:2;10629:6;10625:15;10611:29;;10658:1;10668:195;10682:6;10679:1;10676:13;10668:195;;;10747:13;;-1:-1:-1;;;;;10743:39:1;10731:52;;10838:15;;;;10803:12;;;;10779:1;10697:9;10668:195;;;-1:-1:-1;;;;;;;10919:32:1;;;;10914:2;10899:18;;10892:60;-1:-1:-1;;;10983:3:1;10968:19;10961:35;10880:3;10022:980;-1:-1:-1;;;10022:980:1:o;11007:168::-;11080:9;;;11111;;11128:15;;;11122:22;;11108:37;11098:71;;11149:18;;:::i;11180:217::-;11220:1;11246;11236:132;;11290:10;11285:3;11281:20;11278:1;11271:31;11325:4;11322:1;11315:15;11353:4;11350:1;11343:15;11236:132;-1:-1:-1;11382:9:1;;11180:217::o;11402:135::-;11441:3;11462:17;;;11459:43;;11482:18;;:::i;:::-;-1:-1:-1;11529:1:1;11518:13;;11402:135::o

Swarm Source

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