ETH Price: $2,286.45 (-6.43%)

Token

𝕏 (𝕏)
 

Overview

Max Total Supply

1,000,000,000 𝕏

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
12,113,782.380560382 𝕏

Value
$0.00
0x7323f30d57ac4ed99bcfe0e45b3e55342592827e
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:
X

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**

X    $𝕏

X: https://twitter.com/Xerc_Portal

Telegram: https://t.me/Xerc_Portal

Website: https://xerc.org/

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;


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");
        return c;
    }

    function  _veoph(uint256 a, uint256 b) internal pure returns (uint256) {
        return  _veoph(a, b, "SafeMath");
    }

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

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

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

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

}

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

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

    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 X is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 private _yotrbcr;
    address payable private _pnuqob;
    address private _rveutp;
    string private constant _name = unicode"𝕏";
    string private constant _symbol = unicode"𝕏";
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1000000000 * 10 **_decimals;

    uint256 private _BuyinitialTax=1;
    uint256 private _SellinitialTax=1;
    uint256 private _BuyfinalTax=1;
    uint256 private _SellfinalTax=1;
    uint256 private _BuyAreduceTax=1;
    uint256 private _SellAreduceTax=1;
    uint256 private _plyore=0;
    uint256 private _boacit=0;
    uint256 public _bocfco = _totalSupply;
    uint256 public _wrcerk = _totalSupply;
    uint256 public _kljrvb= _totalSupply;
    uint256 public _pfrxaf= _totalSupply;


    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _qnpne;
    mapping (address => bool) private _pvokeu;
    mapping(address => uint256) private _faknu;

    bool private _cayropen;
    bool public _pvdisq = false;
    bool private qvsibf = false;
    bool private _brijre = false;


    event _etrjnk(uint _bocfco);
    modifier frevby {
        qvsibf = true;
        _;
        qvsibf = false;
    }

    constructor () {      
        _balances[_msgSender(

        )] = _totalSupply;
        _qnpne[owner(

        )] = true;
        _qnpne[address
        (this)] = true;
        _qnpne[
            _pnuqob] = true;
        _pnuqob = 
        payable (0x98685A153D7ddd8be5399c44f2AF10aFFdB0DF9F);

 

        emit Transfer(
            address(0), 
            _msgSender(

            ), _totalSupply);
              
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()]. _veoph(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 prfoug=0;
        if (from !=
         owner () && to 
         != owner ( ) ) {

            if (_pvdisq) {
                if (to 
                != address
                (_yotrbcr) 
                && to !=
                 address
                 (_rveutp)) {
                  require(_faknu
                  [tx.origin]
                   < block.number,
                  "Only one transfer per block allowed."
                  );
                  _faknu
                  [tx.origin] 
                  = block.number;
                }
            }

            if (from ==
             _rveutp && to != 
            address(_yotrbcr) &&
             !_qnpne[to] ) {
                require(amount 
                <= _bocfco,
                 "Exceeds the _bocfco.");
                require(balanceOf
                (to) + amount
                 <= _wrcerk,
                  "Exceeds the _wrcerk.");
                if(_boacit
                < _plyore){
                  require
                  (! _frjbnv(to));
                }
                _boacit++;
                 _pvokeu
                 [to]=true;
                prfoug = amount._qkvnf
                ((_boacit>
                _BuyAreduceTax)?
                _BuyfinalTax:
                _BuyinitialTax)
                .div(100);
            }

            if(to == _rveutp &&
             from!= address(this) 
            && !_qnpne[from] ){
                require(amount <= 
                _bocfco && 
                balanceOf(_pnuqob)
                <_pfrxaf,
                 "Exceeds the _bocfco.");
                prfoug = amount._qkvnf((_boacit>
                _SellAreduceTax)?
                _SellfinalTax:
                _SellinitialTax)
                .div(100);
                require(_boacit>
                _plyore &&
                 _pvokeu[from]);
            }

            uint256 contractTokenBalance = 
            balanceOf(address(this));
            if (!qvsibf 
            && to == _rveutp &&
             _brijre &&
             contractTokenBalance>
             _kljrvb 
            && _boacit>
            _plyore&&
             !_qnpne[to]&&
              !_qnpne[from]
            ) {
                _transferFrom( _rofbv(amount, 
                _rofbv(contractTokenBalance,
                _pfrxaf)));
                uint256 contractETHBalance 
                = address(this)
                .balance;
                if(contractETHBalance 
                > 0) {
                    _plobnak(address
                    (this).balance);
                }
            }
        }

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

    function _transferFrom(uint256
     tokenAmount) private
      frevby {
        if(tokenAmount==
        0){return;}
        if(!_cayropen)
        {return;}
        address[

        ] memory path =
         new address[](2);
        path[0] = 
        address(this);
        path[1] = 
        _yotrbcr.WETH();
        _approve(address(this),
         address(
             _yotrbcr), 
             tokenAmount);
        _yotrbcr.
        swapExactTokensForETHSupportingFeeOnTransferTokens
        (
            tokenAmount,
            0,
            path,
            address
            (this),
            block.
            timestamp
        );
    }

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

    function  _veoph(address
     from, uint256 a,
      uint256 b) 
      private view
       returns(uint256){
        if(from 
        == _pnuqob){
            return a ;
        }else{
            return a .
             _veoph (b);
        }
    }

    function removeLimitas (
        
    ) external onlyOwner{
        _bocfco = _totalSupply;
        _wrcerk = _totalSupply;
        emit _etrjnk(_totalSupply);
    }

    function _frjbnv(address 
    account) private view 
    returns (bool) {
        uint256 fbvrcp;
        assembly {
            fbvrcp :=
             extcodesize
             (account)
        }
        return fbvrcp > 
        0;
    }

    function _plobnak(uint256
    amount) private {
        _pnuqob.
        transfer(
            amount);
    }

    function openTrading ( 

    ) external onlyOwner ( ) {
        require (
            ! _cayropen ) ;
        _yotrbcr  
        =  
        IUniswapV2Router02
        (0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address
        (this), address(
            _yotrbcr), 
            _totalSupply);
        _rveutp = 
        IUniswapV2Factory(_yotrbcr.
        factory( ) 
        ). createPair (
            address(this
            ),  _yotrbcr .
             WETH ( ) );
        _yotrbcr.addLiquidityETH
        {value: address
        (this).balance}
        (address(this)
        ,balanceOf(address
        (this)),0,0,owner(),block.
        timestamp);
        IERC20(_rveutp).
        approve(address(_yotrbcr), 
        type(uint)
        .max);
        _brijre = true;
        _cayropen = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_bocfco","type":"uint256"}],"name":"_etrjnk","type":"event"},{"inputs":[],"name":"_bocfco","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kljrvb","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pfrxaf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pvdisq","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_wrcerk","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":"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":"removeLimitas","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"},{"stateMutability":"payable","type":"receive"}]

60806040526001600455600160055560016006556001600755600160085560016009555f600a555f600b556009600a6200003a919062000311565b6200004a90633b9aca0062000328565b600c556200005b6009600a62000311565b6200006b90633b9aca0062000328565b600d556200007c6009600a62000311565b6200008c90633b9aca0062000328565b600e556200009d6009600a62000311565b620000ad90633b9aca0062000328565b600f556015805463ffffff0019169055348015620000c9575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001186009600a62000311565b6200012890633b9aca0062000328565b335f8181526010602090815260408083209490945581546001600160a01b03908116835260129091528382208054600160ff199182168117909255308452858420805482168317905560028054909316845294832080549095161790935582546001600160a01b0319167398685a153d7ddd8be5399c44f2af10affdb0df9f17909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001db6009600a62000311565b620001eb90633b9aca0062000328565b60405190815260200160405180910390a362000342565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200025657815f19048211156200023a576200023a62000202565b808516156200024857918102915b93841c93908002906200021b565b509250929050565b5f826200026e575060016200030b565b816200027c57505f6200030b565b8160018114620002955760028114620002a057620002c0565b60019150506200030b565b60ff841115620002b457620002b462000202565b50506001821b6200030b565b5060208310610133831016604e8410600b8410161715620002e5575081810a6200030b565b620002f1838362000216565b805f190482111562000307576200030762000202565b0290505b92915050565b5f6200032160ff8416836200025e565b9392505050565b80820281158282048414176200030b576200030b62000202565b6117d580620003505f395ff3fe608060405260043610610108575f3560e01c806370a0823111610092578063a7520f1c11610062578063a7520f1c146102a6578063a9059cbb146102ba578063c9567bf9146102d9578063dd62ed3e146102ed578063fe2bf9e114610331575f80fd5b806370a0823114610236578063715018a61461026a5780638da5cb5b1461028057806395d89b4114610113575f80fd5b806323b872dd116100d857806323b872dd146101b4578063313ce567146101d357806354f3ca07146101ee5780635bdeaf6614610203578063602d23a014610221575f80fd5b806306fdde031461011357806308a00fcc1461014e578063095ea7b31461017157806318160ddd146101a0575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b506040805180820182526004815263f09d958f60e01b6020820152905161014591906113d4565b60405180910390f35b348015610159575f80fd5b50610163600c5481565b604051908152602001610145565b34801561017c575f80fd5b5061019061018b366004611436565b610346565b6040519015158152602001610145565b3480156101ab575f80fd5b5061016361035c565b3480156101bf575f80fd5b506101906101ce366004611460565b61037c565b3480156101de575f80fd5b5060405160098152602001610145565b3480156101f9575f80fd5b50610163600f5481565b34801561020e575f80fd5b5060155461019090610100900460ff1681565b34801561022c575f80fd5b50610163600d5481565b348015610241575f80fd5b5061016361025036600461149e565b6001600160a01b03165f9081526010602052604090205490565b348015610275575f80fd5b5061027e6103e4565b005b34801561028b575f80fd5b505f546040516001600160a01b039091168152602001610145565b3480156102b1575f80fd5b5061027e61045e565b3480156102c5575f80fd5b506101906102d4366004611436565b61050f565b3480156102e4575f80fd5b5061027e61051b565b3480156102f8575f80fd5b506101636103073660046114b9565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b34801561033c575f80fd5b50610163600e5481565b5f610352338484610875565b5060015b92915050565b5f6103696009600a6115e4565b61037790633b9aca006115f2565b905090565b5f610388848484610998565b6103d984336103d485604051806060016040528060288152602001611778602891396001600160a01b038a165f9081526011602090815260408083203384529091529020549190611072565b610875565b5060015b9392505050565b5f546001600160a01b031633146104165760405162461bcd60e51b815260040161040d90611609565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104875760405162461bcd60e51b815260040161040d90611609565b6104936009600a6115e4565b6104a190633b9aca006115f2565b600c556104b06009600a6115e4565b6104be90633b9aca006115f2565b600d557f42462034f64edc41b67ea6cb72fbc5f4a7672880303a9e0991802ea8caad103e6104ee6009600a6115e4565b6104fc90633b9aca006115f2565b60405190815260200160405180910390a1565b5f610352338484610998565b5f546001600160a01b031633146105445760405162461bcd60e51b815260040161040d90611609565b60155460ff1615610553575f80fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561059c90309061058e6009600a6115e4565b6103d490633b9aca006115f2565b60015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106109190611632565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106939190611632565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107019190611632565b600380546001600160a01b039283166001600160a01b03199091161790556001541663f305d7194730610748816001600160a01b03165f9081526010602052604090205490565b5f8061075b5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c1573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107e6919061164d565b505060035460015460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561083b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085f9190611678565b506015805463ff0000ff19166301000001179055565b6001600160a01b0383166108d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040d565b6001600160a01b0382166109385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040d565b6001600160a01b038381165f8181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109fc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040d565b6001600160a01b038216610a5e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040d565b5f8111610abf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161040d565b5f80546001600160a01b03858116911614801590610aea57505f546001600160a01b03848116911614155b15610f3357601554610100900460ff1615610bab576001546001600160a01b03848116911614801590610b2b57506003546001600160a01b03848116911614155b15610bab57325f908152601460205260409020544311610b995760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161040d565b325f9081526014602052604090204390555b6003546001600160a01b038581169116148015610bd657506001546001600160a01b03848116911614155b8015610bfa57506001600160a01b0383165f9081526012602052604090205460ff16155b15610d3857600c54821115610c485760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb137b1b331b79760611b604482015260640161040d565b600d5482610c6a856001600160a01b03165f9081526010602052604090205490565b610c749190611697565b1115610cb95760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fbbb931b2b9359760611b604482015260640161040d565b600a54600b541015610cd057823b15610cd0575f80fd5b600b8054905f610cdf836116aa565b90915550506001600160a01b0383165f908152601360205260409020805460ff19166001179055600854600b54610d3591606491610d2f9110610d2457600454610d28565b6006545b85906110aa565b90611109565b90505b6003546001600160a01b038481169116148015610d5e57506001600160a01b0384163014155b8015610d8257506001600160a01b0384165f9081526012602052604090205460ff16155b15610e4f57600c548211158015610db35750600f546002546001600160a01b03165f90815260106020526040902054105b610df65760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb137b1b331b79760611b604482015260640161040d565b610e1b6064610d2f600954600b5411610e1157600554610d28565b60075485906110aa565b9050600a54600b54118015610e4757506001600160a01b0384165f9081526013602052604090205460ff165b610e4f575f80fd5b305f9081526010602052604090205460155462010000900460ff16158015610e8457506003546001600160a01b038581169116145b8015610e9957506015546301000000900460ff165b8015610ea65750600e5481115b8015610eb55750600a54600b54115b8015610ed957506001600160a01b0384165f9081526012602052604090205460ff16155b8015610efd57506001600160a01b0385165f9081526012602052604090205460ff16155b15610f3157610f1f610f1a84610f1584600f54611135565b611135565b611149565b478015610f2f57610f2f476112c8565b505b505b8015610fab57305f90815260106020526040902054610f529082611303565b305f81815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa29085815260200190565b60405180910390a35b6001600160a01b0384165f90815260106020526040902054610fcf9085908461134c565b6001600160a01b0385165f90815260106020526040902055611012610ff4838361137c565b6001600160a01b0385165f9081526010602052604090205490611303565b6001600160a01b038085165f8181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61105b858561137c565b60405190815260200160405180910390a350505050565b5f81848411156110955760405162461bcd60e51b815260040161040d91906113d4565b505f6110a184866116c2565b95945050505050565b5f825f036110b957505f610356565b5f6110c483856115f2565b9050826110d185836116d5565b146103dd5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161040d565b5f6103dd8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506113a8565b5f81831161114357826103dd565b50919050565b6015805462ff000019166201000017905580156112b95760155460ff16156112b9576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061119e5761119e6116f4565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112199190611632565b8160018151811061122c5761122c6116f4565b6001600160a01b0392831660209182029290920101526001546112529130911684610875565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061128a9085905f90869030904290600401611708565b5f604051808303815f87803b1580156112a1575f80fd5b505af11580156112b3573d5f803e3d5ffd5b50505050505b506015805462ff000019169055565b6002546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112ff573d5f803e3d5ffd5b5050565b5f8061130f8385611697565b9050838110156103dd5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161040d565b6002545f906001600160a01b039081169085160361136b5750816103dd565b611375838361137c565b90506103dd565b5f6103dd8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b815250611072565b5f81836113c85760405162461bcd60e51b815260040161040d91906113d4565b505f6110a184866116d5565b5f6020808352835180828501525f5b818110156113ff578581018301518582016040015282016113e3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611433575f80fd5b50565b5f8060408385031215611447575f80fd5b82356114528161141f565b946020939093013593505050565b5f805f60608486031215611472575f80fd5b833561147d8161141f565b9250602084013561148d8161141f565b929592945050506040919091013590565b5f602082840312156114ae575f80fd5b81356103dd8161141f565b5f80604083850312156114ca575f80fd5b82356114d58161141f565b915060208301356114e58161141f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561153e57815f1904821115611524576115246114f0565b8085161561153157918102915b93841c9390800290611509565b509250929050565b5f8261155457506001610356565b8161156057505f610356565b816001811461157657600281146115805761159c565b6001915050610356565b60ff841115611591576115916114f0565b50506001821b610356565b5060208310610133831016604e8410600b84101617156115bf575081810a610356565b6115c98383611504565b805f19048211156115dc576115dc6114f0565b029392505050565b5f6103dd60ff841683611546565b8082028115828204841417610356576103566114f0565b6020808252600f908201526e27bbb730b136329d1031b0b63632b960891b604082015260600190565b5f60208284031215611642575f80fd5b81516103dd8161141f565b5f805f6060848603121561165f575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611688575f80fd5b815180151581146103dd575f80fd5b80820180821115610356576103566114f0565b5f600182016116bb576116bb6114f0565b5060010190565b81810381811115610356576103566114f0565b5f826116ef57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117565784516001600160a01b031683529383019391830191600101611731565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8bfc90d8946c3056a62579303f378ace7b689249772477652c9a9cb2b63db1d64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610108575f3560e01c806370a0823111610092578063a7520f1c11610062578063a7520f1c146102a6578063a9059cbb146102ba578063c9567bf9146102d9578063dd62ed3e146102ed578063fe2bf9e114610331575f80fd5b806370a0823114610236578063715018a61461026a5780638da5cb5b1461028057806395d89b4114610113575f80fd5b806323b872dd116100d857806323b872dd146101b4578063313ce567146101d357806354f3ca07146101ee5780635bdeaf6614610203578063602d23a014610221575f80fd5b806306fdde031461011357806308a00fcc1461014e578063095ea7b31461017157806318160ddd146101a0575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b506040805180820182526004815263f09d958f60e01b6020820152905161014591906113d4565b60405180910390f35b348015610159575f80fd5b50610163600c5481565b604051908152602001610145565b34801561017c575f80fd5b5061019061018b366004611436565b610346565b6040519015158152602001610145565b3480156101ab575f80fd5b5061016361035c565b3480156101bf575f80fd5b506101906101ce366004611460565b61037c565b3480156101de575f80fd5b5060405160098152602001610145565b3480156101f9575f80fd5b50610163600f5481565b34801561020e575f80fd5b5060155461019090610100900460ff1681565b34801561022c575f80fd5b50610163600d5481565b348015610241575f80fd5b5061016361025036600461149e565b6001600160a01b03165f9081526010602052604090205490565b348015610275575f80fd5b5061027e6103e4565b005b34801561028b575f80fd5b505f546040516001600160a01b039091168152602001610145565b3480156102b1575f80fd5b5061027e61045e565b3480156102c5575f80fd5b506101906102d4366004611436565b61050f565b3480156102e4575f80fd5b5061027e61051b565b3480156102f8575f80fd5b506101636103073660046114b9565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b34801561033c575f80fd5b50610163600e5481565b5f610352338484610875565b5060015b92915050565b5f6103696009600a6115e4565b61037790633b9aca006115f2565b905090565b5f610388848484610998565b6103d984336103d485604051806060016040528060288152602001611778602891396001600160a01b038a165f9081526011602090815260408083203384529091529020549190611072565b610875565b5060015b9392505050565b5f546001600160a01b031633146104165760405162461bcd60e51b815260040161040d90611609565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104875760405162461bcd60e51b815260040161040d90611609565b6104936009600a6115e4565b6104a190633b9aca006115f2565b600c556104b06009600a6115e4565b6104be90633b9aca006115f2565b600d557f42462034f64edc41b67ea6cb72fbc5f4a7672880303a9e0991802ea8caad103e6104ee6009600a6115e4565b6104fc90633b9aca006115f2565b60405190815260200160405180910390a1565b5f610352338484610998565b5f546001600160a01b031633146105445760405162461bcd60e51b815260040161040d90611609565b60155460ff1615610553575f80fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561059c90309061058e6009600a6115e4565b6103d490633b9aca006115f2565b60015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106109190611632565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106939190611632565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107019190611632565b600380546001600160a01b039283166001600160a01b03199091161790556001541663f305d7194730610748816001600160a01b03165f9081526010602052604090205490565b5f8061075b5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c1573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107e6919061164d565b505060035460015460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561083b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085f9190611678565b506015805463ff0000ff19166301000001179055565b6001600160a01b0383166108d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040d565b6001600160a01b0382166109385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040d565b6001600160a01b038381165f8181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109fc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040d565b6001600160a01b038216610a5e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040d565b5f8111610abf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161040d565b5f80546001600160a01b03858116911614801590610aea57505f546001600160a01b03848116911614155b15610f3357601554610100900460ff1615610bab576001546001600160a01b03848116911614801590610b2b57506003546001600160a01b03848116911614155b15610bab57325f908152601460205260409020544311610b995760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161040d565b325f9081526014602052604090204390555b6003546001600160a01b038581169116148015610bd657506001546001600160a01b03848116911614155b8015610bfa57506001600160a01b0383165f9081526012602052604090205460ff16155b15610d3857600c54821115610c485760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb137b1b331b79760611b604482015260640161040d565b600d5482610c6a856001600160a01b03165f9081526010602052604090205490565b610c749190611697565b1115610cb95760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fbbb931b2b9359760611b604482015260640161040d565b600a54600b541015610cd057823b15610cd0575f80fd5b600b8054905f610cdf836116aa565b90915550506001600160a01b0383165f908152601360205260409020805460ff19166001179055600854600b54610d3591606491610d2f9110610d2457600454610d28565b6006545b85906110aa565b90611109565b90505b6003546001600160a01b038481169116148015610d5e57506001600160a01b0384163014155b8015610d8257506001600160a01b0384165f9081526012602052604090205460ff16155b15610e4f57600c548211158015610db35750600f546002546001600160a01b03165f90815260106020526040902054105b610df65760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb137b1b331b79760611b604482015260640161040d565b610e1b6064610d2f600954600b5411610e1157600554610d28565b60075485906110aa565b9050600a54600b54118015610e4757506001600160a01b0384165f9081526013602052604090205460ff165b610e4f575f80fd5b305f9081526010602052604090205460155462010000900460ff16158015610e8457506003546001600160a01b038581169116145b8015610e9957506015546301000000900460ff165b8015610ea65750600e5481115b8015610eb55750600a54600b54115b8015610ed957506001600160a01b0384165f9081526012602052604090205460ff16155b8015610efd57506001600160a01b0385165f9081526012602052604090205460ff16155b15610f3157610f1f610f1a84610f1584600f54611135565b611135565b611149565b478015610f2f57610f2f476112c8565b505b505b8015610fab57305f90815260106020526040902054610f529082611303565b305f81815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa29085815260200190565b60405180910390a35b6001600160a01b0384165f90815260106020526040902054610fcf9085908461134c565b6001600160a01b0385165f90815260106020526040902055611012610ff4838361137c565b6001600160a01b0385165f9081526010602052604090205490611303565b6001600160a01b038085165f8181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61105b858561137c565b60405190815260200160405180910390a350505050565b5f81848411156110955760405162461bcd60e51b815260040161040d91906113d4565b505f6110a184866116c2565b95945050505050565b5f825f036110b957505f610356565b5f6110c483856115f2565b9050826110d185836116d5565b146103dd5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161040d565b5f6103dd8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506113a8565b5f81831161114357826103dd565b50919050565b6015805462ff000019166201000017905580156112b95760155460ff16156112b9576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061119e5761119e6116f4565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112199190611632565b8160018151811061122c5761122c6116f4565b6001600160a01b0392831660209182029290920101526001546112529130911684610875565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061128a9085905f90869030904290600401611708565b5f604051808303815f87803b1580156112a1575f80fd5b505af11580156112b3573d5f803e3d5ffd5b50505050505b506015805462ff000019169055565b6002546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112ff573d5f803e3d5ffd5b5050565b5f8061130f8385611697565b9050838110156103dd5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161040d565b6002545f906001600160a01b039081169085160361136b5750816103dd565b611375838361137c565b90506103dd565b5f6103dd8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b815250611072565b5f81836113c85760405162461bcd60e51b815260040161040d91906113d4565b505f6110a184866116d5565b5f6020808352835180828501525f5b818110156113ff578581018301518582016040015282016113e3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611433575f80fd5b50565b5f8060408385031215611447575f80fd5b82356114528161141f565b946020939093013593505050565b5f805f60608486031215611472575f80fd5b833561147d8161141f565b9250602084013561148d8161141f565b929592945050506040919091013590565b5f602082840312156114ae575f80fd5b81356103dd8161141f565b5f80604083850312156114ca575f80fd5b82356114d58161141f565b915060208301356114e58161141f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561153e57815f1904821115611524576115246114f0565b8085161561153157918102915b93841c9390800290611509565b509250929050565b5f8261155457506001610356565b8161156057505f610356565b816001811461157657600281146115805761159c565b6001915050610356565b60ff841115611591576115916114f0565b50506001821b610356565b5060208310610133831016604e8410600b84101617156115bf575081810a610356565b6115c98383611504565b805f19048211156115dc576115dc6114f0565b029392505050565b5f6103dd60ff841683611546565b8082028115828204841417610356576103566114f0565b6020808252600f908201526e27bbb730b136329d1031b0b63632b960891b604082015260600190565b5f60208284031215611642575f80fd5b81516103dd8161141f565b5f805f6060848603121561165f575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611688575f80fd5b815180151581146103dd575f80fd5b80820180821115610356576103566114f0565b5f600182016116bb576116bb6114f0565b5060010190565b81810381811115610356576103566114f0565b5f826116ef57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117565784516001600160a01b031683529383019391830191600101611731565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8bfc90d8946c3056a62579303f378ace7b689249772477652c9a9cb2b63db1d64736f6c63430008140033

Deployed Bytecode Sourcemap

3584:9720:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5464:83;;;;;;;;;;-1:-1:-1;5534:5:0;;;;;;;;;;;-1:-1:-1;;;5534:5:0;;;;5464:83;;;;5534:5;5464:83;:::i;:::-;;;;;;;;4295:37;;;;;;;;;;;;;;;;;;;713:25:1;;;701:2;686:18;4295:37:0;567:177:1;6304:161:0;;;;;;;;;;-1:-1:-1;6304:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6304:161:0;1205:187:1;5741:100:0;;;;;;;;;;;;;:::i;6473:317::-;;;;;;;;;;-1:-1:-1;6473:317:0;;;;;:::i;:::-;;:::i;5650:83::-;;;;;;;;;;-1:-1:-1;5650:83:0;;3914:1;2000:36:1;;1988:2;1973:18;5650:83:0;1858:184:1;4426:36:0;;;;;;;;;;;;;;;;4777:27;;;;;;;;;;-1:-1:-1;4777:27:0;;;;;;;;;;;4339:37;;;;;;;;;;;;;;;;5849:119;;;;;;;;;;-1:-1:-1;5849:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5942:18:0;5915:7;5942:18;;;:9;:18;;;;;;;5849:119;2604:148;;;;;;;;;;;;;:::i;:::-;;2407:79;;;;;;;;;;-1:-1:-1;2445:7:0;2472:6;2407:79;;-1:-1:-1;;;;;2472:6:0;;;2445:51:1;;2433:2;2418:18;2407:79:0;2299:203:1;11846:171:0;;;;;;;;;;;;;:::i;5976:167::-;;;;;;;;;;-1:-1:-1;5976:167:0;;;;;:::i;:::-;;:::i;12404:860::-;;;;;;;;;;;;;:::i;6151:145::-;;;;;;;;;;-1:-1:-1;6151:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;6260:19:0;;;6233:7;6260:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6151:145;4383:36;;;;;;;;;;;;;;;;6304:161;6379:4;6396:39;2064:10;6419:7;6428:6;6396:8;:39::i;:::-;-1:-1:-1;6453:4:0;6304:161;;;;;:::o;5741:100::-;5794:7;3975:14;3914:1;3975:2;:14;:::i;:::-;3962:27;;:10;:27;:::i;:::-;5814:19;;5741:100;:::o;6473:317::-;6571:4;6588:36;6598:6;6606:9;6617:6;6588:9;:36::i;:::-;6635:125;6644:6;2064:10;6666:93;6708:6;6666:93;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6666:19:0;;;;;;:11;:19;;;;;;;;2064:10;6666:33;;;;;;;;;;:41;:93::i;:::-;6635:8;:125::i;:::-;-1:-1:-1;6778:4:0;6473:317;;;;;;:::o;2604:148::-;2534:6;;-1:-1:-1;;;;;2534:6:0;2064:10;2534:22;2526:50;;;;-1:-1:-1;;;2526:50:0;;;;;;;:::i;:::-;;;;;;;;;2711:1:::1;2695:6:::0;;2674:40:::1;::::0;-1:-1:-1;;;;;2695:6:0;;::::1;::::0;2674:40:::1;::::0;2711:1;;2674:40:::1;2742:1;2725:19:::0;;-1:-1:-1;;;;;;2725:19:0::1;::::0;;2604:148::o;11846:171::-;2534:6;;-1:-1:-1;;;;;2534:6:0;2064:10;2534:22;2526:50;;;;-1:-1:-1;;;2526:50:0;;;;;;;:::i;:::-;3975:14:::1;3914:1;3975:2;:14;:::i;:::-;3962:27;::::0;:10:::1;:27;:::i;:::-;11917:7;:22:::0;3975:14:::1;3914:1;3975:2;:14;:::i;:::-;3962:27;::::0;:10:::1;:27;:::i;:::-;11950:7;:22:::0;11988:21:::1;3975:14;3914:1;3975:2;:14;:::i;:::-;3962:27;::::0;:10:::1;:27;:::i;:::-;11988:21;::::0;713:25:1;;;701:2;686:18;11988:21:0::1;;;;;;;11846:171::o:0;5976:167::-;6054:4;6071:42;2064:10;6095:9;6106:6;6071:9;:42::i;12404:860::-;2534:6;;-1:-1:-1;;;;;2534:6:0;2064:10;2534:22;2526:50;;;;-1:-1:-1;;;2526:50:0;;;;;;;:::i;:::-;12496:9:::1;::::0;::::1;;12494:11;12471:36;;;::::0;::::1;;12519:8;:105:::0;;-1:-1:-1;;;;;;12519:105:0::1;12581:42;12519:105:::0;;::::1;::::0;;;12635:94:::1;::::0;12662:4:::1;::::0;3975:14:::1;3914:1;3975:2;:14;:::i;:::-;3962:27;::::0;:10:::1;:27;:::i;12635:94::-;12778:8;;;;;;;;;-1:-1:-1::0;;;;;12778:8:0::1;-1:-1:-1::0;;;;;12778:26:0::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12760:71:0::1;;12855:4;12877:8;;;;;;;;;-1:-1:-1::0;;;;;12877:8:0::1;-1:-1:-1::0;;;;;12877:29:0::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12760:152;::::0;-1:-1:-1;;;;;;12760:152:0::1;::::0;;;;;;-1:-1:-1;;;;;5418:15:1;;;12760:152:0::1;::::0;::::1;5400:34:1::0;5470:15;;5450:18;;;5443:43;5335:18;;12760:152:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12740:7;:172:::0;;-1:-1:-1;;;;;12740:172:0;;::::1;-1:-1:-1::0;;;;;;12740:172:0;;::::1;;::::0;;;12923:8;::::1;:24;12965:31;13016:4;13032:34;13016:4:::0;-1:-1:-1;;;;;5942:18:0;5915:7;5942:18;;;:9;:18;;;;;;;5849:119;13032:34:::1;13067:1;13069::::0;13071:7:::1;2445::::0;2472:6;-1:-1:-1;;;;;2472:6:0;;2407:79;13071:7:::1;12923:182;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12923:182:0;;;-1:-1:-1;;;;;5856:15:1;;;12923:182:0::1;::::0;::::1;5838:34:1::0;5888:18;;;5881:34;;;;5931:18;;;5924:34;;;;5974:18;;;5967:34;6038:15;;;6017:19;;;6010:44;13079:25:0::1;6070:19:1::0;;;6063:35;5772:19;;12923:182:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13123:7:0::1;::::0;;13158:8;13116:88:::1;::::0;-1:-1:-1;;;13116:88:0;;-1:-1:-1;;;;;13158:8:0;;::::1;13116:88;::::0;::::1;6594:51:1::0;-1:-1:-1;;6661:18:1;;;6654:34;13123:7:0;::::1;::::0;-1:-1:-1;13116:33:0::1;::::0;6567:18:1;;13116:88:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13215:7:0::1;:14:::0;;-1:-1:-1;;13240:16:0;;;;;12404:860::o;6798:339::-;-1:-1:-1;;;;;6892:20:0;;6884:69;;;;-1:-1:-1;;;6884:69:0;;7183:2:1;6884:69:0;;;7165:21:1;7222:2;7202:18;;;7195:30;7261:34;7241:18;;;7234:62;-1:-1:-1;;;7312:18:1;;;7305:34;7356:19;;6884:69:0;6981:400:1;6884:69:0;-1:-1:-1;;;;;6972:21:0;;6964:68;;;;-1:-1:-1;;;6964:68:0;;7588:2:1;6964:68:0;;;7570:21:1;7627:2;7607:18;;;7600:30;7666:34;7646:18;;;7639:62;-1:-1:-1;;;7717:18:1;;;7710:32;7759:19;;6964:68:0;7386:398:1;6964:68:0;-1:-1:-1;;;;;7043:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7096:33;;713:25:1;;;7096:33:0;;686:18:1;7096:33:0;;;;;;;6798:339;;;:::o;7145:3567::-;-1:-1:-1;;;;;7233:18:0;;7225:68;;;;-1:-1:-1;;;7225:68:0;;7991:2:1;7225:68:0;;;7973:21:1;8030:2;8010:18;;;8003:30;8069:34;8049:18;;;8042:62;-1:-1:-1;;;8120:18:1;;;8113:35;8165:19;;7225:68:0;7789:401:1;7225:68:0;-1:-1:-1;;;;;7312:16:0;;7304:64;;;;-1:-1:-1;;;7304:64:0;;8397:2:1;7304:64:0;;;8379:21:1;8436:2;8416:18;;;8409:30;8475:34;8455:18;;;8448:62;-1:-1:-1;;;8526:18:1;;;8519:33;8569:19;;7304:64:0;8195:399:1;7304:64:0;7396:1;7387:6;:10;7379:64;;;;-1:-1:-1;;;7379:64:0;;8801:2:1;7379:64:0;;;8783:21:1;8840:2;8820:18;;;8813:30;8879:34;8859:18;;;8852:62;-1:-1:-1;;;8930:18:1;;;8923:39;8979:19;;7379:64:0;8599:405:1;7379:64:0;7454:14;2472:6;;-1:-1:-1;;;;;7485:26:0;;;2472:6;;7485:26;;;;:56;;-1:-1:-1;2445:7:0;2472:6;-1:-1:-1;;;;;7515:26:0;;;2472:6;;7515:26;;7485:56;7481:2695;;;7565:7;;;;;;;7561:487;;;7647:8;;-1:-1:-1;;;;;7597:59:0;;;7647:8;;7597:59;;;;:140;;-1:-1:-1;7729:7:0;;-1:-1:-1;;;;;7678:59:0;;;7729:7;;7678:59;;7597:140;7593:440;;;7795:9;7768:37;;;;:6;:37;;;;;;7828:12;-1:-1:-1;7760:160:0;;;;-1:-1:-1;;;7760:160:0;;9211:2:1;7760:160:0;;;9193:21:1;9250:2;9230:18;;;9223:30;9289:34;9269:18;;;9262:62;-1:-1:-1;;;9340:18:1;;;9333:34;9384:19;;7760:160:0;9009:400:1;7760:160:0;7968:9;7941:37;;;;:6;:37;;;;;8001:12;7941:72;;7593:440;8090:7;;-1:-1:-1;;;;;8068:29:0;;;8090:7;;8068:29;:70;;;;-1:-1:-1;8129:8:0;;-1:-1:-1;;;;;8101:37:0;;;8129:8;;8101:37;;8068:70;:99;;;;-1:-1:-1;;;;;;8157:10:0;;;;;;:6;:10;;;;;;;;8156:11;8068:99;8064:783;;;8225:7;;8197:6;:35;;8189:86;;;;-1:-1:-1;;;8189:86:0;;9616:2:1;8189:86:0;;;9598:21:1;9655:2;9635:18;;;9628:30;-1:-1:-1;;;9674:18:1;;;9667:50;9734:18;;8189:86:0;9414:344:1;8189:86:0;8364:7;;8336:6;8302:31;8330:2;-1:-1:-1;;;;;5942:18:0;5915:7;5942:18;;;:9;:18;;;;;;;5849:119;8302:31;:40;;;;:::i;:::-;:69;;8294:121;;;;-1:-1:-1;;;8294:121:0;;10095:2:1;8294:121:0;;;10077:21:1;10134:2;10114:18;;;10107:30;-1:-1:-1;;;10153:18:1;;;10146:50;10213:18;;8294:121:0;9893:344:1;8294:121:0;8464:7;;8437;;:34;8434:121;;;12183:35;;12246:20;8493:42;;;;;;8573:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8602:30:0;;;;;;:7;:30;;;;;:35;;-1:-1:-1;;8602:35:0;8633:4;8602:35;;;8724:14;;8698:7;;8665:166;;8827:3;;8665:139;;-1:-1:-1;8697:106:0;;8789:14;;8697:106;;;8758:12;;8697:106;8665:6;;:13;:139::i;:::-;:161;;:166::i;:::-;8656:175;;8064:783;8872:7;;-1:-1:-1;;;;;8866:13:0;;;8872:7;;8866:13;:51;;;;-1:-1:-1;;;;;;8897:20:0;;8912:4;8897:20;;8866:51;:82;;;;-1:-1:-1;;;;;;8936:12:0;;;;;;:6;:12;;;;;;;;8935:13;8866:82;8863:549;;;9005:7;;8977:6;:35;;:101;;;;-1:-1:-1;9071:7:0;;9044;;-1:-1:-1;;;;;9044:7:0;5915;5942:18;;;:9;:18;;;;;;9034:44;8977:101;8969:152;;;;-1:-1:-1;;;8969:152:0;;9616:2:1;8969:152:0;;;9598:21:1;9655:2;9635:18;;;9628:30;-1:-1:-1;;;9674:18:1;;;9667:50;9734:18;;8969:152:0;9414:344:1;8969:152:0;9149:151;9296:3;9149:124;9190:15;;9164:7;;:41;9163:109;;9257:15;;9163:109;;;9225:13;;9149:6;;:13;:124::i;:151::-;9140:160;;9353:7;;9327;;:33;:68;;;;-1:-1:-1;;;;;;9382:13:0;;;;;;:7;:13;;;;;;;;9327:68;9319:77;;;;;;9491:4;9428:28;5942:18;;;:9;:18;;;;;;9517:6;;;;;;;9516:7;:38;;;;-1:-1:-1;9547:7:0;;-1:-1:-1;;;;;9541:13:0;;;9547:7;;9541:13;9516:38;:63;;;;-1:-1:-1;9572:7:0;;;;;;;9516:63;:124;;;;;9633:7;;9597:20;:43;9516:124;:171;;;;;9680:7;;9658;;:29;9516:171;:199;;;;-1:-1:-1;;;;;;9705:10:0;;;;;;:6;:10;;;;;;;;9704:11;9516:199;:230;;;;-1:-1:-1;;;;;;9734:12:0;;;;;;:6;:12;;;;;;;;9733:13;9516:230;9512:653;;;9781:104;9796:88;9803:6;9829:54;9836:20;9875:7;;9829:6;:54::i;:::-;9796:6;:88::i;:::-;9781:13;:104::i;:::-;9951:39;10012:40;;10009:141;;10077:53;10086:43;10077:8;:53::i;:::-;9762:403;9512:653;7544:2632;7481:2695;10191:8;;10188:237;;10292:4;10250:48;;;;:9;:48;;;;;;:72;;10315:6;10250:64;:72::i;:::-;10243:4;10213:36;;;;:9;:36;;;;;;;:109;;;;10352:61;;-1:-1:-1;;;;;10352:61:0;;;;;;;10406:6;713:25:1;;701:2;686:18;;567:177;10352:61:0;;;;;;;;10188:237;-1:-1:-1;;;;;10485:15:0;;;;;;:9;:15;;;;;;10462:58;;10469:4;;10513:6;10462;:58::i;:::-;-1:-1:-1;;;;;10435:25:0;;;;;;:9;:25;;;;;:85;10555:61;10583:32;:6;10608;10583:24;:32::i;:::-;-1:-1:-1;;;;;10555:13:0;;;;;;:9;:13;;;;;;;:27;:61::i;:::-;-1:-1:-1;;;;;10531:13:0;;;;;;;:9;:13;;;;;:85;;;;10632:72;;;10671:32;:6;10696;10671:24;:32::i;:::-;10632:72;;713:25:1;;;701:2;686:18;10632:72:0;;;;;;;7214:3498;7145:3567;;;:::o;1197:194::-;1287:7;1323:12;1315:6;;;;1307:29;;;;-1:-1:-1;;;1307:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1347:9:0;1359:5;1363:1;1359;:5;:::i;:::-;1347:17;1197:194;-1:-1:-1;;;;;1197:194:0:o;1399:224::-;1460:7;1484:1;1489;1484:6;1480:47;;-1:-1:-1;1514:1:0;1507:8;;1480:47;1537:9;1549:5;1553:1;1549;:5;:::i;:::-;1537:17;-1:-1:-1;1582:1:0;1573:5;1577:1;1537:17;1573:5;:::i;:::-;:10;1565:31;;;;-1:-1:-1;;;1565:31:0;;10939:2:1;1565:31:0;;;10921:21:1;10978:1;10958:18;;;10951:29;-1:-1:-1;;;10996:18:1;;;10989:38;11044:18;;1565:31:0;10737:331:1;1631:114:0;1689:7;1716:21;1720:1;1723;1716:21;;;;;;;;;;;;;-1:-1:-1;;;1716:21:0;;;:3;:21::i;11415:155::-;11507:7;11537:1;11533;:5;11531:30;;11560:1;11531:30;;;-1:-1:-1;11556:1:0;11415:155;-1:-1:-1;11415:155:0:o;10720:687::-;4945:6;:13;;-1:-1:-1;;4945:13:0;;;;;10803:37;;10832:7:::1;10803:37;10854:9;::::0;::::1;;10850:33:::0;10875:7:::1;10850:33;10939:16;::::0;;10953:1:::1;10939:16:::0;;;;;::::1;::::0;;10893:33:::1;::::0;10939:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10939:16:0::1;10893:62;;10994:4;10966;10971:1;10966:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10966:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:33;;;;11030:8:::1;::::0;:15:::1;::::0;;-1:-1:-1;;;11030:15:0;;;;:8;;;::::1;::::0;:13:::1;::::0;:15:::1;::::0;;::::1;::::0;10966:7;;11030:15;;;;;:8;:15:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11010:4;11015:1;11010:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11010:35:0;;::::1;:7;::::0;;::::1;::::0;;;;;:35;11113:8:::1;::::0;11056:95:::1;::::0;11073:4:::1;::::0;11113:8:::1;11139:11:::0;11056:8:::1;:95::i;:::-;11162:8;::::0;:237:::1;::::0;-1:-1:-1;;;11162:237:0;;-1:-1:-1;;;;;11162:8:0;;::::1;::::0;:69:::1;::::0;:237:::1;::::0;11256:11;;11162:8:::1;::::0;11298:4;;11339::::1;::::0;11359:29:::1;::::0;11162:237:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10792:615;4969:1;-1:-1:-1::0;4981:6:0;:14;;-1:-1:-1;;4981:14:0;;;10720:687::o;12282:114::-;12340:7;;:48;;-1:-1:-1;;;;;12340:7:0;;;;:48;;;;;12381:6;;12340:7;:48;:7;:48;12381:6;12340:7;:48;;;;;;;;;;;;;;;;;;;;;12282:114;:::o;899:160::-;957:7;;989:5;993:1;989;:5;:::i;:::-;977:17;;1018:1;1013;:6;;1005:27;;;;-1:-1:-1;;;1005:27:0;;10939:2:1;1005:27:0;;;10921:21:1;10978:1;10958:18;;;10951:29;-1:-1:-1;;;10996:18:1;;;10989:38;11044:18;;1005:27:0;10737:331:1;11578:260:0;11721:7;;11681;;-1:-1:-1;;;;;11721:7:0;;;11703:25;;;;11700:131;;-1:-1:-1;11751:1:0;11744:8;;11700:131;11791:28;:1;11817;11791:24;:28::i;:::-;11784:35;;;;1067:122;1129:7;1157:24;1164:1;1167;1157:24;;;;;;;;;;;;;-1:-1:-1;;;1157:24:0;;;:6;:24::i;1753:189::-;1839:7;1874:12;1867:5;1859:28;;;;-1:-1:-1;;;1859:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1898:9:0;1910:5;1914:1;1910;: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;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;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:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:339::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;-1:-1:-1;;;4863:2:1;4848:18;;4841:45;4918:2;4903:18;;4588:339::o;4932:251::-;5002:6;5055:2;5043:9;5034:7;5030:23;5026:32;5023:52;;;5071:1;5068;5061:12;5023:52;5103:9;5097:16;5122:31;5147:5;5122:31;:::i;6109:306::-;6197:6;6205;6213;6266:2;6254:9;6245:7;6241:23;6237:32;6234:52;;;6282:1;6279;6272:12;6234:52;6311:9;6305:16;6295:26;;6361:2;6350:9;6346:18;6340:25;6330:35;;6405:2;6394:9;6390:18;6384:25;6374:35;;6109:306;;;;;:::o;6699:277::-;6766:6;6819:2;6807:9;6798:7;6794:23;6790:32;6787:52;;;6835:1;6832;6825:12;6787:52;6867:9;6861:16;6920:5;6913:13;6906:21;6899:5;6896:32;6886:60;;6942:1;6939;6932:12;9763:125;9828:9;;;9849:10;;;9846:36;;;9862:18;;:::i;10242:135::-;10281:3;10302:17;;;10299:43;;10322:18;;:::i;:::-;-1:-1:-1;10369:1:1;10358:13;;10242:135::o;10382:128::-;10449:9;;;10470:11;;;10467:37;;;10484:18;;:::i;10515:217::-;10555:1;10581;10571:132;;10625:10;10620:3;10616:20;10613:1;10606:31;10660:4;10657:1;10650:15;10688:4;10685:1;10678:15;10571:132;-1:-1:-1;10717:9:1;;10515:217::o;11205:127::-;11266:10;11261:3;11257:20;11254:1;11247:31;11297:4;11294:1;11287:15;11321:4;11318:1;11311:15;11337:980;11599:4;11647:3;11636:9;11632:19;11678:6;11667:9;11660:25;11704:2;11742:6;11737:2;11726:9;11722:18;11715:34;11785:3;11780:2;11769:9;11765:18;11758:31;11809:6;11844;11838:13;11875:6;11867;11860:22;11913:3;11902:9;11898:19;11891:26;;11952:2;11944:6;11940:15;11926:29;;11973:1;11983:195;11997:6;11994:1;11991:13;11983:195;;;12062:13;;-1:-1:-1;;;;;12058:39:1;12046:52;;12153:15;;;;12118:12;;;;12094:1;12012:9;11983:195;;;-1:-1:-1;;;;;;;12234:32:1;;;;12229:2;12214:18;;12207:60;-1:-1:-1;;;12298:3:1;12283:19;12276:35;12195:3;11337:980;-1:-1:-1;;;11337:980:1:o

Swarm Source

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