ETH Price: $3,403.17 (-1.62%)
Gas: 7 Gwei

Token

GPU-Block AI (GPU-Block AI)
 

Overview

Max Total Supply

100,000,000 GPU-Block AI

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,463,885.167028179 GPU-Block AI

Value
$0.00
0xdf6b160f628423d632e5e797519ec677f239b2a4
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:
GPUBlockAI

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-28
*/

//SPDX-License-Identifier: MIT

/*
    What is GPU-Block AI?
    The GPU-Block AI platform represents a revolutionary decentralized framework aimed at streamlining access to GPU and AI resources, empowering users to engage, contribute, and reap rewards in the dynamic field of artificial intelligence. By harnessing the power of blockchain technology, GPU-Block AI fosters a transparent and secure environment, fostering diverse engagement opportunities for participants.
    Website: https://gpublock-ai.io/
    Twitter: https://twitter.com/gpublockai
    Telegram: https://t.me/gpublockai
    Medium: https://medium.com/@gpublockai
    Github: https://github.com/gpublockai
    Docs: https://docs.gpublock-ai.io/
    Whitepaper: https://gpublock-ai.io/GPU-Block_AI_Whitepaper.pdf
    Dapp: https://app.gpublock-ai.io/
    DEX: https://dex.gpublock-ai.io/
*/
pragma solidity 0.8.25;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract GPUBlockAI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100_000_000 * 10 ** _decimals;
    string private constant _name = unicode"GPU-Block AI";
    string private constant _symbol = unicode"GPU-Block AI";
    mapping (address => bool) private _excludedFromFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    bool public canTrade;
    uint256 private _swapTokensAtAmount = _tTotal / 700;
    uint256 private _maxTaxSwap = _tTotal / 50;
    bool private inSwap;
    IUniswapV2Router02 uniswapV2Router;
    uint256 public _buyFees = 20;
    uint256 public _sellFees = 30;
    uint256 public _maxWallet = _tTotal * 2 / 100;
    address payable public _marketingWallet;
    address payable public _devWallet;

    address public uniswapV2Pair;
    bool private swapEnabled = true;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _marketingWallet = payable(_msgSender());
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _excludedFromFee[address(uniswapV2Router)] = true;
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _excludedFromFee[address(this)] = true;
        _excludedFromFee[msg.sender] = true;
        _balances[msg.sender] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        uint256 taxAmount=0;
        if (!_excludedFromFee[from] && !_excludedFromFee[to]) {
            require(canTrade ,"Trading has not been enabled yet.");

            taxAmount = amount * _buyFees / 100;

            if (to != uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWallet, "Over max wallet.");
            }

            if(to == uniswapV2Pair){
                taxAmount = amount * _sellFees  / 100;
                require(_swapTokensAtAmount < _tTotal);
            }

            if (from == uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWallet, "Over max wallet.");
            }

            uint256 contractBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractBalance>_swapTokensAtAmount) {
                swapTokensForEth(min(amount,min(contractBalance,_maxTaxSwap)));
            }
        }

        if(taxAmount > 0){
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from] -= (amount);
        _balances[to] += amount - taxAmount;
        emit Transfer(from, to, amount - (taxAmount));
    }

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

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

    function startTrading() external onlyOwner {
        canTrade = true;
    }

    function manualSwapBack() external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(min(contractBalance,_maxTaxSwap));
    }
    
    function updateMaxWallet(uint amount) external onlyOwner {
        require(amount >= _tTotal / 500);
        _maxWallet = amount;
    }

    function updateSwapEnabled(bool status) external onlyOwner {
        swapEnabled = status;
    }

    function updateSwapTokensAtAmount(uint amount) external onlyOwner {
        _swapTokensAtAmount = amount;
    }

    function updateFees(uint newBuyFee, uint newSellFee) external onlyOwner {
        _buyFees = newBuyFee;
        _sellFees  = newSellFee;
        require(newBuyFee <= 35);
        require(newSellFee <= 35);
    }

    function removeFees() external onlyOwner {
        _buyFees=5;
        _sellFees=5;
    }

    function removeLimits() external onlyOwner {
        _maxWallet = _tTotal;
    }

    function excludeFromFees(address account, bool status) external onlyOwner {
        _excludedFromFee[account] = status;
    }

    function setMarketingWallet(address payable _wallet) external onlyOwner {
        _marketingWallet = _wallet;
    }

    function setDevWallet(address payable _wallet) external onlyOwner {
        _devWallet = _wallet;
    }

    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":"_buyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_wallet","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_wallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526102bc6100136009600a61047d565b610021906305f5e100610492565b61002b91906104a9565b600555603261003c6009600a61047d565b61004a906305f5e100610492565b61005491906104a9565b6006556014600855601e60095560646009600a610071919061047d565b61007f906305f5e100610492565b61008a906002610492565b61009491906104a9565b600a55600d805460ff60a01b1916600160a01b1790553480156100b5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b8054336001600160a01b031990911617905560078054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d00178082556001600160a01b036101009182900481165f90815260016020818152604092839020805460ff19169092179091559354815163c45a015560e01b815291519390049091169263c45a0155926004838101938290030181865afa15801561019b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101bf91906104c8565b6001600160a01b031663c9c6539630600760019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561021f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024391906104c8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561028d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b191906104c8565b600d80546001600160a01b0319166001600160a01b0392909216919091179055305f908152600160208190526040808320805460ff199081168417909155338452922080549092161790556103086009600a61047d565b610316906305f5e100610492565b335f9081526003602052604090205561032c3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6103636009600a61047d565b610371906305f5e100610492565b60405190815260200160405180910390a36104ee565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156103d557815f19048211156103bb576103bb610387565b808516156103c857918102915b93841c93908002906103a0565b509250929050565b5f826103eb57506001610477565b816103f757505f610477565b816001811461040d576002811461041757610433565b6001915050610477565b60ff84111561042857610428610387565b50506001821b610477565b5060208310610133831016604e8410600b8410161715610456575081810a610477565b610460838361039b565b805f190482111561047357610473610387565b0290505b92915050565b5f61048b60ff8416836103dd565b9392505050565b808202811582820484141761047757610477610387565b5f826104c357634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156104d8575f80fd5b81516001600160a01b038116811461048b575f80fd5b611405806104fb5f395ff3fe6080604052600436106101bd575f3560e01c806370a08231116100f2578063962dfc7511610092578063dd62ed3e11610062578063dd62ed3e146104d3578063de7cf79914610517578063e4d1a8741461052c578063f6b20c3b14610541575f80fd5b8063962dfc7514610457578063a9059cbb14610476578063c024666814610495578063d257b34f146104b4575f80fd5b806382247ec0116100cd57806382247ec0146104075780638da5cb5b1461041c578063924de9b71461043857806395d89b41146101c8575f80fd5b806370a08231146103ab578063715018a6146103df578063751039fc146103f3575f80fd5b8063293230b81161015d57806349bd5a5e1161013857806349bd5a5e1461033a5780635d098b381461035957806366eb3785146103785780636db794371461038c575f80fd5b8063293230b8146102f25780632f05205c14610306578063313ce5671461031f575f80fd5b806318160ddd1161019857806318160ddd146102715780631c499ab0146102935780631f53ac02146102b457806323b872dd146102d3575f80fd5b806306fdde03146101c8578063095ea7b31461020b57806311a63e171461023a575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b50604080518082018252600c81526b4750552d426c6f636b20414960a01b602082015290516102029190610fda565b60405180910390f35b348015610216575f80fd5b5061022a610225366004611023565b610555565b6040519015158152602001610202565b348015610245575f80fd5b50600c54610259906001600160a01b031681565b6040516001600160a01b039091168152602001610202565b34801561027c575f80fd5b5061028561056b565b604051908152602001610202565b34801561029e575f80fd5b506102b26102ad36600461104d565b61058b565b005b3480156102bf575f80fd5b506102b26102ce366004611064565b6105f4565b3480156102de575f80fd5b5061022a6102ed36600461107f565b61063f565b3480156102fd575f80fd5b506102b26106a6565b348015610311575f80fd5b5060045461022a9060ff1681565b34801561032a575f80fd5b5060405160098152602001610202565b348015610345575f80fd5b50600d54610259906001600160a01b031681565b348015610364575f80fd5b506102b2610373366004611064565b6106de565b348015610383575f80fd5b506102b2610729565b348015610397575f80fd5b506102b26103a63660046110bd565b61077a565b3480156103b6575f80fd5b506102856103c5366004611064565b6001600160a01b03165f9081526003602052604090205490565b3480156103ea575f80fd5b506102b26107cb565b3480156103fe575f80fd5b506102b261083c565b348015610412575f80fd5b50610285600a5481565b348015610427575f80fd5b505f546001600160a01b0316610259565b348015610443575f80fd5b506102b26104523660046110f1565b61087f565b348015610462575f80fd5b50600b54610259906001600160a01b031681565b348015610481575f80fd5b5061022a610490366004611023565b6108c6565b3480156104a0575f80fd5b506102b26104af36600461110a565b6108d2565b3480156104bf575f80fd5b506102b26104ce36600461104d565b610925565b3480156104de575f80fd5b506102856104ed36600461113d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610522575f80fd5b5061028560095481565b348015610537575f80fd5b5061028560085481565b34801561054c575f80fd5b506102b2610953565b5f610561338484610988565b5060015b92915050565b5f6105786009600a611268565b610586906305f5e100611276565b905090565b5f546001600160a01b031633146105bd5760405162461bcd60e51b81526004016105b49061128d565b60405180910390fd5b6101f46105cc6009600a611268565b6105da906305f5e100611276565b6105e491906112c2565b8110156105ef575f80fd5b600a55565b5f546001600160a01b0316331461061d5760405162461bcd60e51b81526004016105b49061128d565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b5f61064b8484846109e8565b61069c8433610697856040518060600160405280602881526020016113a8602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610d9e565b610988565b5060019392505050565b5f546001600160a01b031633146106cf5760405162461bcd60e51b81526004016105b49061128d565b6004805460ff19166001179055565b5f546001600160a01b031633146107075760405162461bcd60e51b81526004016105b49061128d565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146107525760405162461bcd60e51b81526004016105b49061128d565b305f90815260036020526040812054905061077761077282600654610dd6565b610ded565b50565b5f546001600160a01b031633146107a35760405162461bcd60e51b81526004016105b49061128d565b6008829055600981905560238211156107ba575f80fd5b60238111156107c7575f80fd5b5050565b5f546001600160a01b031633146107f45760405162461bcd60e51b81526004016105b49061128d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108655760405162461bcd60e51b81526004016105b49061128d565b6108716009600a611268565b6105ef906305f5e100611276565b5f546001600160a01b031633146108a85760405162461bcd60e51b81526004016105b49061128d565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b5f6105613384846109e8565b5f546001600160a01b031633146108fb5760405162461bcd60e51b81526004016105b49061128d565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461094e5760405162461bcd60e51b81526004016105b49061128d565b600555565b5f546001600160a01b0316331461097c5760405162461bcd60e51b81526004016105b49061128d565b60056008819055600955565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604081205460ff16158015610a2857506001600160a01b0383165f9081526001602052604090205460ff16155b15610c735760045460ff16610a895760405162461bcd60e51b815260206004820152602160248201527f54726164696e6720686173206e6f74206265656e20656e61626c6564207965746044820152601760f91b60648201526084016105b4565b606460085483610a999190611276565b610aa391906112c2565b600d549091506001600160a01b03848116911614610b2857600a5482610add856001600160a01b03165f9081526003602052604090205490565b610ae791906112e1565b1115610b285760405162461bcd60e51b815260206004820152601060248201526f27bb32b91036b0bc103bb0b63632ba1760811b60448201526064016105b4565b600d546001600160a01b0390811690841603610b8057606460095483610b4e9190611276565b610b5891906112c2565b9050610b666009600a611268565b610b74906305f5e100611276565b60055410610b80575f80fd5b600d546001600160a01b0390811690851603610c0357600a5482610bb8856001600160a01b03165f9081526003602052604090205490565b610bc291906112e1565b1115610c035760405162461bcd60e51b815260206004820152601060248201526f27bb32b91036b0bc103bb0b63632ba1760811b60448201526064016105b4565b305f9081526003602052604090205460075460ff16158015610c325750600d546001600160a01b038581169116145b8015610c475750600d54600160a01b900460ff165b8015610c54575060055481115b15610c7157610c7161077284610c6c84600654610dd6565b610dd6565b505b8015610ceb57305f90815260036020526040902054610c929082610f7c565b305f81815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ce29085815260200190565b60405180910390a35b6001600160a01b0384165f9081526003602052604081208054849290610d129084906112f4565b90915550610d22905081836112f4565b6001600160a01b0384165f9081526003602052604081208054909190610d499084906112e1565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610d8784866112f4565b60405190815260200160405180910390a350505050565b5f8184841115610dc15760405162461bcd60e51b81526004016105b49190610fda565b505f610dcd84866112f4565b95945050505050565b5f818311610de45782610de6565b815b9392505050565b6007805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e2d57610e2d611307565b60200260200101906001600160a01b031690816001600160a01b031681525050600760019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec2919061131b565b81600181518110610ed557610ed5611307565b6001600160a01b039283166020918202929092010152600754610f0091309161010090041684610988565b600754600b5460405163791ac94760e01b81526001600160a01b0361010090930483169263791ac94792610f419287925f9288929116904290600401611336565b5f604051808303815f87803b158015610f58575f80fd5b505af1158015610f6a573d5f803e3d5ffd5b50506007805460ff1916905550505050565b5f80610f8883856112e1565b905083811015610de65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b4565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610777575f80fd5b5f8060408385031215611034575f80fd5b823561103f8161100f565b946020939093013593505050565b5f6020828403121561105d575f80fd5b5035919050565b5f60208284031215611074575f80fd5b8135610de68161100f565b5f805f60608486031215611091575f80fd5b833561109c8161100f565b925060208401356110ac8161100f565b929592945050506040919091013590565b5f80604083850312156110ce575f80fd5b50508035926020909101359150565b803580151581146110ec575f80fd5b919050565b5f60208284031215611101575f80fd5b610de6826110dd565b5f806040838503121561111b575f80fd5b82356111268161100f565b9150611134602084016110dd565b90509250929050565b5f806040838503121561114e575f80fd5b82356111598161100f565b915060208301356111698161100f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156111c257815f19048211156111a8576111a8611174565b808516156111b557918102915b93841c939080029061118d565b509250929050565b5f826111d857506001610565565b816111e457505f610565565b81600181146111fa576002811461120457611220565b6001915050610565565b60ff84111561121557611215611174565b50506001821b610565565b5060208310610133831016604e8410600b8410161715611243575081810a610565565b61124d8383611188565b805f190482111561126057611260611174565b029392505050565b5f610de660ff8416836111ca565b808202811582820484141761056557610565611174565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f826112dc57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561056557610565611174565b8181038181111561056557610565611174565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561132b575f80fd5b8151610de68161100f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156113865784516001600160a01b031683529383019391830191600101611361565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208b9c431803d91f352c69cc326bc668400e4610dd7ebb755d8b834a99cbc872b464736f6c63430008190033

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c806370a08231116100f2578063962dfc7511610092578063dd62ed3e11610062578063dd62ed3e146104d3578063de7cf79914610517578063e4d1a8741461052c578063f6b20c3b14610541575f80fd5b8063962dfc7514610457578063a9059cbb14610476578063c024666814610495578063d257b34f146104b4575f80fd5b806382247ec0116100cd57806382247ec0146104075780638da5cb5b1461041c578063924de9b71461043857806395d89b41146101c8575f80fd5b806370a08231146103ab578063715018a6146103df578063751039fc146103f3575f80fd5b8063293230b81161015d57806349bd5a5e1161013857806349bd5a5e1461033a5780635d098b381461035957806366eb3785146103785780636db794371461038c575f80fd5b8063293230b8146102f25780632f05205c14610306578063313ce5671461031f575f80fd5b806318160ddd1161019857806318160ddd146102715780631c499ab0146102935780631f53ac02146102b457806323b872dd146102d3575f80fd5b806306fdde03146101c8578063095ea7b31461020b57806311a63e171461023a575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b50604080518082018252600c81526b4750552d426c6f636b20414960a01b602082015290516102029190610fda565b60405180910390f35b348015610216575f80fd5b5061022a610225366004611023565b610555565b6040519015158152602001610202565b348015610245575f80fd5b50600c54610259906001600160a01b031681565b6040516001600160a01b039091168152602001610202565b34801561027c575f80fd5b5061028561056b565b604051908152602001610202565b34801561029e575f80fd5b506102b26102ad36600461104d565b61058b565b005b3480156102bf575f80fd5b506102b26102ce366004611064565b6105f4565b3480156102de575f80fd5b5061022a6102ed36600461107f565b61063f565b3480156102fd575f80fd5b506102b26106a6565b348015610311575f80fd5b5060045461022a9060ff1681565b34801561032a575f80fd5b5060405160098152602001610202565b348015610345575f80fd5b50600d54610259906001600160a01b031681565b348015610364575f80fd5b506102b2610373366004611064565b6106de565b348015610383575f80fd5b506102b2610729565b348015610397575f80fd5b506102b26103a63660046110bd565b61077a565b3480156103b6575f80fd5b506102856103c5366004611064565b6001600160a01b03165f9081526003602052604090205490565b3480156103ea575f80fd5b506102b26107cb565b3480156103fe575f80fd5b506102b261083c565b348015610412575f80fd5b50610285600a5481565b348015610427575f80fd5b505f546001600160a01b0316610259565b348015610443575f80fd5b506102b26104523660046110f1565b61087f565b348015610462575f80fd5b50600b54610259906001600160a01b031681565b348015610481575f80fd5b5061022a610490366004611023565b6108c6565b3480156104a0575f80fd5b506102b26104af36600461110a565b6108d2565b3480156104bf575f80fd5b506102b26104ce36600461104d565b610925565b3480156104de575f80fd5b506102856104ed36600461113d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610522575f80fd5b5061028560095481565b348015610537575f80fd5b5061028560085481565b34801561054c575f80fd5b506102b2610953565b5f610561338484610988565b5060015b92915050565b5f6105786009600a611268565b610586906305f5e100611276565b905090565b5f546001600160a01b031633146105bd5760405162461bcd60e51b81526004016105b49061128d565b60405180910390fd5b6101f46105cc6009600a611268565b6105da906305f5e100611276565b6105e491906112c2565b8110156105ef575f80fd5b600a55565b5f546001600160a01b0316331461061d5760405162461bcd60e51b81526004016105b49061128d565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b5f61064b8484846109e8565b61069c8433610697856040518060600160405280602881526020016113a8602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610d9e565b610988565b5060019392505050565b5f546001600160a01b031633146106cf5760405162461bcd60e51b81526004016105b49061128d565b6004805460ff19166001179055565b5f546001600160a01b031633146107075760405162461bcd60e51b81526004016105b49061128d565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146107525760405162461bcd60e51b81526004016105b49061128d565b305f90815260036020526040812054905061077761077282600654610dd6565b610ded565b50565b5f546001600160a01b031633146107a35760405162461bcd60e51b81526004016105b49061128d565b6008829055600981905560238211156107ba575f80fd5b60238111156107c7575f80fd5b5050565b5f546001600160a01b031633146107f45760405162461bcd60e51b81526004016105b49061128d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108655760405162461bcd60e51b81526004016105b49061128d565b6108716009600a611268565b6105ef906305f5e100611276565b5f546001600160a01b031633146108a85760405162461bcd60e51b81526004016105b49061128d565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b5f6105613384846109e8565b5f546001600160a01b031633146108fb5760405162461bcd60e51b81526004016105b49061128d565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461094e5760405162461bcd60e51b81526004016105b49061128d565b600555565b5f546001600160a01b0316331461097c5760405162461bcd60e51b81526004016105b49061128d565b60056008819055600955565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604081205460ff16158015610a2857506001600160a01b0383165f9081526001602052604090205460ff16155b15610c735760045460ff16610a895760405162461bcd60e51b815260206004820152602160248201527f54726164696e6720686173206e6f74206265656e20656e61626c6564207965746044820152601760f91b60648201526084016105b4565b606460085483610a999190611276565b610aa391906112c2565b600d549091506001600160a01b03848116911614610b2857600a5482610add856001600160a01b03165f9081526003602052604090205490565b610ae791906112e1565b1115610b285760405162461bcd60e51b815260206004820152601060248201526f27bb32b91036b0bc103bb0b63632ba1760811b60448201526064016105b4565b600d546001600160a01b0390811690841603610b8057606460095483610b4e9190611276565b610b5891906112c2565b9050610b666009600a611268565b610b74906305f5e100611276565b60055410610b80575f80fd5b600d546001600160a01b0390811690851603610c0357600a5482610bb8856001600160a01b03165f9081526003602052604090205490565b610bc291906112e1565b1115610c035760405162461bcd60e51b815260206004820152601060248201526f27bb32b91036b0bc103bb0b63632ba1760811b60448201526064016105b4565b305f9081526003602052604090205460075460ff16158015610c325750600d546001600160a01b038581169116145b8015610c475750600d54600160a01b900460ff165b8015610c54575060055481115b15610c7157610c7161077284610c6c84600654610dd6565b610dd6565b505b8015610ceb57305f90815260036020526040902054610c929082610f7c565b305f81815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ce29085815260200190565b60405180910390a35b6001600160a01b0384165f9081526003602052604081208054849290610d129084906112f4565b90915550610d22905081836112f4565b6001600160a01b0384165f9081526003602052604081208054909190610d499084906112e1565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610d8784866112f4565b60405190815260200160405180910390a350505050565b5f8184841115610dc15760405162461bcd60e51b81526004016105b49190610fda565b505f610dcd84866112f4565b95945050505050565b5f818311610de45782610de6565b815b9392505050565b6007805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e2d57610e2d611307565b60200260200101906001600160a01b031690816001600160a01b031681525050600760019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec2919061131b565b81600181518110610ed557610ed5611307565b6001600160a01b039283166020918202929092010152600754610f0091309161010090041684610988565b600754600b5460405163791ac94760e01b81526001600160a01b0361010090930483169263791ac94792610f419287925f9288929116904290600401611336565b5f604051808303815f87803b158015610f58575f80fd5b505af1158015610f6a573d5f803e3d5ffd5b50506007805460ff1916905550505050565b5f80610f8883856112e1565b905083811015610de65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b4565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610777575f80fd5b5f8060408385031215611034575f80fd5b823561103f8161100f565b946020939093013593505050565b5f6020828403121561105d575f80fd5b5035919050565b5f60208284031215611074575f80fd5b8135610de68161100f565b5f805f60608486031215611091575f80fd5b833561109c8161100f565b925060208401356110ac8161100f565b929592945050506040919091013590565b5f80604083850312156110ce575f80fd5b50508035926020909101359150565b803580151581146110ec575f80fd5b919050565b5f60208284031215611101575f80fd5b610de6826110dd565b5f806040838503121561111b575f80fd5b82356111268161100f565b9150611134602084016110dd565b90509250929050565b5f806040838503121561114e575f80fd5b82356111598161100f565b915060208301356111698161100f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156111c257815f19048211156111a8576111a8611174565b808516156111b557918102915b93841c939080029061118d565b509250929050565b5f826111d857506001610565565b816111e457505f610565565b81600181146111fa576002811461120457611220565b6001915050610565565b60ff84111561121557611215611174565b50506001821b610565565b5060208310610133831016604e8410600b8410161715611243575081810a610565565b61124d8383611188565b805f190482111561126057611260611174565b029392505050565b5f610de660ff8416836111ca565b808202811582820484141761056557610565611174565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f826112dc57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561056557610565611174565b8181038181111561056557610565611174565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561132b575f80fd5b8151610de68161100f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156113865784516001600160a01b031683529383019391830191600101611361565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208b9c431803d91f352c69cc326bc668400e4610dd7ebb755d8b834a99cbc872b464736f6c63430008190033

