ETH Price: $2,318.63 (+0.38%)

Token

Hello Hong Kong (HHK)
 

Overview

Max Total Supply

1,400,000,000 HHK

Holders

74

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 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:
ERC20

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 2023-06-20
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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 IUniswapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

abstract contract Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

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

contract ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _totalSupply;

    IUniswapRouter public _uniswapRouter;

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 4;
    uint256 public _sellFundFee = 4;

    address public _uniswapPair;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (){
        _name = "Hello Hong Kong";
        _symbol = "HHK";
        _decimals = 18;
        uint256 Supply = 1400000000;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());
        _uniswapPair = swapPair;
        isMarketPair[swapPair] = true;

        _totalSupply = Supply * 10 ** _decimals;

        address receiveAddr = 0xc8e4f9A57fad498C1A73a7437e80a397686148C3;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        fundAddress = 0x16A61cd19750430F65d46e8653C06555B361AcC9;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[fundAddress] = true;
    }

    function setFundAddr(address newAddr) public onlyOwner{
        fundAddress = newAddr;
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function DesignBuy(uint256 newFundFee) public onlyOwner{
        _buyFundFee = newFundFee;
    }

    function DesignSell(uint256 newFundFee) public onlyOwner{
        _sellFundFee = newFundFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    mapping(address => bool) public _observe;
    function addOB(address account) public onlyOwner{
        _observe[account] = true;
    }

    function delOB(address account) public onlyOwner{
        _observe[account] = false;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "not Enough");

        bool takeFee;
        bool sellFlag;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 numTokensSellToFund = amount;
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund);
            }
        }

        require(!_observe[from],"observe");

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            takeFee = true;
        }

        if (isMarketPair[to]) { sellFlag = true; }

        _transferToken(from, to, amount, takeFee, sellFlag);
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool sellFlag
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFundFee;
            } else {
                taxFee = _buyFundFee;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }

    event failedSwap();

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(fundAddress),
            block.timestamp
        ) {} catch { emit failedSwap(); }

    }

    function setIsExcludeFromFees(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    receive() external payable {}
}

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"},{"anonymous":false,"inputs":[],"name":"failedSwap","type":"event"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"}],"name":"DesignBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"}],"name":"DesignSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_observe","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addOB","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"delOB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"},{"stateMutability":"payable","type":"receive"}]

