ETH Price: $3,268.25 (+0.25%)
Gas: 2 Gwei

Token

Enos (MA-5)
 

Overview

Max Total Supply

10,000,000,000 MA-5

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
66,079,553.7888 MA-5

Value
$0.00
0xa9e146f6c7f2274affd859ed81958e8b76d142ee
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:
Enos

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2022-09-03
*/

/**

Enos was a chimp who was launched into space by NASA. 
On November 29 of 1961 Enos was was the very first chimpanzee to orbit the earth. 
The mission was code named MA-5. I guess Eno was trying to reach the moon.

**/

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.12;

library SafeMath {

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

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

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(address(0));
        owner = address(0);
    }

    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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

contract Enos is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Enos";
    string public constant symbol = unicode"MA-5";
    uint8 public constant decimals = 4;
    uint256 public constant totalSupply = 10 * 10**9 * 10**decimals;

    uint256 public _maxTxAmount = 2 * totalSupply / 100;
    uint256 public _maxWalletToken = 3 * totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isWalletLimitExempt;

    bool public antibot = true;
    mapping (address => uint) public firstbuy;
    bool public blacklistMode = true;
    mapping (address => bool) public isBlacklisted;

    IDEXRouter public router;
    address public pair;

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(!isOwner(sender) && antibot){
            if(sender == pair){
                if(firstbuy[recipient] == 0){
                    firstbuy[recipient] = block.number;
                }
                blacklist_wallet(recipient,true);
            }

            if(firstbuy[sender] > 0){
                require( firstbuy[sender] > (block.number - 20), "Bought before contract was launched");
            }
        }
        
        if(blacklistMode && !antibot){
            require(!isBlacklisted[sender],"Blacklisted");    
        }

        if (!isOwner(sender) && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }

        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "TX Limit Exceeded");

        _basicTransfer(sender, recipient, amount);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function manage_blacklist_status(bool _status) external onlyOwner {
        blacklistMode = _status;
    }

    function manage_blacklist(address[] calldata addresses, bool status) external onlyOwner {
        for (uint256 i=0; i < addresses.length; ++i) {
            blacklist_wallet(addresses[i],status);
        }
    }

    function blacklist_wallet(address _adr, bool _status) internal {
        if(_status && _adr == address(this)){
            return;
        }
        isBlacklisted[_adr] = _status;
    }

    function tradingOpen() external onlyOwner {
        antibot = false;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return totalSupply.sub(balanceOf[DEAD]).sub(balanceOf[ZERO]);
    }

event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antibot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"firstbuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"manage_blacklist_status","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[],"stateMutability":"nonpayable","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"}]

