ETH Price: $3,614.78 (+4.70%)
 

Overview

Max Total Supply

1,000,000,000 MAHA

Holders

412

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
393,613.331885365923368842 MAHA

Value
$0.00
0x753b6a4798fb342c080558bc0cfb689ae5597b0a
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:
MAHA

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
 *Submitted for verification at Etherscan.io 
*/

/**
 *Submitted MAHA Team
*/

/*
       __        __    __         __         __  __          __  __                        __   __   __        
|\ /| |  | |  / |     |  | |\ /| |   |<<  > |<< |  |   |  | |   |  | |   >>|<< |  | | |   |  | |    |  | > | | 
| < | |><| |<<  |<<   |><| | < | |<< |>>| | |   |><|   |><| |<< |><| |     |   |><| \</   |><| | >> |><| | |\| 
|   | |  | |  \ |__   |  | |   | |__ |  \ | |__ |  |   |  | |__ |  | |<<   |   |  |  |    |  | '__| |  | | | | 
    
                                                                                                                                                                                                                       
                                                                                                                          
                                                                                                                         

Make America Healthy Again | $MAHA

 First interview on this new chapter of my work to Make America Healthy Again. #MAHA
 https://x.com/RobertKennedyJr/status/1827749244918522023

    Telegram : https://t.me/maha_zportal
    Website  : https://mahaeth.xyz
    Twitter  : https://x.com/MahaErc20
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.26;
pragma experimental ABIEncoderV2;

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

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

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

abstract contract Ownable is Context {

    address private _owner;

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

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

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

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }


}

interface IDexSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDexSwapRouter {
    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 MAHA is Context, IERC20, Ownable {

    using SafeMath for uint256;

    address private constant deadAddress = address(0xdead);

    string private _name = "Make America Healthy Again";
    string private _symbol = "MAHA";
    uint8 private _decimals = 18; 

    address private marketingWallet;
    address private developerWallet;
    
    struct feeStruct {
        uint256 buy;
        uint256 sell;
    }
    feeStruct public fee;

    bool public stealth;

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

    mapping (address => bool) public IsChargePair;
    mapping (address => bool) public isMarketPair;

    uint256 private _totalSupply = 1_000_000_000 * 10**_decimals;

    uint256 public maxTransaction =  _totalSupply.mul(3).div(100);
    uint256 public maxWallet = _totalSupply.mul(3).div(100);

    uint256 public swapThreshold = _totalSupply.mul(1).div(100);

    bool public swapEnabled = true;
    bool public swapbylimit = true;

    IDexSwapRouter public dexRouter;
    address public dexPair;

    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    modifier onlyGuard() {
        require(msg.sender == developerWallet,'Invalid Caller!');
        _;
    }
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor(address _taxWallet) {

        developerWallet = msg.sender;
        marketingWallet = _taxWallet;

        IDexSwapRouter _dexRouter = IDexSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        dexPair = IDexSwapFactory(_dexRouter.factory()).createPair(address(this),_dexRouter.WETH());

        dexRouter = _dexRouter;

        isMarketPair[dexPair] = true;

        IsChargePair[address(this)] = true;
        IsChargePair[developerWallet] = true;
        IsChargePair[address(deadAddress)] = true;

        fee.buy = 20;
        fee.sell = 25;

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

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

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

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

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

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

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

    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
    
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if(!IsChargePair[sender] && !IsChargePair[recipient]) {
                require(stealth,"Not stealth!");
                require(amount <= maxTransaction, "Exceeds maxTxAmount");
                if(!isMarketPair[recipient]) {
                    require(balanceOf(recipient).add(amount) <= maxWallet, "Exceeds maxWallet");
                }
            }            

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;

            if (overMinimumTokenBalance && 
                !inSwap && 
                !isMarketPair[sender] && 
                swapEnabled &&
                !IsChargePair[sender] &&
                !IsChargePair[recipient]
                ) {
                swapBack(contractTokenBalance);
            }
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;

        }

    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
        if(IsChargePair[sender] || IsChargePair[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { 
                feeAmount = amount.mul(fee.buy).div(100);
            } 
            else if(isMarketPair[recipient]) { 
                feeAmount = amount.mul(fee.sell).div(100);
            }

            if(feeAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(feeAmount);
                emit Transfer(sender, address(this), feeAmount);
            }

            return amount.sub(feeAmount);
        }
        
    }

    function swapBack(uint256 tokens) private {

        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap; 

        if (contractBalance == 0) {
            return;
        }

        if ((fee.buy+fee.sell) == 0) {

        if(contractBalance > 0 && contractBalance < swapThreshold) {
            tokensToSwap = contractBalance;
        }
        else {
            uint256 sellFeeTokens = tokens.mul(fee.sell).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapThreshold) {
                tokensToSwap = swapThreshold;
            }
            else {
                tokensToSwap = tokens;
            }
        }
    }

    else {

        if(contractBalance > 0 && contractBalance < swapThreshold.div(5)) {
            return;
        }
        else if (contractBalance > 0 && contractBalance > swapThreshold.div(5) && contractBalance < swapThreshold) {
            tokensToSwap = swapThreshold.div(5);
        }
        else {
            uint256 sellFeeTokens = tokens.mul(fee.sell).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapThreshold) {
                tokensToSwap = swapThreshold;
            } else {
                tokensToSwap = tokens;
            }
        }
    }
        swapTokensForEth(tokensToSwap);
    }


    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        _approve(address(this), address(dexRouter), tokenAmount);

        // make the swap
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            1, 
            path,
            address(marketingWallet), 
            block.timestamp + 30
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function setMarketingWallet(address newAddress) external onlyOwner {
        marketingWallet = newAddress;
    }

    function setDeveloperWallet(address _newWallet) external onlyOwner {
        developerWallet = _newWallet;
    }

    function rescueFundsNative() external onlyGuard() {
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }

    function rescueStuckTokens(address tokenAddress) external onlyGuard() {
        IERC20 tokenContract = IERC20(tokenAddress);
        uint256 balance = tokenContract.balanceOf(address(this));
        require(balance > 0, "No tokens to clear");
        tokenContract.transfer(msg.sender, balance);
    }
    
    function burnClogged(uint _amount) external onlyGuard() {
        uint contractBalance = _balances[address(this)];
        require(contractBalance >= _amount,'Insufficient Balance!');
        _balances[address(this)] = _balances[address(this)] - _amount;
        _balances[address(deadAddress)] = _balances[address(deadAddress)] + _amount;
        emit Transfer(address(this), address(deadAddress), _amount);
    }

    function setFee(uint _buy, uint _sell) external onlyOwner {
        require(_buy <= 99 && _sell <= 99,"Max tax Limit Reached!");
        fee.buy = _buy;
        fee.sell = _sell;
    }   

    function openTrade() external onlyOwner() {
        require(!stealth,"Invalid!");
        stealth = true;
    }

    function setSwapBackSettings(bool _enabled, bool _limited, uint _threshold)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapbylimit = _limited;
        swapThreshold = _threshold;
    }

    function removeLimits() external onlyOwner {
        maxTransaction = _totalSupply;
        maxWallet = _totalSupply;
    }


}

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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"IsChargePair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burnClogged","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","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":[],"name":"rescueFundsNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"rescueStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setDeveloperWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stealth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapbylimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052601a60809081527f4d616b6520416d6572696361204865616c74687920416761696e00000000000060a05260019061003c908261058c565b506040805180820190915260048152634d41484160e01b6020820152600290610065908261058c565b506003805460ff1916601290811790915561008190600a61073d565b61008f90633b9aca0061074b565b600c8190556100ac906064906100a690600361039d565b90610429565b600d55600c546100c4906064906100a690600361039d565b600e55600c546100dc906064906100a690600161039d565b600f556010805461ffff19166101011790553480156100f9575f80fd5b5060405161263a38038061263a83398101604081905261011891610762565b61012133610470565b600480546001600160a01b03191633178155600380546001600160a01b03841661010002610100600160a81b03199091161790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592818301926020928290030181865afa1580156101a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c59190610762565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610210573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102349190610762565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561027e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a29190610762565b601180546001600160a01b0319166001600160a01b039283169081179091556010805462010000600160b01b03191662010000858516021790555f908152600b60209081526040808320805460ff199081166001908117909255308552600a84528285208054821683179055600454909516845281842080548616821790557f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80549095161790935560146005556019600655600c54338084526008835284842082905593519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506107dc565b5f825f036103ac57505f610423565b5f6103b7838561074b565b9050826103c48583610788565b146104205760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f61042083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506104bf60201b60201c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f81836104df5760405162461bcd60e51b815260040161041791906107a7565b505f6104eb8486610788565b95945050505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061051c57607f821691505b60208210810361053a57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561058757805f5260205f20601f840160051c810160208510156105655750805b601f840160051c820191505b81811015610584575f8155600101610571565b50505b505050565b81516001600160401b038111156105a5576105a56104f4565b6105b9816105b38454610508565b84610540565b6020601f8211600181146105eb575f83156105d45750848201515b5f19600385901b1c1916600184901b178455610584565b5f84815260208120601f198516915b8281101561061a57878501518255602094850194600190920191016105fa565b508482101561063757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156106955780850481111561067957610679610646565b600184161561068757908102905b60019390931c92800261065e565b935093915050565b5f826106ab57506001610423565b816106b757505f610423565b81600181146106cd57600281146106d7576106f3565b6001915050610423565b60ff8411156106e8576106e8610646565b50506001821b610423565b5060208310610133831016604e8410600b8410161715610716575081810a610423565b6107225f19848461065a565b805f190482111561073557610735610646565b029392505050565b5f61042060ff84168361069d565b808202811582820484141761042357610423610646565b5f60208284031215610772575f80fd5b81516001600160a01b0381168114610420575f80fd5b5f826107a257634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b611e51806107e95f395ff3fe6080604052600436106101de575f3560e01c806370a08231116100fd578063dd62ed3e11610092578063f2fde38b11610062578063f2fde38b146105a7578063f8b45b05146105c6578063fb201b1d146105db578063fd10136d146105ef575f80fd5b8063dd62ed3e146104f7578063ddca3f431461053b578063e9fd33941461056a578063f242ab4114610588575f80fd5b806395d89b41116100cd57806395d89b411461049b578063a9059cbb146104af578063c3f70b52146104ce578063d58549ea146104e3575f80fd5b806370a0823114610423578063715018a614610457578063751039fc1461046b5780638da5cb5b1461047f575f80fd5b8063280b8112116101735780635d098b38116101435780635d098b381461039e5780635e8bf1d6146103bd5780636cd56878146103eb5780636ddd17131461040a575f80fd5b8063280b811214610311578063313ce567146103305780633ecad2711461035157806352f7c9881461037f575f80fd5b8063095ea7b3116101ae578063095ea7b3146102905780630c1fe80c146102bf57806318160ddd146102de57806323b872dd146102f2575f80fd5b806301ae592b146101e95780630445b6671461020a57806306fdde03146102325780630758d92414610253575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b50610208610203366004611a67565b610608565b005b348015610215575f80fd5b5061021f600f5481565b6040519081526020015b60405180910390f35b34801561023d575f80fd5b50610246610665565b6040516102299190611aa5565b34801561025e575f80fd5b50601054610278906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610229565b34801561029b575f80fd5b506102af6102aa366004611aee565b6106f5565b6040519015158152602001610229565b3480156102ca575f80fd5b506102086102d9366004611b18565b61070b565b3480156102e9575f80fd5b50600c5461021f565b3480156102fd575f80fd5b506102af61030c366004611b33565b610859565b34801561031c575f80fd5b5061020861032b366004611b60565b6108c2565b34801561033b575f80fd5b5060035460405160ff9091168152602001610229565b34801561035c575f80fd5b506102af61036b366004611b18565b600b6020525f908152604090205460ff1681565b34801561038a575f80fd5b50610208610399366004611b77565b6109ff565b3480156103a9575f80fd5b506102086103b8366004611b18565b610a8a565b3480156103c8575f80fd5b506102af6103d7366004611b18565b600a6020525f908152604090205460ff1681565b3480156103f6575f80fd5b50610208610405366004611b18565b610adb565b348015610415575f80fd5b506010546102af9060ff1681565b34801561042e575f80fd5b5061021f61043d366004611b18565b6001600160a01b03165f9081526008602052604090205490565b348015610462575f80fd5b50610208610b26565b348015610476575f80fd5b50610208610b5a565b34801561048a575f80fd5b505f546001600160a01b0316610278565b3480156104a6575f80fd5b50610246610b90565b3480156104ba575f80fd5b506102af6104c9366004611aee565b610b9f565b3480156104d9575f80fd5b5061021f600d5481565b3480156104ee575f80fd5b50610208610bab565b348015610502575f80fd5b5061021f610511366004611b97565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610546575f80fd5b50600554600654610555919082565b60408051928352602083019190915201610229565b348015610575575f80fd5b506010546102af90610100900460ff1681565b348015610593575f80fd5b50601154610278906001600160a01b031681565b3480156105b2575f80fd5b506102086105c1366004611b18565b610c49565b3480156105d1575f80fd5b5061021f600e5481565b3480156105e6575f80fd5b50610208610ce0565b3480156105fa575f80fd5b506007546102af9060ff1681565b5f546001600160a01b0316331461063a5760405162461bcd60e51b815260040161063190611bce565b60405180910390fd5b6010805461ffff191693151561ff001916939093176101009215159290920291909117909155600f55565b60606001805461067490611c03565b80601f01602080910402602001604051908101604052809291908181526020018280546106a090611c03565b80156106eb5780601f106106c2576101008083540402835291602001916106eb565b820191905f5260205f20905b8154815290600101906020018083116106ce57829003601f168201915b5050505050905090565b5f610701338484610d56565b5060015b92915050565b6004546001600160a01b031633146107355760405162461bcd60e51b815260040161063190611c3b565b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561077b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079f9190611c64565b90505f81116107e55760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b6044820152606401610631565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af115801561082f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108539190611c7b565b50505050565b5f610865848484610e79565b506108b784336108b285604051806060016040528060288152602001611dd4602891396001600160a01b038a165f90815260096020908152604080832033845290915290205491906112d9565b610d56565b5060015b9392505050565b6004546001600160a01b031633146108ec5760405162461bcd60e51b815260040161063190611c3b565b305f90815260086020526040902054818110156109435760405162461bcd60e51b8152602060048201526015602482015274496e73756666696369656e742042616c616e63652160581b6044820152606401610631565b305f9081526008602052604090205461095d908390611caa565b305f9081526008602052604081209190915561dead90527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299546109a1908390611cbd565b61dead5f81905260086020527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342999190915560405130905f80516020611dfc833981519152906109f39086815260200190565b60405180910390a35050565b5f546001600160a01b03163314610a285760405162461bcd60e51b815260040161063190611bce565b60638211158015610a3a575060638111155b610a7f5760405162461bcd60e51b81526020600482015260166024820152754d617820746178204c696d697420526561636865642160501b6044820152606401610631565b600591909155600655565b5f546001600160a01b03163314610ab35760405162461bcd60e51b815260040161063190611bce565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b03163314610b045760405162461bcd60e51b815260040161063190611bce565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161063190611bce565b610b585f611311565b565b5f546001600160a01b03163314610b835760405162461bcd60e51b815260040161063190611bce565b600c54600d819055600e55565b60606002805461067490611c03565b5f6108b7338484610e79565b6004546001600160a01b03163314610bd55760405162461bcd60e51b815260040161063190611c3b565b5f4711610c1d5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610631565b60405133904780156108fc02915f818181858888f19350505050158015610c46573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610c725760405162461bcd60e51b815260040161063190611bce565b6001600160a01b038116610cd75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610631565b610c4681611311565b5f546001600160a01b03163314610d095760405162461bcd60e51b815260040161063190611bce565b60075460ff1615610d475760405162461bcd60e51b8152602060048201526008602482015267496e76616c69642160c01b6044820152606401610631565b6007805460ff19166001179055565b6001600160a01b038316610db85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610631565b6001600160a01b038216610e195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610631565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610ede5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610631565b6001600160a01b038316610f405760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610631565b5f8211610fa15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610631565b601154600160a01b900460ff1615610fc557610fbe848484611360565b90506108bb565b6001600160a01b0384165f908152600a602052604090205460ff1615801561100557506001600160a01b0383165f908152600a602052604090205460ff16155b1561111f5760075460ff1661104b5760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420737465616c74682160a01b6044820152606401610631565b600d548211156110935760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610631565b6001600160a01b0383165f908152600b602052604090205460ff1661111f57600e546110dd836110d7866001600160a01b03165f9081526008602052604090205490565b90611430565b111561111f5760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81b585e15d85b1b195d607a1b6044820152606401610631565b305f90815260086020526040902054600f548110801590819061114c5750601154600160a01b900460ff16155b801561117057506001600160a01b0386165f908152600b602052604090205460ff16155b801561117e575060105460ff165b80156111a257506001600160a01b0386165f908152600a602052604090205460ff16155b80156111c657506001600160a01b0385165f908152600a602052604090205460ff16155b156111d4576111d48261148e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f908152600890915291909120546112259186906112d9565b6001600160a01b0387165f9081526008602052604081209190915561124a87876115e7565b61125e57611259878787611681565b611260565b845b6001600160a01b0387165f908152600860205260409020549091506112859082611430565b6001600160a01b038088165f8181526008602052604090819020939093559151908916905f80516020611dfc833981519152906112c59085815260200190565b60405180910390a3600193505050506108bb565b5f81848411156112fc5760405162461bcd60e51b81526004016106319190611aa5565b505f6113088486611caa565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546113b09184906112d9565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546113de9083611430565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f80516020611dfc8339815191529061141e9086815260200190565b60405180910390a35060019392505050565b5f8061143c8385611cbd565b9050838110156108bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610631565b305f90815260086020526040812054908181036114aa57505050565b6006546005546114ba9190611cbd565b5f0361152c575f821180156114d05750600f5482105b156114dc5750806115d9565b5f61150060646114fa6005600101548761176690919063ffffffff16565b906117e4565b905061150c8185611caa565b9350600f5484111561152257600f549150611526565b8391505b506115d9565b5f821180156115475750600f546115449060056117e4565b82105b1561155157505050565b5f8211801561156c5750600f546115699060056117e4565b82115b80156115795750600f5482105b1561159357600f5461158c9060056117e4565b90506115d9565b5f6115b160646114fa6005600101548761176690919063ffffffff16565b90506115bd8185611caa565b9350600f548411156115d357600f5491506115d7565b8391505b505b6115e281611825565b505050565b6001600160a01b0382165f908152600a602052604081205460ff168061162457506001600160a01b0382165f908152600a602052604090205460ff165b1561163157506001610705565b6001600160a01b0383165f908152600b602052604090205460ff168061166e57506001600160a01b0382165f908152600b602052604090205460ff165b1561167a57505f610705565b505f610705565b6001600160a01b0383165f908152600b6020526040812054819060ff16156116bf576005546116b8906064906114fa908690611766565b90506116f7565b6001600160a01b0384165f908152600b602052604090205460ff16156116f7576006546116f4906064906114fa908690611766565b90505b801561175c57305f908152600860205260409020546117169082611430565b305f81815260086020526040908190209290925590516001600160a01b038716905f80516020611dfc833981519152906117539085815260200190565b60405180910390a35b61130883826119ed565b5f825f0361177557505f610705565b5f6117808385611cd0565b90508261178d8583611ce7565b146108bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610631565b5f6108bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a2e565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061185857611858611d06565b60200260200101906001600160a01b031690816001600160a01b031681525050601060029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ed9190611d1a565b8160018151811061190057611900611d06565b6001600160a01b03928316602091820292909201015260105461192c9130916201000090041684610d56565b6010546003546001600160a01b036201000090920482169163791ac94791859160019186916101009091041661196342601e611cbd565b6040518663ffffffff1660e01b8152600401611983959493929190611d78565b5f604051808303815f87803b15801561199a575f80fd5b505af11580156119ac573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516119e1929190611db3565b60405180910390a15050565b5f6108bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112d9565b5f8183611a4e5760405162461bcd60e51b81526004016106319190611aa5565b505f6113088486611ce7565b8015158114610c46575f80fd5b5f805f60608486031215611a79575f80fd5b8335611a8481611a5a565b92506020840135611a9481611a5a565b929592945050506040919091013590565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c46575f80fd5b5f8060408385031215611aff575f80fd5b8235611b0a81611ada565b946020939093013593505050565b5f60208284031215611b28575f80fd5b81356108bb81611ada565b5f805f60608486031215611b45575f80fd5b8335611b5081611ada565b92506020840135611a9481611ada565b5f60208284031215611b70575f80fd5b5035919050565b5f8060408385031215611b88575f80fd5b50508035926020909101359150565b5f8060408385031215611ba8575f80fd5b8235611bb381611ada565b91506020830135611bc381611ada565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611c1757607f821691505b602082108103611c3557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600f908201526e496e76616c69642043616c6c65722160881b604082015260600190565b5f60208284031215611c74575f80fd5b5051919050565b5f60208284031215611c8b575f80fd5b81516108bb81611a5a565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561070557610705611c96565b8082018082111561070557610705611c96565b808202811582820484141761070557610705611c96565b5f82611d0157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d2a575f80fd5b81516108bb81611ada565b5f8151808452602084019350602083015f5b82811015611d6e5781516001600160a01b0316865260209586019590910190600101611d47565b5093949350505050565b85815284602082015260a060408201525f611d9660a0830186611d35565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611dcb6040830184611d35565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ef8328b74c3d793ce351ea7969cd58927bc1d177ee19b441c10532cee68ba0e364736f6c634300081a0033000000000000000000000000a1bb18da0ec73fbf69ba881115e9cbe310e29190

Deployed Bytecode

0x6080604052600436106101de575f3560e01c806370a08231116100fd578063dd62ed3e11610092578063f2fde38b11610062578063f2fde38b146105a7578063f8b45b05146105c6578063fb201b1d146105db578063fd10136d146105ef575f80fd5b8063dd62ed3e146104f7578063ddca3f431461053b578063e9fd33941461056a578063f242ab4114610588575f80fd5b806395d89b41116100cd57806395d89b411461049b578063a9059cbb146104af578063c3f70b52146104ce578063d58549ea146104e3575f80fd5b806370a0823114610423578063715018a614610457578063751039fc1461046b5780638da5cb5b1461047f575f80fd5b8063280b8112116101735780635d098b38116101435780635d098b381461039e5780635e8bf1d6146103bd5780636cd56878146103eb5780636ddd17131461040a575f80fd5b8063280b811214610311578063313ce567146103305780633ecad2711461035157806352f7c9881461037f575f80fd5b8063095ea7b3116101ae578063095ea7b3146102905780630c1fe80c146102bf57806318160ddd146102de57806323b872dd146102f2575f80fd5b806301ae592b146101e95780630445b6671461020a57806306fdde03146102325780630758d92414610253575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b50610208610203366004611a67565b610608565b005b348015610215575f80fd5b5061021f600f5481565b6040519081526020015b60405180910390f35b34801561023d575f80fd5b50610246610665565b6040516102299190611aa5565b34801561025e575f80fd5b50601054610278906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610229565b34801561029b575f80fd5b506102af6102aa366004611aee565b6106f5565b6040519015158152602001610229565b3480156102ca575f80fd5b506102086102d9366004611b18565b61070b565b3480156102e9575f80fd5b50600c5461021f565b3480156102fd575f80fd5b506102af61030c366004611b33565b610859565b34801561031c575f80fd5b5061020861032b366004611b60565b6108c2565b34801561033b575f80fd5b5060035460405160ff9091168152602001610229565b34801561035c575f80fd5b506102af61036b366004611b18565b600b6020525f908152604090205460ff1681565b34801561038a575f80fd5b50610208610399366004611b77565b6109ff565b3480156103a9575f80fd5b506102086103b8366004611b18565b610a8a565b3480156103c8575f80fd5b506102af6103d7366004611b18565b600a6020525f908152604090205460ff1681565b3480156103f6575f80fd5b50610208610405366004611b18565b610adb565b348015610415575f80fd5b506010546102af9060ff1681565b34801561042e575f80fd5b5061021f61043d366004611b18565b6001600160a01b03165f9081526008602052604090205490565b348015610462575f80fd5b50610208610b26565b348015610476575f80fd5b50610208610b5a565b34801561048a575f80fd5b505f546001600160a01b0316610278565b3480156104a6575f80fd5b50610246610b90565b3480156104ba575f80fd5b506102af6104c9366004611aee565b610b9f565b3480156104d9575f80fd5b5061021f600d5481565b3480156104ee575f80fd5b50610208610bab565b348015610502575f80fd5b5061021f610511366004611b97565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610546575f80fd5b50600554600654610555919082565b60408051928352602083019190915201610229565b348015610575575f80fd5b506010546102af90610100900460ff1681565b348015610593575f80fd5b50601154610278906001600160a01b031681565b3480156105b2575f80fd5b506102086105c1366004611b18565b610c49565b3480156105d1575f80fd5b5061021f600e5481565b3480156105e6575f80fd5b50610208610ce0565b3480156105fa575f80fd5b506007546102af9060ff1681565b5f546001600160a01b0316331461063a5760405162461bcd60e51b815260040161063190611bce565b60405180910390fd5b6010805461ffff191693151561ff001916939093176101009215159290920291909117909155600f55565b60606001805461067490611c03565b80601f01602080910402602001604051908101604052809291908181526020018280546106a090611c03565b80156106eb5780601f106106c2576101008083540402835291602001916106eb565b820191905f5260205f20905b8154815290600101906020018083116106ce57829003601f168201915b5050505050905090565b5f610701338484610d56565b5060015b92915050565b6004546001600160a01b031633146107355760405162461bcd60e51b815260040161063190611c3b565b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561077b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079f9190611c64565b90505f81116107e55760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b6044820152606401610631565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af115801561082f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108539190611c7b565b50505050565b5f610865848484610e79565b506108b784336108b285604051806060016040528060288152602001611dd4602891396001600160a01b038a165f90815260096020908152604080832033845290915290205491906112d9565b610d56565b5060015b9392505050565b6004546001600160a01b031633146108ec5760405162461bcd60e51b815260040161063190611c3b565b305f90815260086020526040902054818110156109435760405162461bcd60e51b8152602060048201526015602482015274496e73756666696369656e742042616c616e63652160581b6044820152606401610631565b305f9081526008602052604090205461095d908390611caa565b305f9081526008602052604081209190915561dead90527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299546109a1908390611cbd565b61dead5f81905260086020527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342999190915560405130905f80516020611dfc833981519152906109f39086815260200190565b60405180910390a35050565b5f546001600160a01b03163314610a285760405162461bcd60e51b815260040161063190611bce565b60638211158015610a3a575060638111155b610a7f5760405162461bcd60e51b81526020600482015260166024820152754d617820746178204c696d697420526561636865642160501b6044820152606401610631565b600591909155600655565b5f546001600160a01b03163314610ab35760405162461bcd60e51b815260040161063190611bce565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b03163314610b045760405162461bcd60e51b815260040161063190611bce565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161063190611bce565b610b585f611311565b565b5f546001600160a01b03163314610b835760405162461bcd60e51b815260040161063190611bce565b600c54600d819055600e55565b60606002805461067490611c03565b5f6108b7338484610e79565b6004546001600160a01b03163314610bd55760405162461bcd60e51b815260040161063190611c3b565b5f4711610c1d5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610631565b60405133904780156108fc02915f818181858888f19350505050158015610c46573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610c725760405162461bcd60e51b815260040161063190611bce565b6001600160a01b038116610cd75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610631565b610c4681611311565b5f546001600160a01b03163314610d095760405162461bcd60e51b815260040161063190611bce565b60075460ff1615610d475760405162461bcd60e51b8152602060048201526008602482015267496e76616c69642160c01b6044820152606401610631565b6007805460ff19166001179055565b6001600160a01b038316610db85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610631565b6001600160a01b038216610e195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610631565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610ede5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610631565b6001600160a01b038316610f405760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610631565b5f8211610fa15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610631565b601154600160a01b900460ff1615610fc557610fbe848484611360565b90506108bb565b6001600160a01b0384165f908152600a602052604090205460ff1615801561100557506001600160a01b0383165f908152600a602052604090205460ff16155b1561111f5760075460ff1661104b5760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420737465616c74682160a01b6044820152606401610631565b600d548211156110935760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610631565b6001600160a01b0383165f908152600b602052604090205460ff1661111f57600e546110dd836110d7866001600160a01b03165f9081526008602052604090205490565b90611430565b111561111f5760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81b585e15d85b1b195d607a1b6044820152606401610631565b305f90815260086020526040902054600f548110801590819061114c5750601154600160a01b900460ff16155b801561117057506001600160a01b0386165f908152600b602052604090205460ff16155b801561117e575060105460ff165b80156111a257506001600160a01b0386165f908152600a602052604090205460ff16155b80156111c657506001600160a01b0385165f908152600a602052604090205460ff16155b156111d4576111d48261148e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f908152600890915291909120546112259186906112d9565b6001600160a01b0387165f9081526008602052604081209190915561124a87876115e7565b61125e57611259878787611681565b611260565b845b6001600160a01b0387165f908152600860205260409020549091506112859082611430565b6001600160a01b038088165f8181526008602052604090819020939093559151908916905f80516020611dfc833981519152906112c59085815260200190565b60405180910390a3600193505050506108bb565b5f81848411156112fc5760405162461bcd60e51b81526004016106319190611aa5565b505f6113088486611caa565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546113b09184906112d9565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546113de9083611430565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f80516020611dfc8339815191529061141e9086815260200190565b60405180910390a35060019392505050565b5f8061143c8385611cbd565b9050838110156108bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610631565b305f90815260086020526040812054908181036114aa57505050565b6006546005546114ba9190611cbd565b5f0361152c575f821180156114d05750600f5482105b156114dc5750806115d9565b5f61150060646114fa6005600101548761176690919063ffffffff16565b906117e4565b905061150c8185611caa565b9350600f5484111561152257600f549150611526565b8391505b506115d9565b5f821180156115475750600f546115449060056117e4565b82105b1561155157505050565b5f8211801561156c5750600f546115699060056117e4565b82115b80156115795750600f5482105b1561159357600f5461158c9060056117e4565b90506115d9565b5f6115b160646114fa6005600101548761176690919063ffffffff16565b90506115bd8185611caa565b9350600f548411156115d357600f5491506115d7565b8391505b505b6115e281611825565b505050565b6001600160a01b0382165f908152600a602052604081205460ff168061162457506001600160a01b0382165f908152600a602052604090205460ff165b1561163157506001610705565b6001600160a01b0383165f908152600b602052604090205460ff168061166e57506001600160a01b0382165f908152600b602052604090205460ff165b1561167a57505f610705565b505f610705565b6001600160a01b0383165f908152600b6020526040812054819060ff16156116bf576005546116b8906064906114fa908690611766565b90506116f7565b6001600160a01b0384165f908152600b602052604090205460ff16156116f7576006546116f4906064906114fa908690611766565b90505b801561175c57305f908152600860205260409020546117169082611430565b305f81815260086020526040908190209290925590516001600160a01b038716905f80516020611dfc833981519152906117539085815260200190565b60405180910390a35b61130883826119ed565b5f825f0361177557505f610705565b5f6117808385611cd0565b90508261178d8583611ce7565b146108bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610631565b5f6108bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a2e565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061185857611858611d06565b60200260200101906001600160a01b031690816001600160a01b031681525050601060029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ed9190611d1a565b8160018151811061190057611900611d06565b6001600160a01b03928316602091820292909201015260105461192c9130916201000090041684610d56565b6010546003546001600160a01b036201000090920482169163791ac94791859160019186916101009091041661196342601e611cbd565b6040518663ffffffff1660e01b8152600401611983959493929190611d78565b5f604051808303815f87803b15801561199a575f80fd5b505af11580156119ac573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516119e1929190611db3565b60405180910390a15050565b5f6108bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112d9565b5f8183611a4e5760405162461bcd60e51b81526004016106319190611aa5565b505f6113088486611ce7565b8015158114610c46575f80fd5b5f805f60608486031215611a79575f80fd5b8335611a8481611a5a565b92506020840135611a9481611a5a565b929592945050506040919091013590565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c46575f80fd5b5f8060408385031215611aff575f80fd5b8235611b0a81611ada565b946020939093013593505050565b5f60208284031215611b28575f80fd5b81356108bb81611ada565b5f805f60608486031215611b45575f80fd5b8335611b5081611ada565b92506020840135611a9481611ada565b5f60208284031215611b70575f80fd5b5035919050565b5f8060408385031215611b88575f80fd5b50508035926020909101359150565b5f8060408385031215611ba8575f80fd5b8235611bb381611ada565b91506020830135611bc381611ada565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611c1757607f821691505b602082108103611c3557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600f908201526e496e76616c69642043616c6c65722160881b604082015260600190565b5f60208284031215611c74575f80fd5b5051919050565b5f60208284031215611c8b575f80fd5b81516108bb81611a5a565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561070557610705611c96565b8082018082111561070557610705611c96565b808202811582820484141761070557610705611c96565b5f82611d0157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d2a575f80fd5b81516108bb81611ada565b5f8151808452602084019350602083015f5b82811015611d6e5781516001600160a01b0316865260209586019590910190600101611d47565b5093949350505050565b85815284602082015260a060408201525f611d9660a0830186611d35565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611dcb6040830184611d35565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ef8328b74c3d793ce351ea7969cd58927bc1d177ee19b441c10532cee68ba0e364736f6c634300081a0033

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

000000000000000000000000a1bb18da0ec73fbf69ba881115e9cbe310e29190

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

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


Deployed Bytecode Sourcemap

5910:10916:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16456:229;;;;;;;;;;-1:-1:-1;16456:229:0;;;;;:::i;:::-;;:::i;:::-;;6838:59;;;;;;;;;;;;;;;;;;;784:25:1;;;772:2;757:18;6838:59:0;;;;;;;;8115:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6982:31::-;;;;;;;;;;-1:-1:-1;6982:31:0;;;;;;;-1:-1:-1;;;;;6982:31:0;;;;;;-1:-1:-1;;;;;1429:32:1;;;1411:51;;1399:2;1384:18;6982:31:0;1243:225:1;8782:161:0;;;;;;;;;;-1:-1:-1;8782:161:0;;;;;:::i;:::-;;:::i;:::-;;;2146:14:1;;2139:22;2121:41;;2109:2;2094:18;8782:161:0;1981:187:1;15389:306:0;;;;;;;;;;-1:-1:-1;15389:306:0;;;;;:::i;:::-;;:::i;8392:100::-;;;;;;;;;;-1:-1:-1;8472:12:0;;8392:100;;9508:313;;;;;;;;;;-1:-1:-1;9508:313:0;;;;;:::i;:::-;;:::i;15707:420::-;;;;;;;;;;-1:-1:-1;15707:420:0;;;;;:::i;:::-;;:::i;8301:83::-;;;;;;;;;;-1:-1:-1;8367:9:0;;8301:83;;8367:9;;;;3311:36:1;;3299:2;3284:18;8301:83:0;3169:184:1;6583:45:0;;;;;;;;;;-1:-1:-1;6583:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16135:188;;;;;;;;;;-1:-1:-1;16135:188:0;;;;;:::i;:::-;;:::i;14946:114::-;;;;;;;;;;-1:-1:-1;14946:114:0;;;;;:::i;:::-;;:::i;6531:45::-;;;;;;;;;;-1:-1:-1;6531:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15068:114;;;;;;;;;;-1:-1:-1;15068:114:0;;;;;:::i;:::-;;:::i;6906:30::-;;;;;;;;;;-1:-1:-1;6906:30:0;;;;;;;;8500:123;;;;;;;;;;-1:-1:-1;8500:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;8592:18:0;8566:7;8592:18;;;:9;:18;;;;;;;8500:123;3203:94;;;;;;;;;;;;;:::i;16693:126::-;;;;;;;;;;;;;:::i;2894:87::-;;;;;;;;;;-1:-1:-1;2940:7:0;2967:6;-1:-1:-1;;;;;2967:6:0;2894:87;;8206;;;;;;;;;;;;;:::i;9333:167::-;;;;;;;;;;-1:-1:-1;9333:167:0;;;;;:::i;:::-;;:::i;6706:61::-;;;;;;;;;;;;;;;;15190:191;;;;;;;;;;;;;:::i;8631:143::-;;;;;;;;;;-1:-1:-1;8631:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8739:18:0;;;8712:7;8739:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8631:143;6351:20;;;;;;;;;;-1:-1:-1;6351:20:0;;;;;;;;;;;;;4484:25:1;;;4540:2;4525:18;;4518:34;;;;4457:18;6351:20:0;4310:248:1;6943:30:0;;;;;;;;;;-1:-1:-1;6943:30:0;;;;;;;;;;;7020:22;;;;;;;;;;-1:-1:-1;7020:22:0;;;;-1:-1:-1;;;;;7020:22:0;;;3305:229;;;;;;;;;;-1:-1:-1;3305:229:0;;;;;:::i;:::-;;:::i;6774:55::-;;;;;;;;;;;;;;;;16334:114;;;;;;;;;;;;;:::i;6380:19::-;;;;;;;;;;-1:-1:-1;6380:19:0;;;;;;;;16456:229;2940:7;2967:6;-1:-1:-1;;;;;2967:6:0;1539:10;3115:23;3107:68;;;;-1:-1:-1;;;3107:68:0;;;;;;;:::i;:::-;;;;;;;;;16585:11:::1;:22:::0;;-1:-1:-1;;16618:22:0;16585;::::1;;-1:-1:-1::0;;16618:22:0;;;;;16585::::1;16618::::0;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;;16651:13:::1;:26:::0;16456:229::o;8115:83::-;8152:13;8185:5;8178:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8115:83;:::o;8782:161::-;8857:4;8874:39;1539:10;8897:7;8906:6;8874:8;:39::i;:::-;-1:-1:-1;8931:4:0;8782:161;;;;;:::o;15389:306::-;7222:15;;-1:-1:-1;;;;;7222:15:0;7208:10;:29;7200:56;;;;-1:-1:-1;;;7200:56:0;;;;;;;:::i;:::-;15542:38:::1;::::0;-1:-1:-1;;;15542:38:0;;15574:4:::1;15542:38;::::0;::::1;1411:51:1::0;15500:12:0;;15470:20:::1;::::0;-1:-1:-1;;;;;15542:23:0;::::1;::::0;::::1;::::0;1384:18:1;;15542:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15524:56;;15609:1;15599:7;:11;15591:42;;;::::0;-1:-1:-1;;;15591:42:0;;6044:2:1;15591:42:0::1;::::0;::::1;6026:21:1::0;6083:2;6063:18;;;6056:30;-1:-1:-1;;;6102:18:1;;;6095:48;6160:18;;15591:42:0::1;5842:342:1::0;15591:42:0::1;15644:43;::::0;-1:-1:-1;;;15644:43:0;;15667:10:::1;15644:43;::::0;::::1;6363:51:1::0;6430:18;;;6423:34;;;-1:-1:-1;;;;;15644:22:0;::::1;::::0;::::1;::::0;6336:18:1;;15644:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15459:236;;15389:306:::0;:::o;9508:313::-;9606:4;9623:36;9633:6;9641:9;9652:6;9623:9;:36::i;:::-;-1:-1:-1;9670:121:0;9679:6;1539:10;9701:89;9739:6;9701:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9701:19:0;;;;;;:11;:19;;;;;;;;1539:10;9701:33;;;;;;;;;;:37;:89::i;:::-;9670:8;:121::i;:::-;-1:-1:-1;9809:4:0;9508:313;;;;;;:::o;15707:420::-;7222:15;;-1:-1:-1;;;;;7222:15:0;7208:10;:29;7200:56;;;;-1:-1:-1;;;7200:56:0;;;;;;;:::i;:::-;15815:4:::1;15774:20;15797:24:::0;;;:9:::1;:24;::::0;;;;;15840:26;;::::1;;15832:59;;;::::0;-1:-1:-1;;;15832:59:0;;6920:2:1;15832:59:0::1;::::0;::::1;6902:21:1::0;6959:2;6939:18;;;6932:30;-1:-1:-1;;;6978:18:1;;;6971:51;7039:18;;15832:59:0::1;6718:345:1::0;15832:59:0::1;15947:4;15929:24;::::0;;;:9:::1;:24;::::0;;;;;:34:::1;::::0;15956:7;;15929:34:::1;:::i;:::-;15920:4;15902:24;::::0;;;:9:::1;:24;::::0;;;;:61;;;;6043:6:::1;16008:31:::0;;;;:41:::1;::::0;16042:7;;16008:41:::1;:::i;:::-;6043:6;15974:31;::::0;;;:9:::1;:31;::::0;;:75;;;;:31;16065:54;16082:4:::1;::::0;-1:-1:-1;;;;;;;;;;;16065:54:0;::::1;::::0;16111:7;784:25:1;;772:2;757:18;;638:177;16065:54:0::1;;;;;;;;15763:364;15707:420:::0;:::o;16135:188::-;2940:7;2967:6;-1:-1:-1;;;;;2967:6:0;1539:10;3115:23;3107:68;;;;-1:-1:-1;;;3107:68:0;;;;;;;:::i;:::-;16220:2:::1;16212:4;:10;;:25;;;;;16235:2;16226:5;:11;;16212:25;16204:59;;;::::0;-1:-1:-1;;;16204:59:0;;7665:2:1;16204:59:0::1;::::0;::::1;7647:21:1::0;7704:2;7684:18;;;7677:30;-1:-1:-1;;;7723:18:1;;;7716:52;7785:18;;16204:59:0::1;7463:346:1::0;16204:59:0::1;16274:3;:14:::0;;;;16299:8;:16;16135:188::o;14946:114::-;2940:7;2967:6;-1:-1:-1;;;;;2967:6:0;1539:10;3115:23;3107:68;;;;-1:-1:-1;;;3107:68:0;;;;;;;:::i;:::-;15024:15:::1;:28:::0;;-1:-1:-1;;;;;15024:28:0;;::::1;;;-1:-1:-1::0;;;;;;15024:28:0;;::::1;::::0;;;::::1;::::0;;14946:114::o;15068:::-;2940:7;2967:6;-1:-1:-1;;;;;2967:6:0;1539:10;3115:23;3107:68;;;;-1:-1:-1;;;3107:68:0;;;;;;;:::i;:::-;15146:15:::1;:28:::0;;-1:-1:-1;;;;;;15146:28:0::1;-1:-1:-1::0;;;;;15146:28:0;;;::::1;::::0;;;::::1;::::0;;15068:114::o;3203:94::-;2940:7;2967:6;-1:-1:-1;;;;;2967:6:0;1539:10;3115:23;3107:68;;;;-1:-1:-1;;;3107:68:0;;;;;;;:::i;:::-;3268:21:::1;3286:1;3268:9;:21::i;:::-;3203:94::o:0;16693:126::-;2940:7;2967:6;-1:-1:-1;;;;;2967:6:0;1539:10;3115:23;3107:68;;;;-1:-1:-1;;;3107:68:0;;;;;;;:::i;:::-;16764:12:::1;::::0;16747:14:::1;:29:::0;;;16787:9:::1;:24:::0;16693:126::o;8206:87::-;8245:13;8278:7;8271:14;;;;;:::i;9333:167::-;9411:4;9428:42;1539:10;9452:9;9463:6;9428:9;:42::i;15190:191::-;7222:15;;-1:-1:-1;;;;;7222:15:0;7208:10;:29;7200:56;;;;-1:-1:-1;;;7200:56:0;;;;;;;:::i;:::-;15283:1:::1;15259:21;:25;15251:60;;;::::0;-1:-1:-1;;;15251:60:0;;8016:2:1;15251:60:0::1;::::0;::::1;7998:21:1::0;8055:2;8035:18;;;8028:30;-1:-1:-1;;;8074:18:1;;;8067:52;8136:18;;15251:60:0::1;7814:346:1::0;15251:60:0::1;15322:51;::::0;15330:10:::1;::::0;15351:21:::1;15322:51:::0;::::1;;;::::0;::::1;::::0;;;15351:21;15330:10;15322:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15190:191::o:0;3305:229::-;2940:7;2967:6;-1:-1:-1;;;;;2967:6:0;1539:10;3115:23;3107:68;;;;-1:-1:-1;;;3107:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3408:22:0;::::1;3386:110;;;::::0;-1:-1:-1;;;3386:110:0;;8367:2:1;3386:110:0::1;::::0;::::1;8349:21:1::0;8406:2;8386:18;;;8379:30;8445:34;8425:18;;;8418:62;-1:-1:-1;;;8496:18:1;;;8489:36;8542:19;;3386:110:0::1;8165:402:1::0;3386:110:0::1;3507:19;3517:8;3507:9;:19::i;16334:114::-:0;2940:7;2967:6;-1:-1:-1;;;;;2967:6:0;1539:10;3115:23;3107:68;;;;-1:-1:-1;;;3107:68:0;;;;;;;:::i;:::-;16396:7:::1;::::0;::::1;;16395:8;16387:28;;;::::0;-1:-1:-1;;;16387:28:0;;8774:2:1;16387:28:0::1;::::0;::::1;8756:21:1::0;8813:1;8793:18;;;8786:29;-1:-1:-1;;;8831:18:1;;;8824:38;8879:18;;16387:28:0::1;8572:331:1::0;16387:28:0::1;16426:7;:14:::0;;-1:-1:-1;;16426:14:0::1;16436:4;16426:14;::::0;;16334:114::o;8951:337::-;-1:-1:-1;;;;;9044:19:0;;9036:68;;;;-1:-1:-1;;;9036:68:0;;9110:2:1;9036:68:0;;;9092:21:1;9149:2;9129:18;;;9122:30;9188:34;9168:18;;;9161:62;-1:-1:-1;;;9239:18:1;;;9232:34;9283:19;;9036:68:0;8908:400:1;9036:68:0;-1:-1:-1;;;;;9123:21:0;;9115:68;;;;-1:-1:-1;;;9115:68:0;;9515:2:1;9115:68:0;;;9497:21:1;9554:2;9534:18;;;9527:30;9593:34;9573:18;;;9566:62;-1:-1:-1;;;9644:18:1;;;9637:32;9686:19;;9115:68:0;9313:398:1;9115:68:0;-1:-1:-1;;;;;9196:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9248:32;;784:25:1;;;9248:32:0;;757:18:1;9248:32:0;;;;;;;8951:337;;;:::o;9829:1724::-;9916:4;-1:-1:-1;;;;;9943:20:0;;9935:70;;;;-1:-1:-1;;;9935:70:0;;9918:2:1;9935:70:0;;;9900:21:1;9957:2;9937:18;;;9930:30;9996:34;9976:18;;;9969:62;-1:-1:-1;;;10047:18:1;;;10040:35;10092:19;;9935:70:0;9716:401:1;9935:70:0;-1:-1:-1;;;;;10024:23:0;;10016:71;;;;-1:-1:-1;;;10016:71:0;;10324:2:1;10016:71:0;;;10306:21:1;10363:2;10343:18;;;10336:30;10402:34;10382:18;;;10375:62;-1:-1:-1;;;10453:18:1;;;10446:33;10496:19;;10016:71:0;10122:399:1;10016:71:0;10115:1;10106:6;:10;10098:64;;;;-1:-1:-1;;;10098:64:0;;10728:2:1;10098:64:0;;;10710:21:1;10767:2;10747:18;;;10740:30;10806:34;10786:18;;;10779:62;-1:-1:-1;;;10857:18:1;;;10850:39;10906:19;;10098:64:0;10526:405:1;10098:64:0;10183:6;;-1:-1:-1;;;10183:6:0;;;;10179:1365;;;10213:41;10228:6;10236:9;10247:6;10213:14;:41::i;:::-;10206:48;;;;10179:1365;-1:-1:-1;;;;;10302:20:0;;;;;;:12;:20;;;;;;;;10301:21;:49;;;;-1:-1:-1;;;;;;10327:23:0;;;;;;:12;:23;;;;;;;;10326:24;10301:49;10298:360;;;10379:7;;;;10371:31;;;;-1:-1:-1;;;10371:31:0;;11138:2:1;10371:31:0;;;11120:21:1;11177:2;11157:18;;;11150:30;-1:-1:-1;;;11196:18:1;;;11189:42;11248:18;;10371:31:0;10936:336:1;10371:31:0;10439:14;;10429:6;:24;;10421:56;;;;-1:-1:-1;;;10421:56:0;;11479:2:1;10421:56:0;;;11461:21:1;11518:2;11498:18;;;11491:30;-1:-1:-1;;;11537:18:1;;;11530:49;11596:18;;10421:56:0;11277:343:1;10421:56:0;-1:-1:-1;;;;;10500:23:0;;;;;;:12;:23;;;;;;;;10496:147;;10592:9;;10556:32;10581:6;10556:20;10566:9;-1:-1:-1;;;;;8592:18:0;8566:7;8592:18;;;:9;:18;;;;;;;8500:123;10556:20;:24;;:32::i;:::-;:45;;10548:75;;;;-1:-1:-1;;;10548:75:0;;11827:2:1;10548:75:0;;;11809:21:1;11866:2;11846:18;;;11839:30;-1:-1:-1;;;11885:18:1;;;11878:47;11942:18;;10548:75:0;11625:341:1;10548:75:0;10735:4;10686:28;8592:18;;;:9;:18;;;;;;10811:13;;10787:37;;;;;;;10845:52;;-1:-1:-1;10891:6:0;;-1:-1:-1;;;10891:6:0;;;;10890:7;10845:52;:95;;;;-1:-1:-1;;;;;;10920:20:0;;;;;;:12;:20;;;;;;;;10919:21;10845:95;:128;;;;-1:-1:-1;10962:11:0;;;;10845:128;:170;;;;-1:-1:-1;;;;;;10995:20:0;;;;;;:12;:20;;;;;;;;10994:21;10845:170;:215;;;;-1:-1:-1;;;;;;11037:23:0;;;;;;:12;:23;;;;;;;;11036:24;10845:215;10841:304;;;11099:30;11108:20;11099:8;:30::i;:::-;11193:53;;;;;;;;;;;-1:-1:-1;;;11193:53:0;;;;;;;;-1:-1:-1;;;;;11193:17:0;;-1:-1:-1;11193:17:0;;;:9;:17;;;;;;;;:53;;11215:6;;11193:21;:53::i;:::-;-1:-1:-1;;;;;11173:17:0;;;;;;:9;:17;;;;;:73;;;;11285:34;11183:6;11309:9;11285:16;:34::i;:::-;:80;;11331:34;11339:6;11347:9;11358:6;11331:7;:34::i;:::-;11285:80;;;11322:6;11285:80;-1:-1:-1;;;;;11405:20:0;;;;;;:9;:20;;;;;;11263:102;;-1:-1:-1;11405:37:0;;11263:102;11405:24;:37::i;:::-;-1:-1:-1;;;;;11382:20:0;;;;;;;:9;:20;;;;;;;:60;;;;11464:40;;;;;;-1:-1:-1;;;;;;;;;;;11464:40:0;;;11492:11;784:25:1;;772:2;757:18;;638:177;11464:40:0;;;;;;;;11526:4;11519:11;;;;;;;4081:192;4167:7;4203:12;4195:6;;;;4187:29;;;;-1:-1:-1;;;4187:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4227:9:0;4239:5;4243:1;4239;:5;:::i;:::-;4227:17;4081:192;-1:-1:-1;;;;;4081:192:0:o;3542:173::-;3598:16;3617:6;;-1:-1:-1;;;;;3634:17:0;;;-1:-1:-1;;;;;;3634:17:0;;;;;;3667:40;;3617:6;;;;;;;3667:40;;3598:16;3667:40;3587:128;3542:173;:::o;11561:330::-;11691:53;;;;;;;;;;;-1:-1:-1;;;11691:53:0;;;;;;;;-1:-1:-1;;;;;11691:17:0;;11654:4;11691:17;;;:9;:17;;;;;;;:53;;11713:6;;11691:21;:53::i;:::-;-1:-1:-1;;;;;11671:17:0;;;;;;;:9;:17;;;;;;:73;;;;11778:20;;;;;;;:32;;11803:6;11778:24;:32::i;:::-;-1:-1:-1;;;;;11755:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11826:35;;;;;;-1:-1:-1;;;;;;;;;;;11826:35:0;;;11854:6;784:25:1;;772:2;757:18;;638:177;11826:35:0;;;;;;;;-1:-1:-1;11879:4:0;11561:330;;;;;:::o;3748:181::-;3806:7;;3838:5;3842:1;3838;:5;:::i;:::-;3826:17;;3867:1;3862;:6;;3854:46;;;;-1:-1:-1;;;3854:46:0;;12173:2:1;3854:46:0;;;12155:21:1;12212:2;12192:18;;;12185:30;12251:29;12231:18;;;12224:57;12298:18;;3854:46:0;11971:351:1;12948:1358:0;13047:4;13003:23;8592:18;;;:9;:18;;;;;;;13102:20;;;13098:59;;13139:7;;12948:1358;:::o;13098:59::-;13182:8;;:3;13174:7;:16;;13182:8;13174:16;:::i;:::-;13195:1;13173:23;13169:1089;;13232:1;13214:15;:19;:54;;;;;13255:13;;13237:15;:31;13214:54;13211:429;;;-1:-1:-1;13300:15:0;13169:1089;;13211:429;13357:21;13381:29;13406:3;13381:20;13392:3;:8;;;13381:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;13357:53;-1:-1:-1;13425:23:0;13357:53;13425:23;;:::i;:::-;;;13476:13;;13467:6;:22;13463:166;;;13525:13;;13510:28;;13463:166;;;13607:6;13592:21;;13463:166;13342:298;13169:1089;;;13694:1;13676:15;:19;:61;;;;-1:-1:-1;13717:13:0;;:20;;13735:1;13717:17;:20::i;:::-;13699:15;:38;13676:61;13673:578;;;13754:7;;12948:1358;:::o;13673:578::-;13809:1;13791:15;:19;:61;;;;-1:-1:-1;13832:13:0;;:20;;13850:1;13832:17;:20::i;:::-;13814:15;:38;13791:61;:96;;;;;13874:13;;13856:15;:31;13791:96;13787:464;;;13919:13;;:20;;13937:1;13919:17;:20::i;:::-;13904:35;;13787:464;;;13981:21;14005:29;14030:3;14005:20;14016:3;:8;;;14005:6;:10;;:20;;;;:::i;:29::-;13981:53;-1:-1:-1;14049:23:0;13981:53;14049:23;;:::i;:::-;;;14100:13;;14091:6;:22;14087:153;;;14149:13;;14134:28;;14087:153;;;14218:6;14203:21;;14087:153;13966:285;13787:464;14268:30;14285:12;14268:16;:30::i;:::-;12990:1316;;12948:1358;:::o;11903:359::-;-1:-1:-1;;;;;12007:20:0;;11987:4;12007:20;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;12031:23:0;;;;;;:12;:23;;;;;;;;12007:47;12004:251;;;-1:-1:-1;12078:4:0;12071:11;;12004:251;-1:-1:-1;;;;;12113:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;12137:23:0;;;;;;:12;:23;;;;;;;;12113:47;12109:146;;;-1:-1:-1;12184:5:0;12177:12;;12109:146;-1:-1:-1;12238:5:0;12231:12;;12270:670;-1:-1:-1;;;;;12443:20:0;;12356:7;12443:20;;;:12;:20;;;;;;12356:7;;12443:20;;12440:226;;;12508:3;:7;12497:28;;12521:3;;12497:19;;:6;;:10;:19::i;:28::-;12485:40;;12440:226;;;-1:-1:-1;;;;;12564:23:0;;;;;;:12;:23;;;;;;;;12561:105;;;12632:8;;12621:29;;12646:3;;12621:20;;:6;;:10;:20::i;:29::-;12609:41;;12561:105;12685:13;;12682:185;;12764:4;12746:24;;;;:9;:24;;;;;;:39;;12775:9;12746:28;:39::i;:::-;12737:4;12719:24;;;;:9;:24;;;;;;;:66;;;;12809:42;;-1:-1:-1;;;;;12809:42:0;;;-1:-1:-1;;;;;;;;;;;12809:42:0;;;12841:9;784:25:1;;772:2;757:18;;638:177;12809:42:0;;;;;;;;12682:185;12890:21;:6;12901:9;12890:10;:21::i;4281:250::-;4339:7;4363:1;4368;4363:6;4359:47;;-1:-1:-1;4393:1:0;4386:8;;4359:47;4418:9;4430:5;4434:1;4430;:5;:::i;:::-;4418:17;-1:-1:-1;4463:1:0;4454:5;4458:1;4418:17;4454:5;:::i;:::-;:10;4446:56;;;;-1:-1:-1;;;4446:56:0;;12924:2:1;4446:56:0;;;12906:21:1;12963:2;12943:18;;;12936:30;13002:34;12982:18;;;12975:62;-1:-1:-1;;;13053:18:1;;;13046:31;13094:19;;4446:56:0;12722:397:1;4539:132:0;4597:7;4624:39;4628:1;4631;4624:39;;;;;;;;;;;;;;;;;:3;:39::i;14316:622::-;14466:16;;;14480:1;14466:16;;;;;;;;14442:21;;14466:16;;;;;;;;;;-1:-1:-1;14466:16:0;14442:40;;14511:4;14493;14498:1;14493:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;14493:23:0;;;-1:-1:-1;;;;;14493:23:0;;;;;14537:9;;;;;;;;;-1:-1:-1;;;;;14537:9:0;-1:-1:-1;;;;;14537:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14527:4;14532:1;14527:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14527:26:0;;;:7;;;;;;;;;:26;14598:9;;14566:56;;14583:4;;14598:9;;;;14610:11;14566:8;:56::i;:::-;14661:9;;14806:15;;-1:-1:-1;;;;;14661:9:0;;;;;;;:60;;14736:11;;14762:1;;14779:4;;14661:9;14806:15;;;;14838:20;:15;14856:2;14838:20;:::i;:::-;14661:208;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14895:35;14912:11;14925:4;14895:35;;;;;;;:::i;:::-;;;;;;;;14371:567;14316:622;:::o;3937:136::-;3995:7;4022:43;4026:1;4029;4022:43;;;;;;;;;;;;;;;;;:3;:43::i;4679:278::-;4765:7;4800:12;4793:5;4785:28;;;;-1:-1:-1;;;4785:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4824:9:0;4836:5;4840:1;4836;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;137:496;208:6;216;224;277:2;265:9;256:7;252:23;248:32;245:52;;;293:1;290;283:12;245:52;332:9;319:23;351:28;373:5;351:28;:::i;:::-;398:5;-1:-1:-1;455:2:1;440:18;;427:32;468:30;427:32;468:30;:::i;:::-;137:496;;517:7;;-1:-1:-1;;;597:2:1;582:18;;;;569:32;;137:496::o;820:418::-;969:2;958:9;951:21;932:4;1001:6;995:13;1044:6;1039:2;1028:9;1024:18;1017:34;1103:6;1098:2;1090:6;1086:15;1081:2;1070:9;1066:18;1060:50;1159:1;1154:2;1145:6;1134:9;1130:22;1126:31;1119:42;1229:2;1222;1218:7;1213:2;1205:6;1201:15;1197:29;1186:9;1182:45;1178:54;1170:62;;;820:418;;;;:::o;1473:131::-;-1:-1:-1;;;;;1548:31:1;;1538:42;;1528:70;;1594:1;1591;1584:12;1609:367;1677:6;1685;1738:2;1726:9;1717:7;1713:23;1709:32;1706:52;;;1754:1;1751;1744:12;1706:52;1793:9;1780:23;1812:31;1837:5;1812:31;:::i;:::-;1862:5;1940:2;1925:18;;;;1912:32;;-1:-1:-1;;;1609:367:1:o;2173:247::-;2232:6;2285:2;2273:9;2264:7;2260:23;2256:32;2253:52;;;2301:1;2298;2291:12;2253:52;2340:9;2327:23;2359:31;2384:5;2359:31;:::i;2425:508::-;2502:6;2510;2518;2571:2;2559:9;2550:7;2546:23;2542:32;2539:52;;;2587:1;2584;2577:12;2539:52;2626:9;2613:23;2645:31;2670:5;2645:31;:::i;:::-;2695:5;-1:-1:-1;2752:2:1;2737:18;;2724:32;2765:33;2724:32;2765:33;:::i;2938:226::-;2997:6;3050:2;3038:9;3029:7;3025:23;3021:32;3018:52;;;3066:1;3063;3056:12;3018:52;-1:-1:-1;3111:23:1;;2938:226;-1:-1:-1;2938:226:1:o;3358:346::-;3426:6;3434;3487:2;3475:9;3466:7;3462:23;3458:32;3455:52;;;3503:1;3500;3493:12;3455:52;-1:-1:-1;;3548:23:1;;;3668:2;3653:18;;;3640:32;;-1:-1:-1;3358:346:1:o;3917:388::-;3985:6;3993;4046:2;4034:9;4025:7;4021:23;4017:32;4014:52;;;4062:1;4059;4052:12;4014:52;4101:9;4088:23;4120:31;4145:5;4120:31;:::i;:::-;4170:5;-1:-1:-1;4227:2:1;4212:18;;4199:32;4240:33;4199:32;4240:33;:::i;:::-;4292:7;4282:17;;;3917:388;;;;;:::o;4563:356::-;4765:2;4747:21;;;4784:18;;;4777:30;4843:34;4838:2;4823:18;;4816:62;4910:2;4895:18;;4563:356::o;4924:380::-;5003:1;4999:12;;;;5046;;;5067:61;;5121:4;5113:6;5109:17;5099:27;;5067:61;5174:2;5166:6;5163:14;5143:18;5140:38;5137:161;;5220:10;5215:3;5211:20;5208:1;5201:31;5255:4;5252:1;5245:15;5283:4;5280:1;5273:15;5137:161;;4924:380;;;:::o;5309:339::-;5511:2;5493:21;;;5550:2;5530:18;;;5523:30;-1:-1:-1;;;5584:2:1;5569:18;;5562:45;5639:2;5624:18;;5309:339::o;5653:184::-;5723:6;5776:2;5764:9;5755:7;5751:23;5747:32;5744:52;;;5792:1;5789;5782:12;5744:52;-1:-1:-1;5815:16:1;;5653:184;-1:-1:-1;5653:184:1:o;6468:245::-;6535:6;6588:2;6576:9;6567:7;6563:23;6559:32;6556:52;;;6604:1;6601;6594:12;6556:52;6636:9;6630:16;6655:28;6677:5;6655:28;:::i;7068:127::-;7129:10;7124:3;7120:20;7117:1;7110:31;7160:4;7157:1;7150:15;7184:4;7181:1;7174:15;7200:128;7267:9;;;7288:11;;;7285:37;;;7302:18;;:::i;7333:125::-;7398:9;;;7419:10;;;7416:36;;;7432:18;;:::i;12327:168::-;12400:9;;;12431;;12448:15;;;12442:22;;12428:37;12418:71;;12469:18;;:::i;12500:217::-;12540:1;12566;12556:132;;12610:10;12605:3;12601:20;12598:1;12591:31;12645:4;12642:1;12635:15;12673:4;12670:1;12663:15;12556:132;-1:-1:-1;12702:9:1;;12500:217::o;13256:127::-;13317:10;13312:3;13308:20;13305:1;13298:31;13348:4;13345:1;13338:15;13372:4;13369:1;13362:15;13388:251;13458:6;13511:2;13499:9;13490:7;13486:23;13482:32;13479:52;;;13527:1;13524;13517:12;13479:52;13559:9;13553:16;13578:31;13603:5;13578:31;:::i;13644:446::-;13697:3;13735:5;13729:12;13762:6;13757:3;13750:19;13794:4;13789:3;13785:14;13778:21;;13833:4;13826:5;13822:16;13856:1;13866:199;13880:6;13877:1;13874:13;13866:199;;;13945:13;;-1:-1:-1;;;;;13941:39:1;13929:52;;14010:4;14001:14;;;;14038:17;;;;13977:1;13895:9;13866:199;;;-1:-1:-1;14081:3:1;;13644:446;-1:-1:-1;;;;13644:446:1:o;14095:582::-;14394:6;14383:9;14376:25;14437:6;14432:2;14421:9;14417:18;14410:34;14480:3;14475:2;14464:9;14460:18;14453:31;14357:4;14501:57;14553:3;14542:9;14538:19;14530:6;14501:57;:::i;:::-;-1:-1:-1;;;;;14594:32:1;;;;14589:2;14574:18;;14567:60;-1:-1:-1;14658:3:1;14643:19;14636:35;14493:65;14095:582;-1:-1:-1;;;14095:582:1:o;14682:332::-;14889:6;14878:9;14871:25;14932:2;14927;14916:9;14912:18;14905:30;14852:4;14952:56;15004:2;14993:9;14989:18;14981:6;14952:56;:::i;:::-;14944:64;14682:332;-1:-1:-1;;;;14682:332:1:o

Swarm Source

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