60806040526004600c556004600d553480156200001b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600f81526e48656c6c6f20486f6e67204b6f6e6760881b60208201526004906200009290826200047f565b5060408051808201909152600381526248484b60e81b6020820152600590620000bc90826200047f565b506006805460ff19166012179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b815290516353724e00949392849263c45a015592600480830193928290030181865afa15801562000151573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017791906200054b565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f091906200054b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200023e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026491906200054b565b600e80546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002b39160ff169062000692565b620002bf9085620006a3565b600881905573c8e4f9a57fad498c1a73a7437e80a397686148c36000818152600160209081527fe7964002481304e0a7625c2d3c06f6de8670ff1c8d89746a0788554b29221e5e849055604051938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319167316a61cd19750430f65d46e8653c06555b361acc917815530600090815260076020526040808220805460ff1990811660019081179092556001600160a01b03988916845282842080548216831790553384528284208054821683179055948816835281832080548616821790559254909616815294909420805490911690931790925550620006bd915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200040557607f821691505b6020821081036200042657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200047a57600081815260208120601f850160051c81016020861015620004555750805b601f850160051c820191505b81811015620004765782815560010162000461565b5050505b505050565b81516001600160401b038111156200049b576200049b620003da565b620004b381620004ac8454620003f0565b846200042c565b602080601f831160018114620004eb5760008415620004d25750858301515b600019600386901b1c1916600185901b17855562000476565b600085815260208120601f198616915b828110156200051c57888601518255948401946001909101908401620004fb565b50858210156200053b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200055e57600080fd5b81516001600160a01b03811681146200057657600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005d4578160001904821115620005b857620005b86200057d565b80851615620005c657918102915b93841c939080029062000598565b509250929050565b600082620005ed575060016200068c565b81620005fc575060006200068c565b8160018114620006155760028114620006205762000640565b60019150506200068c565b60ff8411156200063457620006346200057d565b50506001821b6200068c565b5060208310610133831016604e8410600b841016171562000665575081810a6200068c565b62000671838362000593565b80600019048211156200068857620006886200057d565b0290505b92915050565b60006200057660ff841683620005dc565b80820281158282048414176200068c576200068c6200057d565b61121480620006cd6000396000f3fe6080604052600436106101855760003560e01c80636f39cfcd116100d157806395d89b411161008a578063ce0192f911610064578063ce0192f9146104ab578063dd62ed3e146104c1578063e82bef2914610507578063f2fde38b1461052757600080fd5b806395d89b4114610456578063a9059cbb1461046b578063ccc45faa1461048b57600080fd5b80636f39cfcd1461038d57806370a08231146103ad578063715018a6146103e3578063863587cd146103f85780638b00efae146104185780638da5cb5b1461043857600080fd5b806336b2e0271161013e57806349a7fe2b1161011857806349a7fe2b146102e55780634b1abf6f146103055780634bf28fd01461033557806365b61b771461036d57600080fd5b806336b2e0271461026f5780633bfe62ca1461029f5780633ecad271146102b557600080fd5b806306fdde0314610191578063095ea7b3146101bc5780630f48f2c9146101ec57806318160ddd1461020e57806323b872dd1461022d578063313ce5671461024d57600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610547565b6040516101b39190610ee4565b60405180910390f35b3480156101c857600080fd5b506101dc6101d7366004610f4a565b6105d9565b60405190151581526020016101b3565b3480156101f857600080fd5b5061020c610207366004610f76565b6105f0565b005b34801561021a57600080fd5b506008545b6040519081526020016101b3565b34801561023957600080fd5b506101dc610248366004610f8f565b610628565b34801561025957600080fd5b5060065460405160ff90911681526020016101b3565b34801561027b57600080fd5b506101dc61028a366004610fd0565b60076020526000908152604090205460ff1681565b3480156102ab57600080fd5b5061021f600d5481565b3480156102c157600080fd5b506101dc6102d0366004610fd0565b600a6020526000908152604090205460ff1681565b3480156102f157600080fd5b5061020c610300366004610fd0565b6106bf565b34801561031157600080fd5b506101dc610320366004610fd0565b600f6020526000908152604090205460ff1681565b34801561034157600080fd5b50600e54610355906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561037957600080fd5b50600954610355906001600160a01b031681565b34801561039957600080fd5b5061020c6103a8366004610fd0565b61070d565b3480156103b957600080fd5b5061021f6103c8366004610fd0565b6001600160a01b031660009081526001602052604090205490565b3480156103ef57600080fd5b5061020c610759565b34801561040457600080fd5b5061020c610413366004610ff4565b6107cd565b34801561042457600080fd5b5061020c610433366004610f76565b610822565b34801561044457600080fd5b506000546001600160a01b0316610355565b34801561046257600080fd5b506101a6610851565b34801561047757600080fd5b506101dc610486366004610f4a565b610860565b34801561049757600080fd5b5061020c6104a6366004610fd0565b61086d565b3480156104b757600080fd5b5061021f600c5481565b3480156104cd57600080fd5b5061021f6104dc366004611032565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561051357600080fd5b50600354610355906001600160a01b031681565b34801561053357600080fd5b5061020c610542366004610fd0565b6108b8565b60606004805461055690611060565b80601f016020809104026020016040519081016040528092919081815260200182805461058290611060565b80156105cf5780601f106105a4576101008083540402835291602001916105cf565b820191906000526020600020905b8154815290600101906020018083116105b257829003601f168201915b5050505050905090565b60006105e633848461097e565b5060015b92915050565b6000546001600160a01b031633146106235760405162461bcd60e51b815260040161061a9061109a565b60405180910390fd5b600c55565b60006106358484846109df565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106b5576001600160a01b03841660009081526002602090815260408083203384529091529020546106909083906110db565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106e95760405162461bcd60e51b815260040161061a9061109a565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b031633146107375760405162461bcd60e51b815260040161061a9061109a565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107835760405162461bcd60e51b815260040161061a9061109a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107f75760405162461bcd60e51b815260040161061a9061109a565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461084c5760405162461bcd60e51b815260040161061a9061109a565b600d55565b60606005805461055690611060565b60006105e63384846109df565b6000546001600160a01b031633146108975760405162461bcd60e51b815260040161061a9061109a565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b031633146108e25760405162461bcd60e51b815260040161061a9061109a565b6001600160a01b0381166109235760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161061a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a355760405162461bcd60e51b815260206004820152600a6024820152690dcdee8408adcdeeaced60b31b604482015260640161061a565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610a625750600b5460ff16155b8015610a8757506001600160a01b03861660009081526007602052604090205460ff16155b8015610aac57506001600160a01b03851660009081526007602052604090205460ff16155b15610ae657306000908152600160205260409020548015610ae45784818111610ad55780610ad7565b815b9050610ae281610bce565b505b505b6001600160a01b0386166000908152600f602052604090205460ff1615610b395760405162461bcd60e51b81526020600482015260076024820152666f62736572766560c81b604482015260640161061a565b6001600160a01b03861660009081526007602052604090205460ff16158015610b7b57506001600160a01b03851660009081526007602052604090205460ff16155b8015610b8a5750600b5460ff16155b15610b9457600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610bb9575060015b610bc68686868585610d53565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610c1057610c106110ee565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d9190611104565b81600181518110610ca057610ca06110ee565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610cec9287926000928892909116904290600401611121565b600060405180830381600087803b158015610d0657600080fd5b505af1925050508015610d17575060015b610d45576040517f3f137daf6f127d001c06182356a7c26092e007a4f790fbdd6737c373a6bd4c1f90600090a15b5050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610d779084906110db565b6001600160a01b0386166000908152600160205260408120919091558215610e545760008215610daa5750600d54610daf565b50600c545b60006064610dbd8388611192565b610dc791906111a9565b90508015610e5157610dd981846111cb565b30600090815260016020526040902054909350610df79082906111cb565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e489085815260200190565b60405180910390a35b50505b610e5e81856110db565b6001600160a01b038616600090815260016020526040902054610e8191906111cb565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ecb84886110db565b60405190815260200160405180910390a3505050505050565b600060208083528351808285015260005b81811015610f1157858101830151858201604001528201610ef5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f4757600080fd5b50565b60008060408385031215610f5d57600080fd5b8235610f6881610f32565b946020939093013593505050565b600060208284031215610f8857600080fd5b5035919050565b600080600060608486031215610fa457600080fd5b8335610faf81610f32565b92506020840135610fbf81610f32565b929592945050506040919091013590565b600060208284031215610fe257600080fd5b8135610fed81610f32565b9392505050565b6000806040838503121561100757600080fd5b823561101281610f32565b91506020830135801515811461102757600080fd5b809150509250929050565b6000806040838503121561104557600080fd5b823561105081610f32565b9150602083013561102781610f32565b600181811c9082168061107457607f821691505b60208210810361109457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105ea576105ea6110c5565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561111657600080fd5b8151610fed81610f32565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111715784516001600160a01b03168352938301939183019160010161114c565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176105ea576105ea6110c5565b6000826111c657634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105ea576105ea6110c556fea26469706673582212204481ef6de3305a245855cdafeffd7798a655de72a8cb4592bbfc81af2e39b8ae64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101855760003560e01c80636f39cfcd116100d157806395d89b411161008a578063ce0192f911610064578063ce0192f9146104ab578063dd62ed3e146104c1578063e82bef2914610507578063f2fde38b1461052757600080fd5b806395d89b4114610456578063a9059cbb1461046b578063ccc45faa1461048b57600080fd5b80636f39cfcd1461038d57806370a08231146103ad578063715018a6146103e3578063863587cd146103f85780638b00efae146104185780638da5cb5b1461043857600080fd5b806336b2e0271161013e57806349a7fe2b1161011857806349a7fe2b146102e55780634b1abf6f146103055780634bf28fd01461033557806365b61b771461036d57600080fd5b806336b2e0271461026f5780633bfe62ca1461029f5780633ecad271146102b557600080fd5b806306fdde0314610191578063095ea7b3146101bc5780630f48f2c9146101ec57806318160ddd1461020e57806323b872dd1461022d578063313ce5671461024d57600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610547565b6040516101b39190610ee4565b60405180910390f35b3480156101c857600080fd5b506101dc6101d7366004610f4a565b6105d9565b60405190151581526020016101b3565b3480156101f857600080fd5b5061020c610207366004610f76565b6105f0565b005b34801561021a57600080fd5b506008545b6040519081526020016101b3565b34801561023957600080fd5b506101dc610248366004610f8f565b610628565b34801561025957600080fd5b5060065460405160ff90911681526020016101b3565b34801561027b57600080fd5b506101dc61028a366004610fd0565b60076020526000908152604090205460ff1681565b3480156102ab57600080fd5b5061021f600d5481565b3480156102c157600080fd5b506101dc6102d0366004610fd0565b600a6020526000908152604090205460ff1681565b3480156102f157600080fd5b5061020c610300366004610fd0565b6106bf565b34801561031157600080fd5b506101dc610320366004610fd0565b600f6020526000908152604090205460ff1681565b34801561034157600080fd5b50600e54610355906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561037957600080fd5b50600954610355906001600160a01b031681565b34801561039957600080fd5b5061020c6103a8366004610fd0565b61070d565b3480156103b957600080fd5b5061021f6103c8366004610fd0565b6001600160a01b031660009081526001602052604090205490565b3480156103ef57600080fd5b5061020c610759565b34801561040457600080fd5b5061020c610413366004610ff4565b6107cd565b34801561042457600080fd5b5061020c610433366004610f76565b610822565b34801561044457600080fd5b506000546001600160a01b0316610355565b34801561046257600080fd5b506101a6610851565b34801561047757600080fd5b506101dc610486366004610f4a565b610860565b34801561049757600080fd5b5061020c6104a6366004610fd0565b61086d565b3480156104b757600080fd5b5061021f600c5481565b3480156104cd57600080fd5b5061021f6104dc366004611032565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561051357600080fd5b50600354610355906001600160a01b031681565b34801561053357600080fd5b5061020c610542366004610fd0565b6108b8565b60606004805461055690611060565b80601f016020809104026020016040519081016040528092919081815260200182805461058290611060565b80156105cf5780601f106105a4576101008083540402835291602001916105cf565b820191906000526020600020905b8154815290600101906020018083116105b257829003601f168201915b5050505050905090565b60006105e633848461097e565b5060015b92915050565b6000546001600160a01b031633146106235760405162461bcd60e51b815260040161061a9061109a565b60405180910390fd5b600c55565b60006106358484846109df565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106b5576001600160a01b03841660009081526002602090815260408083203384529091529020546106909083906110db565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106e95760405162461bcd60e51b815260040161061a9061109a565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b031633146107375760405162461bcd60e51b815260040161061a9061109a565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107835760405162461bcd60e51b815260040161061a9061109a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107f75760405162461bcd60e51b815260040161061a9061109a565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461084c5760405162461bcd60e51b815260040161061a9061109a565b600d55565b60606005805461055690611060565b60006105e63384846109df565b6000546001600160a01b031633146108975760405162461bcd60e51b815260040161061a9061109a565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b031633146108e25760405162461bcd60e51b815260040161061a9061109a565b6001600160a01b0381166109235760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161061a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a355760405162461bcd60e51b815260206004820152600a6024820152690dcdee8408adcdeeaced60b31b604482015260640161061a565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610a625750600b5460ff16155b8015610a8757506001600160a01b03861660009081526007602052604090205460ff16155b8015610aac57506001600160a01b03851660009081526007602052604090205460ff16155b15610ae657306000908152600160205260409020548015610ae45784818111610ad55780610ad7565b815b9050610ae281610bce565b505b505b6001600160a01b0386166000908152600f602052604090205460ff1615610b395760405162461bcd60e51b81526020600482015260076024820152666f62736572766560c81b604482015260640161061a565b6001600160a01b03861660009081526007602052604090205460ff16158015610b7b57506001600160a01b03851660009081526007602052604090205460ff16155b8015610b8a5750600b5460ff16155b15610b9457600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610bb9575060015b610bc68686868585610d53565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610c1057610c106110ee565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d9190611104565b81600181518110610ca057610ca06110ee565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610cec9287926000928892909116904290600401611121565b600060405180830381600087803b158015610d0657600080fd5b505af1925050508015610d17575060015b610d45576040517f3f137daf6f127d001c06182356a7c26092e007a4f790fbdd6737c373a6bd4c1f90600090a15b5050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610d779084906110db565b6001600160a01b0386166000908152600160205260408120919091558215610e545760008215610daa5750600d54610daf565b50600c545b60006064610dbd8388611192565b610dc791906111a9565b90508015610e5157610dd981846111cb565b30600090815260016020526040902054909350610df79082906111cb565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e489085815260200190565b60405180910390a35b50505b610e5e81856110db565b6001600160a01b038616600090815260016020526040902054610e8191906111cb565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ecb84886110db565b60405190815260200160405180910390a3505050505050565b600060208083528351808285015260005b81811015610f1157858101830151858201604001528201610ef5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f4757600080fd5b50565b60008060408385031215610f5d57600080fd5b8235610f6881610f32565b946020939093013593505050565b600060208284031215610f8857600080fd5b5035919050565b600080600060608486031215610fa457600080fd5b8335610faf81610f32565b92506020840135610fbf81610f32565b929592945050506040919091013590565b600060208284031215610fe257600080fd5b8135610fed81610f32565b9392505050565b6000806040838503121561100757600080fd5b823561101281610f32565b91506020830135801515811461102757600080fd5b809150509250929050565b6000806040838503121561104557600080fd5b823561105081610f32565b9150602083013561102781610f32565b600181811c9082168061107457607f821691505b60208210810361109457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105ea576105ea6110c5565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561111657600080fd5b8151610fed81610f32565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111715784516001600160a01b03168352938301939183019160010161114c565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176105ea576105ea6110c5565b6000826111c657634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105ea576105ea6110c556fea26469706673582212204481ef6de3305a245855cdafeffd7798a655de72a8cb4592bbfc81af2e39b8ae64736f6c63430008110033

