ETH Price: $3,362.70 (-2.65%)
Gas: 2 Gwei

Token

QIXI ($QIXI)
 

Overview

Max Total Supply

10,000,000 $QIXI

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
221,782.786445294 $QIXI

Value
$0.00
0xea31a380d4ebb5d8ae63d51af679d72e9d85e4b9
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:
QIXI

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-06-13
*/

// SPDX-License-Identifier: MIT

/*
     $QIXI the real cock is here.

 Website : https://qixitoken.vip/
 Twitter : https://x.com/qixierc
 Telegram : https://t.me/Qixi_erc  

*/ 

pragma solidity 0.8.19;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

}

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract QIXI is Context , IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    address private constant deadAddress = address(0xdead);

    uint256 private _startingBuyTax=25;
    uint256 private _startingSellTax=25;
    uint256 private _endingBuyTax=10;
    uint256 private _endingSellTax=15;
    uint256 private _reduceBuyTaxThreshold=30;
    uint256 private _reduceSellTaxThreshold=45;
    uint256 private _swapPreventionThreshold=40;
    uint256 private _buyTransactionCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000 * 10**_decimals;
    string private constant _name = unicode"QIXI";
    string private constant _symbol = unicode"$QIXI";
    uint256 public _maxTxAmount = 100000 * 10**_decimals;
    uint256 public _maxWalletSize = 100000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000 * 10**_decimals;
    uint256 public _maxTaxSwap= 100000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private limitEffect = true;
    bool private inSwap = false;
    bool private swapEnabled = false;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x58B22cc55c37d36dF7bA1b533260F3e32C8A1d9C);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[deadAddress]= true;
        _isExcludedFromFee[address(this)] = 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 transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;

        if (from != owner() && to != owner()) { 

            if (!tradingOpen) {
                require( 
                  _isExcludedFromFee[from] || _isExcludedFromFee[to],
                  "trading is not yet open"
                );
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                if (limitEffect) {
                    require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                    require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                } 
                _buyTransactionCount++;
            }
            
            if ( to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul 
                ((_buyTransactionCount>_reduceSellTaxThreshold)
                    ?_endingSellTax:_startingSellTax).div(100
                );
            } else if (from == uniswapV2Pair && to!= address(this) ){
                taxAmount = amount.mul
                ((_buyTransactionCount>_reduceBuyTaxThreshold)
                    ?_endingBuyTax:_startingBuyTax).div(100
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap && 
                to == uniswapV2Pair && 
                swapEnabled && 
                contractTokenBalance>_taxSwapThreshold && 
                _buyTransactionCount>_swapPreventionThreshold
            ){
                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 sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function createPair() external onlyOwner() {
        require(!tradingOpen,"Liq is already added");
        uint256 tokenAmount = balanceOf(address(this)).sub(_tTotal.mul(_startingBuyTax).div(100));
        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),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
    }

    function removeLimits () external onlyOwner returns (bool){
        limitEffect = false;
        return true;
    }
    
    function setBuyTax(uint256 _newBuyTax) external onlyOwner returns (bool) {
        _endingBuyTax = _newBuyTax;
        require(_newBuyTax <= 5, "Buytax cannot exceed 5");
        return true;
    }

    function setSellTax(uint256 _newSellTax) external onlyOwner returns (bool) {
        _endingSellTax = _newSellTax;
        require(_newSellTax <= 10, "Selltax cannot exceed 10");
        return true;
    }

    function openTrading() external onlyOwner returns (bool) {
        require(!tradingOpen,"already open");
        swapEnabled = true;
        tradingOpen = true;
        return true;
    }

    function clearstuckETH() external returns (bool) {
        require(tradingOpen,"not yet open");
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          _taxWallet.transfer(ethBalance);
        }
        return true;
    }
    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":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":"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":"clearstuckETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyTax","type":"uint256"}],"name":"setBuyTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newSellTax","type":"uint256"}],"name":"setSellTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260196005556019600655600a600755600f600855601e600955602d600a556028600b556000600c556009600a6200003c91906200037c565b6200004b90620186a062000394565b600d556200005c6009600a6200037c565b6200006b90620186a062000394565b600e556200007c6009600a6200037c565b6200008a9061271062000394565b600f556200009b6009600a6200037c565b620000aa90620186a062000394565b6010556012805462ffffff60a81b1916600160a81b179055348015620000cf57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319167358b22cc55c37d36df7ba1b533260f3e32c8a1d9c179055620001456009600a6200037c565b62000154906298968062000394565b3360009081526001602081905260408220929092556003906200017f6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560039093527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054851660019081179091553084528284208054861682179055600454909116835291208054909216179055620002073390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002416009600a6200037c565b62000250906298968062000394565b60405190815260200160405180910390a3620003ae565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002be578160001904821115620002a257620002a262000267565b80851615620002b057918102915b93841c939080029062000282565b509250929050565b600082620002d75750600162000376565b81620002e65750600062000376565b8160018114620002ff57600281146200030a576200032a565b600191505062000376565b60ff8411156200031e576200031e62000267565b50506001821b62000376565b5060208310610133831016604e8410600b84101617156200034f575081810a62000376565b6200035b83836200027d565b806000190482111562000372576200037262000267565b0290505b92915050565b60006200038d60ff841683620002c6565b9392505050565b808202811582820484141762000376576200037662000267565b611a3680620003be6000396000f3fe60806040526004361061012e5760003560e01c80638cd09d50116100ab578063a9059cbb1161006f578063a9059cbb14610337578063a92d4a9214610357578063bf474bed1461036c578063c9567bf914610382578063dc1052e214610397578063dd62ed3e146103b757600080fd5b80638cd09d50146102965780638da5cb5b146102b65780638f9a55c0146102de57806395d89b41146102f45780639e78fb4f1461032257600080fd5b8063313ce567116100f2578063313ce5671461020257806370a082311461021e578063715018a614610254578063751039fc1461026b5780637d1db4a51461028057600080fd5b806306fdde031461013a578063095ea7b3146101795780630faee56f146101a957806318160ddd146101cd57806323b872dd146101e257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b506040805180820190915260048152635149584960e01b60208201525b60405161017091906115ec565b60405180910390f35b34801561018557600080fd5b50610199610194366004611652565b6103fd565b6040519015158152602001610170565b3480156101b557600080fd5b506101bf60105481565b604051908152602001610170565b3480156101d957600080fd5b506101bf610414565b3480156101ee57600080fd5b506101996101fd36600461167e565b610434565b34801561020e57600080fd5b5060405160098152602001610170565b34801561022a57600080fd5b506101bf6102393660046116bf565b6001600160a01b031660009081526001602052604090205490565b34801561026057600080fd5b5061026961049d565b005b34801561027757600080fd5b5061019961051a565b34801561028c57600080fd5b506101bf600d5481565b3480156102a257600080fd5b506101996102b13660046116dc565b610558565b3480156102c257600080fd5b506000546040516001600160a01b039091168152602001610170565b3480156102ea57600080fd5b506101bf600e5481565b34801561030057600080fd5b50604080518082019091526005815264245149584960d81b6020820152610163565b34801561032e57600080fd5b506102696105e1565b34801561034357600080fd5b50610199610352366004611652565b6109af565b34801561036357600080fd5b506101996109bc565b34801561037857600080fd5b506101bf600f5481565b34801561038e57600080fd5b50610199610a52565b3480156103a357600080fd5b506101996103b23660046116dc565b610ae5565b3480156103c357600080fd5b506101bf6103d23660046116f5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061040a338484610b5f565b5060015b92915050565b60006104226009600a611828565b61042f9062989680611837565b905090565b6000610441848484610c83565b610493843361048e856040518060600160405280602881526020016119d9602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061124f565b610b5f565b5060019392505050565b6000546001600160a01b031633146104d05760405162461bcd60e51b81526004016104c79061184e565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146105455760405162461bcd60e51b81526004016104c79061184e565b506012805460ff60a81b19169055600190565b600080546001600160a01b031633146105835760405162461bcd60e51b81526004016104c79061184e565b6008829055600a8211156105d95760405162461bcd60e51b815260206004820152601860248201527f53656c6c7461782063616e6e6f7420657863656564203130000000000000000060448201526064016104c7565b506001919050565b6000546001600160a01b0316331461060b5760405162461bcd60e51b81526004016104c79061184e565b601254600160a01b900460ff161561065c5760405162461bcd60e51b8152602060048201526014602482015273131a5c481a5cc8185b1c9958591e48185919195960621b60448201526064016104c7565b60006106a9610693606461068d6005546009600a61067a9190611828565b6106879062989680611837565b90611289565b90611312565b3060009081526001602052604090205490611354565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506106f49030906106e76009600a611828565b61048e9062989680611837565b601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b9190611883565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611883565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561083e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108629190611883565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d7194730846000806108a16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610909573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061092e91906118a0565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ab91906118ce565b5050565b600061040a338484610c83565b601254600090600160a01b900460ff16610a075760405162461bcd60e51b815260206004820152600c60248201526b3737ba103cb2ba1037b832b760a11b60448201526064016104c7565b478015610a4a576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a48573d6000803e3d6000fd5b505b600191505090565b600080546001600160a01b03163314610a7d5760405162461bcd60e51b81526004016104c79061184e565b601254600160a01b900460ff1615610ac65760405162461bcd60e51b815260206004820152600c60248201526b30b63932b0b23c9037b832b760a11b60448201526064016104c7565b506012805463ff0000ff60a01b1916630100000160a01b179055600190565b600080546001600160a01b03163314610b105760405162461bcd60e51b81526004016104c79061184e565b600782905560058211156105d95760405162461bcd60e51b81526020600482015260166024820152754275797461782063616e6e6f7420657863656564203560501b60448201526064016104c7565b6001600160a01b038316610bc15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c7565b6001600160a01b038216610c225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c7565b6001600160a01b038216610d495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c7565b60008111610dab5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c7565b600080546001600160a01b03858116911614801590610dd857506000546001600160a01b03848116911614155b1561110c57601254600160a01b900460ff16610e79576001600160a01b03841660009081526003602052604090205460ff1680610e2d57506001600160a01b03831660009081526003602052604090205460ff165b610e795760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206973206e6f7420796574206f70656e00000000000000000060448201526064016104c7565b6012546001600160a01b038581169116148015610ea457506011546001600160a01b03848116911614155b8015610ec957506001600160a01b03831660009081526003602052604090205460ff16155b15610fc357601254600160a81b900460ff1615610fad57600d54821115610f325760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c7565b600e5482610f55856001600160a01b031660009081526001602052604090205490565b610f5f91906118f0565b1115610fad5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c7565b600c8054906000610fbd83611903565b91905055505b6012546001600160a01b038481169116148015610fe957506001600160a01b0384163014155b1561101b57611014606461068d600a54600c54116110095760065461100d565b6008545b8590611289565b905061106e565b6012546001600160a01b03858116911614801561104157506001600160a01b0383163014155b1561106e5761106b606461068d600954600c54116110615760055461100d565b6007548590611289565b90505b30600090815260016020526040902054601254600160b01b900460ff161580156110a557506012546001600160a01b038581169116145b80156110ba5750601254600160b81b900460ff165b80156110c75750600f5481115b80156110d65750600b54600c54115b1561110a576110f86110f3846110ee84601054611396565b611396565b6113ab565b4780156111085761110847611525565b505b505b8015611186573060009081526001602052604090205461112c908261155f565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061117d9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546111a99083611354565b6001600160a01b0385166000908152600160205260409020556111ee6111cf8383611354565b6001600160a01b0385166000908152600160205260409020549061155f565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112388585611354565b60405190815260200160405180910390a350505050565b600081848411156112735760405162461bcd60e51b81526004016104c791906115ec565b506000611280848661191c565b95945050505050565b60008260000361129b5750600061040e565b60006112a78385611837565b9050826112b4858361192f565b1461130b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c7565b9392505050565b600061130b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115be565b600061130b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061124f565b60008183116113a5578261130b565b50919050565b6012805460ff60b01b1916600160b01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113f3576113f3611951565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114709190611883565b8160018151811061148357611483611951565b6001600160a01b0392831660209182029290920101526011546114a99130911684610b5f565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114e2908590600090869030904290600401611967565b600060405180830381600087803b1580156114fc57600080fd5b505af1158015611510573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109ab573d6000803e3d6000fd5b60008061156c83856118f0565b90508381101561130b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c7565b600081836115df5760405162461bcd60e51b81526004016104c791906115ec565b506000611280848661192f565b600060208083528351808285015260005b81811015611619578581018301518582016040015282016115fd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461164f57600080fd5b50565b6000806040838503121561166557600080fd5b82356116708161163a565b946020939093013593505050565b60008060006060848603121561169357600080fd5b833561169e8161163a565b925060208401356116ae8161163a565b929592945050506040919091013590565b6000602082840312156116d157600080fd5b813561130b8161163a565b6000602082840312156116ee57600080fd5b5035919050565b6000806040838503121561170857600080fd5b82356117138161163a565b915060208301356117238161163a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561177f5781600019048211156117655761176561172e565b8085161561177257918102915b93841c9390800290611749565b509250929050565b6000826117965750600161040e565b816117a35750600061040e565b81600181146117b957600281146117c3576117df565b600191505061040e565b60ff8411156117d4576117d461172e565b50506001821b61040e565b5060208310610133831016604e8410600b8410161715611802575081810a61040e565b61180c8383611744565b80600019048211156118205761182061172e565b029392505050565b600061130b60ff841683611787565b808202811582820484141761040e5761040e61172e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561189557600080fd5b815161130b8161163a565b6000806000606084860312156118b557600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118e057600080fd5b8151801515811461130b57600080fd5b8082018082111561040e5761040e61172e565b6000600182016119155761191561172e565b5060010190565b8181038181111561040e5761040e61172e565b60008261194c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119b75784516001600160a01b031683529383019391830191600101611992565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122071f00faa235b79618cf3420b90fe3c8e11cf3c649f04eb7d65b23613e05e9cd864736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80638cd09d50116100ab578063a9059cbb1161006f578063a9059cbb14610337578063a92d4a9214610357578063bf474bed1461036c578063c9567bf914610382578063dc1052e214610397578063dd62ed3e146103b757600080fd5b80638cd09d50146102965780638da5cb5b146102b65780638f9a55c0146102de57806395d89b41146102f45780639e78fb4f1461032257600080fd5b8063313ce567116100f2578063313ce5671461020257806370a082311461021e578063715018a614610254578063751039fc1461026b5780637d1db4a51461028057600080fd5b806306fdde031461013a578063095ea7b3146101795780630faee56f146101a957806318160ddd146101cd57806323b872dd146101e257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b506040805180820190915260048152635149584960e01b60208201525b60405161017091906115ec565b60405180910390f35b34801561018557600080fd5b50610199610194366004611652565b6103fd565b6040519015158152602001610170565b3480156101b557600080fd5b506101bf60105481565b604051908152602001610170565b3480156101d957600080fd5b506101bf610414565b3480156101ee57600080fd5b506101996101fd36600461167e565b610434565b34801561020e57600080fd5b5060405160098152602001610170565b34801561022a57600080fd5b506101bf6102393660046116bf565b6001600160a01b031660009081526001602052604090205490565b34801561026057600080fd5b5061026961049d565b005b34801561027757600080fd5b5061019961051a565b34801561028c57600080fd5b506101bf600d5481565b3480156102a257600080fd5b506101996102b13660046116dc565b610558565b3480156102c257600080fd5b506000546040516001600160a01b039091168152602001610170565b3480156102ea57600080fd5b506101bf600e5481565b34801561030057600080fd5b50604080518082019091526005815264245149584960d81b6020820152610163565b34801561032e57600080fd5b506102696105e1565b34801561034357600080fd5b50610199610352366004611652565b6109af565b34801561036357600080fd5b506101996109bc565b34801561037857600080fd5b506101bf600f5481565b34801561038e57600080fd5b50610199610a52565b3480156103a357600080fd5b506101996103b23660046116dc565b610ae5565b3480156103c357600080fd5b506101bf6103d23660046116f5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061040a338484610b5f565b5060015b92915050565b60006104226009600a611828565b61042f9062989680611837565b905090565b6000610441848484610c83565b610493843361048e856040518060600160405280602881526020016119d9602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061124f565b610b5f565b5060019392505050565b6000546001600160a01b031633146104d05760405162461bcd60e51b81526004016104c79061184e565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146105455760405162461bcd60e51b81526004016104c79061184e565b506012805460ff60a81b19169055600190565b600080546001600160a01b031633146105835760405162461bcd60e51b81526004016104c79061184e565b6008829055600a8211156105d95760405162461bcd60e51b815260206004820152601860248201527f53656c6c7461782063616e6e6f7420657863656564203130000000000000000060448201526064016104c7565b506001919050565b6000546001600160a01b0316331461060b5760405162461bcd60e51b81526004016104c79061184e565b601254600160a01b900460ff161561065c5760405162461bcd60e51b8152602060048201526014602482015273131a5c481a5cc8185b1c9958591e48185919195960621b60448201526064016104c7565b60006106a9610693606461068d6005546009600a61067a9190611828565b6106879062989680611837565b90611289565b90611312565b3060009081526001602052604090205490611354565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506106f49030906106e76009600a611828565b61048e9062989680611837565b601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b9190611883565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611883565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561083e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108629190611883565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d7194730846000806108a16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610909573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061092e91906118a0565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ab91906118ce565b5050565b600061040a338484610c83565b601254600090600160a01b900460ff16610a075760405162461bcd60e51b815260206004820152600c60248201526b3737ba103cb2ba1037b832b760a11b60448201526064016104c7565b478015610a4a576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a48573d6000803e3d6000fd5b505b600191505090565b600080546001600160a01b03163314610a7d5760405162461bcd60e51b81526004016104c79061184e565b601254600160a01b900460ff1615610ac65760405162461bcd60e51b815260206004820152600c60248201526b30b63932b0b23c9037b832b760a11b60448201526064016104c7565b506012805463ff0000ff60a01b1916630100000160a01b179055600190565b600080546001600160a01b03163314610b105760405162461bcd60e51b81526004016104c79061184e565b600782905560058211156105d95760405162461bcd60e51b81526020600482015260166024820152754275797461782063616e6e6f7420657863656564203560501b60448201526064016104c7565b6001600160a01b038316610bc15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c7565b6001600160a01b038216610c225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c7565b6001600160a01b038216610d495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c7565b60008111610dab5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c7565b600080546001600160a01b03858116911614801590610dd857506000546001600160a01b03848116911614155b1561110c57601254600160a01b900460ff16610e79576001600160a01b03841660009081526003602052604090205460ff1680610e2d57506001600160a01b03831660009081526003602052604090205460ff165b610e795760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206973206e6f7420796574206f70656e00000000000000000060448201526064016104c7565b6012546001600160a01b038581169116148015610ea457506011546001600160a01b03848116911614155b8015610ec957506001600160a01b03831660009081526003602052604090205460ff16155b15610fc357601254600160a81b900460ff1615610fad57600d54821115610f325760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c7565b600e5482610f55856001600160a01b031660009081526001602052604090205490565b610f5f91906118f0565b1115610fad5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c7565b600c8054906000610fbd83611903565b91905055505b6012546001600160a01b038481169116148015610fe957506001600160a01b0384163014155b1561101b57611014606461068d600a54600c54116110095760065461100d565b6008545b8590611289565b905061106e565b6012546001600160a01b03858116911614801561104157506001600160a01b0383163014155b1561106e5761106b606461068d600954600c54116110615760055461100d565b6007548590611289565b90505b30600090815260016020526040902054601254600160b01b900460ff161580156110a557506012546001600160a01b038581169116145b80156110ba5750601254600160b81b900460ff165b80156110c75750600f5481115b80156110d65750600b54600c54115b1561110a576110f86110f3846110ee84601054611396565b611396565b6113ab565b4780156111085761110847611525565b505b505b8015611186573060009081526001602052604090205461112c908261155f565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061117d9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546111a99083611354565b6001600160a01b0385166000908152600160205260409020556111ee6111cf8383611354565b6001600160a01b0385166000908152600160205260409020549061155f565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112388585611354565b60405190815260200160405180910390a350505050565b600081848411156112735760405162461bcd60e51b81526004016104c791906115ec565b506000611280848661191c565b95945050505050565b60008260000361129b5750600061040e565b60006112a78385611837565b9050826112b4858361192f565b1461130b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c7565b9392505050565b600061130b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115be565b600061130b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061124f565b60008183116113a5578261130b565b50919050565b6012805460ff60b01b1916600160b01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113f3576113f3611951565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114709190611883565b8160018151811061148357611483611951565b6001600160a01b0392831660209182029290920101526011546114a99130911684610b5f565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114e2908590600090869030904290600401611967565b600060405180830381600087803b1580156114fc57600080fd5b505af1158015611510573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109ab573d6000803e3d6000fd5b60008061156c83856118f0565b90508381101561130b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c7565b600081836115df5760405162461bcd60e51b81526004016104c791906115ec565b506000611280848661192f565b600060208083528351808285015260005b81811015611619578581018301518582016040015282016115fd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461164f57600080fd5b50565b6000806040838503121561166557600080fd5b82356116708161163a565b946020939093013593505050565b60008060006060848603121561169357600080fd5b833561169e8161163a565b925060208401356116ae8161163a565b929592945050506040919091013590565b6000602082840312156116d157600080fd5b813561130b8161163a565b6000602082840312156116ee57600080fd5b5035919050565b6000806040838503121561170857600080fd5b82356117138161163a565b915060208301356117238161163a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561177f5781600019048211156117655761176561172e565b8085161561177257918102915b93841c9390800290611749565b509250929050565b6000826117965750600161040e565b816117a35750600061040e565b81600181146117b957600281146117c3576117df565b600191505061040e565b60ff8411156117d4576117d461172e565b50506001821b61040e565b5060208310610133831016604e8410600b8410161715611802575081810a61040e565b61180c8383611744565b80600019048211156118205761182061172e565b029392505050565b600061130b60ff841683611787565b808202811582820484141761040e5761040e61172e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561189557600080fd5b815161130b8161163a565b6000806000606084860312156118b557600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118e057600080fd5b8151801515811461130b57600080fd5b8082018082111561040e5761040e61172e565b6000600182016119155761191561172e565b5060010190565b8181038181111561040e5761040e61172e565b60008261194c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119b75784516001600160a01b031683529383019391830191600101611992565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122071f00faa235b79618cf3420b90fe3c8e11cf3c649f04eb7d65b23613e05e9cd864736f6c63430008130033