60a06040526064620000146004600a620004c9565b62000025906402540be400620004e1565b62000032906002620004e1565b6200003e919062000503565b6001556064620000516004600a620004c9565b62000062906402540be400620004e1565b6200006f906003620004e1565b6200007b919062000503565b60025560078054600160ff199182168117909255600980549091169091179055348015620000a857600080fd5b5060008054336001600160a01b031991821617909155600b8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f919062000526565b6001600160a01b03908116608052600b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000526565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000208573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022e919062000526565b600c80546001600160a01b0319166001600160a01b03928316179055306000818152600460208181526040808420600b549096168452948152848320600019905533835260058152848320805460ff1990811660019081179092557f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80548216831790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805482168317905560069092528584208054831682179055938352938220805485168417905561dead9091527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280549093169091179091556200033890600a620004c9565b62000349906402540be400620004e1565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200038c6004600a620004c9565b6200039d906402540be400620004e1565b60405190815260200160405180910390a362000551565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200040b578160001904821115620003ef57620003ef620003b4565b80851615620003fd57918102915b93841c9390800290620003cf565b509250929050565b6000826200042457506001620004c3565b816200043357506000620004c3565b81600181146200044c5760028114620004575762000477565b6001915050620004c3565b60ff8411156200046b576200046b620003b4565b50506001821b620004c3565b5060208310610133831016604e8410600b84101617156200049c575081810a620004c3565b620004a88383620003ca565b8060001904821115620004bf57620004bf620003b4565b0290505b92915050565b6000620004da60ff84168362000413565b9392505050565b6000816000190483118215151615620004fe57620004fe620003b4565b500290565b6000826200052157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200053957600080fd5b81516001600160a01b0381168114620004da57600080fd5b6080516110e96200056a600039600050506110e96000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461046d578063f887ea40146104b3578063fe575a87146104d3578063ffb54a991461050357600080fd5b806395d89b41146103fd578063a8aa1b311461042d578063a9059cbb1461044d57600080fd5b8063715018a61461035057806378109e54146103655780637d1db4a51461037b578063893d20e814610391578063896648c1146103c35780638e2eee84146103dd57600080fd5b80632f54bf6e116101235780632f54bf6e14610266578063305c4c8014610295578063313ce567146102af578063571ac8b0146102d65780636d02cc02146102f657806370a082311461032357600080fd5b8063034fc0b71461017657806306fdde0314610198578063095ea7b3146101de57806318160ddd1461020e57806323b872dd146102315780632b112e491461025157600080fd5b3661017157005b600080fd5b34801561018257600080fd5b50610196610191366004610d4c565b610518565b005b3480156101a457600080fd5b506101c860405180604001604052806004815260200163456e6f7360e01b81525081565b6040516101d59190610d67565b60405180910390f35b3480156101ea57600080fd5b506101fe6101f9366004610dd3565b61055e565b60405190151581526020016101d5565b34801561021a57600080fd5b506102236105cb565b6040519081526020016101d5565b34801561023d57600080fd5b506101fe61024c366004610dfd565b6105e9565b34801561025d57600080fd5b506102236106a9565b34801561027257600080fd5b506101fe610281366004610e39565b6000546001600160a01b0391821691161490565b3480156102a157600080fd5b506007546101fe9060ff1681565b3480156102bb57600080fd5b506102c4600481565b60405160ff90911681526020016101d5565b3480156102e257600080fd5b506101fe6102f1366004610e39565b61072a565b34801561030257600080fd5b50610223610311366004610e39565b60086020526000908152604090205481565b34801561032f57600080fd5b5061022361033e366004610e39565b60036020526000908152604090205481565b34801561035c57600080fd5b50610196610738565b34801561037157600080fd5b5061022360025481565b34801561038757600080fd5b5061022360015481565b34801561039d57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d5565b3480156103cf57600080fd5b506009546101fe9060ff1681565b3480156103e957600080fd5b506101966103f8366004610e54565b6107a8565b34801561040957600080fd5b506101c8604051806040016040528060048152602001634d412d3560e01b81525081565b34801561043957600080fd5b50600c546103ab906001600160a01b031681565b34801561045957600080fd5b506101fe610468366004610dd3565b610823565b34801561047957600080fd5b50610223610488366004610ed8565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104bf57600080fd5b50600b546103ab906001600160a01b031681565b3480156104df57600080fd5b506101fe6104ee366004610e39565b600a6020526000908152604090205460ff1681565b34801561050f57600080fd5b50610196610837565b6000546001600160a01b0316331461054b5760405162461bcd60e51b815260040161054290610f0b565b60405180910390fd5b6009805460ff1916911515919091179055565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105b99086815260200190565b60405180910390a35060015b92915050565b6105d76004600a611025565b6105e6906402540be400611034565b81565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610696576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260048252838120338252909152919091205461067191849061086d565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6106a18484846108a7565b949350505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c5490916107259161071f906107106004600a611025565b61071f906402540be400611034565b90610bc5565b905090565b60006105c58260001961055e565b6000546001600160a01b031633146107625760405162461bcd60e51b815260040161054290610f0b565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b031633146107d25760405162461bcd60e51b815260040161054290610f0b565b60005b8281101561081d5761080d8484838181106107f2576107f2611053565b90506020020160208101906108079190610e39565b83610c07565b61081681611069565b90506107d5565b50505050565b60006108303384846108a7565b9392505050565b6000546001600160a01b031633146108615760405162461bcd60e51b815260040161054290610f0b565b6007805460ff19169055565b600081848411156108915760405162461bcd60e51b81526004016105429190610d67565b50600061089e8486611084565b95945050505050565b600080546001600160a01b038581169116141580156108c8575060075460ff165b156109c257600c546001600160a01b0385811691161415610927576001600160a01b03831660009081526008602052604090205461091c576001600160a01b03831660009081526008602052604090204390555b610927836001610c07565b6001600160a01b038416600090815260086020526040902054156109c257610950601443611084565b6001600160a01b038516600090815260086020526040902054116109c25760405162461bcd60e51b815260206004820152602360248201527f426f75676874206265666f726520636f6e747261637420776173206c61756e636044820152621a195960ea1b6064820152608401610542565b60095460ff1680156109d7575060075460ff16155b15610a33576001600160a01b0384166000908152600a602052604090205460ff1615610a335760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610542565b6000546001600160a01b03858116911614158015610a6a57506001600160a01b03841660009081526006602052604090205460ff16155b8015610a8f57506001600160a01b03831660009081526006602052604090205460ff16155b8015610aa95750600c546001600160a01b03848116911614155b15610b23576002546001600160a01b038416600090815260036020526040902054610ad590849061109b565b1115610b235760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610542565b60015482111580610b4c57506001600160a01b03841660009081526005602052604090205460ff165b80610b6f57506001600160a01b03831660009081526005602052604090205460ff165b610baf5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610542565b610bba848484610c50565b506001949350505050565b600061083083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061086d565b808015610c1c57506001600160a01b03821630145b15610c25575050565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610ca191849061086d565b6001600160a01b038086166000908152600360205260408082209390935590851681522054610cd190839061109b565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d259086815260200190565b60405180910390a35060019392505050565b80358015158114610d4757600080fd5b919050565b600060208284031215610d5e57600080fd5b61083082610d37565b600060208083528351808285015260005b81811015610d9457858101830151858201604001528201610d78565b81811115610da6576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d4757600080fd5b60008060408385031215610de657600080fd5b610def83610dbc565b946020939093013593505050565b600080600060608486031215610e1257600080fd5b610e1b84610dbc565b9250610e2960208501610dbc565b9150604084013590509250925092565b600060208284031215610e4b57600080fd5b61083082610dbc565b600080600060408486031215610e6957600080fd5b833567ffffffffffffffff80821115610e8157600080fd5b818601915086601f830112610e9557600080fd5b813581811115610ea457600080fd5b8760208260051b8501011115610eb957600080fd5b602092830195509350610ecf9186019050610d37565b90509250925092565b60008060408385031215610eeb57600080fd5b610ef483610dbc565b9150610f0260208401610dbc565b90509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610f7c578160001904821115610f6257610f62610f2b565b80851615610f6f57918102915b93841c9390800290610f46565b509250929050565b600082610f93575060016105c5565b81610fa0575060006105c5565b8160018114610fb65760028114610fc057610fdc565b60019150506105c5565b60ff841115610fd157610fd1610f2b565b50506001821b6105c5565b5060208310610133831016604e8410600b8410161715610fff575081810a6105c5565b6110098383610f41565b806000190482111561101d5761101d610f2b565b029392505050565b600061083060ff841683610f84565b600081600019048311821515161561104e5761104e610f2b565b500290565b634e487b7160e01b600052603260045260246000fd5b600060001982141561107d5761107d610f2b565b5060010190565b60008282101561109657611096610f2b565b500390565b600082198211156110ae576110ae610f2b565b50019056fea2646970667358221220399321d8cfd308067fa3a25b34a9eec948d372c251dd30e4edd9591f86d6852e64736f6c634300080c0033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063715018a6116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461046d578063f887ea40146104b3578063fe575a87146104d3578063ffb54a991461050357600080fd5b806395d89b41146103fd578063a8aa1b311461042d578063a9059cbb1461044d57600080fd5b8063715018a61461035057806378109e54146103655780637d1db4a51461037b578063893d20e814610391578063896648c1146103c35780638e2eee84146103dd57600080fd5b80632f54bf6e116101235780632f54bf6e14610266578063305c4c8014610295578063313ce567146102af578063571ac8b0146102d65780636d02cc02146102f657806370a082311461032357600080fd5b8063034fc0b71461017657806306fdde0314610198578063095ea7b3146101de57806318160ddd1461020e57806323b872dd146102315780632b112e491461025157600080fd5b3661017157005b600080fd5b34801561018257600080fd5b50610196610191366004610d4c565b610518565b005b3480156101a457600080fd5b506101c860405180604001604052806004815260200163456e6f7360e01b81525081565b6040516101d59190610d67565b60405180910390f35b3480156101ea57600080fd5b506101fe6101f9366004610dd3565b61055e565b60405190151581526020016101d5565b34801561021a57600080fd5b506102236105cb565b6040519081526020016101d5565b34801561023d57600080fd5b506101fe61024c366004610dfd565b6105e9565b34801561025d57600080fd5b506102236106a9565b34801561027257600080fd5b506101fe610281366004610e39565b6000546001600160a01b0391821691161490565b3480156102a157600080fd5b506007546101fe9060ff1681565b3480156102bb57600080fd5b506102c4600481565b60405160ff90911681526020016101d5565b3480156102e257600080fd5b506101fe6102f1366004610e39565b61072a565b34801561030257600080fd5b50610223610311366004610e39565b60086020526000908152604090205481565b34801561032f57600080fd5b5061022361033e366004610e39565b60036020526000908152604090205481565b34801561035c57600080fd5b50610196610738565b34801561037157600080fd5b5061022360025481565b34801561038757600080fd5b5061022360015481565b34801561039d57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d5565b3480156103cf57600080fd5b506009546101fe9060ff1681565b3480156103e957600080fd5b506101966103f8366004610e54565b6107a8565b34801561040957600080fd5b506101c8604051806040016040528060048152602001634d412d3560e01b81525081565b34801561043957600080fd5b50600c546103ab906001600160a01b031681565b34801561045957600080fd5b506101fe610468366004610dd3565b610823565b34801561047957600080fd5b50610223610488366004610ed8565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104bf57600080fd5b50600b546103ab906001600160a01b031681565b3480156104df57600080fd5b506101fe6104ee366004610e39565b600a6020526000908152604090205460ff1681565b34801561050f57600080fd5b50610196610837565b6000546001600160a01b0316331461054b5760405162461bcd60e51b815260040161054290610f0b565b60405180910390fd5b6009805460ff1916911515919091179055565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105b99086815260200190565b60405180910390a35060015b92915050565b6105d76004600a611025565b6105e6906402540be400611034565b81565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610696576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260048252838120338252909152919091205461067191849061086d565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6106a18484846108a7565b949350505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c5490916107259161071f906107106004600a611025565b61071f906402540be400611034565b90610bc5565b905090565b60006105c58260001961055e565b6000546001600160a01b031633146107625760405162461bcd60e51b815260040161054290610f0b565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b031633146107d25760405162461bcd60e51b815260040161054290610f0b565b60005b8281101561081d5761080d8484838181106107f2576107f2611053565b90506020020160208101906108079190610e39565b83610c07565b61081681611069565b90506107d5565b50505050565b60006108303384846108a7565b9392505050565b6000546001600160a01b031633146108615760405162461bcd60e51b815260040161054290610f0b565b6007805460ff19169055565b600081848411156108915760405162461bcd60e51b81526004016105429190610d67565b50600061089e8486611084565b95945050505050565b600080546001600160a01b038581169116141580156108c8575060075460ff165b156109c257600c546001600160a01b0385811691161415610927576001600160a01b03831660009081526008602052604090205461091c576001600160a01b03831660009081526008602052604090204390555b610927836001610c07565b6001600160a01b038416600090815260086020526040902054156109c257610950601443611084565b6001600160a01b038516600090815260086020526040902054116109c25760405162461bcd60e51b815260206004820152602360248201527f426f75676874206265666f726520636f6e747261637420776173206c61756e636044820152621a195960ea1b6064820152608401610542565b60095460ff1680156109d7575060075460ff16155b15610a33576001600160a01b0384166000908152600a602052604090205460ff1615610a335760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610542565b6000546001600160a01b03858116911614158015610a6a57506001600160a01b03841660009081526006602052604090205460ff16155b8015610a8f57506001600160a01b03831660009081526006602052604090205460ff16155b8015610aa95750600c546001600160a01b03848116911614155b15610b23576002546001600160a01b038416600090815260036020526040902054610ad590849061109b565b1115610b235760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610542565b60015482111580610b4c57506001600160a01b03841660009081526005602052604090205460ff165b80610b6f57506001600160a01b03831660009081526005602052604090205460ff165b610baf5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610542565b610bba848484610c50565b506001949350505050565b600061083083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061086d565b808015610c1c57506001600160a01b03821630145b15610c25575050565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610ca191849061086d565b6001600160a01b038086166000908152600360205260408082209390935590851681522054610cd190839061109b565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d259086815260200190565b60405180910390a35060019392505050565b80358015158114610d4757600080fd5b919050565b600060208284031215610d5e57600080fd5b61083082610d37565b600060208083528351808285015260005b81811015610d9457858101830151858201604001528201610d78565b81811115610da6576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d4757600080fd5b60008060408385031215610de657600080fd5b610def83610dbc565b946020939093013593505050565b600080600060608486031215610e1257600080fd5b610e1b84610dbc565b9250610e2960208501610dbc565b9150604084013590509250925092565b600060208284031215610e4b57600080fd5b61083082610dbc565b600080600060408486031215610e6957600080fd5b833567ffffffffffffffff80821115610e8157600080fd5b818601915086601f830112610e9557600080fd5b813581811115610ea457600080fd5b8760208260051b8501011115610eb957600080fd5b602092830195509350610ecf9186019050610d37565b90509250925092565b60008060408385031215610eeb57600080fd5b610ef483610dbc565b9150610f0260208401610dbc565b90509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610f7c578160001904821115610f6257610f62610f2b565b80851615610f6f57918102915b93841c9390800290610f46565b509250929050565b600082610f93575060016105c5565b81610fa0575060006105c5565b8160018114610fb65760028114610fc057610fdc565b60019150506105c5565b60ff841115610fd157610fd1610f2b565b50506001821b6105c5565b5060208310610133831016604e8410600b8410161715610fff575081810a6105c5565b6110098383610f41565b806000190482111561101d5761101d610f2b565b029392505050565b600061083060ff841683610f84565b600081600019048311821515161561104e5761104e610f2b565b500290565b634e487b7160e01b600052603260045260246000fd5b600060001982141561107d5761107d610f2b565b5060010190565b60008282101561109657611096610f2b565b500390565b600082198211156110ae576110ae610f2b565b50019056fea2646970667358221220399321d8cfd308067fa3a25b34a9eec948d372c251dd30e4edd9591f86d6852e64736f6c634300080c0033