Deployed Bytecode Sourcemap

2293:6743:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4436:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5199:159;;;;;;;;;;-1:-1:-1;5199:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5199:159:0;1023:187:1;5710:98:0;;;;;;;;;;-1:-1:-1;5710:98:0;;;;;:::i;:::-;;:::i;:::-;;4640:100;;;;;;;;;;-1:-1:-1;4720:12:0;;4640:100;;;1546:25:1;;;1534:2;1519:18;4640:100:0;1400:177:1;5366:336:0;;;;;;;;;;-1:-1:-1;5366:336:0;;;;;:::i;:::-;;:::i;4538:94::-;;;;;;;;;;-1:-1:-1;4615:9:0;;4538:94;;4615:9;;;;2185:36:1;;2173:2;2158:18;4538:94:0;2043:184:1;2585:49:0;;;;;;;;;;-1:-1:-1;2585:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2896:31;;;;;;;;;;;;;;;;2729:44;;;;;;;;;;-1:-1:-1;2729:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6156:91;;;;;;;;;;-1:-1:-1;6156:91:0;;;;;:::i;:::-;;:::i;6109:40::-;;;;;;;;;;-1:-1:-1;6109:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2936:27;;;;;;;;;;-1:-1:-1;2936:27:0;;;;-1:-1:-1;;;;;2936:27:0;;;;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;2936:27:0;2484:203:1;2684:36:0;;;;;;;;;;-1:-1:-1;2684:36:0;;;;-1:-1:-1;;;;;2684:36:0;;;4228:94;;;;;;;;;;-1:-1:-1;4228:94:0;;;;;:::i;:::-;;:::i;4748:119::-;;;;;;;;;;-1:-1:-1;4748:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4841:18:0;4814:7;4841:18;;;:9;:18;;;;;;;4748:119;1916:148;;;;;;;;;;;;;:::i;8868:128::-;;;;;;;;;;-1:-1:-1;8868:128:0;;;;;:::i;:::-;;:::i;5816:100::-;;;;;;;;;;-1:-1:-1;5816:100:0;;;;;:::i;:::-;;:::i;1719:79::-;;;;;;;;;;-1:-1:-1;1757:7:0;1784:6;-1:-1:-1;;;;;1784:6:0;1719:79;;4330:98;;;;;;;;;;;;;:::i;4875:165::-;;;;;;;;;;-1:-1:-1;4875:165:0;;;;;:::i;:::-;;:::i;6255:92::-;;;;;;;;;;-1:-1:-1;6255:92:0;;;;;:::i;:::-;;:::i;2859:30::-;;;;;;;;;;;;;;;;5048:143;;;;;;;;;;-1:-1:-1;5048:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5156:18:0;;;5129:7;5156:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5048:143;2462:26;;;;;;;;;;-1:-1:-1;2462:26:0;;;;-1:-1:-1;;;;;2462:26:0;;;2072:214;;;;;;;;;;-1:-1:-1;2072:214:0;;;;;:::i;:::-;;:::i;4436:94::-;4484:13;4517:5;4510:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4436:94;:::o;5199:159::-;5274:4;5291:37;5300:10;5312:7;5321:6;5291:8;:37::i;:::-;-1:-1:-1;5346:4:0;5199:159;;;;;:::o;5710:98::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;;;;;;;;;5776:11:::1;:24:::0;5710:98::o;5366:336::-;5464:4;5481:36;5491:6;5499:9;5510:6;5481:9;:36::i;:::-;-1:-1:-1;;;;;5532:19:0;;2848:1;5532:19;;;:11;:19;;;;;;;;5552:10;5532:31;;;;;;;;-1:-1:-1;;5532:38:0;5528:145;;-1:-1:-1;;;;;5621:19:0;;;;;;:11;:19;;;;;;;;5641:10;5621:31;;;;;;;;:40;;5655:6;;5621:40;:::i;:::-;-1:-1:-1;;;;;5587:19:0;;;;;;:11;:19;;;;;;;;5607:10;5587:31;;;;;;;:74;5528:145;-1:-1:-1;5690:4:0;5366:336;;;;;:::o;6156:91::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6215:17:0::1;;::::0;;;:8:::1;:17;::::0;;;;:24;;-1:-1:-1;;6215:24:0::1;6235:4;6215:24;::::0;;6156:91::o;4228:94::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;4293:11:::1;:21:::0;;-1:-1:-1;;;;;;4293:21:0::1;-1:-1:-1::0;;;;;4293:21:0;;;::::1;::::0;;;::::1;::::0;;4228:94::o;1916:148::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;2023:1:::1;2007:6:::0;;1986:40:::1;::::0;-1:-1:-1;;;;;2007:6:0;;::::1;::::0;1986:40:::1;::::0;2023:1;;1986:40:::1;2054:1;2037:19:::0;;-1:-1:-1;;;;;;2037:19:0::1;::::0;;1916:148::o;8868:128::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8954:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;8954:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8868:128::o;5816:100::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;5883:12:::1;:25:::0;5816:100::o;4330:98::-;4380:13;4413:7;4406:14;;;;;:::i;4875:165::-;4953:4;4970:40;4980:10;4992:9;5003:6;4970:9;:40::i;6255:92::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6314:17:0::1;6334:5;6314:17:::0;;;:8:::1;:17;::::0;;;;:25;;-1:-1:-1;;6314:25:0::1;::::0;;6255:92::o;2072:214::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2161:22:0;::::1;2153:43;;;::::0;-1:-1:-1;;;2153:43:0;;4934:2:1;2153:43:0::1;::::0;::::1;4916:21:1::0;4973:1;4953:18;;;4946:29;-1:-1:-1;;;4991:18:1;;;4984:38;5039:18;;2153:43:0::1;4732:331:1::0;2153:43:0::1;2233:6;::::0;;2212:38:::1;::::0;-1:-1:-1;;;;;2212:38:0;;::::1;::::0;2233:6;::::1;::::0;2212:38:::1;::::0;::::1;2261:6;:17:::0;;-1:-1:-1;;;;;;2261:17:0::1;-1:-1:-1::0;;;;;2261:17:0;;;::::1;::::0;;;::::1;::::0;;2072:214::o;5924:177::-;-1:-1:-1;;;;;6009:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6061:32;;1546:25:1;;;6061:32:0;;1519:18:1;6061:32:0;;;;;;;5924:177;;;:::o;6355:1079::-;-1:-1:-1;;;;;4841:18:0;;6469:15;4841:18;;;:9;:18;;;;;;6521:17;;;;6513:40;;;;-1:-1:-1;;;6513:40:0;;5270:2:1;6513:40:0;;;5252:21:1;5309:2;5289:18;;;5282:30;-1:-1:-1;;;5328:18:1;;;5321:40;5378:18;;6513:40:0;5068:334:1;6513:40:0;-1:-1:-1;;;;;6619:16:0;;6566:12;6619:16;;;:12;:16;;;;;;6566:12;;6619:16;;:27;;;;-1:-1:-1;6640:6:0;;;;6639:7;6619:27;:55;;;;-1:-1:-1;;;;;;6651:23:0;;;;;;:17;:23;;;;;;;;6650:24;6619:55;:81;;;;-1:-1:-1;;;;;;6679:21:0;;;;;;:17;:21;;;;;;;;6678:22;6619:81;6615:527;;;6766:4;6717:28;4841:18;;;:9;:18;;;;;;6791:24;;6787:344;;6866:6;6913:42;;;:147;;7041:19;6913:147;;;7020:20;6913:147;6891:169;;7079:36;7095:19;7079:15;:36::i;:::-;6817:314;6787:344;6702:440;6615:527;-1:-1:-1;;;;;7163:14:0;;;;;;:8;:14;;;;;;;;7162:15;7154:34;;;;-1:-1:-1;;;7154:34:0;;5609:2:1;7154:34:0;;;5591:21:1;5648:1;5628:18;;;5621:29;-1:-1:-1;;;5666:18:1;;;5659:37;5713:18;;7154:34:0;5407:330:1;7154:34:0;-1:-1:-1;;;;;7206:23:0;;;;;;:17;:23;;;;;;;;7205:24;:50;;;;-1:-1:-1;;;;;;7234:21:0;;;;;;:17;:21;;;;;;;;7233:22;7205:50;:61;;;;-1:-1:-1;7260:6:0;;;;7259:7;7205:61;7201:108;;;7293:4;7283:14;;7201:108;-1:-1:-1;;;;;7325:16:0;;;;;;:12;:16;;;;;;;;7321:42;;;-1:-1:-1;7356:4:0;7321:42;7375:51;7390:4;7396:2;7400:6;7408:7;7417:8;7375:14;:51::i;:::-;6458:976;;;6355:1079;;;:::o;8409:451::-;3004:6;:13;;-1:-1:-1;;3004:13:0;3013:4;3004:13;;;8510:16:::1;::::0;;8524:1:::1;8510:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8510:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8510:16:0::1;8486:40;;8555:4;8537;8542:1;8537:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8537:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8581:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;8581:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;8537:7;;8581:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8571:4;8576:1;8571:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8571:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;8617:14:::1;::::0;8766:11:::1;::::0;8617:202:::1;::::0;-1:-1:-1;;;8617:202:0;;:14;;::::1;::::0;:65:::1;::::0;:202:::1;::::0;8697:11;;8617:14:::1;::::0;8739:4;;8766:11;;::::1;::::0;8793:15:::1;::::0;8617:202:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8613:238;;8836:12;::::0;::::1;::::0;;;::::1;8613:238;-1:-1:-1::0;;3040:6:0;:14;;-1:-1:-1;;3040:14:0;;;8409:451::o;7442:932::-;-1:-1:-1;;;;;7638:17:0;;;;;;:9;:17;;;;;;:27;;7658:7;;7638:27;:::i;:::-;-1:-1:-1;;;;;7618:17:0;;;;;;:9;:17;;;;;:47;;;;7706:515;;;;7748:14;7783:8;7779:131;;;-1:-1:-1;7821:12:0;;7779:131;;;-1:-1:-1;7883:11:0;;7779:131;7924:18;7964:3;7945:16;7955:6;7945:7;:16;:::i;:::-;:22;;;;:::i;:::-;7924:43;-1:-1:-1;7986:14:0;;7982:228;;8021:23;8034:10;8021:23;;:::i;:::-;8108:4;8090:24;;;;:9;:24;;;;;;8021:23;;-1:-1:-1;8090:37:0;;8117:10;;8090:37;:::i;:::-;8081:4;8063:24;;;;:9;:24;;;;;;;:64;;;;8151:43;;-1:-1:-1;;;;;8151:43:0;;;;;;;8183:10;1546:25:1;;1534:2;1519:18;;1400:177;8151:43:0;;;;;;;;7982:228;7719:502;;7706:515;8280:19;8290:9;8280:7;:19;:::i;:::-;-1:-1:-1;;;;;8256:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;8233:20:0;;;;;;;:9;:20;;;;;:67;;;;8316:48;;;8344:19;8354:9;8344:7;:19;:::i;:::-;8316:48;;1546:25:1;;;1534:2;1519:18;8316:48:0;;;;;;;7607:767;7442:932;;;;;:::o;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;1215:180::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;-1:-1:-1;1366:23:1;;1215:180;-1:-1:-1;1215:180:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;:::-;2468:5;2232:247;-1:-1:-1;;;2232:247:1:o;2922:416::-;2987:6;2995;3048:2;3036:9;3027:7;3023:23;3019:32;3016:52;;;3064:1;3061;3054:12;3016:52;3103:9;3090:23;3122:31;3147:5;3122:31;:::i;:::-;3172:5;-1:-1:-1;3229:2:1;3214:18;;3201:32;3271:15;;3264:23;3252:36;;3242:64;;3302:1;3299;3292:12;3242:64;3325:7;3315:17;;;2922:416;;;;;:::o;3343:388::-;3411:6;3419;3472:2;3460:9;3451:7;3447:23;3443:32;3440:52;;;3488:1;3485;3478:12;3440:52;3527:9;3514:23;3546:31;3571:5;3546:31;:::i;:::-;3596:5;-1:-1:-1;3653:2:1;3638:18;;3625:32;3666:33;3625:32;3666:33;:::i;3736:380::-;3815:1;3811:12;;;;3858;;;3879:61;;3933:4;3925:6;3921:17;3911:27;;3879:61;3986:2;3978:6;3975:14;3955:18;3952:38;3949:161;;4032:10;4027:3;4023:20;4020:1;4013:31;4067:4;4064:1;4057:15;4095:4;4092:1;4085:15;3949:161;;3736:380;;;:::o;4121:341::-;4323:2;4305:21;;;4362:2;4342:18;;;4335:30;-1:-1:-1;;;4396:2:1;4381:18;;4374:47;4453:2;4438:18;;4121:341::o;4467:127::-;4528:10;4523:3;4519:20;4516:1;4509:31;4559:4;4556:1;4549:15;4583:4;4580:1;4573:15;4599:128;4666:9;;;4687:11;;;4684:37;;;4701:18;;:::i;5874:127::-;5935:10;5930:3;5926:20;5923:1;5916:31;5966:4;5963:1;5956:15;5990:4;5987:1;5980:15;6006:251;6076:6;6129:2;6117:9;6108:7;6104:23;6100:32;6097:52;;;6145:1;6142;6135:12;6097:52;6177:9;6171:16;6196:31;6221:5;6196:31;:::i;6262:980::-;6524:4;6572:3;6561:9;6557:19;6603:6;6592:9;6585:25;6629:2;6667:6;6662:2;6651:9;6647:18;6640:34;6710:3;6705:2;6694:9;6690:18;6683:31;6734:6;6769;6763:13;6800:6;6792;6785:22;6838:3;6827:9;6823:19;6816:26;;6877:2;6869:6;6865:15;6851:29;;6898:1;6908:195;6922:6;6919:1;6916:13;6908:195;;;6987:13;;-1:-1:-1;;;;;6983:39:1;6971:52;;7078:15;;;;7043:12;;;;7019:1;6937:9;6908:195;;;-1:-1:-1;;;;;;;7159:32:1;;;;7154:2;7139:18;;7132:60;-1:-1:-1;;;7223:3:1;7208:19;7201:35;7120:3;6262:980;-1:-1:-1;;;6262:980:1:o;7247:168::-;7320:9;;;7351;;7368:15;;;7362:22;;7348:37;7338:71;;7389:18;;:::i;7420:217::-;7460:1;7486;7476:132;;7530:10;7525:3;7521:20;7518:1;7511:31;7565:4;7562:1;7555:15;7593:4;7590:1;7583:15;7476:132;-1:-1:-1;7622:9:1;;7420:217::o;7642:125::-;7707:9;;;7728:10;;;7725:36;;;7741:18;;:::i

Swarm Source

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