Deployed Bytecode Sourcemap

3629:8716:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5555:83;;;;;;;;;;-1:-1:-1;5625:5:0;;;;;;;;;;;;-1:-1:-1;;;5625:5:0;;;;5555:83;;;;;;;:::i;:::-;;;;;;;;6388:161;;;;;;;;;;-1:-1:-1;6388:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6388:161:0;1023:187:1;4758:50:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4758:50:0;1215:177:1;5832:95:0;;;;;;;;;;;;;:::i;6557:313::-;;;;;;;;;;-1:-1:-1;6557:313:0;;;;;:::i;:::-;;:::i;5741:83::-;;;;;;;;;;-1:-1:-1;5741:83:0;;4395:1;2000:36:1;;1988:2;1973:18;5741:83:0;1858:184:1;5935:119:0;;;;;;;;;;-1:-1:-1;5935:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6028:18:0;6001:7;6028:18;;;:9;:18;;;;;;;5935:119;2710:148;;;;;;;;;;;;;:::i;:::-;;11293:118;;;;;;;;;;;;;:::i;4576:52::-;;;;;;;;;;;;;;;;11632:209;;;;;;;;;;-1:-1:-1;11632:209:0;;;;;:::i;:::-;;:::i;2496:79::-;;;;;;;;;;-1:-1:-1;2534:7:0;2561:6;2496:79;;-1:-1:-1;;;;;2561:6:0;;;2630:51:1;;2618:2;2603:18;2496:79:0;2484:203:1;4635:54:0;;;;;;;;;;;;;;;;5646:87;;;;;;;;;;-1:-1:-1;5718:7:0;;;;;;;;;;;;-1:-1:-1;;;5718:7:0;;;;5646:87;;10455:830;;;;;;;;;;;;;:::i;6062:167::-;;;;;;;;;;-1:-1:-1;6062:167:0;;;;;:::i;:::-;;:::i;12049:258::-;;;;;;;;;;;;;:::i;4696:55::-;;;;;;;;;;;;;;;;11849:192;;;;;;;;;;;;;:::i;11423:201::-;;;;;;;;;;-1:-1:-1;11423:201:0;;;;;:::i;:::-;;:::i;6237:143::-;;;;;;;;;;-1:-1:-1;6237:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6345:18:0;;;6318:7;6345:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6237:143;6388:161;6463:4;6480:39;331:10;6503:7;6512:6;6480:8;:39::i;:::-;-1:-1:-1;6537:4:0;6388:161;;;;;:::o;5832:95::-;5885:7;4449:13;4395:1;4449:2;:13;:::i;:::-;4438:24;;:8;:24;:::i;:::-;5905:14;;5832:95;:::o;6557:313::-;6655:4;6672:36;6682:6;6690:9;6701:6;6672:9;:36::i;:::-;6719:121;6728:6;331:10;6750:89;6788:6;6750:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6750:19:0;;;;;;:11;:19;;;;;;;;331:10;6750:33;;;;;;;;;;:37;:89::i;:::-;6719:8;:121::i;:::-;-1:-1:-1;6858:4:0;6557:313;;;;;:::o;2710:148::-;2623:6;;-1:-1:-1;;;;;2623:6:0;331:10;2623:22;2615:67;;;;-1:-1:-1;;;2615:67:0;;;;;;;:::i;:::-;;;;;;;;;2817:1:::1;2801:6:::0;;2780:40:::1;::::0;-1:-1:-1;;;;;2801:6:0;;::::1;::::0;2780:40:::1;::::0;2817:1;;2780:40:::1;2848:1;2831:19:::0;;-1:-1:-1;;;;;;2831:19:0::1;::::0;;2710:148::o;11293:118::-;11346:4;2623:6;;-1:-1:-1;;;;;2623:6:0;331:10;2623:22;2615:67;;;;-1:-1:-1;;;2615:67:0;;;;;;;:::i;:::-;-1:-1:-1;11362:11:0::1;:19:::0;;-1:-1:-1;;;;11362:19:0::1;::::0;;;11293:118;:::o;11632:209::-;11701:4;2623:6;;-1:-1:-1;;;;;2623:6:0;331:10;2623:22;2615:67;;;;-1:-1:-1;;;2615:67:0;;;;;;;:::i;:::-;11718:14:::1;:28:::0;;;11780:2:::1;11765:17:::0;::::1;;11757:54;;;::::0;-1:-1:-1;;;11757:54:0;;5336:2:1;11757:54:0::1;::::0;::::1;5318:21:1::0;5375:2;5355:18;;;5348:30;5414:26;5394:18;;;5387:54;5458:18;;11757:54:0::1;5134:348:1::0;11757:54:0::1;-1:-1:-1::0;11829:4:0::1;11632:209:::0;;;:::o;10455:830::-;2623:6;;-1:-1:-1;;;;;2623:6:0;331:10;2623:22;2615:67;;;;-1:-1:-1;;;2615:67:0;;;;;;;:::i;:::-;10518:11:::1;::::0;-1:-1:-1;;;10518:11:0;::::1;;;10517:12;10509:44;;;::::0;-1:-1:-1;;;10509:44:0;;5689:2:1;10509:44:0::1;::::0;::::1;5671:21:1::0;5728:2;5708:18;;;5701:30;-1:-1:-1;;;5747:18:1;;;5740:50;5807:18;;10509:44:0::1;5487:344:1::0;10509:44:0::1;10564:19;10586:67;10615:37;10648:3;10615:28;10627:15;;4395:1;4449:2;:13;;;;:::i;:::-;4438:24;::::0;:8:::1;:24;:::i;:::-;10615:11:::0;::::1;:28::i;:::-;:32:::0;::::1;:37::i;:::-;10604:4;6001:7:::0;6028:18;;;:9;:18;;;;;;10586:28;::::1;:67::i;:::-;10664:15;:80:::0;;-1:-1:-1;;;;;;10664:80:0::1;10701:42;10664:80:::0;;::::1;::::0;;;10564:89;;-1:-1:-1;10755:58:0::1;::::0;10772:4:::1;::::0;4449:13:::1;4395:1;4449:2;:13;:::i;:::-;4438:24;::::0;:8:::1;:24;:::i;10755:58::-;10858:15;;;;;;;;;-1:-1:-1::0;;;;;10858:15:0::1;-1:-1:-1::0;;;;;10858:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10840:55:0::1;;10918:4;10939:15;;;;;;;;;-1:-1:-1::0;;;;;10939:15:0::1;-1:-1:-1::0;;;;;10939:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10840:132;::::0;-1:-1:-1;;;;;;10840:132:0::1;::::0;;;;;;-1:-1:-1;;;;;6322:15:1;;;10840:132:0::1;::::0;::::1;6304:34:1::0;6374:15;;6354:18;;;6347:43;6239:18;;10840:132:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10824:13;:148:::0;;-1:-1:-1;;;;;10824:148:0;;::::1;-1:-1:-1::0;;;;;;10824:148:0;;::::1;;::::0;;10983:15:::1;::::0;::::1;:31;11022:21;11068:4;11088:11:::0;10824:13:::1;::::0;11146:7:::1;2534::::0;2561:6;-1:-1:-1;;;;;2561:6:0;;2496:79;11146:7:::1;10983:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10983:211:0;;;-1:-1:-1;;;;;6760:15:1;;;10983:211:0::1;::::0;::::1;6742:34:1::0;6792:18;;;6785:34;;;;6835:18;;;6828:34;;;;6878:18;;;6871:34;6942:15;;;6921:19;;;6914:44;11168:15:0::1;6974:19:1::0;;;6967:35;6676:19;;10983:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11212:13:0::1;::::0;11243:15:::1;::::0;11205:71:::1;::::0;-1:-1:-1;;;11205:71:0;;-1:-1:-1;;;;;11243:15:0;;::::1;11205:71;::::0;::::1;7498:51:1::0;-1:-1:-1;;7565:18:1;;;7558:34;11212:13:0;::::1;::::0;-1:-1:-1;11205:29:0::1;::::0;7471:18:1;;11205:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10498:787;10455:830::o:0;6062:167::-;6140:4;6157:42;331:10;6181:9;6192:6;6157:9;:42::i;12049:258::-;12117:11;;12092:4;;-1:-1:-1;;;12117:11:0;;;;12109:35;;;;-1:-1:-1;;;12109:35:0;;8087:2:1;12109:35:0;;;8069:21:1;8126:2;8106:18;;;8099:30;-1:-1:-1;;;8145:18:1;;;8138:42;8197:18;;12109:35:0;7885:336:1;12109:35:0;12174:21;12209:12;;12206:72;;12235:10;;:31;;-1:-1:-1;;;;;12235:10:0;;;;:31;;;;;12255:10;;12235;:31;:10;:31;12255:10;12235;:31;;;;;;;;;;;;;;;;;;;;;12206:72;12295:4;12288:11;;;12049:258;:::o;11849:192::-;11900:4;2623:6;;-1:-1:-1;;;;;2623:6:0;331:10;2623:22;2615:67;;;;-1:-1:-1;;;2615:67:0;;;;;;;:::i;:::-;11926:11:::1;::::0;-1:-1:-1;;;11926:11:0;::::1;;;11925:12;11917:36;;;::::0;-1:-1:-1;;;11917:36:0;;8428:2:1;11917:36:0::1;::::0;::::1;8410:21:1::0;8467:2;8447:18;;;8440:30;-1:-1:-1;;;8486:18:1;;;8479:42;8538:18;;11917:36:0::1;8226:336:1::0;11917:36:0::1;-1:-1:-1::0;11964:11:0::1;:18:::0;;-1:-1:-1;;;;11993:18:0;-1:-1:-1;;;11993:18:0;;;-1:-1:-1;;11849:192:0:o;11423:201::-;11490:4;2623:6;;-1:-1:-1;;;;;2623:6:0;331:10;2623:22;2615:67;;;;-1:-1:-1;;;2615:67:0;;;;;;;:::i;:::-;11507:13:::1;:26:::0;;;11566:1:::1;11552:15:::0;::::1;;11544:50;;;::::0;-1:-1:-1;;;11544:50:0;;8769:2:1;11544:50:0::1;::::0;::::1;8751:21:1::0;8808:2;8788:18;;;8781:30;-1:-1:-1;;;8827:18:1;;;8820:52;8889:18;;11544:50:0::1;8567:346:1::0;6878:335:0;-1:-1:-1;;;;;6971:19:0;;6963:68;;;;-1:-1:-1;;;6963:68:0;;9120:2:1;6963:68:0;;;9102:21:1;9159:2;9139:18;;;9132:30;9198:34;9178:18;;;9171:62;-1:-1:-1;;;9249:18:1;;;9242:34;9293:19;;6963:68:0;8918:400:1;6963:68:0;-1:-1:-1;;;;;7050:21:0;;7042:68;;;;-1:-1:-1;;;7042:68:0;;9525:2:1;7042:68:0;;;9507:21:1;9564:2;9544:18;;;9537:30;9603:34;9583:18;;;9576:62;-1:-1:-1;;;9654:18:1;;;9647:32;9696:19;;7042:68:0;9323:398:1;7042:68:0;-1:-1:-1;;;;;7121:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7173:32;;1361:25:1;;;7173:32:0;;1334:18:1;7173:32:0;;;;;;;6878:335;;;:::o;7221:2529::-;-1:-1:-1;;;;;7309:18:0;;7301:68;;;;-1:-1:-1;;;7301:68:0;;9928:2:1;7301:68:0;;;9910:21:1;9967:2;9947:18;;;9940:30;10006:34;9986:18;;;9979:62;-1:-1:-1;;;10057:18:1;;;10050:35;10102:19;;7301:68:0;9726:401:1;7301:68:0;-1:-1:-1;;;;;7388:16:0;;7380:64;;;;-1:-1:-1;;;7380:64:0;;10334:2:1;7380:64:0;;;10316:21:1;10373:2;10353:18;;;10346:30;10412:34;10392:18;;;10385:62;-1:-1:-1;;;10463:18:1;;;10456:33;10506:19;;7380:64:0;10132:399:1;7380:64:0;7472:1;7463:6;:10;7455:64;;;;-1:-1:-1;;;7455:64:0;;10738:2:1;7455:64:0;;;10720:21:1;10777:2;10757:18;;;10750:30;10816:34;10796:18;;;10789:62;-1:-1:-1;;;10867:18:1;;;10860:39;10916:19;;7455:64:0;10536:405:1;7455:64:0;7530:17;2561:6;;-1:-1:-1;;;;;7566:15:0;;;2561:6;;7566:15;;;;:32;;-1:-1:-1;2534:7:0;2561:6;-1:-1:-1;;;;;7585:13:0;;;2561:6;;7585:13;;7566:32;7562:1832;;;7623:11;;-1:-1:-1;;;7623:11:0;;;;7618:197;;-1:-1:-1;;;;;7684:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;7712:22:0;;;;;;:18;:22;;;;;;;;7684:50;7655:144;;;;-1:-1:-1;;;7655:144:0;;11148:2:1;7655:144:0;;;11130:21:1;11187:2;11167:18;;;11160:30;11226:25;11206:18;;;11199:53;11269:18;;7655:144:0;10946:347:1;7655:144:0;7843:13;;-1:-1:-1;;;;;7835:21:0;;;7843:13;;7835:21;:55;;;;-1:-1:-1;7874:15:0;;-1:-1:-1;;;;;7860:30:0;;;7874:15;;7860:30;;7835:55;:83;;;;-1:-1:-1;;;;;;7896:22:0;;;;;;:18;:22;;;;;;;;7894:24;7835:83;7831:388;;;7944:11;;-1:-1:-1;;;7944:11:0;;;;7940:222;;;7998:12;;7988:6;:22;;7980:60;;;;-1:-1:-1;;;7980:60:0;;11500:2:1;7980:60:0;;;11482:21:1;11539:2;11519:18;;;11512:30;11578:27;11558:18;;;11551:55;11623:18;;7980:60:0;11298:349:1;7980:60:0;8097:14;;8087:6;8071:13;8081:2;-1:-1:-1;;;;;6028:18:0;6001:7;6028:18;;;:9;:18;;;;;;;5935:119;8071:13;:22;;;;:::i;:::-;:40;;8063:79;;;;-1:-1:-1;;;8063:79:0;;11984:2:1;8063:79:0;;;11966:21:1;12023:2;12003:18;;;11996:30;12062:28;12042:18;;;12035:56;12108:18;;8063:79:0;11782:350:1;8063:79:0;8181:20;:22;;;:20;:22;;;:::i;:::-;;;;;;7831:388;8258:13;;-1:-1:-1;;;;;8252:19:0;;;8258:13;;8252:19;:43;;;;-1:-1:-1;;;;;;8275:20:0;;8290:4;8275:20;;8252:43;8247:511;;;8328:158;8464:3;8328:131;8380:23;;8359:20;;:44;8358:100;;8442:16;;8358:100;;;8427:14;;8358:100;8328:6;;:10;:131::i;:158::-;8316:170;;8247:511;;;8520:13;;-1:-1:-1;;;;;8512:21:0;;;8520:13;;8512:21;:43;;;;-1:-1:-1;;;;;;8537:18:0;;8550:4;8537:18;;8512:43;8508:250;;;8588:154;8720:3;8588:127;8639:22;;8618:20;;:43;8617:97;;8699:15;;8617:97;;;8685:13;;8588:6;;:10;:127::i;:154::-;8576:166;;8508:250;8823:4;8774:28;6028:18;;;:9;:18;;;;;;8867:6;;-1:-1:-1;;;8867:6:0;;;;8866:7;:48;;;;-1:-1:-1;8901:13:0;;-1:-1:-1;;;;;8895:19:0;;;8901:13;;8895:19;8866:48;:81;;;;-1:-1:-1;8936:11:0;;-1:-1:-1;;;8936:11:0;;;;8866:81;:141;;;;;8990:17;;8969:20;:38;8866:141;:208;;;;;9050:24;;9029:20;;:45;8866:208;8844:539;;;9108:67;9125:49;9129:6;9136:37;9140:20;9161:11;;9136:3;:37::i;:::-;9125:3;:49::i;:::-;9108:16;:67::i;:::-;9223:21;9266:22;;9263:105;;9313:35;9326:21;9313:12;:35::i;:::-;9089:294;8844:539;7600:1794;7562:1832;9409:11;;9406:161;;9477:4;9459:24;;;;:9;:24;;;;;;:39;;9488:9;9459:28;:39::i;:::-;9452:4;9434:24;;;;:9;:24;;;;;;;:64;;;;9516:39;;-1:-1:-1;;;;;9516:39:0;;;;;;;9545:9;1361:25:1;;1349:2;1334:18;;1215:177;9516:39:0;;;;;;;;9406:161;-1:-1:-1;;;;;9593:15:0;;;;;;:9;:15;;;;;;:27;;9613:6;9593:19;:27::i;:::-;-1:-1:-1;;;;;9577:15:0;;;;;;:9;:15;;;;;:43;9645:40;9663:21;:6;9674:9;9663:10;:21::i;:::-;-1:-1:-1;;;;;9645:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9631:13:0;;;;;;;:9;:13;;;;;:54;;;;9701:41;;;9720:21;:6;9731:9;9720:10;:21::i;:::-;9701:41;;1361:25:1;;;1349:2;1334:18;9701:41:0;;;;;;;7290:2460;7221:2529;;;:::o;1388:190::-;1474:7;1510:12;1502:6;;;;1494:29;;;;-1:-1:-1;;;1494:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1534:9:0;1546:5;1550:1;1546;:5;:::i;:::-;1534:17;1388:190;-1:-1:-1;;;;;1388:190:0:o;1586:246::-;1644:7;1668:1;1673;1668:6;1664:47;;-1:-1:-1;1698:1:0;1691:8;;1664:47;1721:9;1733:5;1737:1;1733;:5;:::i;:::-;1721:17;-1:-1:-1;1766:1:0;1757:5;1761:1;1721:17;1757:5;:::i;:::-;:10;1749:56;;;;-1:-1:-1;;;1749:56:0;;12834:2:1;1749:56:0;;;12816:21:1;12873:2;12853:18;;;12846:30;12912:34;12892:18;;;12885:62;-1:-1:-1;;;12963:18:1;;;12956:31;13004:19;;1749:56:0;12632:397:1;1749:56:0;1823:1;1586:246;-1:-1:-1;;;1586:246:0:o;1840:132::-;1898:7;1925:39;1929:1;1932;1925:39;;;;;;;;;;;;;;;;;:3;:39::i;1244:136::-;1302:7;1329:43;1333:1;1336;1329:43;;;;;;;;;;;;;;;;;:3;:43::i;9858:98::-;9915:7;9942:1;9940;:3;9939:9;;9947:1;9939:9;;;-1:-1:-1;9945:1:0;9858:98;-1:-1:-1;9858:98:0:o;9964:483::-;5078:6;:13;;-1:-1:-1;;;;5078:13:0;-1:-1:-1;;;5078:13:0;;;10066:16:::1;::::0;;10080:1:::1;10066:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10066:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10066:16:0::1;10042:40;;10111:4;10093;10098:1;10093:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10093:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10137:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10137:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10093:7;;10137:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10127:4;10132:1;10127:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10127:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10202:15:::1;::::0;10170:62:::1;::::0;10187:4:::1;::::0;10202:15:::1;10220:11:::0;10170:8:::1;:62::i;:::-;10243:15;::::0;:196:::1;::::0;-1:-1:-1;;;10243:196:0;;-1:-1:-1;;;;;10243:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10324:11;;10243:15:::1;::::0;10366:4;;10393::::1;::::0;10413:15:::1;::::0;10243:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5114:6:0;:14;;-1:-1:-1;;;;5114:14:0;;;-1:-1:-1;;;;9964:483:0:o;9758:92::-;9815:10;;:27;;-1:-1:-1;;;;;9815:10:0;;;;:27;;;;;9835:6;;9815:10;:27;:10;:27;9835:6;9815:10;:27;;;;;;;;;;;;;;;;;;;1057:179;1115:7;;1147:5;1151:1;1147;:5;:::i;:::-;1135:17;;1176:1;1171;:6;;1163:46;;;;-1:-1:-1;;;1163:46:0;;14485:2:1;1163:46:0;;;14467:21:1;14524:2;14504:18;;;14497:30;14563:29;14543:18;;;14536:57;14610:18;;1163:46:0;14283:351:1;1980:189:0;2066:7;2101:12;2094:5;2086:28;;;;-1:-1:-1;;;2086:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2125:9:0;2137:5;2141:1;2137;: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:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2299:180::-;2358:6;2411:2;2399:9;2390:7;2386:23;2382:32;2379:52;;;2427:1;2424;2417:12;2379:52;-1:-1:-1;2450:23:1;;2299:180;-1:-1:-1;2299:180:1:o;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:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:422;3306:1;3349:5;3306:1;3363:270;3384:7;3374:8;3371:21;3363:270;;;3443:4;3439:1;3435:6;3431:17;3425:4;3422:27;3419:53;;;3452:18;;:::i;:::-;3502:7;3492:8;3488:22;3485:55;;;3522:16;;;;3485:55;3601:22;;;;3561:15;;;;3363:270;;;3367:3;3217:422;;;;;:::o;3644:806::-;3693:5;3723:8;3713:80;;-1:-1:-1;3764:1:1;3778:5;;3713:80;3812:4;3802:76;;-1:-1:-1;3849:1:1;3863:5;;3802:76;3894:4;3912:1;3907:59;;;;3980:1;3975:130;;;;3887:218;;3907:59;3937:1;3928:10;;3951:5;;;3975:130;4012:3;4002:8;3999:17;3996:43;;;4019:18;;:::i;:::-;-1:-1:-1;;4075:1:1;4061:16;;4090:5;;3887:218;;4189:2;4179:8;4176:16;4170:3;4164:4;4161:13;4157:36;4151:2;4141:8;4138:16;4133:2;4127:4;4124:12;4120:35;4117:77;4114:159;;;-1:-1:-1;4226:19:1;;;4258:5;;4114:159;4305:34;4330:8;4324:4;4305:34;:::i;:::-;4375:6;4371:1;4367:6;4363:19;4354:7;4351:32;4348:58;;;4386:18;;:::i;:::-;4424:20;;3644:806;-1:-1:-1;;;3644:806:1:o;4455:140::-;4513:5;4542:47;4583:4;4573:8;4569:19;4563:4;4542:47;:::i;4600:168::-;4673:9;;;4704;;4721:15;;;4715:22;;4701:37;4691:71;;4742:18;;:::i;4773:356::-;4975:2;4957:21;;;4994:18;;;4987:30;5053:34;5048:2;5033:18;;5026:62;5120:2;5105:18;;4773:356::o;5836:251::-;5906:6;5959:2;5947:9;5938:7;5934:23;5930:32;5927:52;;;5975:1;5972;5965:12;5927:52;6007:9;6001:16;6026:31;6051:5;6026:31;:::i;7013:306::-;7101:6;7109;7117;7170:2;7158:9;7149:7;7145:23;7141:32;7138:52;;;7186:1;7183;7176:12;7138:52;7215:9;7209:16;7199:26;;7265:2;7254:9;7250:18;7244:25;7234:35;;7309:2;7298:9;7294:18;7288:25;7278:35;;7013:306;;;;;:::o;7603:277::-;7670:6;7723:2;7711:9;7702:7;7698:23;7694:32;7691:52;;;7739:1;7736;7729:12;7691:52;7771:9;7765:16;7824:5;7817:13;7810:21;7803:5;7800:32;7790:60;;7846:1;7843;7836:12;11652:125;11717:9;;;11738:10;;;11735:36;;;11751:18;;:::i;12137:135::-;12176:3;12197:17;;;12194:43;;12217:18;;:::i;:::-;-1:-1:-1;12264:1:1;12253:13;;12137:135::o;12277:128::-;12344:9;;;12365:11;;;12362:37;;;12379:18;;:::i;12410:217::-;12450:1;12476;12466:132;;12520:10;12515:3;12511:20;12508:1;12501:31;12555:4;12552:1;12545:15;12583:4;12580:1;12573:15;12466:132;-1:-1:-1;12612:9:1;;12410:217::o;13166:127::-;13227:10;13222:3;13218:20;13215:1;13208:31;13258:4;13255:1;13248:15;13282:4;13279:1;13272:15;13298:980;13560:4;13608:3;13597:9;13593:19;13639:6;13628:9;13621:25;13665:2;13703:6;13698:2;13687:9;13683:18;13676:34;13746:3;13741:2;13730:9;13726:18;13719:31;13770:6;13805;13799:13;13836:6;13828;13821:22;13874:3;13863:9;13859:19;13852:26;;13913:2;13905:6;13901:15;13887:29;;13934:1;13944:195;13958:6;13955:1;13952:13;13944:195;;;14023:13;;-1:-1:-1;;;;;14019:39:1;14007:52;;14114:15;;;;14079:12;;;;14055:1;13973:9;13944:195;;;-1:-1:-1;;;;;;;14195:32:1;;;;14190:2;14175:18;;14168:60;-1:-1:-1;;;14259:3:1;14244:19;14237:35;14156:3;13298:980;-1:-1:-1;;;13298:980:1:o

Swarm Source

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