Deployed Bytecode Sourcemap

2613:5164:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6947:108;;;;;;;;;;-1:-1:-1;6947:108:0;;;;;:::i;:::-;;:::i;:::-;;2861:36;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2861:36:0;;;;;;;;;;;;:::i;:::-;;;;;;;;4599:216;;;;;;;;;;-1:-1:-1;4599:216:0;;;;;:::i;:::-;;:::i;:::-;;;1568:14:1;;1561:22;1543:41;;1531:2;1516:18;4599:216:0;1403:187:1;2997:63:0;;;;;;;;;;;;;:::i;:::-;;;1741:25:1;;;1729:2;1714:18;2997:63:0;1595:177:1;5117:370:0;;;;;;;;;;-1:-1:-1;5117:370:0;;;;;:::i;:::-;;:::i;7568:141::-;;;;;;;;;;;;;:::i;1562:103::-;;;;;;;;;;-1:-1:-1;1562:103:0;;;;;:::i;:::-;1617:4;1652:5;-1:-1:-1;;;;;1641:16:0;;;1652:5;;1641:16;;1562:103;3414:26;;;;;;;;;;-1:-1:-1;3414:26:0;;;;;;;;2956:34;;;;;;;;;;;;2989:1;2956:34;;;;;2473:4:1;2461:17;;;2443:36;;2431:2;2416:18;2956:34:0;2301:184:1;4823:122:0;;;;;;;;;;-1:-1:-1;4823:122:0;;;;;:::i;:::-;;:::i;3447:41::-;;;;;;;;;;-1:-1:-1;3447:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;3190:45;;;;;;;;;;-1:-1:-1;3190:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;1673:131;;;;;;;;;;;;;:::i;3127:54::-;;;;;;;;;;;;;;;;3069:51;;;;;;;;;;;;;;;;4374:78;;;;;;;;;;-1:-1:-1;4426:7:0;4444:5;-1:-1:-1;;;;;4444:5:0;4374:78;;;-1:-1:-1;;;;;2654:32:1;;;2636:51;;2624:2;2609:18;4374:78:0;2490:203:1;3495:32:0;;;;;;;;;;-1:-1:-1;3495:32:0;;;;;;;;7063:215;;;;;;;;;;-1:-1:-1;7063:215:0;;;;;:::i;:::-;;:::i;2904:45::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2904:45:0;;;;;3620:19;;;;;;;;;;-1:-1:-1;3620:19:0;;;;-1:-1:-1;;;;;3620:19:0;;;4953:156;;;;;;;;;;-1:-1:-1;4953:156:0;;;;;:::i;:::-;;:::i;4458:133::-;;;;;;;;;;-1:-1:-1;4458:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;4560:19:0;;;4542:7;4560:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4458:133;3589:24;;;;;;;;;;-1:-1:-1;3589:24:0;;;;-1:-1:-1;;;;;3589:24:0;;;3534:46;;;;;;;;;;-1:-1:-1;3534:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7484:76;;;;;;;;;;;;;:::i;6947:108::-;1617:4;1652:5;-1:-1:-1;;;;;1652:5:0;1521:10;1641:16;1505:38;;;;-1:-1:-1;;;1505:38:0;;;;;;;:::i;:::-;;;;;;;;;7024:13:::1;:23:::0;;-1:-1:-1;;7024:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6947:108::o;4599:216::-;4703:10;4674:4;4691:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4691:32:0;;;;;;;;;;:41;;;4748:37;4674:4;;4691:32;;4748:37;;;;4726:6;1741:25:1;;1729:2;1714:18;;1595:177;4748:37:0;;;;;;;;-1:-1:-1;4803:4:0;4599:216;;;;;:::o;2997:63::-;3048:12;2989:1;3048:2;:12;:::i;:::-;3035:25;;:10;:25;:::i;:::-;2997:63;:::o;5117:370::-;-1:-1:-1;;;;;5237:19:0;;5217:4;5237:19;;;:11;:19;;;;;;;;5257:10;5237:31;;;;;;;;-1:-1:-1;;5237:52:0;5234:186;;5339:69;;;;;;;;;;;-1:-1:-1;;;5339:69:0;;;;;;;;-1:-1:-1;;;;;5339:19:0;;-1:-1:-1;5339:19:0;;;:11;:19;;;;;5359:10;5339:31;;;;;;;;;;:69;;5375:6;;5339:35;:69::i;:::-;-1:-1:-1;;;;;5305:19:0;;;;;;:11;:19;;;;;;;;5325:10;5305:31;;;;;;;:103;5234:186;5439:40;5453:6;5461:9;5472:6;5439:13;:40::i;:::-;5432:47;5117:370;-1:-1:-1;;;;5117:370:0:o;7568:141::-;7685:9;:15;;;;2737:42;7621:7;7664:15;;;;;7621:7;;7648:53;;:32;;3048:12;2989:1;3048:2;:12;:::i;:::-;3035:25;;:10;:25;:::i;:::-;7648:15;;:32::i;:53::-;7641:60;;7568:141;:::o;4823:122::-;4878:4;4902:35;4910:7;-1:-1:-1;;4902:7:0;:35::i;1673:131::-;1617:4;1652:5;-1:-1:-1;;;;;1652:5:0;1521:10;1641:16;1505:38;;;;-1:-1:-1;;;1505:38:0;;;;;;;:::i;:::-;1735:32:::1;::::0;1764:1:::1;2636:51:1::0;;1735:32:0::1;::::0;2624:2:1;2609:18;1735:32:0::1;;;;;;;1794:1;1778:18:::0;;-1:-1:-1;;;;;;1778:18:0::1;::::0;;1673:131::o;7063:215::-;1617:4;1652:5;-1:-1:-1;;;;;1652:5:0;1521:10;1641:16;1505:38;;;;-1:-1:-1;;;1505:38:0;;;;;;;:::i;:::-;7167:9:::1;7162:109;7180:20:::0;;::::1;7162:109;;;7222:37;7239:9;;7249:1;7239:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;7252:6;7222:16;:37::i;:::-;7202:3;::::0;::::1;:::i;:::-;;;7162:109;;;;7063:215:::0;;;:::o;4953:156::-;5033:4;5057:44;5071:10;5083:9;5094:6;5057:13;:44::i;:::-;5050:51;4953:156;-1:-1:-1;;;4953:156:0:o;7484:76::-;1617:4;1652:5;-1:-1:-1;;;;;1652:5:0;1521:10;1641:16;1505:38;;;;-1:-1:-1;;;1505:38:0;;;;;;;:::i;:::-;7537:7:::1;:15:::0;;-1:-1:-1;;7537:15:0::1;::::0;;7484:76::o;470:192::-;556:7;592:12;584:6;;;;576:29;;;;-1:-1:-1;;;576:29:0;;;;;;;;:::i;:::-;-1:-1:-1;616:9:0;628:5;632:1;628;:5;:::i;:::-;616:17;470:192;-1:-1:-1;;;;;470:192:0:o;5495:1105::-;5587:4;1652:5;;-1:-1:-1;;;;;1641:16:0;;;1652:5;;1641:16;5609;:27;;;;-1:-1:-1;5629:7:0;;;;5609:27;5606:427;;;5665:4;;-1:-1:-1;;;;;5655:14:0;;;5665:4;;5655:14;5652:208;;;-1:-1:-1;;;;;5692:19:0;;;;;;:8;:19;;;;;;5689:105;;-1:-1:-1;;;;;5740:19:0;;;;;;:8;:19;;;;;5762:12;5740:34;;5689:105;5812:32;5829:9;5839:4;5812:16;:32::i;:::-;-1:-1:-1;;;;;5879:16:0;;5898:1;5879:16;;;:8;:16;;;;;;:20;5876:146;;5948:17;5963:2;5948:12;:17;:::i;:::-;-1:-1:-1;;;;;5928:16:0;;;;;;:8;:16;;;;;;:38;5919:87;;;;-1:-1:-1;;;5919:87:0;;6509:2:1;5919:87:0;;;6491:21:1;6548:2;6528:18;;;6521:30;6587:34;6567:18;;;6560:62;-1:-1:-1;;;6638:18:1;;;6631:33;6681:19;;5919:87:0;6307:399:1;5919:87:0;6056:13;;;;:25;;;;-1:-1:-1;6074:7:0;;;;6073:8;6056:25;6053:105;;;-1:-1:-1;;;;;6106:21:0;;;;;;:13;:21;;;;;;;;6105:22;6097:45;;;;-1:-1:-1;;;6097:45:0;;6913:2:1;6097:45:0;;;6895:21:1;6952:2;6932:18;;;6925:30;-1:-1:-1;;;6971:18:1;;;6964:41;7022:18;;6097:45:0;6711:335:1;6097:45:0;1617:4;1652:5;-1:-1:-1;;;;;1641:16:0;;;1652:5;;1641:16;6174;:48;;;;-1:-1:-1;;;;;;6195:27:0;;;;;;:19;:27;;;;;;;;6194:28;6174:48;:83;;;;-1:-1:-1;;;;;;6227:30:0;;;;;;:19;:30;;;;;;;;6226:31;6174:83;:104;;;;-1:-1:-1;6274:4:0;;-1:-1:-1;;;;;6261:17:0;;;6274:4;;6261:17;;6174:104;6170:223;;;6338:15;;-1:-1:-1;;;;;6304:20:0;;;;;;:9;:20;;;;;;:29;;6327:6;;6304:29;:::i;:::-;6303:50;;6295:86;;;;-1:-1:-1;;;6295:86:0;;7386:2:1;6295:86:0;;;7368:21:1;7425:2;7405:18;;;7398:30;7464:26;7444:18;;;7437:54;7508:18;;6295:86:0;7184:348:1;6295:86:0;6424:12;;6414:6;:22;;6413:51;;;-1:-1:-1;;;;;;6441:23:0;;;;;;:15;:23;;;;;;;;6413:51;:81;;;-1:-1:-1;;;;;;6468:26:0;;;;;;:15;:26;;;;;;;;6413:81;6405:111;;;;-1:-1:-1;;;6405:111:0;;7739:2:1;6405:111:0;;;7721:21:1;7778:2;7758:18;;;7751:30;-1:-1:-1;;;7797:18:1;;;7790:47;7854:18;;6405:111:0;7537:341:1;6405:111:0;6529:41;6544:6;6552:9;6563:6;6529:14;:41::i;:::-;-1:-1:-1;6588:4:0;;5495:1105;-1:-1:-1;;;;5495:1105:0:o;328:136::-;386:7;413:43;417:1;420;413:43;;;;;;;;;;;;;;;;;:3;:43::i;7286:190::-;7363:7;:32;;;;-1:-1:-1;;;;;;7374:21:0;;7390:4;7374:21;7363:32;7360:69;;;7286:190;;:::o;7360:69::-;-1:-1:-1;;;;;7439:19:0;;;;;;;;:13;:19;;;;;:29;;-1:-1:-1;;7439:29:0;;;;;;;;;;7286:190::o;6612:327::-;6742:53;;;;;;;;;;;-1:-1:-1;;;6742:53:0;;;;;;;;-1:-1:-1;;;;;6742:17:0;;6705:4;6742:17;;;:9;:17;;;;;;;:53;;6764:6;;6742:21;:53::i;:::-;-1:-1:-1;;;;;6722:17:0;;;;;;;:9;:17;;;;;;:73;;;;6829:20;;;;;;;:29;;6852:6;;6829:29;:::i;:::-;-1:-1:-1;;;;;6806:20:0;;;;;;;:9;:20;;;;;;;:52;;;;6874:35;;;;;;;;;;6902:6;1741:25:1;;1729:2;1714:18;;1595:177;6874:35:0;;;;;;;;-1:-1:-1;6927:4:0;6612:327;;;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:180::-;235:6;288:2;276:9;267:7;263:23;259:32;256:52;;;304:1;301;294:12;256:52;327:26;343:9;327:26;:::i;364:597::-;476:4;505:2;534;523:9;516:21;566:6;560:13;609:6;604:2;593:9;589:18;582:34;634:1;644:140;658:6;655:1;652:13;644:140;;;753:14;;;749:23;;743:30;719:17;;;738:2;715:26;708:66;673:10;;644:140;;;802:6;799:1;796:13;793:91;;;872:1;867:2;858:6;847:9;843:22;839:31;832:42;793:91;-1:-1:-1;945:2:1;924:15;-1:-1:-1;;920:29:1;905:45;;;;952:2;901:54;;364:597;-1:-1:-1;;;364:597:1:o;966:173::-;1034:20;;-1:-1:-1;;;;;1083:31:1;;1073:42;;1063:70;;1129:1;1126;1119:12;1144:254;1212:6;1220;1273:2;1261:9;1252:7;1248:23;1244:32;1241:52;;;1289:1;1286;1279:12;1241:52;1312:29;1331:9;1312:29;:::i;:::-;1302:39;1388:2;1373:18;;;;1360:32;;-1:-1:-1;;;1144:254:1:o;1777:328::-;1854:6;1862;1870;1923:2;1911:9;1902:7;1898:23;1894:32;1891:52;;;1939:1;1936;1929:12;1891:52;1962:29;1981:9;1962:29;:::i;:::-;1952:39;;2010:38;2044:2;2033:9;2029:18;2010:38;:::i;:::-;2000:48;;2095:2;2084:9;2080:18;2067:32;2057:42;;1777:328;;;;;:::o;2110:186::-;2169:6;2222:2;2210:9;2201:7;2197:23;2193:32;2190:52;;;2238:1;2235;2228:12;2190:52;2261:29;2280:9;2261:29;:::i;2698:689::-;2790:6;2798;2806;2859:2;2847:9;2838:7;2834:23;2830:32;2827:52;;;2875:1;2872;2865:12;2827:52;2915:9;2902:23;2944:18;2985:2;2977:6;2974:14;2971:34;;;3001:1;2998;2991:12;2971:34;3039:6;3028:9;3024:22;3014:32;;3084:7;3077:4;3073:2;3069:13;3065:27;3055:55;;3106:1;3103;3096:12;3055:55;3146:2;3133:16;3172:2;3164:6;3161:14;3158:34;;;3188:1;3185;3178:12;3158:34;3243:7;3236:4;3226:6;3223:1;3219:14;3215:2;3211:23;3207:34;3204:47;3201:67;;;3264:1;3261;3254:12;3201:67;3295:4;3287:13;;;;-1:-1:-1;3319:6:1;-1:-1:-1;3344:37:1;;3360:20;;;-1:-1:-1;3344:37:1;:::i;:::-;3334:47;;2698:689;;;;;:::o;3392:260::-;3460:6;3468;3521:2;3509:9;3500:7;3496:23;3492:32;3489:52;;;3537:1;3534;3527:12;3489:52;3560:29;3579:9;3560:29;:::i;:::-;3550:39;;3608:38;3642:2;3631:9;3627:18;3608:38;:::i;:::-;3598:48;;3392:260;;;;;:::o;3883:329::-;4085:2;4067:21;;;4124:1;4104:18;;;4097:29;-1:-1:-1;;;4157:2:1;4142:18;;4135:36;4203:2;4188:18;;3883:329::o;4217:127::-;4278:10;4273:3;4269:20;4266:1;4259:31;4309:4;4306:1;4299:15;4333:4;4330:1;4323:15;4349:422;4438:1;4481:5;4438:1;4495:270;4516:7;4506:8;4503:21;4495:270;;;4575:4;4571:1;4567:6;4563:17;4557:4;4554:27;4551:53;;;4584:18;;:::i;:::-;4634:7;4624:8;4620:22;4617:55;;;4654:16;;;;4617:55;4733:22;;;;4693:15;;;;4495:270;;;4499:3;4349:422;;;;;:::o;4776:806::-;4825:5;4855:8;4845:80;;-1:-1:-1;4896:1:1;4910:5;;4845:80;4944:4;4934:76;;-1:-1:-1;4981:1:1;4995:5;;4934:76;5026:4;5044:1;5039:59;;;;5112:1;5107:130;;;;5019:218;;5039:59;5069:1;5060:10;;5083:5;;;5107:130;5144:3;5134:8;5131:17;5128:43;;;5151:18;;:::i;:::-;-1:-1:-1;;5207:1:1;5193:16;;5222:5;;5019:218;;5321:2;5311:8;5308:16;5302:3;5296:4;5293:13;5289:36;5283:2;5273:8;5270:16;5265:2;5259:4;5256:12;5252:35;5249:77;5246:159;;;-1:-1:-1;5358:19:1;;;5390:5;;5246:159;5437:34;5462:8;5456:4;5437:34;:::i;:::-;5507:6;5503:1;5499:6;5495:19;5486:7;5483:32;5480:58;;;5518:18;;:::i;:::-;5556:20;;4776:806;-1:-1:-1;;;4776:806:1:o;5587:140::-;5645:5;5674:47;5715:4;5705:8;5701:19;5695:4;5674:47;:::i;5732:168::-;5772:7;5838:1;5834;5830:6;5826:14;5823:1;5820:21;5815:1;5808:9;5801:17;5797:45;5794:71;;;5845:18;;:::i;:::-;-1:-1:-1;5885:9:1;;5732:168::o;5905:127::-;5966:10;5961:3;5957:20;5954:1;5947:31;5997:4;5994:1;5987:15;6021:4;6018:1;6011:15;6037:135;6076:3;-1:-1:-1;;6097:17:1;;6094:43;;;6117:18;;:::i;:::-;-1:-1:-1;6164:1:1;6153:13;;6037:135::o;6177:125::-;6217:4;6245:1;6242;6239:8;6236:34;;;6250:18;;:::i;:::-;-1:-1:-1;6287:9:1;;6177:125::o;7051:128::-;7091:3;7122:1;7118:6;7115:1;7112:13;7109:39;;;7128:18;;:::i;:::-;-1:-1:-1;7164:9:1;;7051:128::o

Swarm Source

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