ETH Price: $3,451.54 (+4.23%)

Token

Toxoplasma gondii Kamala Harris (TGKH)
 

Overview

Max Total Supply

42,000,000,000,000 TGKH

Holders

51

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
jasongray.eth
Balance
12,976,653,981.009748829 TGKH

Value
$0.00
0x77B330648F9dA9875F09308611F19D293DDE3c66
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:
Token

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

/*

https://x.com/elonmusk/status/1833875738711490906

Gork's answer:
The notion that Toxoplasma gondii, a parasitic protozoan, could pose a threat to democracy might seem far-fetched at first glance, but let's explore the underlying science and social implications that could theoretically connect the two:

Behavioral Changes: Research has shown that T. gondii can alter the behavior of its hosts, most famously by making rodents less afraid of cats, which increases the likelihood of the parasite completing its life cycle in a feline host. In humans, studies suggest that infection might be linked to changes in behavior, including increased aggression, reduced fear, and even changes in personality traits like conscientiousness and agreeableness. If these behavioral changes are significant and widespread, they could influence social interactions, decision-making, and political engagement.
Mental Health and Decision Making: There's evidence linking T. gondii infection to various mental health issues, including schizophrenia, bipolar disorder, and general cognitive impairments. If a significant portion of the population suffers from these conditions due to toxoplasmosis, it could affect the collective decision-making process, potentially leading to more impulsive or irrational decisions in democratic processes like voting.
Societal Impact: If T. gondii were to disproportionately affect certain demographic groups more than others, this could skew political landscapes. For instance, if the parasite's effects were more pronounced in urban versus rural populations, or if it affected men differently than women, this could lead to unforeseen biases in political participation and outcomes.
Public Health and Policy: The awareness and management of toxoplasmosis could become a political issue. Policies regarding public health, education on hygiene (especially related to cat litter and meat consumption), and funding for research into treatments or vaccines could become contentious. If one political faction were to downplay or ignore the risks associated with T. gondii, this could lead to public health crises that might undermine trust in governance.
The "Toxoplasma of Rage" Concept: This term, inspired by the parasite's manipulation of host behavior, has been metaphorically used to describe how outrage and polarization can spread in social media, potentially affecting democratic discourse. While not directly caused by T. gondii, the analogy suggests how biological mechanisms might parallel social phenomena, where divisive issues could be seen as "infecting" the body politic, leading to polarization that weakens democratic processes.
Long-term Cognitive Decline: If T. gondii contributes to cognitive decline over time, as some research suggests, this could have implications for the aging population's ability to participate effectively in democracy. An electorate with declining cognitive function might be more susceptible to manipulation or might engage less in critical political processes.

However, connecting T. gondii directly to the health of democracy involves several speculative leaps:

Causation vs. Correlation: While there might be correlations between infection rates and certain behaviors or societal outcomes, proving causation is complex. Other factors like socioeconomic status, education, and cultural differences also play significant roles in political behavior.
Scale and Impact: The prevalence of toxoplasmosis varies widely by region, and not everyone infected shows significant behavioral changes. The impact on democracy would depend on the scale of infection and the severity of its effects on behavior and cognition.
Intervention and Awareness: Increased public health measures could mitigate the spread of T. gondii, potentially reducing its societal impact.

In conclusion, while Toxoplasma gondii might influence human behavior and mental health, suggesting it poses a direct threat to democracy involves a degree of speculation. However, the broader implications of how health, particularly mental health, affects political engagement and societal stability are worth exploring. This discussion underscores the intricate relationship between biology, behavior, and societal structures, urging a more integrated approach to understanding public health's role in governance and democracy.


Tg:https://t.me/TGKH_ETH
X: https://x.com/TGKH_eth

*/


interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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);
}