Deployed Bytecode Sourcemap

4313:6564:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5956:83;;;;;;;;;;-1:-1:-1;6026:5:0;;;;;;;;;;;-1:-1:-1;;;6026:5:0;;;;5956:83;;;;6026:5;5956:83;:::i;:::-;;;;;;;;6789:161;;;;;;;;;;-1:-1:-1;6789:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6789:161:0;893:187:1;5193:33:0;;;;;;;;;;-1:-1:-1;5193:33:0;;;;-1:-1:-1;;;;;5193:33:0;;;;;;-1:-1:-1;;;;;1265:32:1;;;1247:51;;1235:2;1220:18;5193:33:0;1085:219:1;6233:95:0;;;;;;;;;;;;;:::i;:::-;;;1455:25:1;;;1443:2;1428:18;6233:95:0;1309:177:1;9685:138:0;;;;;;;;;;-1:-1:-1;9685:138:0;;;;;:::i;:::-;;:::i;:::-;;10732:105;;;;;;;;;;-1:-1:-1;10732:105:0;;;;;:::i;:::-;;:::i;6958:313::-;;;;;;;;;;-1:-1:-1;6958:313:0;;;;;:::i;:::-;;:::i;9413:77::-;;;;;;;;;;;;;:::i;4823:20::-;;;;;;;;;;-1:-1:-1;4823:20:0;;;;;;;;6142:83;;;;;;;;;;-1:-1:-1;6142:83:0;;4436:1;2539:36:1;;2527:2;2512:18;6142:83:0;2397:184:1;5235:28:0;;;;;;;;;;-1:-1:-1;5235:28:0;;;;-1:-1:-1;;;;;5235:28:0;;;10607:117;;;;;;;;;;-1:-1:-1;10607:117:0;;;;;:::i;:::-;;:::i;9498:175::-;;;;;;;;;;;;;:::i;10058:216::-;;;;;;;;;;-1:-1:-1;10058:216:0;;;;;:::i;:::-;;:::i;6336:119::-;;;;;;;;;;-1:-1:-1;6336:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6429:18:0;6402:7;6429:18;;;:9;:18;;;;;;;6336:119;3394:148;;;;;;;;;;;;;:::i;10382:82::-;;;;;;;;;;;;;:::i;5095:45::-;;;;;;;;;;;;;;;;3180:79;;;;;;;;;;-1:-1:-1;3218:7:0;3245:6;-1:-1:-1;;;;;3245:6:0;3180:79;;9831:98;;;;;;;;;;-1:-1:-1;9831:98:0;;;;;:::i;:::-;;:::i;5147:39::-;;;;;;;;;;-1:-1:-1;5147:39:0;;;;-1:-1:-1;;;;;5147:39:0;;;6463:167;;;;;;;;;;-1:-1:-1;6463:167:0;;;;;:::i;:::-;;:::i;10472:127::-;;;;;;;;;;-1:-1:-1;10472:127:0;;;;;:::i;:::-;;:::i;9937:113::-;;;;;;;;;;-1:-1:-1;9937:113:0;;;;;:::i;:::-;;:::i;6638:143::-;;;;;;;;;;-1:-1:-1;6638:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6746:18:0;;;6719:7;6746:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6638:143;5059:29;;;;;;;;;;;;;;;;5024:28;;;;;;;;;;;;;;;;10282:92;;;;;;;;;;;;;:::i;6789:161::-;6864:4;6881:39;1015:10;6904:7;6913:6;6881:8;:39::i;:::-;-1:-1:-1;6938:4:0;6789:161;;;;;:::o;6233:95::-;6286:7;4493:15;4436:1;4493:2;:15;:::i;:::-;4479:29;;:11;:29;:::i;:::-;6306:14;;6233:95;:::o;9685:138::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;;;;;;;;;9781:3:::1;4493:15;4436:1;4493:2;:15;:::i;:::-;4479:29;::::0;:11:::1;:29;:::i;:::-;9771:13;;;;:::i;:::-;9761:6;:23;;9753:32;;;::::0;::::1;;9796:10;:19:::0;9685:138::o;10732:105::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;10809:10:::1;:20:::0;;-1:-1:-1;;;;;;10809:20:0::1;-1:-1:-1::0;;;;;10809:20:0;;;::::1;::::0;;;::::1;::::0;;10732:105::o;6958:313::-;7056:4;7073:36;7083:6;7091:9;7102:6;7073:9;:36::i;:::-;7120:121;7129:6;1015:10;7151:89;7189:6;7151:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7151:19:0;;;;;;:11;:19;;;;;;;;1015:10;7151:33;;;;;;;;;;:37;:89::i;:::-;7120:8;:121::i;:::-;-1:-1:-1;7259:4:0;6958:313;;;;;:::o;9413:77::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;9467:8:::1;:15:::0;;-1:-1:-1;;9467:15:0::1;9478:4;9467:15;::::0;;9413:77::o;10607:117::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;10690:16:::1;:26:::0;;-1:-1:-1;;;;;;10690:26:0::1;-1:-1:-1::0;;;;;10690:26:0;;;::::1;::::0;;;::::1;::::0;;10607:117::o;9498:175::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;9598:4:::1;9554:23;6429:18:::0;;;:9;:18;;;;;;9554:50:::1;;9615;9632:32;9636:15;9652:11;;9632:3;:32::i;:::-;9615:16;:50::i;:::-;9543:130;9498:175::o:0;10058:216::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;10141:8:::1;:20:::0;;;10172:9:::1;:23:::0;;;10227:2:::1;10214:15:::0;::::1;;10206:24;;;::::0;::::1;;10263:2;10249:10;:16;;10241:25;;;::::0;::::1;;10058:216:::0;;:::o;3394:148::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;3501:1:::1;3485:6:::0;;3464:40:::1;::::0;-1:-1:-1;;;;;3485:6:0;;::::1;::::0;3464:40:::1;::::0;3501:1;;3464:40:::1;3532:1;3515:19:::0;;-1:-1:-1;;;;;;3515:19:0::1;::::0;;3394:148::o;10382:82::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;4493:15:::1;4436:1;4493:2;:15;:::i;:::-;4479:29;::::0;:11:::1;:29;:::i;9831:98::-:0;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;9901:11:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;9901:20:0::1;-1:-1:-1::0;;;;9901:20:0;;::::1;::::0;;;::::1;::::0;;9831:98::o;6463:167::-;6541:4;6558:42;1015:10;6582:9;6593:6;6558:9;:42::i;10472:127::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10557:25:0;;;::::1;;::::0;;;:16:::1;:25;::::0;;;;:34;;-1:-1:-1;;10557:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10472:127::o;9937:113::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;10014:19:::1;:28:::0;9937:113::o;10282:92::-;3307:6;;-1:-1:-1;;;;;3307:6:0;1015:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;10343:1:::1;10334:8;:10:::0;;;10355:9:::1;:11:::0;10282:92::o;7279:177::-;-1:-1:-1;;;;;7364:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7416:32;;1455:25:1;;;7416:32:0;;1428:18:1;7416:32:0;;;;;;;7279:177;;;:::o;7464:1341::-;-1:-1:-1;;;;;7579:22:0;;7544:17;7579:22;;;:16;:22;;;;;;;;7578:23;:48;;;;-1:-1:-1;;;;;;7606:20:0;;;;;;:16;:20;;;;;;;;7605:21;7578:48;7574:907;;;7651:8;;;;7643:54;;;;-1:-1:-1;;;7643:54:0;;6829:2:1;7643:54:0;;;6811:21:1;6868:2;6848:18;;;6841:30;6907:34;6887:18;;;6880:62;-1:-1:-1;;;6958:18:1;;;6951:31;6999:19;;7643:54:0;6627:397:1;7643:54:0;7746:3;7735:8;;7726:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;7776:13;;7714:35;;-1:-1:-1;;;;;;7770:19:0;;;7776:13;;7770:19;7766:125;;7844:10;;7834:6;7818:13;7828:2;-1:-1:-1;;;;;6429:18:0;6402:7;6429:18;;;:9;:18;;;;;;;6336:119;7818:13;:22;;;;:::i;:::-;:36;;7810:65;;;;-1:-1:-1;;;7810:65:0;;7361:2:1;7810:65:0;;;7343:21:1;7400:2;7380:18;;;7373:30;-1:-1:-1;;;7419:18:1;;;7412:46;7475:18;;7810:65:0;7159:340:1;7810:65:0;7916:13;;-1:-1:-1;;;;;7916:13:0;;;7910:19;;;;7907:152;;7983:3;7970:9;;7961:6;:18;;;;:::i;:::-;:25;;;;:::i;:::-;7949:37;-1:-1:-1;4493:15:0;4436:1;4493:2;:15;:::i;:::-;4479:29;;:11;:29;:::i;:::-;8013:19;;:29;8005:38;;;;;;8087:13;;-1:-1:-1;;;;;8087:13:0;;;8079:21;;;;8075:127;;8155:10;;8145:6;8129:13;8139:2;-1:-1:-1;;;;;6429:18:0;6402:7;6429:18;;;:9;:18;;;;;;;6336:119;8129:13;:22;;;;:::i;:::-;:36;;8121:65;;;;-1:-1:-1;;;8121:65:0;;7361:2:1;8121:65:0;;;7343:21:1;7400:2;7380:18;;;7373:30;-1:-1:-1;;;7419:18:1;;;7412:46;7475:18;;8121:65:0;7159:340:1;8121:65:0;8262:4;8218:23;6429:18;;;:9;:18;;;;;;8288:6;;;;8287:7;:30;;;;-1:-1:-1;8304:13:0;;-1:-1:-1;;;;;8298:19:0;;;8304:13;;8298:19;8287:30;:45;;;;-1:-1:-1;8321:11:0;;-1:-1:-1;;;8321:11:0;;;;8287:45;:84;;;;;8352:19;;8336:15;:35;8287:84;8283:187;;;8392:62;8409:44;8413:6;8420:32;8424:15;8440:11;;8420:3;:32::i;:::-;8409:3;:44::i;8392:62::-;7628:853;7574:907;8496:13;;8493:165;;8568:4;8550:24;;;;:9;:24;;;;;;:39;;8579:9;8550:28;:39::i;:::-;8541:4;8523:24;;;;:9;:24;;;;;;;:66;;;;8607:39;;-1:-1:-1;;;;;8607:39:0;;;;;;;8636:9;1455:25:1;;1443:2;1428:18;;1309:177;8607:39:0;;;;;;;;8493:165;-1:-1:-1;;;;;8668:15:0;;;;;;:9;:15;;;;;:27;;8688:6;;8668:15;:27;;8688:6;;8668:27;:::i;:::-;;;;-1:-1:-1;8723:18:0;;-1:-1:-1;8732:9:0;8723:6;:18;:::i;:::-;-1:-1:-1;;;;;8706:13:0;;;;;;:9;:13;;;;;:35;;:13;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8757:40:0;;;;;;;8776:20;8786:9;8776:6;:20;:::i;:::-;8757:40;;1455:25:1;;;1443:2;1428:18;8757:40:0;;;;;;;7533:1272;7464:1341;;;:::o;2072:190::-;2158:7;2194:12;2186:6;;;;2178:29;;;;-1:-1:-1;;;2178:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2218:9:0;2230:5;2234:1;2230;:5;:::i;:::-;2218:17;2072:190;-1:-1:-1;;;;;2072:190:0:o;8813:98::-;8870:7;8897:1;8895;:3;8894:9;;8902:1;8894:9;;;8900:1;8894:9;8887:16;8813:98;-1:-1:-1;;;8813:98:0:o;8919:486::-;5342:6;:13;;-1:-1:-1;;5342:13:0;5351:4;5342:13;;;9021:16:::1;::::0;;9035:1:::1;9021:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9021:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9021:16:0::1;8997:40;;9066:4;9048;9053:1;9048:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9048:23:0::1;;;-1:-1:-1::0;;;;;9048:23:0::1;;;::::0;::::1;9092:15;;;;;;;;;-1:-1:-1::0;;;;;9092:15:0::1;-1:-1:-1::0;;;;;9092:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9082:4;9087:1;9082:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9082:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9157:15:::1;::::0;9125:62:::1;::::0;9142:4:::1;::::0;9157:15:::1;::::0;::::1;;9175:11:::0;9125:8:::1;:62::i;:::-;9198:15;::::0;9340:16:::1;::::0;9198:199:::1;::::0;-1:-1:-1;;;9198:199:0;;-1:-1:-1;;;;;9198:15:0::1;::::0;;::::1;::::0;::::1;::::0;:66:::1;::::0;:199:::1;::::0;9279:11;;9305:1:::1;::::0;9321:4;;9340:16;::::1;::::0;9371:15:::1;::::0;9198:199:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5378:6:0;:14;;-1:-1:-1;;5378:14:0;;;-1:-1:-1;;;;8919:486:0:o;1741:179::-;1799:7;;1831:5;1835:1;1831;:5;:::i;:::-;1819:17;;1860:1;1855;:6;;1847:46;;;;-1:-1:-1;;;1847:46:0;;9352:2:1;1847:46:0;;;9334:21:1;9391:2;9371:18;;;9364:30;9430:29;9410:18;;;9403:57;9477:18;;1847:46:0;9150:351:1;14:418;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1491:180::-;1550:6;1603:2;1591:9;1582:7;1578:23;1574:32;1571:52;;;1619:1;1616;1609:12;1571:52;-1:-1:-1;1642:23:1;;1491:180;-1:-1:-1;1491:180:1:o;1676:255::-;1743:6;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;1936:456::-;2013:6;2021;2029;2082:2;2070:9;2061:7;2057:23;2053:32;2050:52;;;2098:1;2095;2088:12;2050:52;2137:9;2124:23;2156:31;2181:5;2156:31;:::i;:::-;2206:5;-1:-1:-1;2263:2:1;2248:18;;2235:32;2276:33;2235:32;2276:33;:::i;:::-;1936:456;;2328:7;;-1:-1:-1;;;2382:2:1;2367:18;;;;2354:32;;1936:456::o;2794:248::-;2862:6;2870;2923:2;2911:9;2902:7;2898:23;2894:32;2891:52;;;2939:1;2936;2929:12;2891:52;-1:-1:-1;;2962:23:1;;;3032:2;3017:18;;;3004:32;;-1:-1:-1;2794:248:1:o;3299:160::-;3364:20;;3420:13;;3413:21;3403:32;;3393:60;;3449:1;3446;3439:12;3393:60;3299:160;;;:::o;3464:180::-;3520:6;3573:2;3561:9;3552:7;3548:23;3544:32;3541:52;;;3589:1;3586;3579:12;3541:52;3612:26;3628:9;3612:26;:::i;3649:315::-;3714:6;3722;3775:2;3763:9;3754:7;3750:23;3746:32;3743:52;;;3791:1;3788;3781:12;3743:52;3830:9;3817:23;3849:31;3874:5;3849:31;:::i;:::-;3899:5;-1:-1:-1;3923:35:1;3954:2;3939:18;;3923:35;:::i;:::-;3913:45;;3649:315;;;;;:::o;3969:388::-;4037:6;4045;4098:2;4086:9;4077:7;4073:23;4069:32;4066:52;;;4114:1;4111;4104:12;4066:52;4153:9;4140:23;4172:31;4197:5;4172:31;:::i;:::-;4222:5;-1:-1:-1;4279:2:1;4264:18;;4251:32;4292:33;4251:32;4292:33;:::i;:::-;4344:7;4334:17;;;3969:388;;;;;:::o;4362:127::-;4423:10;4418:3;4414:20;4411:1;4404:31;4454:4;4451:1;4444:15;4478:4;4475:1;4468:15;4494:416;4583:1;4620:5;4583:1;4634:270;4655:7;4645:8;4642:21;4634:270;;;4714:4;4710:1;4706:6;4702:17;4696:4;4693:27;4690:53;;;4723:18;;:::i;:::-;4773:7;4763:8;4759:22;4756:55;;;4793:16;;;;4756:55;4872:22;;;;4832:15;;;;4634:270;;;4638:3;4494:416;;;;;:::o;4915:806::-;4964:5;4994:8;4984:80;;-1:-1:-1;5035:1:1;5049:5;;4984:80;5083:4;5073:76;;-1:-1:-1;5120:1:1;5134:5;;5073:76;5165:4;5183:1;5178:59;;;;5251:1;5246:130;;;;5158:218;;5178:59;5208:1;5199:10;;5222:5;;;5246:130;5283:3;5273:8;5270:17;5267:43;;;5290:18;;:::i;:::-;-1:-1:-1;;5346:1:1;5332:16;;5361:5;;5158:218;;5460:2;5450:8;5447:16;5441:3;5435:4;5432:13;5428:36;5422:2;5412:8;5409:16;5404:2;5398:4;5395:12;5391:35;5388:77;5385:159;;;-1:-1:-1;5497:19:1;;;5529:5;;5385:159;5576:34;5601:8;5595:4;5576:34;:::i;:::-;5646:6;5642:1;5638:6;5634:19;5625:7;5622:32;5619:58;;;5657:18;;:::i;:::-;5695:20;;4915:806;-1:-1:-1;;;4915:806:1:o;5726:140::-;5784:5;5813:47;5854:4;5844:8;5840:19;5834:4;5813:47;:::i;5871:168::-;5944:9;;;5975;;5992:15;;;5986:22;;5972:37;5962:71;;6013:18;;:::i;6044:356::-;6246:2;6228:21;;;6265:18;;;6258:30;6324:34;6319:2;6304:18;;6297:62;6391:2;6376:18;;6044:356::o;6405:217::-;6445:1;6471;6461:132;;6515:10;6510:3;6506:20;6503:1;6496:31;6550:4;6547:1;6540:15;6578:4;6575:1;6568:15;6461:132;-1:-1:-1;6607:9:1;;6405:217::o;7029:125::-;7094:9;;;7115:10;;;7112:36;;;7128:18;;:::i;7504:128::-;7571:9;;;7592:11;;;7589:37;;;7606:18;;:::i;7769:127::-;7830:10;7825:3;7821:20;7818:1;7811:31;7861:4;7858:1;7851:15;7885:4;7882:1;7875:15;7901:251;7971:6;8024:2;8012:9;8003:7;7999:23;7995:32;7992:52;;;8040:1;8037;8030:12;7992:52;8072:9;8066:16;8091:31;8116:5;8091:31;:::i;8157:988::-;8427:4;8475:3;8464:9;8460:19;8506:6;8495:9;8488:25;8532:2;8570:6;8565:2;8554:9;8550:18;8543:34;8613:3;8608:2;8597:9;8593:18;8586:31;8637:6;8672;8666:13;8703:6;8695;8688:22;8741:3;8730:9;8726:19;8719:26;;8780:2;8772:6;8768:15;8754:29;;8801:1;8811:195;8825:6;8822:1;8819:13;8811:195;;;8890:13;;-1:-1:-1;;;;;8886:39:1;8874:52;;8981:15;;;;8946:12;;;;8922:1;8840:9;8811:195;;;-1:-1:-1;;;;;;;9062:32:1;;;;9057:2;9042:18;;9035:60;-1:-1:-1;;;9126:3:1;9111:19;9104:35;9023:3;8157:988;-1:-1:-1;;;8157:988:1:o

Swarm Source

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