ETH Price: $3,444.74 (+3.45%)

Token

BLK2100 ($BLK)
 

Overview

Max Total Supply

21,000,000 $BLK

Holders

654

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
MetaMask: Swaps Spender
Balance
0 $BLK

Value
$0.00
0x74de5d4fcbf63e00296fd95d33236b9794016631
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:
BLK2100

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-11-08
*/

// SPDX-License-Identifier: MIT

/*
███████████  █████       █████   ████
░░███░░░░░███░░███       ░░███   ███░ 
 ░███    ░███ ░███        ░███  ███   
 ░██████████  ░███        ░███████    
 ░███░░░░░███ ░███        ░███░░███   
 ░███    ░███ ░███      █ ░███ ░░███  
 ███████████  ███████████ █████ ░░████
░░░░░░░░░░░  ░░░░░░░░░░░ ░░░░░   ░░░░ 
$BLK: 2100 crypto enthusiasts, united under a visionary CEO,
      pooled their sats to crown this the top crypto stock


$BLK = The ultimate stock for dedicated crypto enthusiasts

Socials: 

TG: https://t.me/BLK2100
X: https://x.com/BLK2100_
WEB: https://blk2100.com

*/

pragma solidity 0.8.23;

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

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

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

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

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

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

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

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

}

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

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

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

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

    function transferOwnership(address newOwner) public onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

}

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

