ETH Price: $3,844.61 (-2.07%)

Token

ERC-20: DAETA (DAETA)
 

Overview

Max Total Supply

100,000,000 DAETA

Holders

901

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
59,973.198791397149862104 DAETA

Value
$0.00
0x59d3102ed425117b5723ccd04dc3ceb3ad527ad7
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:
DAETA

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-11-06
*/

/*
 _____     _______ _______       
|  __ \   /   ____|__   __|/\    
| |  | | /   |__     | |  /  \   
| |  | |/ /|  __|    | | / /\ \  
| |__| / ___ |____   | |/ ____ \ 
|_____/_/  |______|  |_/_/    \_\
                                  
Distributed Cloud Storage and Modular AI-Native Data Layer.

Website: https://www.daeta.xyz
Twitter: https://x.com/DaetaStorage
Medium: https://daetastorage.medium.com
Telegram: https://t.me/DaetaStorage
Discord: https://discord.gg/DaetaStorage
GitHub: https://github.com/DaetaStorage
Documentation: https://docs.daeta.xyz
Whitepaper: https://daeta.xyz/DaetaWPv1.0.pdf
Tokenomics: https://docs.daeta.xyz/tokenomics
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

interface IERC20 {
    event Transfer(address indexed sender, address indexed recipient, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 amount);

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

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

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

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

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

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

    function transferOwnership(address newOwner) public onlyOwner {
        _updateOwnership(newOwner);
    }

    function _updateOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_contractOwner, newOwner);
        _contractOwner = newOwner;
    }

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 tokenAmount,
        uint256 minETHAmount,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint tokenDesired,
        uint tokenMin,
        uint ethMin,
        address to,
        uint deadline
    ) external payable returns (uint tokenAmount, uint ethAmount, uint liquidity);
}

contract DAETA is Context, IERC20, Ownable {
    string private constant _tokenName = "DAETA";
    string private constant _tokenSymbol = "DAETA";
    uint8 private constant _tokenDecimals = 18;
    uint256 private constant _totalSupply = 100000000 * 10**_tokenDecimals;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _excludedAccounts;

    uint256 private constant _minSwapAmount = 25000 * 10**_tokenDecimals;
    uint256 private _maxSwapAmount = 625000 * 10**_tokenDecimals;

    uint256 public maxTxAmount = 100000 * 10**_tokenDecimals;
    uint256 public maxWalletBalance = 200000 * 10**_tokenDecimals;

    uint256 private _startBlock;
    uint256 buyFee = 30;
    uint256 sellFee = 30;

    IUniswapV2Router02 private _swapRouter;
    address public liquidityPair;
    address DAETAStorage;
    address DAETALVRG;
    address DAETABoost;

    bool private _tradingIsEnabled = false;

    constructor() {
        DAETAStorage = 0x1b3B458EBDE073723a05005F3D65715BD6aaecD6;
        DAETALVRG = 0xB67A1A099557A64dCDAaDfE768204002Ca25e67a;
        DAETABoost = 0x25e01C6EE653b4aba2227c5C6FaE34402e34c027;

        _balances[msg.sender] = _totalSupply;
        _excludedAccounts[msg.sender] = 1;
        _excludedAccounts[address(this)] = 1;

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

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

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

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

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

    function getTaxeRates() external view returns (uint256 buyTax, uint256 sellTax) {
        buyTax = buyFee;
        sellTax = sellFee;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(_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) {
        _setTokenAllowance(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _setTokenAllowance(sender, _msgSender(), currentAllowance - amount);
            }
        }
        return true;
    }

    function _setTokenAllowance(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 activeTrading() external onlyOwner {
        require(!_tradingIsEnabled, "Trading is already enabled");
        _swapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        liquidityPair = IUniswapV2Factory(_swapRouter.factory()).createPair(address(this), _swapRouter.WETH());
        _setTokenAllowance(address(this), address(_swapRouter), _totalSupply);
        
        _swapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(liquidityPair).approve(address(_swapRouter), type(uint).max);
        _tradingIsEnabled = true;
        _startBlock = block.number;
    }

    function modifyExcludedAccounts(address account, uint256 value) external onlyOwner {
        _excludedAccounts[account] = value;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
        maxWalletBalance = _totalSupply;
    }

    function updateTaxes(uint256 newTxRate) external onlyOwner {
        require(newTxRate <= buyFee && newTxRate <= sellFee, "Tax cannot be increased");
        buyFee = newTxRate;
        sellFee = newTxRate;
    }

    function _executeTokenTransfer(address from, address to, uint256 amount, uint256 taxRate) private {
        uint256 taxAmount = (amount * taxRate) / 100;
        uint256 transferAmount = amount - taxAmount;

        _balances[from] -= amount;
        _balances[to] += transferAmount;
        _balances[address(this)] += taxAmount;

        emit Transfer(from, to, transferAmount);
    }

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

        uint256 taxRate = 0;

        if (_excludedAccounts[from] == 0 && _excludedAccounts[to] == 0) {
            require(_tradingIsEnabled, "Trading is not enabled yet");
            require(amount <= maxTxAmount, "Transaction amount exceeds the maximum limit");
            
            if (to != liquidityPair && to != address(0xdead)) {
                require(balanceOf(to) + amount <= maxWalletBalance, "Recipient wallet exceeds the maximum limit");
            }

            if (block.number < _startBlock + 3) {
                taxRate = (from == liquidityPair) ? 30 : 30;
            } else {
                if (from == liquidityPair) {
                    taxRate = buyFee;
                } else if (to == liquidityPair) {
                    uint256 contractTokenBalance = balanceOf(address(this));
                    if (contractTokenBalance > _minSwapAmount) {
                        uint256 swapAmount = _maxSwapAmount;
                        if (contractTokenBalance > amount) contractTokenBalance = amount;
                        if (contractTokenBalance > swapAmount) contractTokenBalance = swapAmount;
                        _swapTokensForEth(contractTokenBalance);
                    }
                    taxRate = sellFee;
                }
            }
        }
        _executeTokenTransfer(from, to, amount, taxRate);
    }

    function withdrawEth() external onlyOwner {
        (bool success, ) = owner().call{value: address(this).balance}("");
      require(success, "ETH withdrawal failed");
    }

    function withdrawTokens() external onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        require(contractTokenBalance > 0, "No tokens to withdraw");

        _executeTokenTransfer(address(this), owner(), contractTokenBalance, 0);
    }

    function manualSwapExecution(uint256 percent) external onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 swapAmount = (percent * contractTokenBalance) / 100;
        _swapTokensForEth(swapAmount);
    }

    function _swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _swapRouter.WETH();

        _setTokenAllowance(address(this), address(_swapRouter), tokenAmount);

        _swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 contractEthBalance = address(this).balance;
        uint256 StorageTax = (contractEthBalance * 45) / 100;
        uint256 LVRGTax = (contractEthBalance * 45) / 100;
        uint256 BoostTax = (contractEthBalance * 10) / 100;

        (bool success, ) = DAETAStorage.call{value: StorageTax}("");
        (success, ) = DAETALVRG.call{value: LVRGTax}("");
        (success, ) = DAETABoost.call{value: BoostTax}("");
        

        require(success, "Transfer failed");
    }

    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":"amount","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":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"activeTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTaxeRates","outputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapExecution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"modifyExcludedAccounts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTxRate","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620002e9565b62000021906209896862000300565b600455620000326012600a620002e9565b6200004190620186a062000300565b600555620000526012600a620002e9565b620000619062030d4062000300565b600655601e6008819055600955600e805460ff60a01b1916905534801562000087575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b0319908116731b3b458ebde073723a05005f3d65715bd6aaecd617909155600d8054821673b67a1a099557a64dcdaadfe768204002ca25e67a179055600e80549091167325e01c6ee653b4aba2227c5c6fae34402e34c0271790556200013c6012600a620002e9565b6200014c906305f5e10062000300565b335f9081526001602081815260408084209490945560039052828220819055308252919020556200017a3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001b36012600a620002e9565b620001c3906305f5e10062000300565b60405190815260200160405180910390a36200031a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200022e57815f1904821115620002125762000212620001da565b808516156200022057918102915b93841c9390800290620001f3565b509250929050565b5f826200024657506001620002e3565b816200025457505f620002e3565b81600181146200026d5760028114620002785762000298565b6001915050620002e3565b60ff8411156200028c576200028c620001da565b50506001821b620002e3565b5060208310610133831016604e8410600b8410161715620002bd575081810a620002e3565b620002c98383620001ee565b805f1904821115620002df57620002df620001da565b0290505b92915050565b5f620002f960ff84168362000236565b9392505050565b8082028115828204841417620002e357620002e3620001da565b61196f80620003285f395ff3fe60806040526004361061013f575f3560e01c806384516c8c116100b3578063a9059cbb1161006d578063a9059cbb14610364578063b3ac853714610383578063bbde77c114610397578063da28dac3146103ac578063dd62ed3e146103cb578063f2fde38b1461040f575f80fd5b806384516c8c146102e45780638c0b5e221461030b5780638d8f2adb146103205780638da5cb5b1461033457806395d89b411461014a578063a0ef91df14610350575f80fd5b80635a0ad007116101045780635a0ad00714610211578063613506911461023257806370a0823114610251578063715018a614610285578063751039fc14610299578063808a5457146102ad575f80fd5b806306fdde031461014a578063095ea7b31461018657806318160ddd146101b557806323b872dd146101d7578063313ce567146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820182526005815264444145544160d81b6020820152905161017d9190611587565b60405180910390f35b348015610191575f80fd5b506101a56101a03660046115e6565b61042e565b604051901515815260200161017d565b3480156101c0575f80fd5b506101c9610444565b60405190815260200161017d565b3480156101e2575f80fd5b506101a56101f1366004611610565b610464565b348015610201575f80fd5b506040516012815260200161017d565b34801561021c575f80fd5b5061023061022b36600461164e565b610519565b005b34801561023d575f80fd5b5061023061024c36600461164e565b6105ac565b34801561025c575f80fd5b506101c961026b366004611665565b6001600160a01b03165f9081526001602052604090205490565b348015610290575f80fd5b5061023061060b565b3480156102a4575f80fd5b5061023061067c565b3480156102b8575f80fd5b50600b546102cc906001600160a01b031681565b6040516001600160a01b03909116815260200161017d565b3480156102ef575f80fd5b506008546009546040805192835260208301919091520161017d565b348015610316575f80fd5b506101c960055481565b34801561032b575f80fd5b506102306106e1565b34801561033f575f80fd5b505f546001600160a01b03166102cc565b34801561035b575f80fd5b5061023061077d565b34801561036f575f80fd5b506101a561037e3660046115e6565b61083e565b34801561038e575f80fd5b5061023061084a565b3480156103a2575f80fd5b506101c960065481565b3480156103b7575f80fd5b506102306103c63660046115e6565b610bee565b3480156103d6575f80fd5b506101c96103e5366004611687565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561041a575f80fd5b50610230610429366004611665565b610c32565b5f61043a338484610c64565b5060015b92915050565b5f6104516012600a6117b2565b61045f906305f5e1006117c0565b905090565b5f610470848484610d87565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461050e57828110156105015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61050e8533858403610c64565b506001949350505050565b5f546001600160a01b031633146105425760405162461bcd60e51b81526004016104f8906117d7565b600854811115801561055657506009548111155b6105a25760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e6372656173656400000000000000000060448201526064016104f8565b6008819055600955565b5f546001600160a01b031633146105d55760405162461bcd60e51b81526004016104f8906117d7565b305f908152600160205260408120549060646105f183856117c0565b6105fb919061180c565b9050610606816110ec565b505050565b5f546001600160a01b031633146106345760405162461bcd60e51b81526004016104f8906117d7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106a55760405162461bcd60e51b81526004016104f8906117d7565b6106b16012600a6117b2565b6106bf906305f5e1006117c0565b6005556106ce6012600a6117b2565b6106dc906305f5e1006117c0565b600655565b5f546001600160a01b0316331461070a5760405162461bcd60e51b81526004016104f8906117d7565b305f908152600160205260409020548061075e5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016104f8565b61077a306107735f546001600160a01b031690565b835f6113ce565b50565b5f546001600160a01b031633146107a65760405162461bcd60e51b81526004016104f8906117d7565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f81146107f0576040519150601f19603f3d011682016040523d82523d5f602084013e6107f5565b606091505b505090508061077a5760405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016104f8565b5f61043a338484610d87565b5f546001600160a01b031633146108735760405162461bcd60e51b81526004016104f8906117d7565b600e54600160a01b900460ff16156108cd5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016104f8565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561092f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610953919061182b565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d6919061182b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a44919061182b565b600b80546001600160a01b0319166001600160a01b03928316179055600a8054610a8c923092911690610a79906012906117b2565b610a87906305f5e1006117c0565b610c64565b600a546001600160a01b031663f305d7194730610abd816001600160a01b03165f9081526001602052604090205490565b5f80610ad05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b5b9190611846565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610bb0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd49190611871565b50600e805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b03163314610c175760405162461bcd60e51b81526004016104f8906117d7565b6001600160a01b039091165f90815260036020526040902055565b5f546001600160a01b03163314610c5b5760405162461bcd60e51b81526004016104f8906117d7565b61077a816114c9565b6001600160a01b038316610cc65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f8565b6001600160a01b038216610d275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f8565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f8565b5f8111610e535760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016104f8565b6001600160a01b0383165f90815260036020526040812054158015610e8d57506001600160a01b0383165f90815260036020526040902054155b156110da57600e54600160a01b900460ff16610eeb5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016104f8565b600554821115610f525760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b60648201526084016104f8565b600b546001600160a01b03848116911614801590610f7b57506001600160a01b03831661dead14155b1561100d5760065482610fa2856001600160a01b03165f9081526001602052604090205490565b610fac9190611890565b111561100d5760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b60648201526084016104f8565b60075461101b906003611890565b43101561104b57600b546001600160a01b0385811691161461103e57601e611041565b601e5b60ff1690506110da565b600b546001600160a01b039081169085160361106a57506008546110da565b600b546001600160a01b03908116908416036110da57305f9081526001602052604090205461109b6012600a6117b2565b6110a7906161a86117c0565b8111156110d457600454838211156110bd578391505b808211156110c9578091505b6110d2826110ec565b505b50506009545b6110e6848484846113ce565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061111f5761111f6118a3565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611176573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119a919061182b565b816001815181106111ad576111ad6118a3565b6001600160a01b039283166020918202929092010152600a546111d39130911684610c64565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120b9085905f908690309042906004016118b7565b5f604051808303815f87803b158015611222575f80fd5b505af1158015611234573d5f803e3d5ffd5b504792505f91506064905061124a83602d6117c0565b611254919061180c565b90505f606461126484602d6117c0565b61126e919061180c565b90505f606461127e85600a6117c0565b611288919061180c565b600c546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146112d7576040519150601f19603f3d011682016040523d82523d5f602084013e6112dc565b606091505b5050600d546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611329576040519150601f19603f3d011682016040523d82523d5f602084013e61132e565b606091505b5050600e546040519192506001600160a01b03169083905f81818185875af1925050503d805f811461137b576040519150601f19603f3d011682016040523d82523d5f602084013e611380565b606091505b505080915050806113c55760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016104f8565b50505050505050565b5f60646113db83856117c0565b6113e5919061180c565b90505f6113f28285611926565b6001600160a01b0387165f9081526001602052604081208054929350869290919061141e908490611926565b90915550506001600160a01b0385165f908152600160205260408120805483929061144a908490611890565b9091555050305f908152600160205260408120805484929061146d908490611890565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114b991815260200190565b60405180910390a3505050505050565b6001600160a01b03811661152e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f8565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b818110156115b257858101830151858201604001528201611596565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077a575f80fd5b5f80604083850312156115f7575f80fd5b8235611602816115d2565b946020939093013593505050565b5f805f60608486031215611622575f80fd5b833561162d816115d2565b9250602084013561163d816115d2565b929592945050506040919091013590565b5f6020828403121561165e575f80fd5b5035919050565b5f60208284031215611675575f80fd5b8135611680816115d2565b9392505050565b5f8060408385031215611698575f80fd5b82356116a3816115d2565b915060208301356116b3816115d2565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561170c57815f19048211156116f2576116f26116be565b808516156116ff57918102915b93841c93908002906116d7565b509250929050565b5f826117225750600161043e565b8161172e57505f61043e565b8160018114611744576002811461174e5761176a565b600191505061043e565b60ff84111561175f5761175f6116be565b50506001821b61043e565b5060208310610133831016604e8410600b841016171561178d575081810a61043e565b61179783836116d2565b805f19048211156117aa576117aa6116be565b029392505050565b5f61168060ff841683611714565b808202811582820484141761043e5761043e6116be565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8261182657634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561183b575f80fd5b8151611680816115d2565b5f805f60608486031215611858575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611881575f80fd5b81518015158114611680575f80fd5b8082018082111561043e5761043e6116be565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119055784516001600160a01b0316835293830193918301916001016118e0565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561043e5761043e6116be56fea2646970667358221220ab0af1fe0c5c71f94190dc8293b3e65e74fc90dc1ebb80f74d864dc5633654ea64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c806384516c8c116100b3578063a9059cbb1161006d578063a9059cbb14610364578063b3ac853714610383578063bbde77c114610397578063da28dac3146103ac578063dd62ed3e146103cb578063f2fde38b1461040f575f80fd5b806384516c8c146102e45780638c0b5e221461030b5780638d8f2adb146103205780638da5cb5b1461033457806395d89b411461014a578063a0ef91df14610350575f80fd5b80635a0ad007116101045780635a0ad00714610211578063613506911461023257806370a0823114610251578063715018a614610285578063751039fc14610299578063808a5457146102ad575f80fd5b806306fdde031461014a578063095ea7b31461018657806318160ddd146101b557806323b872dd146101d7578063313ce567146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820182526005815264444145544160d81b6020820152905161017d9190611587565b60405180910390f35b348015610191575f80fd5b506101a56101a03660046115e6565b61042e565b604051901515815260200161017d565b3480156101c0575f80fd5b506101c9610444565b60405190815260200161017d565b3480156101e2575f80fd5b506101a56101f1366004611610565b610464565b348015610201575f80fd5b506040516012815260200161017d565b34801561021c575f80fd5b5061023061022b36600461164e565b610519565b005b34801561023d575f80fd5b5061023061024c36600461164e565b6105ac565b34801561025c575f80fd5b506101c961026b366004611665565b6001600160a01b03165f9081526001602052604090205490565b348015610290575f80fd5b5061023061060b565b3480156102a4575f80fd5b5061023061067c565b3480156102b8575f80fd5b50600b546102cc906001600160a01b031681565b6040516001600160a01b03909116815260200161017d565b3480156102ef575f80fd5b506008546009546040805192835260208301919091520161017d565b348015610316575f80fd5b506101c960055481565b34801561032b575f80fd5b506102306106e1565b34801561033f575f80fd5b505f546001600160a01b03166102cc565b34801561035b575f80fd5b5061023061077d565b34801561036f575f80fd5b506101a561037e3660046115e6565b61083e565b34801561038e575f80fd5b5061023061084a565b3480156103a2575f80fd5b506101c960065481565b3480156103b7575f80fd5b506102306103c63660046115e6565b610bee565b3480156103d6575f80fd5b506101c96103e5366004611687565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561041a575f80fd5b50610230610429366004611665565b610c32565b5f61043a338484610c64565b5060015b92915050565b5f6104516012600a6117b2565b61045f906305f5e1006117c0565b905090565b5f610470848484610d87565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461050e57828110156105015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61050e8533858403610c64565b506001949350505050565b5f546001600160a01b031633146105425760405162461bcd60e51b81526004016104f8906117d7565b600854811115801561055657506009548111155b6105a25760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e6372656173656400000000000000000060448201526064016104f8565b6008819055600955565b5f546001600160a01b031633146105d55760405162461bcd60e51b81526004016104f8906117d7565b305f908152600160205260408120549060646105f183856117c0565b6105fb919061180c565b9050610606816110ec565b505050565b5f546001600160a01b031633146106345760405162461bcd60e51b81526004016104f8906117d7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106a55760405162461bcd60e51b81526004016104f8906117d7565b6106b16012600a6117b2565b6106bf906305f5e1006117c0565b6005556106ce6012600a6117b2565b6106dc906305f5e1006117c0565b600655565b5f546001600160a01b0316331461070a5760405162461bcd60e51b81526004016104f8906117d7565b305f908152600160205260409020548061075e5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016104f8565b61077a306107735f546001600160a01b031690565b835f6113ce565b50565b5f546001600160a01b031633146107a65760405162461bcd60e51b81526004016104f8906117d7565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f81146107f0576040519150601f19603f3d011682016040523d82523d5f602084013e6107f5565b606091505b505090508061077a5760405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016104f8565b5f61043a338484610d87565b5f546001600160a01b031633146108735760405162461bcd60e51b81526004016104f8906117d7565b600e54600160a01b900460ff16156108cd5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016104f8565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561092f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610953919061182b565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d6919061182b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a44919061182b565b600b80546001600160a01b0319166001600160a01b03928316179055600a8054610a8c923092911690610a79906012906117b2565b610a87906305f5e1006117c0565b610c64565b600a546001600160a01b031663f305d7194730610abd816001600160a01b03165f9081526001602052604090205490565b5f80610ad05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b5b9190611846565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610bb0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd49190611871565b50600e805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b03163314610c175760405162461bcd60e51b81526004016104f8906117d7565b6001600160a01b039091165f90815260036020526040902055565b5f546001600160a01b03163314610c5b5760405162461bcd60e51b81526004016104f8906117d7565b61077a816114c9565b6001600160a01b038316610cc65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f8565b6001600160a01b038216610d275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f8565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f8565b5f8111610e535760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016104f8565b6001600160a01b0383165f90815260036020526040812054158015610e8d57506001600160a01b0383165f90815260036020526040902054155b156110da57600e54600160a01b900460ff16610eeb5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016104f8565b600554821115610f525760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b60648201526084016104f8565b600b546001600160a01b03848116911614801590610f7b57506001600160a01b03831661dead14155b1561100d5760065482610fa2856001600160a01b03165f9081526001602052604090205490565b610fac9190611890565b111561100d5760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b60648201526084016104f8565b60075461101b906003611890565b43101561104b57600b546001600160a01b0385811691161461103e57601e611041565b601e5b60ff1690506110da565b600b546001600160a01b039081169085160361106a57506008546110da565b600b546001600160a01b03908116908416036110da57305f9081526001602052604090205461109b6012600a6117b2565b6110a7906161a86117c0565b8111156110d457600454838211156110bd578391505b808211156110c9578091505b6110d2826110ec565b505b50506009545b6110e6848484846113ce565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061111f5761111f6118a3565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611176573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119a919061182b565b816001815181106111ad576111ad6118a3565b6001600160a01b039283166020918202929092010152600a546111d39130911684610c64565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120b9085905f908690309042906004016118b7565b5f604051808303815f87803b158015611222575f80fd5b505af1158015611234573d5f803e3d5ffd5b504792505f91506064905061124a83602d6117c0565b611254919061180c565b90505f606461126484602d6117c0565b61126e919061180c565b90505f606461127e85600a6117c0565b611288919061180c565b600c546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146112d7576040519150601f19603f3d011682016040523d82523d5f602084013e6112dc565b606091505b5050600d546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611329576040519150601f19603f3d011682016040523d82523d5f602084013e61132e565b606091505b5050600e546040519192506001600160a01b03169083905f81818185875af1925050503d805f811461137b576040519150601f19603f3d011682016040523d82523d5f602084013e611380565b606091505b505080915050806113c55760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016104f8565b50505050505050565b5f60646113db83856117c0565b6113e5919061180c565b90505f6113f28285611926565b6001600160a01b0387165f9081526001602052604081208054929350869290919061141e908490611926565b90915550506001600160a01b0385165f908152600160205260408120805483929061144a908490611890565b9091555050305f908152600160205260408120805484929061146d908490611890565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114b991815260200190565b60405180910390a3505050505050565b6001600160a01b03811661152e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f8565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b818110156115b257858101830151858201604001528201611596565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077a575f80fd5b5f80604083850312156115f7575f80fd5b8235611602816115d2565b946020939093013593505050565b5f805f60608486031215611622575f80fd5b833561162d816115d2565b9250602084013561163d816115d2565b929592945050506040919091013590565b5f6020828403121561165e575f80fd5b5035919050565b5f60208284031215611675575f80fd5b8135611680816115d2565b9392505050565b5f8060408385031215611698575f80fd5b82356116a3816115d2565b915060208301356116b3816115d2565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561170c57815f19048211156116f2576116f26116be565b808516156116ff57918102915b93841c93908002906116d7565b509250929050565b5f826117225750600161043e565b8161172e57505f61043e565b8160018114611744576002811461174e5761176a565b600191505061043e565b60ff84111561175f5761175f6116be565b50506001821b61043e565b5060208310610133831016604e8410600b841016171561178d575081810a61043e565b61179783836116d2565b805f19048211156117aa576117aa6116be565b029392505050565b5f61168060ff841683611714565b808202811582820484141761043e5761043e6116be565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8261182657634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561183b575f80fd5b8151611680816115d2565b5f805f60608486031215611858575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611881575f80fd5b81518015158114611680575f80fd5b8082018082111561043e5761043e6116be565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119055784516001600160a01b0316835293830193918301916001016118e0565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561043e5761043e6116be56fea2646970667358221220ab0af1fe0c5c71f94190dc8293b3e65e74fc90dc1ebb80f74d864dc5633654ea64736f6c63430008140033

Deployed Bytecode Sourcemap

3433:8650:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4909:88;;;;;;;;;;-1:-1:-1;4979:10:0;;;;;;;;;;;-1:-1:-1;;;4979:10:0;;;;4909:88;;;;4979:10;4909:88;:::i;:::-;;;;;;;;5919:171;;;;;;;;;;-1:-1:-1;5919:171:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5919:171:0;1023:187:1;5201:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5201:100:0;1215:177:1;6098:546:0;;;;;;;;;;-1:-1:-1;6098:546:0;;;;;:::i;:::-;;:::i;5105:88::-;;;;;;;;;;-1:-1:-1;5105:88:0;;3627:2;2000:36:1;;1988:2;1973:18;5105:88:0;1858:184:1;8087:216:0;;;;;;;;;;-1:-1:-1;8087:216:0;;;;;:::i;:::-;;:::i;:::-;;10815:249;;;;;;;;;;-1:-1:-1;10815:249:0;;;;;:::i;:::-;;:::i;5459:119::-;;;;;;;;;;-1:-1:-1;5459:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5552:18:0;5525:7;5552:18;;;:9;:18;;;;;;;5459:119;2502:164;;;;;;;;;;;;;:::i;7949:130::-;;;;;;;;;;;;;:::i;4314:28::-;;;;;;;;;;-1:-1:-1;4314:28:0;;;;-1:-1:-1;;;;;4314:28:0;;;;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;4314:28:0;2484:203:1;5309:142:0;;;;;;;;;;-1:-1:-1;5409:6:0;;5436:7;;5309:142;;;2866:25:1;;;2922:2;2907:18;;2900:34;;;;2839:18;5309:142:0;2692:248:1;4047:56:0;;;;;;;;;;;;;;;;10536:271;;;;;;;;;;;;;:::i;1906:87::-;;;;;;;;;;-1:-1:-1;1944:7:0;1971:14;-1:-1:-1;;;;;1971:14:0;1906:87;;10352:176;;;;;;;;;;;;;:::i;5586:174::-;;;;;;;;;;-1:-1:-1;5586:174:0;;;;;:::i;:::-;;:::i;7005:792::-;;;;;;;;;;;;;:::i;4110:61::-;;;;;;;;;;;;;;;;7805:136;;;;;;;;;;-1:-1:-1;7805:136:0;;;;;:::i;:::-;;:::i;5768:143::-;;;;;;;;;;-1:-1:-1;5768:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5876:18:0;;;5849:7;5876:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5768:143;2136:107;;;;;;;;;;-1:-1:-1;2136:107:0;;;;;:::i;:::-;;:::i;5919:171::-;5994:4;6011:49;1548:10;6044:7;6053:6;6011:18;:49::i;:::-;-1:-1:-1;6078:4:0;5919:171;;;;;:::o;5201:100::-;5254:7;3688:18;3627:2;3688;:18;:::i;:::-;3676:30;;:9;:30;:::i;:::-;5274:19;;5201:100;:::o;6098:546::-;6196:4;6213:43;6230:6;6238:9;6249:6;6213:16;:43::i;:::-;-1:-1:-1;;;;;6296:19:0;;6269:24;6296:19;;;:11;:19;;;;;;;;1548:10;6296:33;;;;;;;;-1:-1:-1;;6344:37:0;;6340:275;;6426:6;6406:16;:26;;6398:79;;;;-1:-1:-1;;;6398:79:0;;5228:2:1;6398:79:0;;;5210:21:1;5267:2;5247:18;;;5240:30;5306:34;5286:18;;;5279:62;-1:-1:-1;;;5357:18:1;;;5350:38;5405:19;;6398:79:0;;;;;;;;;6521:67;6540:6;1548:10;6581:6;6562:16;:25;6521:18;:67::i;:::-;-1:-1:-1;6632:4:0;;6098:546;-1:-1:-1;;;;6098:546:0:o;8087:216::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;8178:6:::1;;8165:9;:19;;:43;;;;;8201:7;;8188:9;:20;;8165:43;8157:79;;;::::0;-1:-1:-1;;;8157:79:0;;5998:2:1;8157:79:0::1;::::0;::::1;5980:21:1::0;6037:2;6017:18;;;6010:30;6076:25;6056:18;;;6049:53;6119:18;;8157:79:0::1;5796:347:1::0;8157:79:0::1;8247:6;:18:::0;;;8276:7:::1;:19:::0;8087:216::o;10815:249::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;10940:4:::1;10891:28;5552:18:::0;;;:9;:18;;;;;;;11013:3:::1;10979:30;5552:18:::0;10979:7;:30:::1;:::i;:::-;10978:38;;;;:::i;:::-;10957:59;;11027:29;11045:10;11027:17;:29::i;:::-;10880:184;;10815:249:::0;:::o;2502:164::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;2617:1:::1;2593:14:::0;;2572:48:::1;::::0;-1:-1:-1;;;;;2593:14:0;;::::1;::::0;2572:48:::1;::::0;2617:1;;2572:48:::1;2656:1;2631:27:::0;;-1:-1:-1;;;;;;2631:27:0::1;::::0;;2502:164::o;7949:130::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;3688:18:::1;3627:2;3688;:18;:::i;:::-;3676:30;::::0;:9:::1;:30;:::i;:::-;8003:11;:26:::0;3688:18:::1;3627:2;3688;:18;:::i;:::-;3676:30;::::0;:9:::1;:30;:::i;:::-;8040:16;:31:::0;7949:130::o;10536:271::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;10641:4:::1;10592:28;5552:18:::0;;;:9;:18;;;;;;10666:24;10658:58:::1;;;::::0;-1:-1:-1;;;10658:58:0;;6572:2:1;10658:58:0::1;::::0;::::1;6554:21:1::0;6611:2;6591:18;;;6584:30;-1:-1:-1;;;6630:18:1;;;6623:51;6691:18;;10658:58:0::1;6370:345:1::0;10658:58:0::1;10729:70;10759:4;10766:7;1944::::0;1971:14;-1:-1:-1;;;;;1971:14:0;;1906:87;10766:7:::1;10775:20;10797:1;10729:21;:70::i;:::-;10581:226;10536:271::o:0;10352:176::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;10406:12:::1;1971:14:::0;;10424:46:::1;::::0;-1:-1:-1;;;;;1971:14:0;;;;10444:21:::1;::::0;10406:12;10424:46;10406:12;10424:46;10444:21;1971:14;10424:46:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10405:65;;;10487:7;10479:41;;;::::0;-1:-1:-1;;;10479:41:0;;7132:2:1;10479:41:0::1;::::0;::::1;7114:21:1::0;7171:2;7151:18;;;7144:30;-1:-1:-1;;;7190:18:1;;;7183:51;7251:18;;10479:41:0::1;6930:345:1::0;5586:174:0;5664:4;5681:49;1548:10;5712:9;5723:6;5681:16;:49::i;7005:792::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;7069:17:::1;::::0;-1:-1:-1;;;7069:17:0;::::1;;;7068:18;7060:57;;;::::0;-1:-1:-1;;;7060:57:0;;7482:2:1;7060:57:0::1;::::0;::::1;7464:21:1::0;7521:2;7501:18;;;7494:30;7560:28;7540:18;;;7533:56;7606:18;;7060:57:0::1;7280:350:1::0;7060:57:0::1;7128:11;:76:::0;;-1:-1:-1;;;;;;7128:76:0::1;7161:42;7128:76:::0;;::::1;::::0;;;7249:21:::1;::::0;;-1:-1:-1;;;7249:21:0;;;;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;7161:42;7249:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7231:51:0::1;;7291:4;7298:11;;;;;;;;;-1:-1:-1::0;;;;;7298:11:0::1;-1:-1:-1::0;;;;;7298:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7231:86;::::0;-1:-1:-1;;;;;;7231:86:0::1;::::0;;;;;;-1:-1:-1;;;;;8121:15:1;;;7231:86:0::1;::::0;::::1;8103:34:1::0;8173:15;;8153:18;;;8146:43;8038:18;;7231:86:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7215:13;:102:::0;;-1:-1:-1;;;;;;7215:102:0::1;-1:-1:-1::0;;;;;7215:102:0;;::::1;;::::0;;7370:11:::1;::::0;;7328:69:::1;::::0;7355:4:::1;::::0;7370:11;::::1;::::0;3688:18:::1;::::0;3627:2:::1;::::0;3688:18:::1;:::i;:::-;3676:30;::::0;:9:::1;:30;:::i;:::-;7328:18;:69::i;:::-;7418:11;::::0;-1:-1:-1;;;;;7418:11:0::1;:27;7453:21;7498:4;7518:24;7498:4:::0;-1:-1:-1;;;;;5552:18:0;5525:7;5552:18;;;:9;:18;;;;;;;5459:119;7518:24:::1;7557:1;7573::::0;7589:7:::1;1944::::0;1971:14;-1:-1:-1;;;;;1971:14:0;;1906:87;7589:7:::1;7418:219;::::0;::::1;::::0;;;-1:-1:-1;;;;;;7418:219:0;;;-1:-1:-1;;;;;8559:15:1;;;7418:219:0::1;::::0;::::1;8541:34:1::0;8591:18;;;8584:34;;;;8634:18;;;8627:34;;;;8677:18;;;8670:34;8741:15;;;8720:19;;;8713:44;7611:15:0::1;8773:19:1::0;;;8766:35;8475:19;;7418:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7657:13:0::1;::::0;7688:11:::1;::::0;7650:67:::1;::::0;-1:-1:-1;;;7650:67:0;;-1:-1:-1;;;;;7688:11:0;;::::1;7650:67;::::0;::::1;9297:51:1::0;-1:-1:-1;;9364:18:1;;;9357:34;7657:13:0;::::1;::::0;-1:-1:-1;7650:29:0::1;::::0;9270:18:1;;7650:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7728:17:0::1;:24:::0;;-1:-1:-1;;;;7728:24:0::1;-1:-1:-1::0;;;7728:24:0::1;::::0;;7777:12:::1;7763:11;:26:::0;7005:792::o;7805:136::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7899:26:0;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;7805:136::o;2136:107::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;2209:26:::1;2226:8;2209:16;:26::i;6652:345::-:0;-1:-1:-1;;;;;6755:19:0;;6747:68;;;;-1:-1:-1;;;6747:68:0;;9886:2:1;6747:68:0;;;9868:21:1;9925:2;9905:18;;;9898:30;9964:34;9944:18;;;9937:62;-1:-1:-1;;;10015:18:1;;;10008:34;10059:19;;6747:68:0;9684:400:1;6747:68:0;-1:-1:-1;;;;;6834:21:0;;6826:68;;;;-1:-1:-1;;;6826:68:0;;10291:2:1;6826:68:0;;;10273:21:1;10330:2;10310:18;;;10303:30;10369:34;10349:18;;;10342:62;-1:-1:-1;;;10420:18:1;;;10413:32;10462:19;;6826:68:0;10089:398:1;6826:68:0;-1:-1:-1;;;;;6905:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6957:32;;1361:25:1;;;6957:32:0;;1334:18:1;6957:32:0;;;;;;;6652:345;;;:::o;8714:1630::-;-1:-1:-1;;;;;8809:18:0;;8801:68;;;;-1:-1:-1;;;8801:68:0;;10694:2:1;8801:68:0;;;10676:21:1;10733:2;10713:18;;;10706:30;10772:34;10752:18;;;10745:62;-1:-1:-1;;;10823:18:1;;;10816:35;10868:19;;8801:68:0;10492:401:1;8801:68:0;8897:1;8888:6;:10;8880:71;;;;-1:-1:-1;;;8880:71:0;;11100:2:1;8880:71:0;;;11082:21:1;11139:2;11119:18;;;11112:30;11178:34;11158:18;;;11151:62;-1:-1:-1;;;11229:18:1;;;11222:46;11285:19;;8880:71:0;10898:412:1;8880:71:0;-1:-1:-1;;;;;9000:23:0;;8964:15;9000:23;;;:17;:23;;;;;;:28;:58;;;;-1:-1:-1;;;;;;9032:21:0;;;;;;:17;:21;;;;;;:26;9000:58;8996:1282;;;9083:17;;-1:-1:-1;;;9083:17:0;;;;9075:56;;;;-1:-1:-1;;;9075:56:0;;11517:2:1;9075:56:0;;;11499:21:1;11556:2;11536:18;;;11529:30;11595:28;11575:18;;;11568:56;11641:18;;9075:56:0;11315:350:1;9075:56:0;9164:11;;9154:6;:21;;9146:78;;;;-1:-1:-1;;;9146:78:0;;11872:2:1;9146:78:0;;;11854:21:1;11911:2;11891:18;;;11884:30;11950:34;11930:18;;;11923:62;-1:-1:-1;;;12001:18:1;;;11994:42;12053:19;;9146:78:0;11670:408:1;9146:78:0;9263:13;;-1:-1:-1;;;;;9257:19:0;;;9263:13;;9257:19;;;;:44;;-1:-1:-1;;;;;;9280:21:0;;9294:6;9280:21;;9257:44;9253:182;;;9356:16;;9346:6;9330:13;9340:2;-1:-1:-1;;;;;5552:18:0;5525:7;5552:18;;;:9;:18;;;;;;;5459:119;9330:13;:22;;;;:::i;:::-;:42;;9322:97;;;;-1:-1:-1;;;9322:97:0;;12415:2:1;9322:97:0;;;12397:21:1;12454:2;12434:18;;;12427:30;12493:34;12473:18;;;12466:62;-1:-1:-1;;;12544:18:1;;;12537:40;12594:19;;9322:97:0;12213:406:1;9322:97:0;9470:11;;:15;;9484:1;9470:15;:::i;:::-;9455:12;:30;9451:816;;;9525:13;;-1:-1:-1;;;;;9517:21:0;;;9525:13;;9517:21;9516:33;;9547:2;9516:33;;;9542:2;9516:33;9506:43;;;;9451:816;;;9602:13;;-1:-1:-1;;;;;9602:13:0;;;9594:21;;;;9590:662;;-1:-1:-1;9650:6:0;;9590:662;;;9692:13;;-1:-1:-1;;;;;9692:13:0;;;9686:19;;;;9682:570;;9779:4;9730:28;5552:18;;;:9;:18;;;;;;3953;3627:2;3953;:18;:::i;:::-;3945:26;;:5;:26;:::i;:::-;9812:20;:37;9808:385;;;9899:14;;9944:29;;;9940:64;;;9998:6;9975:29;;9940:64;10058:10;10035:20;:33;10031:72;;;10093:10;10070:33;;10031:72;10130:39;10148:20;10130:17;:39::i;:::-;9851:342;9808:385;-1:-1:-1;;10225:7:0;;9682:570;10288:48;10310:4;10316:2;10320:6;10328:7;10288:21;:48::i;:::-;8790:1554;8714:1630;;;:::o;11072:971::-;11163:16;;;11177:1;11163:16;;;;;;;;11139:21;;11163:16;;;;;;;;;;-1:-1:-1;11163:16:0;11139:40;;11208:4;11190;11195:1;11190:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11190:23:0;;;:7;;;;;;;;;;:23;;;;11234:11;;:18;;;-1:-1:-1;;;11234:18:0;;;;:11;;;;;:16;;:18;;;;;11190:7;;11234:18;;;;;:11;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11224:4;11229:1;11224:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11224:28:0;;;:7;;;;;;;;;:28;11307:11;;11265:68;;11292:4;;11307:11;11321;11265:18;:68::i;:::-;11346:11;;:192;;-1:-1:-1;;;11346:192:0;;-1:-1:-1;;;;;11346:11:0;;;;:62;;:192;;11423:11;;11346;;11465:4;;11492;;11512:15;;11346:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11580:21:0;;-1:-1:-1;11551:26:0;;-1:-1:-1;11661:3:0;;-1:-1:-1;11634:23:0;11580:21;11655:2;11634:23;:::i;:::-;11633:31;;;;:::i;:::-;11612:52;-1:-1:-1;11675:15:0;11721:3;11694:23;:18;11715:2;11694:23;:::i;:::-;11693:31;;;;:::i;:::-;11675:49;-1:-1:-1;11735:16:0;11782:3;11755:23;:18;11776:2;11755:23;:::i;:::-;11754:31;;;;:::i;:::-;11817:12;;:40;;11735:50;;-1:-1:-1;11799:12:0;;-1:-1:-1;;;;;11817:12:0;;;;11842:10;;11799:12;11817:40;11799:12;11817:40;11842:10;11817:12;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11882:9:0;;:34;;11798:59;;-1:-1:-1;;;;;;11882:9:0;;11904:7;;11882:34;;;;11904:7;11882:9;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11941:10:0;;:36;;11868:48;;-1:-1:-1;;;;;;11941:10:0;;11964:8;;11941:36;;;;11964:8;11941:10;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11927:50;;;;;12008:7;12000:35;;;;-1:-1:-1;;;12000:35:0;;14075:2:1;12000:35:0;;;14057:21:1;14114:2;14094:18;;;14087:30;-1:-1:-1;;;14133:18:1;;;14126:45;14188:18;;12000:35:0;13873:339:1;12000:35:0;11128:915;;;;;;11072:971;:::o;8311:395::-;8420:17;8461:3;8441:16;8450:7;8441:6;:16;:::i;:::-;8440:24;;;;:::i;:::-;8420:44;-1:-1:-1;8475:22:0;8500:18;8420:44;8500:6;:18;:::i;:::-;-1:-1:-1;;;;;8531:15:0;;;;;;:9;:15;;;;;:25;;8475:43;;-1:-1:-1;8550:6:0;;8531:15;;;:25;;8550:6;;8531:25;:::i;:::-;;;;-1:-1:-1;;;;;;;8567:13:0;;;;;;:9;:13;;;;;:31;;8584:14;;8567:13;:31;;8584:14;;8567:31;:::i;:::-;;;;-1:-1:-1;;8627:4:0;8609:24;;;;:9;:24;;;;;:37;;8637:9;;8609:24;:37;;8637:9;;8609:37;:::i;:::-;;;;;;;;8679:2;-1:-1:-1;;;;;8664:34:0;8673:4;-1:-1:-1;;;;;8664:34:0;;8683:14;8664:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;8664:34:0;;;;;;;;8409:297;;8311:395;;;;:::o;2251:243::-;-1:-1:-1;;;;;2323:22:0;;2315:73;;;;-1:-1:-1;;;2315:73:0;;14552:2:1;2315:73:0;;;14534:21:1;14591:2;14571:18;;;14564:30;14630:34;14610:18;;;14603:62;-1:-1:-1;;;14681:18:1;;;14674:36;14727:19;;2315:73:0;14350:402:1;2315:73:0;2425:14;;;2404:46;;-1:-1:-1;;;;;2404:46:0;;;;2425:14;;;2404:46;;;2461:14;:25;;-1:-1:-1;;;;;;2461:25:0;-1:-1:-1;;;;;2461:25:0;;;;;;;;;;2251:243::o;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;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:180::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;-1:-1:-1;2198:23:1;;2047:180;-1:-1:-1;2047:180:1:o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;:::-;2468:5;2232:247;-1:-1:-1;;;2232:247:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3338:127::-;3399:10;3394:3;3390:20;3387:1;3380:31;3430:4;3427:1;3420:15;3454:4;3451:1;3444:15;3470:422;3559:1;3602:5;3559:1;3616:270;3637:7;3627:8;3624:21;3616:270;;;3696:4;3692:1;3688:6;3684:17;3678:4;3675:27;3672:53;;;3705:18;;:::i;:::-;3755:7;3745:8;3741:22;3738:55;;;3775:16;;;;3738:55;3854:22;;;;3814:15;;;;3616:270;;;3620:3;3470:422;;;;;:::o;3897:806::-;3946:5;3976:8;3966:80;;-1:-1:-1;4017:1:1;4031:5;;3966:80;4065:4;4055:76;;-1:-1:-1;4102:1:1;4116:5;;4055:76;4147:4;4165:1;4160:59;;;;4233:1;4228:130;;;;4140:218;;4160:59;4190:1;4181:10;;4204:5;;;4228:130;4265:3;4255:8;4252:17;4249:43;;;4272:18;;:::i;:::-;-1:-1:-1;;4328:1:1;4314:16;;4343:5;;4140:218;;4442:2;4432:8;4429:16;4423:3;4417:4;4414:13;4410:36;4404:2;4394:8;4391:16;4386:2;4380:4;4377:12;4373:35;4370:77;4367:159;;;-1:-1:-1;4479:19:1;;;4511:5;;4367:159;4558:34;4583:8;4577:4;4558:34;:::i;:::-;4628:6;4624:1;4620:6;4616:19;4607:7;4604:32;4601:58;;;4639:18;;:::i;:::-;4677:20;;3897:806;-1:-1:-1;;;3897:806:1:o;4708:140::-;4766:5;4795:47;4836:4;4826:8;4822:19;4816:4;4795:47;:::i;4853:168::-;4926:9;;;4957;;4974:15;;;4968:22;;4954:37;4944:71;;4995:18;;:::i;5435:356::-;5637:2;5619:21;;;5656:18;;;5649:30;5715:34;5710:2;5695:18;;5688:62;5782:2;5767:18;;5435:356::o;6148:217::-;6188:1;6214;6204:132;;6258:10;6253:3;6249:20;6246:1;6239:31;6293:4;6290:1;6283:15;6321:4;6318:1;6311:15;6204:132;-1:-1:-1;6350:9:1;;6148:217::o;7635:251::-;7705:6;7758:2;7746:9;7737:7;7733:23;7729:32;7726:52;;;7774:1;7771;7764:12;7726:52;7806:9;7800:16;7825:31;7850:5;7825:31;:::i;8812:306::-;8900:6;8908;8916;8969:2;8957:9;8948:7;8944:23;8940:32;8937:52;;;8985:1;8982;8975:12;8937:52;9014:9;9008:16;8998:26;;9064:2;9053:9;9049:18;9043:25;9033:35;;9108:2;9097:9;9093:18;9087:25;9077:35;;8812:306;;;;;:::o;9402:277::-;9469:6;9522:2;9510:9;9501:7;9497:23;9493:32;9490:52;;;9538:1;9535;9528:12;9490:52;9570:9;9564:16;9623:5;9616:13;9609:21;9602:5;9599:32;9589:60;;9645:1;9642;9635:12;12083:125;12148:9;;;12169:10;;;12166:36;;;12182:18;;:::i;12756:127::-;12817:10;12812:3;12808:20;12805:1;12798:31;12848:4;12845:1;12838:15;12872:4;12869:1;12862:15;12888:980;13150:4;13198:3;13187:9;13183:19;13229:6;13218:9;13211:25;13255:2;13293:6;13288:2;13277:9;13273:18;13266:34;13336:3;13331:2;13320:9;13316:18;13309:31;13360:6;13395;13389:13;13426:6;13418;13411:22;13464:3;13453:9;13449:19;13442:26;;13503:2;13495:6;13491:15;13477:29;;13524:1;13534:195;13548:6;13545:1;13542:13;13534:195;;;13613:13;;-1:-1:-1;;;;;13609:39:1;13597:52;;13704:15;;;;13669:12;;;;13645:1;13563:9;13534:195;;;-1:-1:-1;;;;;;;13785:32:1;;;;13780:2;13765:18;;13758:60;-1:-1:-1;;;13849:3:1;13834:19;13827:35;13746:3;12888:980;-1:-1:-1;;;12888:980:1:o;14217:128::-;14284:9;;;14305:11;;;14302:37;;;14319:18;;:::i

Swarm Source

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