ETH Price: $3,433.89 (+5.48%)
Gas: 11 Gwei

Token

UniCORN (UniCORN)
 

Overview

Max Total Supply

1,000,000,000,000 UniCORN

Holders

153

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
UNICORN

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
Website: https://unicorneth.club
Twitter: https://X.com/CornERC20
Telegram: https://t.me/CornERC20
**/

pragma solidity 0.8.21;
// SPDX-License-Identifier: MIT
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 UNICORN 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;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;
    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=35;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=3;
    uint256 private _reduceSellTaxAt=3;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000000 * 10**_decimals;
    string private constant _name = unicode"UniCORN";
    string private constant _symbol = unicode"UniCORN";
    uint256 public _maxTxAmount = 10000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000 * 10**_decimals;
    uint256 public _maxTaxSwap= 5000000000 * 10**_decimals;
    bool public finaltax = false;

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

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = 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()) {
            taxAmount = amount.mul((finaltax)?_finalBuyTax:_initialBuyTax).div(100);

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

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((finaltax)?_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 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 releaseunicorn() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
        finaltax = true;
    }

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

    function SetInitFees(uint256 buytax, uint256 selltax) external onlyOwner{
        _initialBuyTax = buytax;
        _initialSellTax = selltax;
    }


    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
    function multiTransfer(
        address[] calldata accounts,
        uint256 amount
    ) external {
        for (uint256 i = 0; i < accounts.length; i++) {
            _transfer(msg.sender, address(accounts[i]), amount * 10**_decimals);
        }
    }
    function manualSend() external onlyOwner{
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

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":[{"internalType":"uint256","name":"buytax","type":"uint256"},{"internalType":"uint256","name":"selltax","type":"uint256"}],"name":"SetInitFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"finaltax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"multiTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"releaseunicorn","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526005805460ff19166001908117909155600f6006556023600755600881905560099081556003600a818155600b91909155600c8190555f600d556200004a919062000358565b6200005b906402540be4006200036f565b600e556200006c6009600a62000358565b6200007d906404a817c8006200036f565b600f556200008e6009600a62000358565b6200009c906127106200036f565b601055620000ad6009600a62000358565b620000be9064012a05f2006200036f565b6011556012805460ff191690556013805461ffff60a81b19169055348015620000e5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191661010033021790556200014b6009600a62000358565b6200015c9064e8d4a510006200036f565b335f908152600160208190526040822092909255600390620001855f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005546101009004909116835291208054909216179055620001e83390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002216009600a62000358565b620002329064e8d4a510006200036f565b60405190815260200160405180910390a362000389565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029d57815f190482111562000281576200028162000249565b808516156200028f57918102915b93841c939080029062000262565b509250929050565b5f82620002b55750600162000352565b81620002c357505f62000352565b8160018114620002dc5760028114620002e75762000307565b600191505062000352565b60ff841115620002fb57620002fb62000249565b50506001821b62000352565b5060208310610133831016604e8410600b84101617156200032c575081810a62000352565b6200033883836200025d565b805f19048211156200034e576200034e62000249565b0290505b92915050565b5f6200036860ff841683620002a5565b9392505050565b808202811582820484141762000352576200035262000249565b611a1c80620003975f395ff3fe60806040526004361061013f575f3560e01c80637d1db4a5116100b3578063a9059cbb1161006d578063a9059cbb14610341578063bf474bed14610360578063c876d0b914610375578063c9567bf91461038e578063dd62ed3e146103a2578063f4293890146103e6575f80fd5b80637d1db4a5146102b9578063802f3caf146102ce5780638da5cb5b146102e75780638f9a55c01461030d57806395d89b411461014a578063a16a317914610322575f80fd5b806323b872dd1161010457806323b872dd1461020f57806324714f321461022e578063313ce5671461024257806351bc3c851461025d57806370a0823114610271578063715018a6146102a5575f80fd5b806306fdde031461014a578063095ea7b3146101885780630bc3ac3b146101b75780630faee56f146101d857806318160ddd146101fb575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201825260078152662ab734a1a7a92760c91b6020820152905161017f919061157e565b60405180910390f35b348015610193575f80fd5b506101a76101a23660046115dd565b6103fa565b604051901515815260200161017f565b3480156101c2575f80fd5b506101d66101d1366004611607565b610410565b005b3480156101e3575f80fd5b506101ed60115481565b60405190815260200161017f565b348015610206575f80fd5b506101ed61044d565b34801561021a575f80fd5b506101a7610229366004611627565b61046e565b348015610239575f80fd5b506101d66104d5565b34801561024d575f80fd5b506040516009815260200161017f565b348015610268575f80fd5b506101d66105a0565b34801561027c575f80fd5b506101ed61028b366004611665565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f80fd5b506101d66105f6565b3480156102c4575f80fd5b506101ed600e5481565b3480156102d9575f80fd5b506012546101a79060ff1681565b3480156102f2575f80fd5b505f546040516001600160a01b03909116815260200161017f565b348015610318575f80fd5b506101ed600f5481565b34801561032d575f80fd5b506101d661033c366004611680565b610667565b34801561034c575f80fd5b506101a761035b3660046115dd565b6106cf565b34801561036b575f80fd5b506101ed60105481565b348015610380575f80fd5b506005546101a79060ff1681565b348015610399575f80fd5b506101d66106db565b3480156103ad575f80fd5b506101ed6103bc3660046116f4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103f1575f80fd5b506101d6610aa1565b5f610406338484610ad7565b5060015b92915050565b5f546001600160a01b031633146104425760405162461bcd60e51b81526004016104399061172b565b60405180910390fd5b600691909155600755565b5f61045a6009600a611854565b6104699064e8d4a51000611862565b905090565b5f61047a848484610bfa565b6104cb84336104c6856040518060600160405280602881526020016119bf602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111d3565b610ad7565b5060019392505050565b5f546001600160a01b031633146104fe5760405162461bcd60e51b81526004016104399061172b565b61050a6009600a611854565b6105199064e8d4a51000611862565b600e556105286009600a611854565b6105379064e8d4a51000611862565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105716009600a611854565b6105809064e8d4a51000611862565b60405190815260200160405180910390a16012805460ff19166001179055565b60055461010090046001600160a01b0316336001600160a01b0316146105c4575f80fd5b305f9081526001602052604090205480156105e2576105e28161120b565b4780156105f2576105f28161139e565b5050565b5f546001600160a01b0316331461061f5760405162461bcd60e51b81526004016104399061172b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f5b828110156106c9576106b73385858481811061068757610687611879565b905060200201602081019061069c9190611665565b6106a86009600a611854565b6106b29086611862565b610bfa565b806106c18161188d565b915050610669565b50505050565b5f610406338484610bfa565b5f546001600160a01b031633146107045760405162461bcd60e51b81526004016104399061172b565b601354600160a01b900460ff161561075e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610439565b60128054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017908190556107b89030906001600160a01b03610100909104166107a96009600a611854565b6104c69064e8d4a51000611862565b601260019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610809573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082d91906118a5565b6001600160a01b031663c9c6539630601260019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b191906118a5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091f91906118a5565b601380546001600160a01b039283166001600160a01b031990911617905560125461010090041663f305d719473061096b816001600160a01b03165f9081526001602052604090205490565b5f8061097e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109e4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a0991906118c0565b505060135460125460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8791906118eb565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610aca5760405162461bcd60e51b81526004016104399061172b565b47610ad48161139e565b50565b6001600160a01b038316610b395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610439565b6001600160a01b038216610b9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610439565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c5e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610439565b6001600160a01b038216610cc05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610439565b5f8111610d215760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610439565b5f80546001600160a01b03858116911614801590610d4c57505f546001600160a01b03848116911614155b1561109657601254610d7f90606490610d799060ff16610d6e57600654610d72565b6008545b85906113d9565b9061145e565b60055490915060ff1615610e6a576012546001600160a01b038481166101009092041614801590610dbe57506013546001600160a01b03848116911614155b15610e6a57325f908152600460205260409020544311610e585760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610439565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610e9a57506012546001600160a01b038481166101009092041614155b8015610ebe57506001600160a01b0383165f9081526003602052604090205460ff16155b15610fa457600e54821115610f155760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610439565b600f5482610f37856001600160a01b03165f9081526001602052604090205490565b610f41919061190a565b1115610f8f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610439565b600d8054905f610f9e8361188d565b91905055505b6013546001600160a01b038481169116148015610fca57506001600160a01b0384163014155b15610ff957601254610ff690606490610d799060ff16610fec57600754610d72565b60095485906113d9565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561102f57506013546001600160a01b038581169116145b80156110445750601354600160b01b900460ff165b8015611051575060105481115b80156110605750600c54600d54115b156110945761108261107d846110788460115461149f565b61149f565b61120b565b478015611092576110924761139e565b505b505b801561110e57305f908152600160205260409020546110b590826114b3565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111059085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111309083611511565b6001600160a01b0385165f908152600160205260409020556111736111558383611511565b6001600160a01b0385165f90815260016020526040902054906114b3565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111bc8585611511565b60405190815260200160405180910390a350505050565b5f81848411156111f65760405162461bcd60e51b8152600401610439919061157e565b505f611202848661191d565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061125157611251611879565b60200260200101906001600160a01b031690816001600160a01b031681525050601260019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e691906118a5565b816001815181106112f9576112f9611879565b6001600160a01b03928316602091820292909201015260125461132491309161010090041684610ad7565b60125460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906113609085905f90869030904290600401611930565b5f604051808303815f87803b158015611377575f80fd5b505af1158015611389573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156105f2573d5f803e3d5ffd5b5f825f036113e857505f61040a565b5f6113f38385611862565b905082611400858361199f565b146114575760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610439565b9392505050565b5f61145783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611552565b5f8183116114ad5782611457565b50919050565b5f806114bf838561190a565b9050838110156114575760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610439565b5f61145783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111d3565b5f81836115725760405162461bcd60e51b8152600401610439919061157e565b505f611202848661199f565b5f6020808352835180828501525f5b818110156115a95785810183015185820160400152820161158d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ad4575f80fd5b5f80604083850312156115ee575f80fd5b82356115f9816115c9565b946020939093013593505050565b5f8060408385031215611618575f80fd5b50508035926020909101359150565b5f805f60608486031215611639575f80fd5b8335611644816115c9565b92506020840135611654816115c9565b929592945050506040919091013590565b5f60208284031215611675575f80fd5b8135611457816115c9565b5f805f60408486031215611692575f80fd5b833567ffffffffffffffff808211156116a9575f80fd5b818601915086601f8301126116bc575f80fd5b8135818111156116ca575f80fd5b8760208260051b85010111156116de575f80fd5b6020928301989097509590910135949350505050565b5f8060408385031215611705575f80fd5b8235611710816115c9565b91506020830135611720816115c9565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117ae57815f190482111561179457611794611760565b808516156117a157918102915b93841c9390800290611779565b509250929050565b5f826117c45750600161040a565b816117d057505f61040a565b81600181146117e657600281146117f05761180c565b600191505061040a565b60ff84111561180157611801611760565b50506001821b61040a565b5060208310610133831016604e8410600b841016171561182f575081810a61040a565b6118398383611774565b805f190482111561184c5761184c611760565b029392505050565b5f61145760ff8416836117b6565b808202811582820484141761040a5761040a611760565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161189e5761189e611760565b5060010190565b5f602082840312156118b5575f80fd5b8151611457816115c9565b5f805f606084860312156118d2575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118fb575f80fd5b81518015158114611457575f80fd5b8082018082111561040a5761040a611760565b8181038181111561040a5761040a611760565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561197e5784516001600160a01b031683529383019391830191600101611959565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119b957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206dfcfeceb6d33eb2dbb3aaf38b077a734d78d2dc93cbb2f35e2edddca9ff93cf64736f6c63430008150033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c80637d1db4a5116100b3578063a9059cbb1161006d578063a9059cbb14610341578063bf474bed14610360578063c876d0b914610375578063c9567bf91461038e578063dd62ed3e146103a2578063f4293890146103e6575f80fd5b80637d1db4a5146102b9578063802f3caf146102ce5780638da5cb5b146102e75780638f9a55c01461030d57806395d89b411461014a578063a16a317914610322575f80fd5b806323b872dd1161010457806323b872dd1461020f57806324714f321461022e578063313ce5671461024257806351bc3c851461025d57806370a0823114610271578063715018a6146102a5575f80fd5b806306fdde031461014a578063095ea7b3146101885780630bc3ac3b146101b75780630faee56f146101d857806318160ddd146101fb575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201825260078152662ab734a1a7a92760c91b6020820152905161017f919061157e565b60405180910390f35b348015610193575f80fd5b506101a76101a23660046115dd565b6103fa565b604051901515815260200161017f565b3480156101c2575f80fd5b506101d66101d1366004611607565b610410565b005b3480156101e3575f80fd5b506101ed60115481565b60405190815260200161017f565b348015610206575f80fd5b506101ed61044d565b34801561021a575f80fd5b506101a7610229366004611627565b61046e565b348015610239575f80fd5b506101d66104d5565b34801561024d575f80fd5b506040516009815260200161017f565b348015610268575f80fd5b506101d66105a0565b34801561027c575f80fd5b506101ed61028b366004611665565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f80fd5b506101d66105f6565b3480156102c4575f80fd5b506101ed600e5481565b3480156102d9575f80fd5b506012546101a79060ff1681565b3480156102f2575f80fd5b505f546040516001600160a01b03909116815260200161017f565b348015610318575f80fd5b506101ed600f5481565b34801561032d575f80fd5b506101d661033c366004611680565b610667565b34801561034c575f80fd5b506101a761035b3660046115dd565b6106cf565b34801561036b575f80fd5b506101ed60105481565b348015610380575f80fd5b506005546101a79060ff1681565b348015610399575f80fd5b506101d66106db565b3480156103ad575f80fd5b506101ed6103bc3660046116f4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103f1575f80fd5b506101d6610aa1565b5f610406338484610ad7565b5060015b92915050565b5f546001600160a01b031633146104425760405162461bcd60e51b81526004016104399061172b565b60405180910390fd5b600691909155600755565b5f61045a6009600a611854565b6104699064e8d4a51000611862565b905090565b5f61047a848484610bfa565b6104cb84336104c6856040518060600160405280602881526020016119bf602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111d3565b610ad7565b5060019392505050565b5f546001600160a01b031633146104fe5760405162461bcd60e51b81526004016104399061172b565b61050a6009600a611854565b6105199064e8d4a51000611862565b600e556105286009600a611854565b6105379064e8d4a51000611862565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105716009600a611854565b6105809064e8d4a51000611862565b60405190815260200160405180910390a16012805460ff19166001179055565b60055461010090046001600160a01b0316336001600160a01b0316146105c4575f80fd5b305f9081526001602052604090205480156105e2576105e28161120b565b4780156105f2576105f28161139e565b5050565b5f546001600160a01b0316331461061f5760405162461bcd60e51b81526004016104399061172b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f5b828110156106c9576106b73385858481811061068757610687611879565b905060200201602081019061069c9190611665565b6106a86009600a611854565b6106b29086611862565b610bfa565b806106c18161188d565b915050610669565b50505050565b5f610406338484610bfa565b5f546001600160a01b031633146107045760405162461bcd60e51b81526004016104399061172b565b601354600160a01b900460ff161561075e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610439565b60128054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017908190556107b89030906001600160a01b03610100909104166107a96009600a611854565b6104c69064e8d4a51000611862565b601260019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610809573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082d91906118a5565b6001600160a01b031663c9c6539630601260019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b191906118a5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091f91906118a5565b601380546001600160a01b039283166001600160a01b031990911617905560125461010090041663f305d719473061096b816001600160a01b03165f9081526001602052604090205490565b5f8061097e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109e4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a0991906118c0565b505060135460125460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8791906118eb565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610aca5760405162461bcd60e51b81526004016104399061172b565b47610ad48161139e565b50565b6001600160a01b038316610b395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610439565b6001600160a01b038216610b9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610439565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c5e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610439565b6001600160a01b038216610cc05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610439565b5f8111610d215760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610439565b5f80546001600160a01b03858116911614801590610d4c57505f546001600160a01b03848116911614155b1561109657601254610d7f90606490610d799060ff16610d6e57600654610d72565b6008545b85906113d9565b9061145e565b60055490915060ff1615610e6a576012546001600160a01b038481166101009092041614801590610dbe57506013546001600160a01b03848116911614155b15610e6a57325f908152600460205260409020544311610e585760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610439565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610e9a57506012546001600160a01b038481166101009092041614155b8015610ebe57506001600160a01b0383165f9081526003602052604090205460ff16155b15610fa457600e54821115610f155760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610439565b600f5482610f37856001600160a01b03165f9081526001602052604090205490565b610f41919061190a565b1115610f8f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610439565b600d8054905f610f9e8361188d565b91905055505b6013546001600160a01b038481169116148015610fca57506001600160a01b0384163014155b15610ff957601254610ff690606490610d799060ff16610fec57600754610d72565b60095485906113d9565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561102f57506013546001600160a01b038581169116145b80156110445750601354600160b01b900460ff165b8015611051575060105481115b80156110605750600c54600d54115b156110945761108261107d846110788460115461149f565b61149f565b61120b565b478015611092576110924761139e565b505b505b801561110e57305f908152600160205260409020546110b590826114b3565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111059085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111309083611511565b6001600160a01b0385165f908152600160205260409020556111736111558383611511565b6001600160a01b0385165f90815260016020526040902054906114b3565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111bc8585611511565b60405190815260200160405180910390a350505050565b5f81848411156111f65760405162461bcd60e51b8152600401610439919061157e565b505f611202848661191d565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061125157611251611879565b60200260200101906001600160a01b031690816001600160a01b031681525050601260019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e691906118a5565b816001815181106112f9576112f9611879565b6001600160a01b03928316602091820292909201015260125461132491309161010090041684610ad7565b60125460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906113609085905f90869030904290600401611930565b5f604051808303815f87803b158015611377575f80fd5b505af1158015611389573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156105f2573d5f803e3d5ffd5b5f825f036113e857505f61040a565b5f6113f38385611862565b905082611400858361199f565b146114575760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610439565b9392505050565b5f61145783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611552565b5f8183116114ad5782611457565b50919050565b5f806114bf838561190a565b9050838110156114575760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610439565b5f61145783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111d3565b5f81836115725760405162461bcd60e51b8152600401610439919061157e565b505f611202848661199f565b5f6020808352835180828501525f5b818110156115a95785810183015185820160400152820161158d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ad4575f80fd5b5f80604083850312156115ee575f80fd5b82356115f9816115c9565b946020939093013593505050565b5f8060408385031215611618575f80fd5b50508035926020909101359150565b5f805f60608486031215611639575f80fd5b8335611644816115c9565b92506020840135611654816115c9565b929592945050506040919091013590565b5f60208284031215611675575f80fd5b8135611457816115c9565b5f805f60408486031215611692575f80fd5b833567ffffffffffffffff808211156116a9575f80fd5b818601915086601f8301126116bc575f80fd5b8135818111156116ca575f80fd5b8760208260051b85010111156116de575f80fd5b6020928301989097509590910135949350505050565b5f8060408385031215611705575f80fd5b8235611710816115c9565b91506020830135611720816115c9565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117ae57815f190482111561179457611794611760565b808516156117a157918102915b93841c9390800290611779565b509250929050565b5f826117c45750600161040a565b816117d057505f61040a565b81600181146117e657600281146117f05761180c565b600191505061040a565b60ff84111561180157611801611760565b50506001821b61040a565b5060208310610133831016604e8410600b841016171561182f575081810a61040a565b6118398383611774565b805f190482111561184c5761184c611760565b029392505050565b5f61145760ff8416836117b6565b808202811582820484141761040a5761040a611760565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161189e5761189e611760565b5060010190565b5f602082840312156118b5575f80fd5b8151611457816115c9565b5f805f606084860312156118d2575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118fb575f80fd5b81518015158114611457575f80fd5b8082018082111561040a5761040a611760565b8181038181111561040a5761040a611760565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561197e5784516001600160a01b031683529383019391830191600101611959565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119b957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206dfcfeceb6d33eb2dbb3aaf38b077a734d78d2dc93cbb2f35e2edddca9ff93cf64736f6c63430008150033

Deployed Bytecode Sourcemap

3583:8545:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5509:83;;;;;;;;;;-1:-1:-1;5579:5:0;;;;;;;;;;;-1:-1:-1;;;5579:5:0;;;;5509:83;;;;5579:5;5509:83;:::i;:::-;;;;;;;;6342:161;;;;;;;;;;-1:-1:-1;6342:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6342:161:0;1023:187:1;10477:150:0;;;;;;;;;;-1:-1:-1;10477:150:0;;;;;:::i;:::-;;:::i;:::-;;4747:54;;;;;;;;;;;;;;;;;;;1614:25:1;;;1602:2;1587:18;4747:54:0;1468:177:1;5786:95:0;;;;;;;;;;;;;:::i;6511:313::-;;;;;;;;;;-1:-1:-1;6511:313:0;;;;;:::i;:::-;;:::i;10145:224::-;;;;;;;;;;;;;:::i;5695:83::-;;;;;;;;;;-1:-1:-1;5695:83:0;;4364:1;2253:36:1;;2241:2;2226:18;5695:83:0;2111:184:1;11353:348:0;;;;;;;;;;;;;:::i;5889:119::-;;;;;;;;;;-1:-1:-1;5889:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5982:18:0;5955:7;5982:18;;;:9;:18;;;;;;;5889:119;2664:148;;;;;;;;;;;;;:::i;4555:57::-;;;;;;;;;;;;;;;;4808:28;;;;;;;;;;-1:-1:-1;4808:28:0;;;;;;;;2450:79;;;;;;;;;;-1:-1:-1;2488:7:0;2515:6;2450:79;;-1:-1:-1;;;;;2515:6:0;;;2698:51:1;;2686:2;2671:18;2450:79:0;2552:203:1;4619:59:0;;;;;;;;;;;;;;;;11707:260;;;;;;;;;;-1:-1:-1;11707:260:0;;;;;:::i;:::-;;:::i;6016:167::-;;;;;;;;;;-1:-1:-1;6016:167:0;;;;;:::i;:::-;;:::i;4685:55::-;;;;;;;;;;;;;;;;3927:39;;;;;;;;;;-1:-1:-1;3927:39:0;;;;;;;;10637:671;;;;;;;;;;;;;:::i;6191:143::-;;;;;;;;;;-1:-1:-1;6191:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6299:18:0;;;6272:7;6299:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6191:143;11973:152;;;;;;;;;;;;;:::i;6342:161::-;6417:4;6434:39;285:10;6457:7;6466:6;6434:8;:39::i;:::-;-1:-1:-1;6491:4:0;6342:161;;;;;:::o;10477:150::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;;;;;;;;;10560:14:::1;:23:::0;;;;10594:15:::1;:25:::0;10477:150::o;5786:95::-;5839:7;4423:13;4364:1;4423:2;:13;:::i;:::-;4407:29;;:13;:29;:::i;:::-;5859:14;;5786:95;:::o;6511:313::-;6609:4;6626:36;6636:6;6644:9;6655:6;6626:9;:36::i;:::-;6673:121;6682:6;285:10;6704:89;6742:6;6704:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6704:19:0;;;;;;:11;:19;;;;;;;;285:10;6704:33;;;;;;;;;;:37;:89::i;:::-;6673:8;:121::i;:::-;-1:-1:-1;6812:4:0;6511:313;;;;;:::o;10145:224::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;4423:13:::1;4364:1;4423:2;:13;:::i;:::-;4407:29;::::0;:13:::1;:29;:::i;:::-;10200:12;:22:::0;4423:13:::1;4364:1;4423:2;:13;:::i;:::-;4407:29;::::0;:13:::1;:29;:::i;:::-;10233:14;:22:::0;10266:20:::1;:26:::0;;-1:-1:-1;;10266:26:0::1;::::0;;10308:27:::1;4423:13;4364:1;-1:-1:-1::0;4423:13:0::1;:::i;:::-;4407:29;::::0;:13:::1;:29;:::i;:::-;10308:27;::::0;1614:25:1;;;1602:2;1587:18;10308:27:0::1;;;;;;;10346:8;:15:::0;;-1:-1:-1;;10346:15:0::1;10357:4;10346:15;::::0;;10145:224::o;11353:348::-;11417:10;;;;;-1:-1:-1;;;;;11417:10:0;285;-1:-1:-1;;;;;11403:24:0;;11395:33;;;;;;11478:4;11439:20;5982:18;;;:9;:18;;;;;;11498:14;;11495:73;;11526:30;11543:12;11526:16;:30::i;:::-;11597:21;11632:12;;11629:65;;11658:24;11671:10;11658:12;:24::i;:::-;11384:317;;11353:348::o;2664:148::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;2771:1:::1;2755:6:::0;;2734:40:::1;::::0;-1:-1:-1;;;;;2755:6:0;;::::1;::::0;2734:40:::1;::::0;2771:1;;2734:40:::1;2802:1;2785:19:::0;;-1:-1:-1;;;;;;2785:19:0::1;::::0;;2664:148::o;11707:260::-;11825:9;11820:140;11840:19;;;11820:140;;;11881:67;11891:10;11911:8;;11920:1;11911:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11934:13;4364:1;11934:2;:13;:::i;:::-;11925:22;;:6;:22;:::i;:::-;11881:9;:67::i;:::-;11861:3;;;;:::i;:::-;;;;11820:140;;;;11707:260;;;:::o;6016:167::-;6094:4;6111:42;285:10;6135:9;6146:6;6111:9;:42::i;10637:671::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;10701:11:::1;::::0;-1:-1:-1;;;10701:11:0;::::1;;;10700:12;10692:47;;;::::0;-1:-1:-1;;;10692:47:0;;6370:2:1;10692:47:0::1;::::0;::::1;6352:21:1::0;6409:2;6389:18;;;6382:30;6448:25;6428:18;;;6421:53;6491:18;;10692:47:0::1;6168:347:1::0;10692:47:0::1;10750:15;:80:::0;;-1:-1:-1;;;;;;10750:80:0::1;::::0;::::1;::::0;;;;10841:58:::1;::::0;10858:4:::1;::::0;-1:-1:-1;;;;;10750:80:0::1;10873:15:::0;;::::1;;4423:13;4364:1;4423:2;:13;:::i;:::-;4407:29;::::0;:13:::1;:29;:::i;10841:58::-;10944:15;;;;;;;;;-1:-1:-1::0;;;;;10944:15:0::1;-1:-1:-1::0;;;;;10944:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10926:55:0::1;;10990:4;10997:15;;;;;;;;;-1:-1:-1::0;;;;;10997:15:0::1;-1:-1:-1::0;;;;;10997:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10926:94;::::0;-1:-1:-1;;;;;;10926:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7006:15:1;;;10926:94:0::1;::::0;::::1;6988:34:1::0;7058:15;;7038:18;;;7031:43;6923:18;;10926:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10910:13;:110:::0;;-1:-1:-1;;;;;10910:110:0;;::::1;-1:-1:-1::0;;;;;;10910:110:0;;::::1;;::::0;;11031:15:::1;::::0;10910:110:::1;11031:15:::0;::::1;;:31;11070:21;11101:4;11107:24;11101:4:::0;-1:-1:-1;;;;;5982:18:0;5955:7;5982:18;;;:9;:18;;;;;;;5889:119;11107:24:::1;11132:1;11134::::0;11136:7:::1;2488::::0;2515:6;-1:-1:-1;;;;;2515:6:0;;2450:79;11136:7:::1;11031:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11031:129:0;;;-1:-1:-1;;;;;7444:15:1;;;11031:129:0::1;::::0;::::1;7426:34:1::0;7476:18;;;7469:34;;;;7519:18;;;7512:34;;;;7562:18;;;7555:34;7626:15;;;7605:19;;;7598:44;11144:15:0::1;7658:19:1::0;;;7651:35;7360:19;;11031:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11178:13:0::1;::::0;11209:15:::1;::::0;11171:71:::1;::::0;-1:-1:-1;;;11171:71:0;;-1:-1:-1;;;;;11178:13:0::1;11209:15:::0;;::::1;::::0;::::1;11171:71;::::0;::::1;8182:51:1::0;-1:-1:-1;;8249:18:1;;;8242:34;11178:13:0;::::1;::::0;-1:-1:-1;11171:29:0::1;::::0;8155:18:1;;11171:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11253:11:0::1;:18:::0;;-1:-1:-1;;;;11282:18:0;-1:-1:-1;;;11282:18:0;;;10637:671::o;11973:152::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;12053:21:::1;12085:32;12053:21:::0;12085:12:::1;:32::i;:::-;12013:112;11973:152::o:0;6832:335::-;-1:-1:-1;;;;;6925:19:0;;6917:68;;;;-1:-1:-1;;;6917:68:0;;8771:2:1;6917:68:0;;;8753:21:1;8810:2;8790:18;;;8783:30;8849:34;8829:18;;;8822:62;-1:-1:-1;;;8900:18:1;;;8893:34;8944:19;;6917:68:0;8569:400:1;6917:68:0;-1:-1:-1;;;;;7004:21:0;;6996:68;;;;-1:-1:-1;;;6996:68:0;;9176:2:1;6996:68:0;;;9158:21:1;9215:2;9195:18;;;9188:30;9254:34;9234:18;;;9227:62;-1:-1:-1;;;9305:18:1;;;9298:32;9347:19;;6996:68:0;8974:398:1;6996:68:0;-1:-1:-1;;;;;7075:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7127:32;;1614:25:1;;;7127:32:0;;1587:18:1;7127:32:0;;;;;;;6832:335;;;:::o;7175:2363::-;-1:-1:-1;;;;;7263:18:0;;7255:68;;;;-1:-1:-1;;;7255:68:0;;9579:2:1;7255:68:0;;;9561:21:1;9618:2;9598:18;;;9591:30;9657:34;9637:18;;;9630:62;-1:-1:-1;;;9708:18:1;;;9701:35;9753:19;;7255:68:0;9377:401:1;7255:68:0;-1:-1:-1;;;;;7342:16:0;;7334:64;;;;-1:-1:-1;;;7334:64:0;;9985:2:1;7334:64:0;;;9967:21:1;10024:2;10004:18;;;9997:30;10063:34;10043:18;;;10036:62;-1:-1:-1;;;10114:18:1;;;10107:33;10157:19;;7334:64:0;9783:399:1;7334:64:0;7426:1;7417:6;:10;7409:64;;;;-1:-1:-1;;;7409:64:0;;10389:2:1;7409:64:0;;;10371:21:1;10428:2;10408:18;;;10401:30;10467:34;10447:18;;;10440:62;-1:-1:-1;;;10518:18:1;;;10511:39;10567:19;;7409:64:0;10187:405:1;7409:64:0;7484:17;2515:6;;-1:-1:-1;;;;;7518:15:0;;;2515:6;;7518:15;;;;:32;;-1:-1:-1;2488:7:0;2515:6;-1:-1:-1;;;;;7537:13:0;;;2515:6;;7537:13;;7518:32;7514:1668;;;7591:8;;7579:59;;7634:3;;7579:50;;7591:8;;7590:38;;7614:14;;7590:38;;;7601:12;;7590:38;7579:6;;:10;:50::i;:::-;:54;;:59::i;:::-;7659:20;;7567:71;;-1:-1:-1;7659:20:0;;7655:508;;;7720:15;;-1:-1:-1;;;;;7706:30:0;;;7720:15;;;;;7706:30;;;;:62;;-1:-1:-1;7754:13:0;;-1:-1:-1;;;;;7740:28:0;;;7754:13;;7740:28;;7706:62;7702:444;;;7860:9;7831:39;;;;:28;:39;;;;;;7904:12;-1:-1:-1;7795:250:0;;;;-1:-1:-1;;;7795:250:0;;10799:2:1;7795:250:0;;;10781:21:1;10838:2;10818:18;;;10811:30;10877:34;10857:18;;;10850:62;10948:34;10928:18;;;10921:62;-1:-1:-1;;;10999:19:1;;;10992:40;11049:19;;7795:250:0;10597:477:1;7795:250:0;8099:9;8070:39;;;;:28;:39;;;;;8112:12;8070:54;;7702:444;8191:13;;-1:-1:-1;;;;;8183:21:0;;;8191:13;;8183:21;:55;;;;-1:-1:-1;8222:15:0;;-1:-1:-1;;;;;8208:30:0;;;8222:15;;;;;8208:30;;8183:55;:83;;;;-1:-1:-1;;;;;;8244:22:0;;;;;;:18;:22;;;;;;;;8242:24;8183:83;8179:313;;;8306:12;;8296:6;:22;;8288:60;;;;-1:-1:-1;;;8288:60:0;;11281:2:1;8288:60:0;;;11263:21:1;11320:2;11300:18;;;11293:30;11359:27;11339:18;;;11332:55;11404:18;;8288:60:0;11079:349:1;8288:60:0;8401:14;;8391:6;8375:13;8385:2;-1:-1:-1;;;;;5982:18:0;5955:7;5982:18;;;:9;:18;;;;;;;5889:119;8375:13;:22;;;;:::i;:::-;:40;;8367:79;;;;-1:-1:-1;;;8367:79:0;;11765:2:1;8367:79:0;;;11747:21:1;11804:2;11784:18;;;11777:30;11843:28;11823:18;;;11816:56;11889:18;;8367:79:0;11563:350:1;8367:79:0;8465:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8179:313;8517:13;;-1:-1:-1;;;;;8511:19:0;;;8517:13;;8511:19;:43;;;;-1:-1:-1;;;;;;8534:20:0;;8549:4;8534:20;;8511:43;8508:156;;;8599:8;;8587:61;;8644:3;;8587:52;;8599:8;;8598:40;;8623:15;;8598:40;;;8609:13;;8587:6;;:10;:52::i;:61::-;8575:73;;8508:156;8729:4;8680:28;5982:18;;;:9;:18;;;;;;8755:6;;-1:-1:-1;;;8755:6:0;;;;8754:7;:32;;;;-1:-1:-1;8773:13:0;;-1:-1:-1;;;;;8765:21:0;;;8773:13;;8765:21;8754:32;:47;;;;-1:-1:-1;8790:11:0;;-1:-1:-1;;;8790:11:0;;;;8754:47;:89;;;;;8826:17;;8805:20;:38;8754:89;:121;;;;;8857:18;;8847:9;;:28;8754:121;8750:421;;;8896:67;8913:49;8917:6;8924:37;8928:20;8949:11;;8924:3;:37::i;:::-;8913:3;:49::i;:::-;8896:16;:67::i;:::-;9011:21;9054:22;;9051:105;;9101:35;9114:21;9101:12;:35::i;:::-;8877:294;8750:421;7552:1630;7514:1668;9197:11;;9194:161;;9265:4;9247:24;;;;:9;:24;;;;;;:39;;9276:9;9247:28;:39::i;:::-;9240:4;9222:24;;;;:9;:24;;;;;;;:64;;;;9304:39;;-1:-1:-1;;;;;9304:39:0;;;;;;;9333:9;1614:25:1;;1602:2;1587:18;;1468:177;9304:39:0;;;;;;;;9194:161;-1:-1:-1;;;;;9381:15:0;;;;;;:9;:15;;;;;;:27;;9401:6;9381:19;:27::i;:::-;-1:-1:-1;;;;;9365:15:0;;;;;;:9;:15;;;;;:43;9433:40;9451:21;:6;9462:9;9451:10;:21::i;:::-;-1:-1:-1;;;;;9433:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9419:13:0;;;;;;;:9;:13;;;;;:54;;;;9489:41;;;9508:21;:6;9519:9;9508:10;:21::i;:::-;9489:41;;1614:25:1;;;1602:2;1587:18;9489:41:0;;;;;;;7244:2294;7175:2363;;;:::o;1342:190::-;1428:7;1464:12;1456:6;;;;1448:29;;;;-1:-1:-1;;;1448:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1488:9:0;1500:5;1504:1;1500;:5;:::i;:::-;1488:17;1342:190;-1:-1:-1;;;;;1342:190:0:o;9654:483::-;5118:6;:13;;-1:-1:-1;;;;5118:13:0;-1:-1:-1;;;5118:13:0;;;9756:16:::1;::::0;;9770:1:::1;9756:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9756:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9756:16:0::1;9732:40;;9801:4;9783;9788:1;9783:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9783:23:0::1;;;-1:-1:-1::0;;;;;9783:23:0::1;;;::::0;::::1;9827:15;;;;;;;;;-1:-1:-1::0;;;;;9827:15:0::1;-1:-1:-1::0;;;;;9827:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9817:4;9822:1;9817:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9817:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9892:15:::1;::::0;9860:62:::1;::::0;9877:4:::1;::::0;9892:15:::1;::::0;::::1;;9910:11:::0;9860:8:::1;:62::i;:::-;9933:15;::::0;:196:::1;::::0;-1:-1:-1;;;9933:196:0;;:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;9933:15:0::1;::::0;:66:::1;::::0;:196:::1;::::0;10014:11;;10040:1:::1;::::0;10056:4;;10083::::1;::::0;10103:15:::1;::::0;9933:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5154:6:0;:14;;-1:-1:-1;;;;5154:14:0;;;-1:-1:-1;;;;9654:483:0:o;10377:92::-;10434:10;;:27;;:10;;;;-1:-1:-1;;;;;10434:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1540:246;1598:7;1622:1;1627;1622:6;1618:47;;-1:-1:-1;1652:1:0;1645:8;;1618:47;1675:9;1687:5;1691:1;1687;:5;:::i;:::-;1675:17;-1:-1:-1;1720:1:0;1711:5;1715:1;1675:17;1711:5;:::i;:::-;:10;1703:56;;;;-1:-1:-1;;;1703:56:0;;13592:2:1;1703:56:0;;;13574:21:1;13631:2;13611:18;;;13604:30;13670:34;13650:18;;;13643:62;-1:-1:-1;;;13721:18:1;;;13714:31;13762:19;;1703:56:0;13390:397:1;1703:56:0;1777:1;1540:246;-1:-1:-1;;;1540:246:0:o;1794:132::-;1852:7;1879:39;1883:1;1886;1879:39;;;;;;;;;;;;;;;;;:3;:39::i;9548:98::-;9605:7;9632:1;9630;:3;9629:9;;9637:1;9629:9;;;-1:-1:-1;9635:1:0;9548:98;-1:-1:-1;9548:98:0:o;1011:179::-;1069:7;;1101:5;1105:1;1101;:5;:::i;:::-;1089:17;;1130:1;1125;:6;;1117:46;;;;-1:-1:-1;;;1117:46:0;;13994:2:1;1117:46:0;;;13976:21:1;14033:2;14013:18;;;14006:30;14072:29;14052:18;;;14045:57;14119:18;;1117:46:0;13792:351:1;1198:136:0;1256:7;1283:43;1287:1;1290;1283:43;;;;;;;;;;;;;;;;;:3;:43::i;1934:189::-;2020:7;2055:12;2048:5;2040:28;;;;-1:-1:-1;;;2040:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2079:9:0;2091:5;2095:1;2091;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:248::-;1283:6;1291;1344:2;1332:9;1323:7;1319:23;1315:32;1312:52;;;1360:1;1357;1350:12;1312:52;-1:-1:-1;;1383:23:1;;;1453:2;1438:18;;;1425:32;;-1:-1:-1;1215:248:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2300:247::-;2359:6;2412:2;2400:9;2391:7;2387:23;2383:32;2380:52;;;2428:1;2425;2418:12;2380:52;2467:9;2454:23;2486:31;2511:5;2486:31;:::i;2760:689::-;2855:6;2863;2871;2924:2;2912:9;2903:7;2899:23;2895:32;2892:52;;;2940:1;2937;2930:12;2892:52;2980:9;2967:23;3009:18;3050:2;3042:6;3039:14;3036:34;;;3066:1;3063;3056:12;3036:34;3104:6;3093:9;3089:22;3079:32;;3149:7;3142:4;3138:2;3134:13;3130:27;3120:55;;3171:1;3168;3161:12;3120:55;3211:2;3198:16;3237:2;3229:6;3226:14;3223:34;;;3253:1;3250;3243:12;3223:34;3308:7;3301:4;3291:6;3288:1;3284:14;3280:2;3276:23;3272:34;3269:47;3266:67;;;3329:1;3326;3319:12;3266:67;3360:4;3352:13;;;;3384:6;;-1:-1:-1;3422:20:1;;;;3409:34;;2760:689;-1:-1:-1;;;;2760:689:1:o;3454:388::-;3522:6;3530;3583:2;3571:9;3562:7;3558:23;3554:32;3551:52;;;3599:1;3596;3589:12;3551:52;3638:9;3625:23;3657:31;3682:5;3657:31;:::i;:::-;3707:5;-1:-1:-1;3764:2:1;3749:18;;3736:32;3777:33;3736:32;3777:33;:::i;:::-;3829:7;3819:17;;;3454:388;;;;;:::o;3847:356::-;4049:2;4031:21;;;4068:18;;;4061:30;4127:34;4122:2;4107:18;;4100:62;4194:2;4179:18;;3847:356::o;4208:127::-;4269:10;4264:3;4260:20;4257:1;4250:31;4300:4;4297:1;4290:15;4324:4;4321:1;4314:15;4340:422;4429:1;4472:5;4429:1;4486:270;4507:7;4497:8;4494:21;4486:270;;;4566:4;4562:1;4558:6;4554:17;4548:4;4545:27;4542:53;;;4575:18;;:::i;:::-;4625:7;4615:8;4611:22;4608:55;;;4645:16;;;;4608:55;4724:22;;;;4684:15;;;;4486:270;;;4490:3;4340:422;;;;;:::o;4767:806::-;4816:5;4846:8;4836:80;;-1:-1:-1;4887:1:1;4901:5;;4836:80;4935:4;4925:76;;-1:-1:-1;4972:1:1;4986:5;;4925:76;5017:4;5035:1;5030:59;;;;5103:1;5098:130;;;;5010:218;;5030:59;5060:1;5051:10;;5074:5;;;5098:130;5135:3;5125:8;5122:17;5119:43;;;5142:18;;:::i;:::-;-1:-1:-1;;5198:1:1;5184:16;;5213:5;;5010:218;;5312:2;5302:8;5299:16;5293:3;5287:4;5284:13;5280:36;5274:2;5264:8;5261:16;5256:2;5250:4;5247:12;5243:35;5240:77;5237:159;;;-1:-1:-1;5349:19:1;;;5381:5;;5237:159;5428:34;5453:8;5447:4;5428:34;:::i;:::-;5498:6;5494:1;5490:6;5486:19;5477:7;5474:32;5471:58;;;5509:18;;:::i;:::-;5547:20;;4767:806;-1:-1:-1;;;4767:806:1:o;5578:140::-;5636:5;5665:47;5706:4;5696:8;5692:19;5686:4;5665:47;:::i;5723:168::-;5796:9;;;5827;;5844:15;;;5838:22;;5824:37;5814:71;;5865:18;;:::i;5896:127::-;5957:10;5952:3;5948:20;5945:1;5938:31;5988:4;5985:1;5978:15;6012:4;6009:1;6002:15;6028:135;6067:3;6088:17;;;6085:43;;6108:18;;:::i;:::-;-1:-1:-1;6155:1:1;6144:13;;6028:135::o;6520:251::-;6590:6;6643:2;6631:9;6622:7;6618:23;6614:32;6611:52;;;6659:1;6656;6649:12;6611:52;6691:9;6685:16;6710:31;6735:5;6710:31;:::i;7697:306::-;7785:6;7793;7801;7854:2;7842:9;7833:7;7829:23;7825:32;7822:52;;;7870:1;7867;7860:12;7822:52;7899:9;7893:16;7883:26;;7949:2;7938:9;7934:18;7928:25;7918:35;;7993:2;7982:9;7978:18;7972:25;7962:35;;7697:306;;;;;:::o;8287:277::-;8354:6;8407:2;8395:9;8386:7;8382:23;8378:32;8375:52;;;8423:1;8420;8413:12;8375:52;8455:9;8449:16;8508:5;8501:13;8494:21;8487:5;8484:32;8474:60;;8530:1;8527;8520:12;11433:125;11498:9;;;11519:10;;;11516:36;;;11532:18;;:::i;11918:128::-;11985:9;;;12006:11;;;12003:37;;;12020:18;;:::i;12183:980::-;12445:4;12493:3;12482:9;12478:19;12524:6;12513:9;12506:25;12550:2;12588:6;12583:2;12572:9;12568:18;12561:34;12631:3;12626:2;12615:9;12611:18;12604:31;12655:6;12690;12684:13;12721:6;12713;12706:22;12759:3;12748:9;12744:19;12737:26;;12798:2;12790:6;12786:15;12772:29;;12819:1;12829:195;12843:6;12840:1;12837:13;12829:195;;;12908:13;;-1:-1:-1;;;;;12904:39:1;12892:52;;12999:15;;;;12964:12;;;;12940:1;12858:9;12829:195;;;-1:-1:-1;;;;;;;13080:32:1;;;;13075:2;13060:18;;13053:60;-1:-1:-1;;;13144:3:1;13129:19;13122:35;13041:3;12183:980;-1:-1:-1;;;12183:980:1:o;13168:217::-;13208:1;13234;13224:132;;13278:10;13273:3;13269:20;13266:1;13259:31;13313:4;13310:1;13303:15;13341:4;13338:1;13331:15;13224:132;-1:-1:-1;13370:9:1;;13168:217::o

Swarm Source

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