interface IUniswapV2Router02 {
    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 BLK2100 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=22;
    uint256 private _initialSellTax=22;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=22;
    uint256 private _reduceSellTaxAt=22;
    uint256 private _preventSwapBefore=22;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 21_000_000 * 10**_decimals;
    string private constant _name = unicode"BLK2100";
    string private constant _symbol = unicode"$BLK";
    uint256 public _maxTxAmount =  1 * (_tTotal/100);
    uint256 public _maxWalletSize =  1 * (_tTotal/100);
    uint256 public _taxSwapThreshold =  1 * (_tTotal/1000);
    uint256 public _maxTaxSwap = 1 * (_tTotal/100);
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x1BF1De1e7B90c41d2d3473913ddF8321D9394e5A); 
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

         uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // uniswap v2 router mainnet eth
         uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

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

    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 from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            
            if(_buyCount>=0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(tradingOpen, "TradingIsNotLive");
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                require(tradingOpen, "TradingIsNotLive");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 7, "Only 7 sells per block!");
                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 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);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        tokenBalance = min(tokenBalance, _maxTaxSwap);
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function manualsend() external {
        require(_msgSender()==_taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601660055560166006555f6007555f60085560166009556016600a556016600b555f600c555f600d5560646009600a6200003f91906200055d565b6200004f906301406f4062000574565b6200005b91906200058e565b6200006890600162000574565b600e5560646200007b6009600a6200055d565b6200008b906301406f4062000574565b6200009791906200058e565b620000a490600162000574565b600f556103e8620000b86009600a6200055d565b620000c8906301406f4062000574565b620000d491906200058e565b620000e190600162000574565b6010556064620000f46009600a6200055d565b62000104906301406f4062000574565b6200011091906200058e565b6200011d90600162000574565b6011556013805461ffff60a81b191690555f601481905560155534801562000143575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916731bf1de1e7b90c41d2d3473913ddf8321d9394e5a179055620001b86009600a6200055d565b620001c8906301406f4062000574565b335f908152600160208190526040822092909255600390620001f15f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003845282812080548616600190811790915560048054909316825290839020805490951617909355601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b81529151909363c45a01559383820193909291908290030181865afa158015620002a9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cf9190620005ae565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200032f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003559190620005ae565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620003a0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003c69190620005ae565b601380546001600160a01b0319166001600160a01b0392909216919091179055620003ee3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004276009600a6200055d565b62000437906301406f4062000574565b60405190815260200160405180910390a3620005d6565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004a257815f19048211156200048657620004866200044e565b808516156200049457918102915b93841c939080029062000467565b509250929050565b5f82620004ba5750600162000557565b81620004c857505f62000557565b8160018114620004e15760028114620004ec576200050c565b600191505062000557565b60ff8411156200050057620005006200044e565b50506001821b62000557565b5060208310610133831016604e8410600b841016171562000531575081810a62000557565b6200053d838362000462565b805f19048211156200055357620005536200044e565b0290505b92915050565b5f6200056d60ff841683620004aa565b9392505050565b80820281158282048414176200055757620005576200044e565b5f82620005a957634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620005bf575f80fd5b81516001600160a01b03811681146200056d575f80fd5b61162d80620005e45f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b41146102ff578063a9059cbb1461032b578063bf474bed1461034a578063c9567bf91461035f578063dd62ed3e14610373578063f2fde38b146103b7575f80fd5b8063715018a614610287578063751039fc1461029b5780637d1db4a5146102af5780638da5cb5b146102c45780638f9a55c0146102ea575f80fd5b806323b872dd116100ee57806323b872dd146101f1578063313ce5671461021057806351bc3c851461022b5780636fc3eaec1461023f57806370a0823114610253575f80fd5b806306fdde0314610134578063095ea7b3146101755780630faee56f146101a4578063109daa99146101c757806318160ddd146101dd575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b506040805180820190915260078152660424c4b323130360cc1b60208201525b60405161016c919061126a565b60405180910390f35b348015610180575f80fd5b5061019461018f3660046112ca565b6103d6565b604051901515815260200161016c565b3480156101af575f80fd5b506101b960115481565b60405190815260200161016c565b3480156101d2575f80fd5b506101db6103ec565b005b3480156101e8575f80fd5b506101b961045a565b3480156101fc575f80fd5b5061019461020b3660046112f4565b61047a565b34801561021b575f80fd5b506040516009815260200161016c565b348015610236575f80fd5b506101db6104e1565b34801561024a575f80fd5b506101db610542565b34801561025e575f80fd5b506101b961026d366004611332565b6001600160a01b03165f9081526001602052604090205490565b348015610292575f80fd5b506101db61056e565b3480156102a6575f80fd5b506101db6105df565b3480156102ba575f80fd5b506101b9600e5481565b3480156102cf575f80fd5b505f546040516001600160a01b03909116815260200161016c565b3480156102f5575f80fd5b506101b9600f5481565b34801561030a575f80fd5b5060408051808201909152600481526324424c4b60e01b602082015261015f565b348015610336575f80fd5b506101946103453660046112ca565b61068b565b348015610355575f80fd5b506101b960105481565b34801561036a575f80fd5b506101db610697565b34801561037e575f80fd5b506101b961038d36600461134d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103c2575f80fd5b506101db6103d1366004611332565b61075f565b5f6103e23384846107e1565b5060015b92915050565b5f546001600160a01b0316331461041e5760405162461bcd60e51b815260040161041590611384565b60405180910390fd5b5f600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104676009600a6114ad565b610475906301406f406114bb565b905090565b5f610486848484610904565b6104d784336104d2856040518060600160405280602881526020016115d0602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610eea565b6107e1565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610500575f80fd5b305f90815260016020526040812054905061051d81601154610f22565b9050801561052e5761052e81610f39565b47801561053e5761053e816110a9565b5050565b6004546001600160a01b0316336001600160a01b031614610561575f80fd5b4761056b816110a9565b50565b5f546001600160a01b031633146105975760405162461bcd60e51b815260040161041590611384565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106085760405162461bcd60e51b815260040161041590611384565b6106146009600a6114ad565b610622906301406f406114bb565b600e556106316009600a6114ad565b61063f906301406f406114bb565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61066f6009600a6114ad565b61067d906301406f406114bb565b604051908152602001610450565b5f6103e2338484610904565b5f546001600160a01b031633146106c05760405162461bcd60e51b815260040161041590611384565b601354600160a01b900460ff161561071a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610415565b6012546107469030906001600160a01b03166107386009600a6114ad565b6104d2906301406f406114bb565b6013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146107885760405162461bcd60e51b815260040161041590611384565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610415565b6001600160a01b0382166108a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610415565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610415565b6001600160a01b0382166109ca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610415565b5f8111610a2b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610415565b5f80546001600160a01b03858116911614801590610a5657505f546001600160a01b03848116911614155b15610dad57610a7b6064610a75600c54856110e090919063ffffffff16565b9061115e565b90506013546001600160a01b038581169116148015610aa857506012546001600160a01b03848116911614155b8015610acc57506001600160a01b0383165f9081526003602052604090205460ff16155b15610c2657601354600160a01b900460ff16610b1d5760405162461bcd60e51b815260206004820152601060248201526f54726164696e6749734e6f744c69766560801b6044820152606401610415565b600e54821115610b6f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610415565b600f5482610b91856001600160a01b03165f9081526001602052604090205490565b610b9b91906114d2565b1115610be95760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610415565b610c0f6064610a75600954600d5411610c0457600554610c08565b6007545b85906110e0565b600d80549192505f610c20836114e5565b91905055505b6013546001600160a01b038481169116148015610c4c57506001600160a01b0384163014155b15610cc557601354600160a01b900460ff16610c9d5760405162461bcd60e51b815260206004820152601060248201526f54726164696e6749734e6f744c69766560801b6044820152606401610415565b610cc26064610a75600a54600d5411610cb857600654610c08565b60085485906110e0565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610cfb57506013546001600160a01b038581169116145b8015610d105750601354600160b01b900460ff165b8015610d1d575060105481115b8015610d2c5750600b54600d54115b15610dab57601554431115610d40575f6014555b600760145410610d925760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920372073656c6c732070657220626c6f636b210000000000000000006044820152606401610415565b60148054905f610da1836114e5565b9091555050436015555b505b8015610e2557305f90815260016020526040902054610dcc908261119f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e1c9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610e4790836111fd565b6001600160a01b0385165f90815260016020526040902055610e8a610e6c83836111fd565b6001600160a01b0385165f908152600160205260409020549061119f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ed385856111fd565b60405190815260200160405180910390a350505050565b5f8184841115610f0d5760405162461bcd60e51b8152600401610415919061126a565b505f610f1984866114fd565b95945050505050565b5f818311610f305782610f32565b815b9392505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f7f57610f7f611510565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ffa9190611524565b8160018151811061100d5761100d611510565b6001600160a01b03928316602091820292909201015260125461103391309116846107e1565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061106b9085905f9086903090429060040161153f565b5f604051808303815f87803b158015611082575f80fd5b505af1158015611094573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561053e573d5f803e3d5ffd5b5f825f036110ef57505f6103e6565b5f6110fa83856114bb565b90508261110785836115b0565b14610f325760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610415565b5f610f3283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061123e565b5f806111ab83856114d2565b905083811015610f325760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610415565b5f610f3283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eea565b5f818361125e5760405162461bcd60e51b8152600401610415919061126a565b505f610f1984866115b0565b5f602080835283518060208501525f5b818110156112965785810183015185820160400152820161127a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461056b575f80fd5b5f80604083850312156112db575f80fd5b82356112e6816112b6565b946020939093013593505050565b5f805f60608486031215611306575f80fd5b8335611311816112b6565b92506020840135611321816112b6565b929592945050506040919091013590565b5f60208284031215611342575f80fd5b8135610f32816112b6565b5f806040838503121561135e575f80fd5b8235611369816112b6565b91506020830135611379816112b6565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561140757815f19048211156113ed576113ed6113b9565b808516156113fa57918102915b93841c93908002906113d2565b509250929050565b5f8261141d575060016103e6565b8161142957505f6103e6565b816001811461143f576002811461144957611465565b60019150506103e6565b60ff84111561145a5761145a6113b9565b50506001821b6103e6565b5060208310610133831016604e8410600b8410161715611488575081810a6103e6565b61149283836113cd565b805f19048211156114a5576114a56113b9565b029392505050565b5f610f3260ff84168361140f565b80820281158282048414176103e6576103e66113b9565b808201808211156103e6576103e66113b9565b5f600182016114f6576114f66113b9565b5060010190565b818103818111156103e6576103e66113b9565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611534575f80fd5b8151610f32816112b6565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561158f5784516001600160a01b03168352938301939183019160010161156a565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826115ca57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122017b00001867b4f6a720a27c6e19c3a518ca8645803f2801c9b99d762fa51434f64736f6c63430008170033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b41146102ff578063a9059cbb1461032b578063bf474bed1461034a578063c9567bf91461035f578063dd62ed3e14610373578063f2fde38b146103b7575f80fd5b8063715018a614610287578063751039fc1461029b5780637d1db4a5146102af5780638da5cb5b146102c45780638f9a55c0146102ea575f80fd5b806323b872dd116100ee57806323b872dd146101f1578063313ce5671461021057806351bc3c851461022b5780636fc3eaec1461023f57806370a0823114610253575f80fd5b806306fdde0314610134578063095ea7b3146101755780630faee56f146101a4578063109daa99146101c757806318160ddd146101dd575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b506040805180820190915260078152660424c4b323130360cc1b60208201525b60405161016c919061126a565b60405180910390f35b348015610180575f80fd5b5061019461018f3660046112ca565b6103d6565b604051901515815260200161016c565b3480156101af575f80fd5b506101b960115481565b60405190815260200161016c565b3480156101d2575f80fd5b506101db6103ec565b005b3480156101e8575f80fd5b506101b961045a565b3480156101fc575f80fd5b5061019461020b3660046112f4565b61047a565b34801561021b575f80fd5b506040516009815260200161016c565b348015610236575f80fd5b506101db6104e1565b34801561024a575f80fd5b506101db610542565b34801561025e575f80fd5b506101b961026d366004611332565b6001600160a01b03165f9081526001602052604090205490565b348015610292575f80fd5b506101db61056e565b3480156102a6575f80fd5b506101db6105df565b3480156102ba575f80fd5b506101b9600e5481565b3480156102cf575f80fd5b505f546040516001600160a01b03909116815260200161016c565b3480156102f5575f80fd5b506101b9600f5481565b34801561030a575f80fd5b5060408051808201909152600481526324424c4b60e01b602082015261015f565b348015610336575f80fd5b506101946103453660046112ca565b61068b565b348015610355575f80fd5b506101b960105481565b34801561036a575f80fd5b506101db610697565b34801561037e575f80fd5b506101b961038d36600461134d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103c2575f80fd5b506101db6103d1366004611332565b61075f565b5f6103e23384846107e1565b5060015b92915050565b5f546001600160a01b0316331461041e5760405162461bcd60e51b815260040161041590611384565b60405180910390fd5b5f600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104676009600a6114ad565b610475906301406f406114bb565b905090565b5f610486848484610904565b6104d784336104d2856040518060600160405280602881526020016115d0602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610eea565b6107e1565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610500575f80fd5b305f90815260016020526040812054905061051d81601154610f22565b9050801561052e5761052e81610f39565b47801561053e5761053e816110a9565b5050565b6004546001600160a01b0316336001600160a01b031614610561575f80fd5b4761056b816110a9565b50565b5f546001600160a01b031633146105975760405162461bcd60e51b815260040161041590611384565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106085760405162461bcd60e51b815260040161041590611384565b6106146009600a6114ad565b610622906301406f406114bb565b600e556106316009600a6114ad565b61063f906301406f406114bb565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61066f6009600a6114ad565b61067d906301406f406114bb565b604051908152602001610450565b5f6103e2338484610904565b5f546001600160a01b031633146106c05760405162461bcd60e51b815260040161041590611384565b601354600160a01b900460ff161561071a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610415565b6012546107469030906001600160a01b03166107386009600a6114ad565b6104d2906301406f406114bb565b6013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146107885760405162461bcd60e51b815260040161041590611384565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610415565b6001600160a01b0382166108a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610415565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610415565b6001600160a01b0382166109ca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610415565b5f8111610a2b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610415565b5f80546001600160a01b03858116911614801590610a5657505f546001600160a01b03848116911614155b15610dad57610a7b6064610a75600c54856110e090919063ffffffff16565b9061115e565b90506013546001600160a01b038581169116148015610aa857506012546001600160a01b03848116911614155b8015610acc57506001600160a01b0383165f9081526003602052604090205460ff16155b15610c2657601354600160a01b900460ff16610b1d5760405162461bcd60e51b815260206004820152601060248201526f54726164696e6749734e6f744c69766560801b6044820152606401610415565b600e54821115610b6f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610415565b600f5482610b91856001600160a01b03165f9081526001602052604090205490565b610b9b91906114d2565b1115610be95760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610415565b610c0f6064610a75600954600d5411610c0457600554610c08565b6007545b85906110e0565b600d80549192505f610c20836114e5565b91905055505b6013546001600160a01b038481169116148015610c4c57506001600160a01b0384163014155b15610cc557601354600160a01b900460ff16610c9d5760405162461bcd60e51b815260206004820152601060248201526f54726164696e6749734e6f744c69766560801b6044820152606401610415565b610cc26064610a75600a54600d5411610cb857600654610c08565b60085485906110e0565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610cfb57506013546001600160a01b038581169116145b8015610d105750601354600160b01b900460ff165b8015610d1d575060105481115b8015610d2c5750600b54600d54115b15610dab57601554431115610d40575f6014555b600760145410610d925760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920372073656c6c732070657220626c6f636b210000000000000000006044820152606401610415565b60148054905f610da1836114e5565b9091555050436015555b505b8015610e2557305f90815260016020526040902054610dcc908261119f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e1c9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610e4790836111fd565b6001600160a01b0385165f90815260016020526040902055610e8a610e6c83836111fd565b6001600160a01b0385165f908152600160205260409020549061119f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ed385856111fd565b60405190815260200160405180910390a350505050565b5f8184841115610f0d5760405162461bcd60e51b8152600401610415919061126a565b505f610f1984866114fd565b95945050505050565b5f818311610f305782610f32565b815b9392505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f7f57610f7f611510565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ffa9190611524565b8160018151811061100d5761100d611510565b6001600160a01b03928316602091820292909201015260125461103391309116846107e1565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061106b9085905f9086903090429060040161153f565b5f604051808303815f87803b158015611082575f80fd5b505af1158015611094573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561053e573d5f803e3d5ffd5b5f825f036110ef57505f6103e6565b5f6110fa83856114bb565b90508261110785836115b0565b14610f325760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610415565b5f610f3283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061123e565b5f806111ab83856114d2565b905083811015610f325760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610415565b5f610f3283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eea565b5f818361125e5760405162461bcd60e51b8152600401610415919061126a565b505f610f1984866115b0565b5f602080835283518060208501525f5b818110156112965785810183015185820160400152820161127a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461056b575f80fd5b5f80604083850312156112db575f80fd5b82356112e6816112b6565b946020939093013593505050565b5f805f60608486031215611306575f80fd5b8335611311816112b6565b92506020840135611321816112b6565b929592945050506040919091013590565b5f60208284031215611342575f80fd5b8135610f32816112b6565b5f806040838503121561135e575f80fd5b8235611369816112b6565b91506020830135611379816112b6565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561140757815f19048211156113ed576113ed6113b9565b808516156113fa57918102915b93841c93908002906113d2565b509250929050565b5f8261141d575060016103e6565b8161142957505f6103e6565b816001811461143f576002811461144957611465565b60019150506103e6565b60ff84111561145a5761145a6113b9565b50506001821b6103e6565b5060208310610133831016604e8410600b8410161715611488575081810a6103e6565b61149283836113cd565b805f19048211156114a5576114a56113b9565b029392505050565b5f610f3260ff84168361140f565b80820281158282048414176103e6576103e66113b9565b808201808211156103e6576103e66113b9565b5f600182016114f6576114f66113b9565b5060010190565b818103818111156103e6576103e66113b9565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611534575f80fd5b8151610f32816112b6565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561158f5784516001600160a01b03168352938301939183019160010161156a565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826115ca57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122017b00001867b4f6a720a27c6e19c3a518ca8645803f2801c9b99d762fa51434f64736f6c63430008170033

Deployed Bytecode Sourcemap

4654:7832:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6838:83;;;;;;;;;;-1:-1:-1;6908:5:0;;;;;;;;;;;;-1:-1:-1;;;6908:5:0;;;;6838:83;;;;;;;:::i;:::-;;;;;;;;7671:161;;;;;;;;;;-1:-1:-1;7671:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7671:161:0;1023:187:1;5719:46:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5719:46:0;1215:177:1;11375:119:0;;;;;;;;;;;;;:::i;:::-;;7115:95;;;;;;;;;;;;;:::i;7840:313::-;;;;;;;;;;-1:-1:-1;7840:313:0;;;;;:::i;:::-;;:::i;7024:83::-;;;;;;;;;;-1:-1:-1;7024:83:0;;5361:1;2000:36:1;;1988:2;1973:18;7024:83:0;1858:184:1;11884:404:0;;;;;;;;;;;;;:::i;12296:187::-;;;;;;;;;;;;;:::i;7218:119::-;;;;;;;;;;-1:-1:-1;7218:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7311:18:0;7284:7;7311:18;;;:9;:18;;;;;;;7218:119;3735:148;;;;;;;;;;;;;:::i;11208:159::-;;;;;;;;;;;;;:::i;5546:48::-;;;;;;;;;;;;;;;;3361:79;;;;;;;;;;-1:-1:-1;3399:7:0;3426:6;3361:79;;-1:-1:-1;;;;;3426:6:0;;;2445:51:1;;2433:2;2418:18;3361:79:0;2299:203:1;5601:50:0;;;;;;;;;;;;;;;;6929:87;;;;;;;;;;-1:-1:-1;7001:7:0;;;;;;;;;;;;-1:-1:-1;;;7001:7:0;;;;6929:87;;7345:167;;;;;;;;;;-1:-1:-1;7345:167:0;;;;;:::i;:::-;;:::i;5658:54::-;;;;;;;;;;;;;;;;11602:237;;;;;;;;;;;;;:::i;7520:143::-;;;;;;;;;;-1:-1:-1;7520:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7628:18:0;;;7601:7;7628:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7520:143;3575:152;;;;;;;;;;-1:-1:-1;3575:152:0;;;;;:::i;:::-;;:::i;7671:161::-;7746:4;7763:39;1196:10;7786:7;7795:6;7763:8;:39::i;:::-;-1:-1:-1;7820:4:0;7671:161;;;;;:::o;11375:119::-;3488:6;;-1:-1:-1;;;;;3488:6:0;1196:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;;;;;;;;;11448:1:::1;11433:12;:16:::0;;;11465:21:::1;::::0;1361:25:1;;;11465:21:0::1;::::0;1349:2:1;1334:18;11465:21:0::1;;;;;;;;11375:119::o:0;7115:95::-;7168:7;5417:13;5361:1;5417:2;:13;:::i;:::-;5404:26;;:10;:26;:::i;:::-;7188:14;;7115:95;:::o;7840:313::-;7938:4;7955:36;7965:6;7973:9;7984:6;7955:9;:36::i;:::-;8002:121;8011:6;1196:10;8033:89;8071:6;8033:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8033:19:0;;;;;;:11;:19;;;;;;;;1196:10;8033:33;;;;;;;;;;:37;:89::i;:::-;8002:8;:121::i;:::-;-1:-1:-1;8141:4:0;7840:313;;;;;:::o;11884:404::-;11948:10;;-1:-1:-1;;;;;11948:10:0;1196;-1:-1:-1;;;;;11934:24:0;;11926:33;;;;;;12009:4;11970:20;7311:18;;;:9;:18;;;;;;11970:45;;12041:30;12045:12;12059:11;;12041:3;:30::i;:::-;12026:45;-1:-1:-1;12085:14:0;;12082:73;;12113:30;12130:12;12113:16;:30::i;:::-;12184:21;12219:12;;12216:65;;12245:24;12258:10;12245:12;:24::i;:::-;11915:373;;11884:404::o;12296:187::-;12360:10;;-1:-1:-1;;;;;12360:10:0;1196;-1:-1:-1;;;;;12346:24:0;;12338:33;;;;;;12411:21;12443:32;12411:21;12443:12;:32::i;:::-;12327:156;12296:187::o;3735:148::-;3488:6;;-1:-1:-1;;;;;3488:6:0;1196:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;3842:1:::1;3826:6:::0;;3805:40:::1;::::0;-1:-1:-1;;;;;3826:6:0;;::::1;::::0;3805:40:::1;::::0;3842:1;;3805:40:::1;3873:1;3856:19:::0;;-1:-1:-1;;;;;;3856:19:0::1;::::0;;3735:148::o;11208:159::-;3488:6;;-1:-1:-1;;;;;3488:6:0;1196:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;5417:13:::1;5361:1;5417:2;:13;:::i;:::-;5404:26;::::0;:10:::1;:26;:::i;:::-;11261:12;:22:::0;5417:13:::1;5361:1;5417:2;:13;:::i;:::-;5404:26;::::0;:10:::1;:26;:::i;:::-;11294:14;:22:::0;11332:27:::1;5417:13;5361:1;5417:2;:13;:::i;:::-;5404:26;::::0;:10:::1;:26;:::i;:::-;11332:27;::::0;1361:25:1;;;1349:2;1334:18;11332:27:0::1;1215:177:1::0;7345:167:0;7423:4;7440:42;1196:10;7464:9;7475:6;7440:9;:42::i;11602:237::-;3488:6;;-1:-1:-1;;;;;3488:6:0;1196:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;11666:11:::1;::::0;-1:-1:-1;;;11666:11:0;::::1;;;11665:12;11657:47;;;::::0;-1:-1:-1;;;11657:47:0;;5335:2:1;11657:47:0::1;::::0;::::1;5317:21:1::0;5374:2;5354:18;;;5347:30;5413:25;5393:18;;;5386:53;5456:18;;11657:47:0::1;5133:347:1::0;11657:47:0::1;11747:15;::::0;11715:58:::1;::::0;11732:4:::1;::::0;-1:-1:-1;;;;;11747:15:0::1;5417:13;5361:1;5417:2;:13;:::i;:::-;5404:26;::::0;:10:::1;:26;:::i;11715:58::-;11784:11;:18:::0;;-1:-1:-1;;;;11813:18:0;-1:-1:-1;;;11813:18:0;;;11602:237::o;3575:152::-;3488:6;;-1:-1:-1;;;;;3488:6:0;1196:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;3674:6:::1;::::0;;3653:38:::1;::::0;-1:-1:-1;;;;;3653:38:0;;::::1;::::0;3674:6;::::1;::::0;3653:38:::1;::::0;::::1;3702:6;:17:::0;;-1:-1:-1;;;;;;3702:17:0::1;-1:-1:-1::0;;;;;3702:17:0;;;::::1;::::0;;;::::1;::::0;;3575:152::o;8161:335::-;-1:-1:-1;;;;;8254:19:0;;8246:68;;;;-1:-1:-1;;;8246:68:0;;5687:2:1;8246:68:0;;;5669:21:1;5726:2;5706:18;;;5699:30;5765:34;5745:18;;;5738:62;-1:-1:-1;;;5816:18:1;;;5809:34;5860:19;;8246:68:0;5485:400:1;8246:68:0;-1:-1:-1;;;;;8333:21:0;;8325:68;;;;-1:-1:-1;;;8325:68:0;;6092:2:1;8325:68:0;;;6074:21:1;6131:2;6111:18;;;6104:30;6170:34;6150:18;;;6143:62;-1:-1:-1;;;6221:18:1;;;6214:32;6263:19;;8325:68:0;5890:398:1;8325:68:0;-1:-1:-1;;;;;8404:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8456:32;;1361:25:1;;;8456:32:0;;1334:18:1;8456:32:0;;;;;;;8161:335;;;:::o;8504:2097::-;-1:-1:-1;;;;;8592:18:0;;8584:68;;;;-1:-1:-1;;;8584:68:0;;6495:2:1;8584:68:0;;;6477:21:1;6534:2;6514:18;;;6507:30;6573:34;6553:18;;;6546:62;-1:-1:-1;;;6624:18:1;;;6617:35;6669:19;;8584:68:0;6293:401:1;8584:68:0;-1:-1:-1;;;;;8671:16:0;;8663:64;;;;-1:-1:-1;;;8663:64:0;;6901:2:1;8663:64:0;;;6883:21:1;6940:2;6920:18;;;6913:30;6979:34;6959:18;;;6952:62;-1:-1:-1;;;7030:18:1;;;7023:33;7073:19;;8663:64:0;6699:399:1;8663:64:0;8755:1;8746:6;:10;8738:64;;;;-1:-1:-1;;;8738:64:0;;7305:2:1;8738:64:0;;;7287:21:1;7344:2;7324:18;;;7317:30;7383:34;7363:18;;;7356:62;-1:-1:-1;;;7434:18:1;;;7427:39;7483:19;;8738:64:0;7103:405:1;8738:64:0;8813:17;3426:6;;-1:-1:-1;;;;;8847:15:0;;;3426:6;;8847:15;;;;:32;;-1:-1:-1;3399:7:0;3426:6;-1:-1:-1;;;;;8866:13:0;;;3426:6;;8866:13;;8847:32;8843:1402;;;8957:33;8986:3;8957:24;8968:12;;8957:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;8945:45;;9034:13;;-1:-1:-1;;;;;9026:21:0;;;9034:13;;9026:21;:55;;;;-1:-1:-1;9065:15:0;;-1:-1:-1;;;;;9051:30:0;;;9065:15;;9051:30;;9026:55;:83;;;;-1:-1:-1;;;;;;9087:22:0;;;;;;:18;:22;;;;;;;;9085:24;9026:83;9022:479;;;9139:11;;-1:-1:-1;;;9139:11:0;;;;9131:40;;;;-1:-1:-1;;;9131:40:0;;7715:2:1;9131:40:0;;;7697:21:1;7754:2;7734:18;;;7727:30;-1:-1:-1;;;7773:18:1;;;7766:46;7829:18;;9131:40:0;7513:340:1;9131:40:0;9208:12;;9198:6;:22;;9190:60;;;;-1:-1:-1;;;9190:60:0;;8060:2:1;9190:60:0;;;8042:21:1;8099:2;8079:18;;;8072:30;8138:27;8118:18;;;8111:55;8183:18;;9190:60:0;7858:349:1;9190:60:0;9303:14;;9293:6;9277:13;9287:2;-1:-1:-1;;;;;7311:18:0;7284:7;7311:18;;;:9;:18;;;;;;;7218:119;9277:13;:22;;;;:::i;:::-;:40;;9269:79;;;;-1:-1:-1;;;9269:79:0;;8544:2:1;9269:79:0;;;8526:21:1;8583:2;8563:18;;;8556:30;8622:28;8602:18;;;8595:56;8668:18;;9269:79:0;8342:350:1;9269:79:0;9379:76;9451:3;9379:67;9401:15;;9391:9;;:25;9390:55;;9431:14;;9390:55;;;9418:12;;9390:55;9379:6;;:10;:67::i;:76::-;9474:9;:11;;9367:88;;-1:-1:-1;9474:9:0;:11;;;:::i;:::-;;;;;;9022:479;9526:13;;-1:-1:-1;;;;;9520:19:0;;;9526:13;;9520:19;:43;;;;-1:-1:-1;;;;;;9543:20:0;;9558:4;9543:20;;9520:43;9517:233;;;9592:11;;-1:-1:-1;;;9592:11:0;;;;9584:40;;;;-1:-1:-1;;;9584:40:0;;7715:2:1;9584:40:0;;;7697:21:1;7754:2;7734:18;;;7727:30;-1:-1:-1;;;7773:18:1;;;7766:46;7829:18;;9584:40:0;7513:340:1;9584:40:0;9655:79;9730:3;9655:70;9677:16;;9667:9;;:26;9666:58;;9709:15;;9666:58;;;9695:13;;9655:6;;:10;:70::i;:79::-;9643:91;;9517:233;9815:4;9766:28;7311:18;;;:9;:18;;;;;;9841:6;;-1:-1:-1;;;9841:6:0;;;;9840:7;:30;;;;-1:-1:-1;9857:13:0;;-1:-1:-1;;;;;9851:19:0;;;9857:13;;9851:19;9840:30;:45;;;;-1:-1:-1;9874:11:0;;-1:-1:-1;;;9874:11:0;;;;9840:45;:89;;;;;9912:17;;9889:20;:40;9840:89;:123;;;;;9945:18;;9933:9;;:30;9840:123;9836:398;;;10003:13;;9988:12;:28;9984:90;;;10053:1;10041:9;:13;9984:90;10112:1;10100:9;;:13;10092:49;;;;-1:-1:-1;;;10092:49:0;;9039:2:1;10092:49:0;;;9021:21:1;9078:2;9058:18;;;9051:30;9117:25;9097:18;;;9090:53;9160:18;;10092:49:0;8837:347:1;10092:49:0;10160:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10206:12:0;10190:13;:28;9836:398;8881:1364;8843:1402;10260:11;;10257:161;;10328:4;10310:24;;;;:9;:24;;;;;;:39;;10339:9;10310:28;:39::i;:::-;10303:4;10285:24;;;;:9;:24;;;;;;;:64;;;;10367:39;;-1:-1:-1;;;;;10367:39:0;;;;;;;10396:9;1361:25:1;;1349:2;1334:18;;1215:177;10367:39:0;;;;;;;;10257:161;-1:-1:-1;;;;;10444:15:0;;;;;;:9;:15;;;;;;:27;;10464:6;10444:19;:27::i;:::-;-1:-1:-1;;;;;10428:15:0;;;;;;:9;:15;;;;;:43;10496:40;10514:21;:6;10525:9;10514:10;:21::i;:::-;-1:-1:-1;;;;;10496:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10482:13:0;;;;;;;:9;:13;;;;;:54;;;;10552:41;;;10571:21;:6;10582:9;10571:10;:21::i;:::-;10552:41;;1361:25:1;;;1349:2;1334:18;10552:41:0;;;;;;;8573:2028;8504:2097;;;:::o;2253:190::-;2339:7;2375:12;2367:6;;;;2359:29;;;;-1:-1:-1;;;2359:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2399:9:0;2411:5;2415:1;2411;:5;:::i;:::-;2399:17;2253:190;-1:-1:-1;;;;;2253:190:0:o;10611:98::-;10668:7;10695:1;10693;:3;10692:9;;10700:1;10692:9;;;10698:1;10692:9;10685:16;10611:98;-1:-1:-1;;;10611:98:0:o;10717:483::-;6167:6;:13;;-1:-1:-1;;;;6167:13:0;-1:-1:-1;;;6167:13:0;;;10819:16:::1;::::0;;10833:1:::1;10819:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10819:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10819:16:0::1;10795:40;;10864:4;10846;10851:1;10846:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10846:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10890:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10890:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10846:7;;10890:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10880:4;10885:1;10880:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10880:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10955:15:::1;::::0;10923:62:::1;::::0;10940:4:::1;::::0;10955:15:::1;10973:11:::0;10923:8:::1;:62::i;:::-;10996:15;::::0;:196:::1;::::0;-1:-1:-1;;;10996:196:0;;-1:-1:-1;;;;;10996:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11077:11;;10996:15:::1;::::0;11119:4;;11146::::1;::::0;11166:15:::1;::::0;10996:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6203:6:0;:14;;-1:-1:-1;;;;6203:14:0;;;-1:-1:-1;;;;10717:483:0:o;11502:92::-;11559:10;;:27;;-1:-1:-1;;;;;11559:10:0;;;;:27;;;;;11579:6;;11559:10;:27;:10;:27;11579:6;11559:10;:27;;;;;;;;;;;;;;;;;;;2451:246;2509:7;2533:1;2538;2533:6;2529:47;;-1:-1:-1;2563:1:0;2556:8;;2529:47;2586:9;2598:5;2602:1;2598;:5;:::i;:::-;2586:17;-1:-1:-1;2631:1:0;2622:5;2626:1;2586:17;2622:5;:::i;:::-;:10;2614:56;;;;-1:-1:-1;;;2614:56:0;;11251:2:1;2614:56:0;;;11233:21:1;11290:2;11270:18;;;11263:30;11329:34;11309:18;;;11302:62;-1:-1:-1;;;11380:18:1;;;11373:31;11421:19;;2614:56:0;11049:397:1;2705:132:0;2763:7;2790:39;2794:1;2797;2790:39;;;;;;;;;;;;;;;;;:3;:39::i;1922:179::-;1980:7;;2012:5;2016:1;2012;:5;:::i;:::-;2000:17;;2041:1;2036;:6;;2028:46;;;;-1:-1:-1;;;2028:46:0;;11653:2:1;2028:46:0;;;11635:21:1;11692:2;11672:18;;;11665:30;11731:29;11711:18;;;11704:57;11778:18;;2028:46:0;11451:351:1;2109:136:0;2167:7;2194:43;2198:1;2201;2194:43;;;;;;;;;;;;;;;;;:3;:43::i;2845:189::-;2931:7;2966:12;2959:5;2951:28;;;;-1:-1:-1;;;2951:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2990:9:0;3002:5;3006:1;3002;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3451:127::-;3512:10;3507:3;3503:20;3500:1;3493:31;3543:4;3540:1;3533:15;3567:4;3564:1;3557:15;3583:416;3672:1;3709:5;3672:1;3723:270;3744:7;3734:8;3731:21;3723:270;;;3803:4;3799:1;3795:6;3791:17;3785:4;3782:27;3779:53;;;3812:18;;:::i;:::-;3862:7;3852:8;3848:22;3845:55;;;3882:16;;;;3845:55;3961:22;;;;3921:15;;;;3723:270;;;3727:3;3583:416;;;;;:::o;4004:806::-;4053:5;4083:8;4073:80;;-1:-1:-1;4124:1:1;4138:5;;4073:80;4172:4;4162:76;;-1:-1:-1;4209:1:1;4223:5;;4162:76;4254:4;4272:1;4267:59;;;;4340:1;4335:130;;;;4247:218;;4267:59;4297:1;4288:10;;4311:5;;;4335:130;4372:3;4362:8;4359:17;4356:43;;;4379:18;;:::i;:::-;-1:-1:-1;;4435:1:1;4421:16;;4450:5;;4247:218;;4549:2;4539:8;4536:16;4530:3;4524:4;4521:13;4517:36;4511:2;4501:8;4498:16;4493:2;4487:4;4484:12;4480:35;4477:77;4474:159;;;-1:-1:-1;4586:19:1;;;4618:5;;4474:159;4665:34;4690:8;4684:4;4665:34;:::i;:::-;4735:6;4731:1;4727:6;4723:19;4714:7;4711:32;4708:58;;;4746:18;;:::i;:::-;4784:20;;4004:806;-1:-1:-1;;;4004:806:1:o;4815:140::-;4873:5;4902:47;4943:4;4933:8;4929:19;4923:4;4902:47;:::i;4960:168::-;5033:9;;;5064;;5081:15;;;5075:22;;5061:37;5051:71;;5102:18;;:::i;8212:125::-;8277:9;;;8298:10;;;8295:36;;;8311:18;;:::i;8697:135::-;8736:3;8757:17;;;8754:43;;8777:18;;:::i;:::-;-1:-1:-1;8824:1:1;8813:13;;8697:135::o;9189:128::-;9256:9;;;9277:11;;;9274:37;;;9291:18;;:::i;9454:127::-;9515:10;9510:3;9506:20;9503:1;9496:31;9546:4;9543:1;9536:15;9570:4;9567:1;9560:15;9586:251;9656:6;9709:2;9697:9;9688:7;9684:23;9680:32;9677:52;;;9725:1;9722;9715:12;9677:52;9757:9;9751:16;9776:31;9801:5;9776:31;:::i;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:217::-;10867:1;10893;10883:132;;10937:10;10932:3;10928:20;10925:1;10918:31;10972:4;10969:1;10962:15;11000:4;10997:1;10990:15;10883:132;-1:-1:-1;11029:9:1;;10827:217::o

Swarm Source

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