interface IUniswapRouter {

    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

interface IUniswapFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

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

contract Token is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address payable public mkt;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    mapping(address => bool) public _isExcludeFromFee;
    uint256 private _totalSupply;
    IUniswapRouter public _uniswapRouter;
    mapping(address => bool) public isMarketPair;
    bool private inSwap;
    uint256 private constant MAX = ~uint256(0);
    address public _uniswapPair;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (){

        _name = "Toxoplasma gondii Kamala Harris";
        _symbol = "TGKH";

        _decimals = 9;
        uint256 Supply = 42000000000000;

        _totalSupply = Supply * 10 ** _decimals;
        swapAtAmount = _totalSupply / 20000;

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

        mkt = payable(receiveAddr);

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[mkt] = true;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH());

        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );
        _isExcludeFromFee[address(swapRouter)] = true;

    }

    function setMKT(
        address payable newMKT
    ) public onlyOwner{
        mkt = newMKT;
    }

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

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

    function decimals() external view override 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 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 transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    uint256 public _buyCount=0;
    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=20;
    uint256 private _finalSellTax=20;
    uint256 private _reduceBuyTaxAt=29;
    uint256 private _reduceSellTaxAt=29;
    uint256 private _preventSwapBefore=40;

    function recuseTax(
        uint256 newBuy,
        uint256 newSell,
        uint256 newReduceBuy,
        uint256 newReduceSell,
        uint256 newPreventSwapBefore
    ) public onlyOwner {
        _finalBuyTax = newBuy;
        _finalSellTax = newSell;
        _reduceBuyTaxAt = newReduceBuy;
        _reduceSellTaxAt = newReduceSell;
        _preventSwapBefore = newPreventSwapBefore;
    }

    uint256 swapAtAmount;
    function setSwapAtAmount(
        uint256 newValue
    ) public onlyOwner{
        swapAtAmount = newValue;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        if (inSwap){
            _basicTransfer(from, to, amount);
            return;
        }

        bool takeFee;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))){
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > swapAtAmount){
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(startTradeBlock > 0);
            takeFee = true;
            
            // buyCount
            if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) {
                _buyCount++;
            }

        }

        _transferToken(from, to, amount, takeFee);
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }


    uint256 public startTradeBlock;
    function startTrade() public onlyOwner {
        startTradeBlock = block.number;
    }

    function antiBotTrade() public onlyOwner{
        startTradeBlock = 0;
    }

    function removeERC20(address _token) external {
        require(msg.sender == mkt);
        IERC20(_token).transfer(mkt, IERC20(_token).balanceOf(address(this)));
        mkt.transfer(address(this).balance);
    }

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

        uint256 _bal = address(this).balance;
        if (_bal > 0.01 ether){
            mkt.transfer(_bal);
        }
    }

    function setMarketingFreeTrade(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":[],"name":"antiBotTrade","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkt","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMKT","type":"address"}],"name":"setMKT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setMarketingFreeTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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"}]

60806040525f600c556014600d556014600e556014600f556014601055601d601155601d601255602860135534801562000037575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152601f81527f546f786f706c61736d6120676f6e646969204b616d616c6120486172726973006020820152600490620000bb90826200053d565b506040805180820190915260048152630a88e96960e31b6020820152600590620000e690826200053d565b506006805460ff19166009908117909155652632e314a000906200010c90600a62000718565b6200011890826200072f565b60088190556200012c90614e209062000749565b601455600854335f81815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b03199081166001600160a01b038481169182178455305f818152600760209081526040808320805460ff199081166001908117909255968452818420805488168217905597549094168252838220805490951690961790935560098054737a250d5630b4cf539739df2c5dacb4c659f2488d95168517905582526002845280822083835284528082205f199055805163c45a015560e01b8152905192939192849263c45a015592600480820193918290030181865afa1580156200024a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000270919062000769565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002e5919062000769565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000330573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000356919062000769565b600b8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600a6020908152604091829020805460ff1916600117905560095482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015620003d7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003fd919062000769565b60095460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156200044d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000473919062000791565b50506001600160a01b03165f908152600760205260409020805460ff1916600117905550620007b29050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620004c857607f821691505b602082108103620004e757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200053857805f5260205f20601f840160051c81016020851015620005145750805b601f840160051c820191505b8181101562000535575f815560010162000520565b50505b505050565b81516001600160401b038111156200055957620005596200049f565b62000571816200056a8454620004b3565b84620004ed565b602080601f831160018114620005a7575f84156200058f5750858301515b5f19600386901b1c1916600185901b17855562000601565b5f85815260208120601f198616915b82811015620005d757888601518255948401946001909101908401620005b6565b5085821015620005f557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200065d57815f190482111562000641576200064162000609565b808516156200064f57918102915b93841c939080029062000622565b509250929050565b5f82620006755750600162000712565b816200068357505f62000712565b81600181146200069c5760028114620006a757620006c7565b600191505062000712565b60ff841115620006bb57620006bb62000609565b50506001821b62000712565b5060208310610133831016604e8410600b8410161715620006ec575081810a62000712565b620006f883836200061d565b805f19048211156200070e576200070e62000609565b0290505b92915050565b5f6200072860ff84168362000665565b9392505050565b808202811582820484141762000712576200071262000609565b5f826200076457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200077a575f80fd5b81516001600160a01b038116811462000728575f80fd5b5f60208284031215620007a2575f80fd5b8151801515811462000728575f80fd5b61148080620007c05f395ff3fe60806040526004361061017e575f3560e01c80636402511e116100cd5780638da5cb5b11610087578063a67755c211610062578063a67755c21461045e578063a9059cbb1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b80638da5cb5b1461040f57806395d89b411461042b578063a266e55e1461043f575f80fd5b80636402511e1461035657806365b61b77146103755780636c5808011461039457806370a08231146103a8578063715018a6146103dc5780637cc5b1e6146103f0575f80fd5b8063313ce567116101385780633ecad271116101135780633ecad271146102b85780633f80b6d7146102e65780634bf28fd014610305578063553193ca14610341575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633e0cdeb114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa91906110e2565b60405180910390f35b3480156101be575f80fd5b506101d26101cd366004611145565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506008545b6040519081526020016101aa565b348015610221575f80fd5b506101d261023036600461116f565b6105dd565b348015610240575f80fd5b50610208600c5481565b348015610255575f80fd5b5060065460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046111ad565b60076020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101f66102b33660046111ad565b61066f565b3480156102c3575f80fd5b506101d26102d23660046111ad565b600a6020525f908152604090205460ff1681565b3480156102f1575f80fd5b506101f66103003660046111cf565b6106ba565b348015610310575f80fd5b50600b546103299061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561034c575f80fd5b5061020860155481565b348015610361575f80fd5b506101f6610370366004611206565b6106fa565b348015610380575f80fd5b50600954610329906001600160a01b031681565b34801561039f575f80fd5b506101f6610728565b3480156103b3575f80fd5b506102086103c23660046111ad565b6001600160a01b03165f9081526001602052604090205490565b3480156103e7575f80fd5b506101f6610757565b3480156103fb575f80fd5b50600354610329906001600160a01b031681565b34801561041a575f80fd5b505f546001600160a01b0316610329565b348015610436575f80fd5b5061019d6107c8565b34801561044a575f80fd5b506101f661045936600461122a565b6107d7565b348015610469575f80fd5b506101f66104783660046111ad565b61082a565b348015610488575f80fd5b506101d2610497366004611145565b61095c565b3480156104a7575f80fd5b506102086104b6366004611261565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046111ad565b610968565b60606004805461050e9061128d565b80601f016020809104026020016040519081016040528092919081815260200182805461053a9061128d565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a2b565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce906112c5565b60405180910390fd5b5f601555565b5f6105e9848484610a8b565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f908152600260209081526040808320338452909152902054610641908390611304565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce906112c5565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146106e35760405162461bcd60e51b81526004016105ce906112c5565b600f94909455601092909255601155601255601355565b5f546001600160a01b031633146107235760405162461bcd60e51b81526004016105ce906112c5565b601455565b5f546001600160a01b031633146107515760405162461bcd60e51b81526004016105ce906112c5565b43601555565b5f546001600160a01b031633146107805760405162461bcd60e51b81526004016105ce906112c5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606005805461050e9061128d565b5f546001600160a01b031633146108005760405162461bcd60e51b81526004016105ce906112c5565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610840575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610891573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b59190611317565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156108fd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610921919061132e565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610958573d5f803e3d5ffd5b5050565b5f61059b338484610a8b565b5f546001600160a01b031633146109915760405162461bcd60e51b81526004016105ce906112c5565b6001600160a01b0381166109d25760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610ae65760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600b5460ff1615610b0357610afc848484610cab565b5050505050565b6001600160a01b0383165f908152600a602052604081205460ff168015610b2d5750600b5460ff16155b8015610b5157506001600160a01b0385165f9081526007602052604090205460ff16155b8015610b7557506001600160a01b0384165f9081526007602052604090205460ff16155b8015610b845750601354600c54115b15610bc757305f908152600160205260409020548390811115610bb25750305f908152600160205260409020545b601454811115610bc557610bc581610d5e565b505b6001600160a01b0385165f9081526007602052604090205460ff16158015610c0757506001600160a01b0384165f9081526007602052604090205460ff16155b8015610c165750600b5460ff16155b15610c9f575f60155411610c28575f80fd5b506001600160a01b0384165f908152600a602052604090205460019060ff168015610c6157506009546001600160a01b03858116911614155b8015610c8557506001600160a01b0384165f9081526007602052604090205460ff16155b15610c9f57600c8054905f610c9983611349565b91905055505b610afc85858584610ef7565b6001600160a01b0383165f90815260016020526040812080548391908390610cd4908490611304565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d00908490611361565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d4c91815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d9e57610d9e611374565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190611388565b81600181518110610e2c57610e2c611374565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610e719085905f908690309042906004016113a3565b5f604051808303815f87803b158015610e88575f80fd5b505af1158015610e9a573d5f803e3d5ffd5b504792505050662386f26fc10000811115610ee8576003546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ee6573d5f803e3d5ffd5b505b5050600b805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610f1a908390611304565b6001600160a01b0385165f908152600160205260408120919091558115611055576001600160a01b0384165f908152600a602052604081205460ff1615610f7957601254600c5411610f6e57600e54610f72565b6010545b9050610fb3565b6001600160a01b0386165f908152600a602052604090205460ff1615610fb357601154600c5411610fac57600d54610fb0565b600f545b90505b5f6064610fc08387611414565b610fca919061142b565b9050801561105257610fdc8184611361565b305f90815260016020526040902054909350610ff9908290611361565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110499085815260200190565b60405180910390a35b50505b61105f8184611304565b6001600160a01b0385165f908152600160205260409020546110819190611361565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110ca8487611304565b60405190815260200160405180910390a35050505050565b5f602080835283518060208501525f5b8181101561110e578581018301518582016040015282016110f2565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611142575f80fd5b50565b5f8060408385031215611156575f80fd5b82356111618161112e565b946020939093013593505050565b5f805f60608486031215611181575f80fd5b833561118c8161112e565b9250602084013561119c8161112e565b929592945050506040919091013590565b5f602082840312156111bd575f80fd5b81356111c88161112e565b9392505050565b5f805f805f60a086880312156111e3575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f60208284031215611216575f80fd5b5035919050565b8015158114611142575f80fd5b5f806040838503121561123b575f80fd5b82356112468161112e565b915060208301356112568161121d565b809150509250929050565b5f8060408385031215611272575f80fd5b823561127d8161112e565b915060208301356112568161112e565b600181811c908216806112a157607f821691505b6020821081036112bf57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f6112f0565b5f60208284031215611327575f80fd5b5051919050565b5f6020828403121561133e575f80fd5b81516111c88161121d565b5f6001820161135a5761135a6112f0565b5060010190565b8082018082111561059f5761059f6112f0565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611398575f80fd5b81516111c88161112e565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156113f35784516001600160a01b0316835293830193918301916001016113ce565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761059f5761059f6112f0565b5f8261144557634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208cdc5e9fd3d555af051dfa93494d623b034c1311e0c441163d6f2a358873515b64736f6c63430008170033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c80636402511e116100cd5780638da5cb5b11610087578063a67755c211610062578063a67755c21461045e578063a9059cbb1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b80638da5cb5b1461040f57806395d89b411461042b578063a266e55e1461043f575f80fd5b80636402511e1461035657806365b61b77146103755780636c5808011461039457806370a08231146103a8578063715018a6146103dc5780637cc5b1e6146103f0575f80fd5b8063313ce567116101385780633ecad271116101135780633ecad271146102b85780633f80b6d7146102e65780634bf28fd014610305578063553193ca14610341575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633e0cdeb114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa91906110e2565b60405180910390f35b3480156101be575f80fd5b506101d26101cd366004611145565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506008545b6040519081526020016101aa565b348015610221575f80fd5b506101d261023036600461116f565b6105dd565b348015610240575f80fd5b50610208600c5481565b348015610255575f80fd5b5060065460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046111ad565b60076020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101f66102b33660046111ad565b61066f565b3480156102c3575f80fd5b506101d26102d23660046111ad565b600a6020525f908152604090205460ff1681565b3480156102f1575f80fd5b506101f66103003660046111cf565b6106ba565b348015610310575f80fd5b50600b546103299061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561034c575f80fd5b5061020860155481565b348015610361575f80fd5b506101f6610370366004611206565b6106fa565b348015610380575f80fd5b50600954610329906001600160a01b031681565b34801561039f575f80fd5b506101f6610728565b3480156103b3575f80fd5b506102086103c23660046111ad565b6001600160a01b03165f9081526001602052604090205490565b3480156103e7575f80fd5b506101f6610757565b3480156103fb575f80fd5b50600354610329906001600160a01b031681565b34801561041a575f80fd5b505f546001600160a01b0316610329565b348015610436575f80fd5b5061019d6107c8565b34801561044a575f80fd5b506101f661045936600461122a565b6107d7565b348015610469575f80fd5b506101f66104783660046111ad565b61082a565b348015610488575f80fd5b506101d2610497366004611145565b61095c565b3480156104a7575f80fd5b506102086104b6366004611261565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046111ad565b610968565b60606004805461050e9061128d565b80601f016020809104026020016040519081016040528092919081815260200182805461053a9061128d565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a2b565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce906112c5565b60405180910390fd5b5f601555565b5f6105e9848484610a8b565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f908152600260209081526040808320338452909152902054610641908390611304565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce906112c5565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146106e35760405162461bcd60e51b81526004016105ce906112c5565b600f94909455601092909255601155601255601355565b5f546001600160a01b031633146107235760405162461bcd60e51b81526004016105ce906112c5565b601455565b5f546001600160a01b031633146107515760405162461bcd60e51b81526004016105ce906112c5565b43601555565b5f546001600160a01b031633146107805760405162461bcd60e51b81526004016105ce906112c5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606005805461050e9061128d565b5f546001600160a01b031633146108005760405162461bcd60e51b81526004016105ce906112c5565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610840575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610891573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b59190611317565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156108fd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610921919061132e565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610958573d5f803e3d5ffd5b5050565b5f61059b338484610a8b565b5f546001600160a01b031633146109915760405162461bcd60e51b81526004016105ce906112c5565b6001600160a01b0381166109d25760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610ae65760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600b5460ff1615610b0357610afc848484610cab565b5050505050565b6001600160a01b0383165f908152600a602052604081205460ff168015610b2d5750600b5460ff16155b8015610b5157506001600160a01b0385165f9081526007602052604090205460ff16155b8015610b7557506001600160a01b0384165f9081526007602052604090205460ff16155b8015610b845750601354600c54115b15610bc757305f908152600160205260409020548390811115610bb25750305f908152600160205260409020545b601454811115610bc557610bc581610d5e565b505b6001600160a01b0385165f9081526007602052604090205460ff16158015610c0757506001600160a01b0384165f9081526007602052604090205460ff16155b8015610c165750600b5460ff16155b15610c9f575f60155411610c28575f80fd5b506001600160a01b0384165f908152600a602052604090205460019060ff168015610c6157506009546001600160a01b03858116911614155b8015610c8557506001600160a01b0384165f9081526007602052604090205460ff16155b15610c9f57600c8054905f610c9983611349565b91905055505b610afc85858584610ef7565b6001600160a01b0383165f90815260016020526040812080548391908390610cd4908490611304565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d00908490611361565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d4c91815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d9e57610d9e611374565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190611388565b81600181518110610e2c57610e2c611374565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610e719085905f908690309042906004016113a3565b5f604051808303815f87803b158015610e88575f80fd5b505af1158015610e9a573d5f803e3d5ffd5b504792505050662386f26fc10000811115610ee8576003546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ee6573d5f803e3d5ffd5b505b5050600b805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610f1a908390611304565b6001600160a01b0385165f908152600160205260408120919091558115611055576001600160a01b0384165f908152600a602052604081205460ff1615610f7957601254600c5411610f6e57600e54610f72565b6010545b9050610fb3565b6001600160a01b0386165f908152600a602052604090205460ff1615610fb357601154600c5411610fac57600d54610fb0565b600f545b90505b5f6064610fc08387611414565b610fca919061142b565b9050801561105257610fdc8184611361565b305f90815260016020526040902054909350610ff9908290611361565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110499085815260200190565b60405180910390a35b50505b61105f8184611304565b6001600160a01b0385165f908152600160205260409020546110819190611361565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110ca8487611304565b60405190815260200160405180910390a35050505050565b5f602080835283518060208501525f5b8181101561110e578581018301518582016040015282016110f2565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611142575f80fd5b50565b5f8060408385031215611156575f80fd5b82356111618161112e565b946020939093013593505050565b5f805f60608486031215611181575f80fd5b833561118c8161112e565b9250602084013561119c8161112e565b929592945050506040919091013590565b5f602082840312156111bd575f80fd5b81356111c88161112e565b9392505050565b5f805f805f60a086880312156111e3575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f60208284031215611216575f80fd5b5035919050565b8015158114611142575f80fd5b5f806040838503121561123b575f80fd5b82356112468161112e565b915060208301356112568161121d565b809150509250929050565b5f8060408385031215611272575f80fd5b823561127d8161112e565b915060208301356112568161112e565b600181811c908216806112a157607f821691505b6020821081036112bf57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f6112f0565b5f60208284031215611327575f80fd5b5051919050565b5f6020828403121561133e575f80fd5b81516111c88161121d565b5f6001820161135a5761135a6112f0565b5060010190565b8082018082111561059f5761059f6112f0565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611398575f80fd5b81516111c88161112e565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156113f35784516001600160a01b0316835293830193918301916001016113ce565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761059f5761059f6112f0565b5f8261144557634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208cdc5e9fd3d555af051dfa93494d623b034c1311e0c441163d6f2a358873515b64736f6c63430008170033

Deployed Bytecode Sourcemap

7441:8100:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9549:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10312:159;;;;;;;;;;-1:-1:-1;10312:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10312:159:0;1023:187:1;14520:78:0;;;;;;;;;;;;;:::i;:::-;;9753:100;;;;;;;;;;-1:-1:-1;9833:12:0;;9753:100;;;1361:25:1;;;1349:2;1334:18;9753:100:0;1215:177:1;10479:336:0;;;;;;;;;;-1:-1:-1;10479:336:0;;;;;:::i;:::-;;:::i;11275:26::-;;;;;;;;;;;;;;;;9651:94;;;;;;;;;;-1:-1:-1;9728:9:0;;9651:94;;9728:9;;;;2000:36:1;;1988:2;1973:18;9651:94:0;1858:184:1;7729:49:0;;;;;;;;;;-1:-1:-1;7729:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9332:103;;;;;;;;;;-1:-1:-1;9332:103:0;;;;;:::i;:::-;;:::i;7863:44::-;;;;;;;;;;-1:-1:-1;7863:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11595:406;;;;;;;;;;-1:-1:-1;11595:406:0;;;;;:::i;:::-;;:::i;7989:27::-;;;;;;;;;;-1:-1:-1;7989:27:0;;;;;;;-1:-1:-1;;;;;7989:27:0;;;;;;-1:-1:-1;;;;;3182:32:1;;;3164:51;;3152:2;3137:18;7989:27:0;3018:203:1;14387:30:0;;;;;;;;;;;;;;;;12036:117;;;;;;;;;;-1:-1:-1;12036:117:0;;;;;:::i;:::-;;:::i;7820:36::-;;;;;;;;;;-1:-1:-1;7820:36:0;;;;-1:-1:-1;;;;;7820:36:0;;;14424:88;;;;;;;;;;;;;:::i;9861:119::-;;;;;;;;;;-1:-1:-1;9861:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9954:18:0;9927:7;9954:18;;;:9;:18;;;;;;;9861:119;7064:148;;;;;;;;;;;;;:::i;7610:26::-;;;;;;;;;;-1:-1:-1;7610:26:0;;;;-1:-1:-1;;;;;7610:26:0;;;6867:79;;;;;;;;;;-1:-1:-1;6905:7:0;6932:6;-1:-1:-1;;;;;6932:6:0;6867:79;;9443:98;;;;;;;;;;;;;:::i;15372:129::-;;;;;;;;;;-1:-1:-1;15372:129:0;;;;;:::i;:::-;;:::i;14606:217::-;;;;;;;;;;-1:-1:-1;14606:217:0;;;;;:::i;:::-;;:::i;9988:165::-;;;;;;;;;;-1:-1:-1;9988:165:0;;;;;:::i;:::-;;:::i;10161:143::-;;;;;;;;;;-1:-1:-1;10161:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10269:18:0;;;10242:7;10269:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10161:143;7220:214;;;;;;;;;;-1:-1:-1;7220:214:0;;;;;:::i;:::-;;:::i;9549:94::-;9597:13;9630:5;9623:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9549:94;:::o;10312:159::-;10387:4;10404:37;10413:10;10425:7;10434:6;10404:8;:37::i;:::-;-1:-1:-1;10459:4:0;10312:159;;;;;:::o;14520:78::-;6994:6;;-1:-1:-1;;;;;6994:6:0;7004:10;6994:20;6986:50;;;;-1:-1:-1;;;6986:50:0;;;;;;;:::i;:::-;;;;;;;;;14589:1:::1;14571:15;:19:::0;14520:78::o;10479:336::-;10577:4;10594:36;10604:6;10612:9;10623:6;10594:9;:36::i;:::-;-1:-1:-1;;;;;10645:19:0;;7980:1;10645:19;;;:11;:19;;;;;;;;10665:10;10645:31;;;;;;;;-1:-1:-1;;10645:38:0;10641:145;;-1:-1:-1;;;;;10734:19:0;;;;;;:11;:19;;;;;;;;10754:10;10734:31;;;;;;;;:40;;10768:6;;10734:40;:::i;:::-;-1:-1:-1;;;;;10700:19:0;;;;;;:11;:19;;;;;;;;10720:10;10700:31;;;;;;;:74;10641:145;-1:-1:-1;10803:4:0;10479:336;;;;;:::o;9332:103::-;6994:6;;-1:-1:-1;;;;;6994:6:0;7004:10;6994:20;6986:50;;;;-1:-1:-1;;;6986:50:0;;;;;;;:::i;:::-;9415:3:::1;:12:::0;;-1:-1:-1;;;;;;9415:12:0::1;-1:-1:-1::0;;;;;9415:12:0;;;::::1;::::0;;;::::1;::::0;;9332:103::o;11595:406::-;6994:6;;-1:-1:-1;;;;;6994:6:0;7004:10;6994:20;6986:50;;;;-1:-1:-1;;;6986:50:0;;;;;;;:::i;:::-;11802:12:::1;:21:::0;;;;11834:13:::1;:23:::0;;;;11868:15:::1;:30:::0;11909:16:::1;:32:::0;11952:18:::1;:41:::0;11595:406::o;12036:117::-;6994:6;;-1:-1:-1;;;;;6994:6:0;7004:10;6994:20;6986:50;;;;-1:-1:-1;;;6986:50:0;;;;;;;:::i;:::-;12122:12:::1;:23:::0;12036:117::o;14424:88::-;6994:6;;-1:-1:-1;;;;;6994:6:0;7004:10;6994:20;6986:50;;;;-1:-1:-1;;;6986:50:0;;;;;;;:::i;:::-;14492:12:::1;14474:15;:30:::0;14424:88::o;7064:148::-;6994:6;;-1:-1:-1;;;;;6994:6:0;7004:10;6994:20;6986:50;;;;-1:-1:-1;;;6986:50:0;;;;;;;:::i;:::-;7171:1:::1;7155:6:::0;;7134:40:::1;::::0;-1:-1:-1;;;;;7155:6:0;;::::1;::::0;7134:40:::1;::::0;7171:1;;7134:40:::1;7202:1;7185:19:::0;;-1:-1:-1;;;;;;7185:19:0::1;::::0;;7064:148::o;9443:98::-;9493:13;9526:7;9519:14;;;;;:::i;15372:129::-;6994:6;;-1:-1:-1;;;;;6994:6:0;7004:10;6994:20;6986:50;;;;-1:-1:-1;;;6986:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15459:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;15459:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15372:129::o;14606:217::-;14685:3;;-1:-1:-1;;;;;14685:3:0;14671:10;:17;14663:26;;;;;;14724:3;;14729:39;;-1:-1:-1;;;14729:39:0;;14762:4;14729:39;;;3164:51:1;-1:-1:-1;;;;;14700:23:0;;;;;;14724:3;;;14700:23;;14729:24;;3137:18:1;;14729:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14700:69;;-1:-1:-1;;;;;;14700:69:0;;;;;;;-1:-1:-1;;;;;6153:32:1;;;14700:69:0;;;6135:51:1;6202:18;;;6195:34;6108:18;;14700:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;14780:3:0;;:35;;-1:-1:-1;;;;;14780:3:0;;;;14793:21;14780:35;;;;;:3;:35;:3;:35;14793:21;14780:3;:35;;;;;;;;;;;;;;;;;;;;;14606:217;:::o;9988:165::-;10066:4;10083:40;10093:10;10105:9;10116:6;10083:9;:40::i;7220:214::-;6994:6;;-1:-1:-1;;;;;6994:6:0;7004:10;6994:20;6986:50;;;;-1:-1:-1;;;6986:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7309:22:0;::::1;7301:43;;;::::0;-1:-1:-1;;;7301:43:0;;6692:2:1;7301:43:0::1;::::0;::::1;6674:21:1::0;6731:1;6711:18;;;6704:29;-1:-1:-1;;;6749:18:1;;;6742:38;6797:18;;7301:43:0::1;6490:331:1::0;7301:43:0::1;7381:6;::::0;;7360:38:::1;::::0;-1:-1:-1;;;;;7360:38:0;;::::1;::::0;7381:6;::::1;::::0;7360:38:::1;::::0;::::1;7409:6;:17:::0;;-1:-1:-1;;;;;;7409:17:0::1;-1:-1:-1::0;;;;;7409:17:0;;;::::1;::::0;;;::::1;::::0;;7220:214::o;10823:177::-;-1:-1:-1;;;;;10908:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10960:32;;1361:25:1;;;10960:32:0;;1334:18:1;10960:32:0;;;;;;;10823:177;;;:::o;12161:1177::-;-1:-1:-1;;;;;9954:18:0;;12275:15;9954:18;;;:9;:18;;;;;;12327:17;;;;12319:46;;;;-1:-1:-1;;;12319:46:0;;7028:2:1;12319:46:0;;;7010:21:1;7067:2;7047:18;;;7040:30;-1:-1:-1;;;7086:18:1;;;7079:46;7142:18;;12319:46:0;6826:340:1;12319:46:0;12382:6;;;;12378:91;;;12404:32;12419:4;12425:2;12429:6;12404:14;:32::i;:::-;;12451:7;12161:1177;;;:::o;12378:91::-;-1:-1:-1;;;;;12510:16:0;;12481:12;12510:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;12531:6:0;;;;12530:7;12510:27;:55;;;;-1:-1:-1;;;;;;12542:23:0;;;;;;:17;:23;;;;;;;;12541:24;12510:55;:81;;;;-1:-1:-1;;;;;;12570:21:0;;;;;;:17;:21;;;;;;;;12569:22;12510:81;:115;;;;;12607:18;;12595:9;;:30;12510:115;12506:424;;;12725:4;9927:7;9954:18;;;:9;:18;;;;;;12666:6;;12691:13;:40;12687:120;;;-1:-1:-1;12785:4:0;12767:24;;;;:9;:24;;;;;;12687:120;12841:12;;12825:13;:28;12821:98;;;12873:30;12889:13;12873:15;:30::i;:::-;12627:303;12506:424;-1:-1:-1;;;;;12947:23:0;;;;;;:17;:23;;;;;;;;12946:24;:50;;;;-1:-1:-1;;;;;;12975:21:0;;;;;;:17;:21;;;;;;;;12974:22;12946:50;:61;;;;-1:-1:-1;13001:6:0;;;;13000:7;12946:61;12942:335;;;13050:1;13032:15;;:19;13024:28;;;;;;-1:-1:-1;;;;;;13139:18:0;;;;;;:12;:18;;;;;;13077:4;;13139:18;;:51;;;;-1:-1:-1;13175:14:0;;-1:-1:-1;;;;;13161:29:0;;;13175:14;;13161:29;;13139:51;:77;;;;-1:-1:-1;;;;;;13195:21:0;;;;;;:17;:21;;;;;;;;13194:22;13139:77;13135:129;;;13237:9;:11;;;:9;:11;;;:::i;:::-;;;;;;13135:129;13289:41;13304:4;13310:2;13314:6;13322:7;13289:14;:41::i;11008:259::-;-1:-1:-1;;;;;11118:17:0;;11101:4;11118:17;;;:9;:17;;;;;:27;;11139:6;;11118:17;11101:4;;11118:27;;11139:6;;11118:27;:::i;:::-;;;;-1:-1:-1;;;;;;;11156:20:0;;;;;;:9;:20;;;;;:30;;11180:6;;11156:20;:30;;11180:6;;11156:30;:::i;:::-;;;;;;;;11219:9;-1:-1:-1;;;;;11202:35:0;11211:6;-1:-1:-1;;;;;11202:35:0;;11230:6;11202:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;11202:35:0;;;;;;;;-1:-1:-1;11255:4:0;11008:259;;;;;:::o;14831:533::-;8055:6;:13;;-1:-1:-1;;8055:13:0;8064:4;8055:13;;;14932:16:::1;::::0;;14946:1:::1;14932:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14932:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14932:16:0::1;14908:40;;14977:4;14959;14964:1;14959:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14959:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15003:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;15003:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;14959:7;;15003:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14993:4;14998:1;14993:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14993:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;15035:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;15035:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;15115:11;;15035:14:::1;::::0;15157:4;;15184::::1;::::0;15204:15:::1;::::0;15035:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;15258:21:0::1;::::0;-1:-1:-1;;;15301:10:0::1;15294:17:::0;::::1;15290:67;;;15327:3;::::0;:18:::1;::::0;-1:-1:-1;;;;;15327:3:0;;::::1;::::0;:18;::::1;;;::::0;15340:4;;15327:3:::1;:18:::0;:3;:18;15340:4;15327:3;:18;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15290:67;-1:-1:-1::0;;8091:6:0;:14;;-1:-1:-1;;8091:14:0;;;-1:-1:-1;14831:533:0:o;13346:1031::-;-1:-1:-1;;;;;13518:17:0;;;;;;:9;:17;;;;;;:27;;13538:7;;13518:27;:::i;:::-;-1:-1:-1;;;;;13498:17:0;;;;;;:9;:17;;;;;:47;;;;13586:638;;;;-1:-1:-1;;;;;13647:23:0;;13614:14;13647:23;;;:12;:23;;;;;;;;13643:270;;;13712:16;;13700:9;;:28;:62;;13747:15;;13700:62;;;13731:13;;13700:62;13691:71;;13643:270;;;-1:-1:-1;;;;;13788:20:0;;;;;;:12;:20;;;;;;;;13784:129;;;13850:15;;13838:9;;:27;:59;;13883:14;;13838:59;;;13868:12;;13838:59;13829:68;;13784:129;13927:18;13967:3;13948:16;13958:6;13948:7;:16;:::i;:::-;:22;;;;:::i;:::-;13927:43;-1:-1:-1;13989:14:0;;13985:228;;14024:23;14037:10;14024:23;;:::i;:::-;14111:4;14093:24;;;;:9;:24;;;;;;14024:23;;-1:-1:-1;14093:37:0;;14120:10;;14093:37;:::i;:::-;14084:4;14066:24;;;;:9;:24;;;;;;;:64;;;;14154:43;;-1:-1:-1;;;;;14154:43:0;;;;;;;14186:10;1361:25:1;;1349:2;1334:18;;1215:177;14154:43:0;;;;;;;;13985:228;13599:625;;13586:638;14283:19;14293:9;14283:7;:19;:::i;:::-;-1:-1:-1;;;;;14259:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;14236:20:0;;;;;;;:9;:20;;;;;:67;;;;14319:48;;;14347:19;14357:9;14347:7;:19;:::i;:::-;14319:48;;1361:25:1;;;1349:2;1334:18;14319:48:0;;;;;;;13487:890;13346:1031;;;;:::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;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;:::-;2283:5;2047:247;-1:-1:-1;;;2047:247:1:o;2559:454::-;2654:6;2662;2670;2678;2686;2739:3;2727:9;2718:7;2714:23;2710:33;2707:53;;;2756:1;2753;2746:12;2707:53;-1:-1:-1;;2779:23:1;;;2849:2;2834:18;;2821:32;;-1:-1:-1;2900:2:1;2885:18;;2872:32;;2951:2;2936:18;;2923:32;;-1:-1:-1;3002:3:1;2987:19;2974:33;;-1:-1:-1;2559:454:1;-1:-1:-1;2559:454:1:o;3226:180::-;3285:6;3338:2;3326:9;3317:7;3313:23;3309:32;3306:52;;;3354:1;3351;3344:12;3306:52;-1:-1:-1;3377:23:1;;3226:180;-1:-1:-1;3226:180:1:o;3865:118::-;3951:5;3944:13;3937:21;3930:5;3927:32;3917:60;;3973:1;3970;3963:12;3988:382;4053:6;4061;4114:2;4102:9;4093:7;4089:23;4085:32;4082:52;;;4130:1;4127;4120:12;4082:52;4169:9;4156:23;4188:31;4213:5;4188:31;:::i;:::-;4238:5;-1:-1:-1;4295:2:1;4280:18;;4267:32;4308:30;4267:32;4308:30;:::i;:::-;4357:7;4347:17;;;3988:382;;;;;:::o;4375:388::-;4443:6;4451;4504:2;4492:9;4483:7;4479:23;4475:32;4472:52;;;4520:1;4517;4510:12;4472:52;4559:9;4546:23;4578:31;4603:5;4578:31;:::i;:::-;4628:5;-1:-1:-1;4685:2:1;4670:18;;4657:32;4698:33;4657:32;4698:33;:::i;4768:380::-;4847:1;4843:12;;;;4890;;;4911:61;;4965:4;4957:6;4953:17;4943:27;;4911:61;5018:2;5010:6;5007:14;4987:18;4984:38;4981:161;;5064:10;5059:3;5055:20;5052:1;5045:31;5099:4;5096:1;5089:15;5127:4;5124:1;5117:15;4981:161;;4768:380;;;:::o;5153:341::-;5355:2;5337:21;;;5394:2;5374:18;;;5367:30;-1:-1:-1;;;5428:2:1;5413:18;;5406:47;5485:2;5470:18;;5153:341::o;5499:127::-;5560:10;5555:3;5551:20;5548:1;5541:31;5591:4;5588:1;5581:15;5615:4;5612:1;5605:15;5631:128;5698:9;;;5719:11;;;5716:37;;;5733:18;;:::i;5764:184::-;5834:6;5887:2;5875:9;5866:7;5862:23;5858:32;5855:52;;;5903:1;5900;5893:12;5855:52;-1:-1:-1;5926:16:1;;5764:184;-1:-1:-1;5764:184:1:o;6240:245::-;6307:6;6360:2;6348:9;6339:7;6335:23;6331:32;6328:52;;;6376:1;6373;6366:12;6328:52;6408:9;6402:16;6427:28;6449:5;6427:28;:::i;7171:135::-;7210:3;7231:17;;;7228:43;;7251:18;;:::i;:::-;-1:-1:-1;7298:1:1;7287:13;;7171:135::o;7311:125::-;7376:9;;;7397:10;;;7394:36;;;7410:18;;:::i;7573:127::-;7634:10;7629:3;7625:20;7622:1;7615:31;7665:4;7662:1;7655:15;7689:4;7686:1;7679:15;7705:251;7775:6;7828:2;7816:9;7807:7;7803:23;7799:32;7796:52;;;7844:1;7841;7834:12;7796:52;7876:9;7870:16;7895:31;7920:5;7895:31;:::i;7961:980::-;8223:4;8271:3;8260:9;8256:19;8302:6;8291:9;8284:25;8328:2;8366:6;8361:2;8350:9;8346:18;8339:34;8409:3;8404:2;8393:9;8389:18;8382:31;8433:6;8468;8462:13;8499:6;8491;8484:22;8537:3;8526:9;8522:19;8515:26;;8576:2;8568:6;8564:15;8550:29;;8597:1;8607:195;8621:6;8618:1;8615:13;8607:195;;;8686:13;;-1:-1:-1;;;;;8682:39:1;8670:52;;8777:15;;;;8742:12;;;;8718:1;8636:9;8607:195;;;-1:-1:-1;;;;;;;8858:32:1;;;;8853:2;8838:18;;8831:60;-1:-1:-1;;;8922:3:1;8907:19;8900:35;8819:3;7961:980;-1:-1:-1;;;7961:980:1:o;8946:168::-;9019:9;;;9050;;9067:15;;;9061:22;;9047:37;9037:71;;9088:18;;:::i;9119:217::-;9159:1;9185;9175:132;;9229:10;9224:3;9220:20;9217:1;9210:31;9264:4;9261:1;9254:15;9292:4;9289:1;9282:15;9175:132;-1:-1:-1;9321:9:1;;9119:217::o

Swarm Source

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