ETH Price: $3,024.09 (+3.17%)
Gas: 2 Gwei

Token

Owl Bot (OBOT)
 

Overview

Max Total Supply

1,000,000 OBOT

Holders

183

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,855.82778626845427152 OBOT

Value
$0.00
0x7926ed26f751e17bedd0207a87cdfc12a8fd9fb6
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:
OwlBot

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-10-19
*/

// SPDX-License-Identifier: MIT

/**

Website: https://www.owl-bot.com
Bot: https://t.me/OWL_ALPHA_BOT
Telegram:  http://t.me/OwlBot_portal
Twitter: https://twitter.com/OwlBot_ERC

**/
pragma solidity 0.8.0;

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

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

    constructor() {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "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 OwlBot is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 public _buyTax = 20;
    uint256 public _sellTax = 30;

    string private constant _name = unicode"Owl Bot";
    string private constant _symbol = unicode"OBOT";
    uint256 private constant _tTotal = 1000000 ether;
    uint256 public _maxTxAmount = (_tTotal * 1) / 100;
    uint256 public _maxWalletSize = (_tTotal * 1) / 100;
    uint256 private _taxSwapThreshold = (_tTotal * 1) / 100;
    uint256 private _maxTaxSwap = (_tTotal * 1) / 100;
    uint256 private _teamShare = (_tTotal * 5) / 100;

    uint256 public _whitelistBuyTax = 10;
    uint256 public _whitelistSellTax = 15;

    mapping(address => bool) public whitelist;
    uint256 private _whitelistMaxAmount = (_tTotal * 1) / 100;

    IUniswapV2Router02 private uniswapV2Router =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private uniswapV2Pair;
    bool public tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private startBlock;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TaxUpdated(
        uint256 _buyTax,
        uint256 _sellTax,
        uint256 _whitelistBuyTax,
        uint256 _whitelistSellTax
    );

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

    constructor() {
        _taxWallet = payable(msg.sender);
        _balances[msg.sender] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), msg.sender, _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 18;
    }

    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(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        // swap tokens for eth
        uint256 contractTokenBalance = balanceOf(address(this));
        if (
            !inSwap &&
            to == uniswapV2Pair &&
            swapEnabled &&
            contractTokenBalance > _taxSwapThreshold
        ) {
            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)] + taxAmount;
            emit Transfer(from, address(this), taxAmount);
        }

        _balances[from] = _balances[from] - amount;
        _balances[to] = _balances[to] + amount - taxAmount;
        emit Transfer(from, to, amount - taxAmount);
    }

    function _getTaxAmount(
        address from,
        address to,
        uint256 amount
    ) private view returns (uint256) {
        uint256 taxAmount = 0;
        if (
            from != owner() &&
            to != owner() &&
            !whitelist[to] &&
            !whitelist[from]
        ) {
            // Ordinary purchase
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                taxAmount = block.number > startBlock + 2
                    ? (amount * _buyTax) / 100
                    : (amount * 60) / 100;
            }

            // Ordinary sale
            if (to == uniswapV2Pair && from != address(this)) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = block.number > startBlock + 2
                    ? (amount * _sellTax) / 100
                    : (amount * 60) / 100;
            }
        } else if (whitelist[to] || whitelist[from]) {
            // White List purchase
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(
                    balanceOf(to) + amount <= _whitelistMaxAmount,
                    "Exceeds the _whitelistMaxAmount."
                );
                taxAmount = (amount * _whitelistBuyTax) / 100;
            }
            // White List Sale
            if (to == uniswapV2Pair && from != address(this)) {
                require(
                    amount <= _whitelistMaxAmount,
                    "Exceeds the _whitelistMaxAmount."
                );
                taxAmount = (amount * _whitelistSellTax) / 100;
            }
        }

        return taxAmount;
    }

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }
        if (!tradingOpen) {
            return;
        }
        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
        );
    }

    // reduceTax
    function reduceTax(
        uint256 buyTax,
        uint256 sellTax,
        uint256 whitelistBuyTax,
        uint256 whitelistSellTax
    ) external onlyOwner {
        require(
            buyTax <= _buyTax &&
                sellTax <= _sellTax &&
                whitelistBuyTax <= _whitelistBuyTax &&
                whitelistSellTax <= _whitelistSellTax,
            "Invalid tax"
        );
        _buyTax = buyTax;
        _sellTax = sellTax;
        _whitelistBuyTax = whitelistBuyTax;
        _whitelistSellTax = whitelistSellTax;
        emit TaxUpdated(_buyTax, _sellTax, _whitelistBuyTax, _whitelistSellTax);
    }

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

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

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");

        _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)) - _teamShare,
            0,
            0,
            owner(),
            block.timestamp
        );

        swapEnabled = true;
        tradingOpen = true;
        startBlock = block.number;
    }

    function manualSwap() external {
        require(msg.sender == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function addWhitelist(address[] calldata addresses) external onlyOwner {
        for (uint256 i = 0; i < addresses.length; i++) {
            whitelist[addresses[i]] = true;
        }
    }

    function removeWhitelist(address[] calldata addresses) external onlyOwner {
        for (uint256 i = 0; i < addresses.length; i++) {
            whitelist[addresses[i]] = false;
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sellTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_whitelistBuyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_whitelistSellTax","type":"uint256"}],"name":"TaxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyTax","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":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_whitelistBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_whitelistSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"addWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"},{"internalType":"uint256","name":"whitelistBuyTax","type":"uint256"},{"internalType":"uint256","name":"whitelistSellTax","type":"uint256"}],"name":"reduceTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"removeWhitelist","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526014600555601e60065560646200002769d3c21bcecceda10000006001620002a8565b62000033919062000287565b60075560646200004f69d3c21bcecceda10000006001620002a8565b6200005b919062000287565b60085560646200007769d3c21bcecceda10000006001620002a8565b62000083919062000287565b60095560646200009f69d3c21bcecceda10000006001620002a8565b620000ab919062000287565b600a556064620000c769d3c21bcecceda10000006005620002a8565b620000d3919062000287565b600b55600a600c55600f600d556064620000f969d3c21bcecceda10000006001620002a8565b62000105919062000287565b600f55601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556011805462ffffff60a01b191690553480156200014a57600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600480546001600160a01b031916339081179091556000908152600160208190526040822069d3c21bcecceda1000000905590600390620001ca6200026f565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835281832080549094161790925590513391907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002619069d3c21bcecceda1000000906200027e565b60405180910390a3620002d4565b6000546001600160a01b031690565b90815260200190565b600082620002a357634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615620002cf57634e487b7160e01b81526011600452602481fd5b500290565b6119ae80620002e46000396000f3fe60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063c9567bf91161008a578063dd62ed3e11610064578063dd62ed3e146103bd578063edac985b146103dd578063fe00e0df146103fd578063ffb54a991461041d57610171565b8063c9567bf91461037e578063ca9ec19914610393578063caa2dc83146103a857610171565b80637d1db4a5146102dd5780638da5cb5b146102f25780638f9a55c01461031457806395d89b41146103295780639b19251a1461033e578063a9059cbb1461035e57610171565b806342a110951161012357806342a110951461025457806350ae1c671461026957806351bc3c851461027e57806370a0823114610293578063715018a6146102b3578063751039fc146102c857610171565b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101ce57806323245216146101f057806323b872dd14610212578063313ce5671461023257610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b610432565b604051610198919061160c565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc3660046114a0565b610453565b6040516101989190611601565b3480156101da57600080fd5b506101e3610469565b604051610198919061181f565b3480156101fc57600080fd5b5061021061020b3660046114cb565b610477565b005b34801561021e57600080fd5b506101c161022d366004611460565b61052f565b34801561023e57600080fd5b50610247610581565b60405161019891906118b3565b34801561026057600080fd5b506101e3610586565b34801561027557600080fd5b506101e361058c565b34801561028a57600080fd5b50610210610592565b34801561029f57600080fd5b506101e36102ae3660046113f0565b6105d9565b3480156102bf57600080fd5b506102106105f4565b3480156102d457600080fd5b50610210610668565b3480156102e957600080fd5b506101e36106e4565b3480156102fe57600080fd5b506103076106ea565b6040516101989190611598565b34801561032057600080fd5b506101e36106f9565b34801561033557600080fd5b5061018b6106ff565b34801561034a57600080fd5b506101c16103593660046113f0565b61071d565b34801561036a57600080fd5b506101c16103793660046114a0565b610732565b34801561038a57600080fd5b5061021061073f565b34801561039f57600080fd5b506101e3610a2b565b3480156103b457600080fd5b506101e3610a31565b3480156103c957600080fd5b506101e36103d8366004611428565b610a37565b3480156103e957600080fd5b506102106103f83660046114cb565b610a62565b34801561040957600080fd5b50610210610418366004611567565b610b0c565b34801561042957600080fd5b506101c1610bda565b60408051808201909152600781526613dddb08109bdd60ca1b602082015290565b6000610460338484610bea565b50600192915050565b69d3c21bcecceda100000090565b6000546001600160a01b031633146104aa5760405162461bcd60e51b81526004016104a190611733565b60405180910390fd5b60005b8181101561052a576000600e60008585858181106104db57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906104f091906113f0565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806105228161192f565b9150506104ad565b505050565b600061053c848484610c52565b6001600160a01b038416600090815260026020908152604080832033808552925290912054610577918691610572908690611918565b610bea565b5060019392505050565b601290565b60055481565b600d5481565b6004546001600160a01b031633146105a957600080fd5b60006105b4306105d9565b905080156105c5576105c581610e71565b4780156105d5576105d581611037565b5050565b6001600160a01b031660009081526001602052604090205490565b6000546001600160a01b0316331461061e5760405162461bcd60e51b81526004016104a190611733565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106925760405162461bcd60e51b81526004016104a190611733565b69d3c21bcecceda100000060078190556008819055600f8190556040517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf916106da9161181f565b60405180910390a1565b60075481565b6000546001600160a01b031690565b60085481565b60408051808201909152600481526313d093d560e21b602082015290565b600e6020526000908152604090205460ff1681565b6000610460338484610c52565b6000546001600160a01b031633146107695760405162461bcd60e51b81526004016104a190611733565b601154600160a01b900460ff16156107935760405162461bcd60e51b81526004016104a1906117e8565b6010546107b59030906001600160a01b031669d3c21bcecceda1000000610bea565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080357600080fd5b505afa158015610817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083b919061140c565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561089857600080fd5b505afa1580156108ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d0919061140c565b6040518363ffffffff1660e01b81526004016108ed9291906115ac565b602060405180830381600087803b15801561090757600080fd5b505af115801561091b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093f919061140c565b601180546001600160a01b0319166001600160a01b03928316179055601054600b5491169063f305d7199047903090610977826105d9565b6109819190611918565b60008061098c6106ea565b426040518863ffffffff1660e01b81526004016109ae969594939291906115c6565b6060604051808303818588803b1580156109c757600080fd5b505af11580156109db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a00919061153a565b50506011805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b1790555043601255565b60065481565b600c5481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610a8c5760405162461bcd60e51b81526004016104a190611733565b60005b8181101561052a576001600e6000858585818110610abd57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610ad291906113f0565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b048161192f565b915050610a8f565b6000546001600160a01b03163314610b365760405162461bcd60e51b81526004016104a190611733565b6005548411158015610b4a57506006548311155b8015610b585750600c548211155b8015610b665750600d548111155b610b825760405162461bcd60e51b81526004016104a19061170e565b60058490556006839055600c829055600d8190556040517f42f773a26531834b9d9fb1891f7bf40fc29c7c0fa47165b80c9ac2c1ff1b80c390610bcc908690869086908690611898565b60405180910390a150505050565b601154600160a01b900460ff1681565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c4590859061181f565b60405180910390a3505050565b6001600160a01b038216610c785760405162461bcd60e51b81526004016104a19061165f565b60008111610c985760405162461bcd60e51b81526004016104a190611768565b6000610ca5848484611071565b90506000610cb2306105d9565b601154909150600160a81b900460ff16158015610cdc57506011546001600160a01b038581169116145b8015610cf15750601154600160b01b900460ff165b8015610cfe575060095481115b15610d3257610d20610d1b84610d1684600a546113d8565b6113d8565b610e71565b478015610d3057610d3047611037565b505b8115610dab5730600090815260016020526040902054610d539083906118c1565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610da290869061181f565b60405180910390a35b6001600160a01b038516600090815260016020526040902054610dcf908490611918565b6001600160a01b0380871660009081526001602052604080822093909355908616815220548290610e019085906118c1565b610e0b9190611918565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e558587611918565b604051610e62919061181f565b60405180910390a35050505050565b6011805460ff60a81b1916600160a81b17905580610e8e57611027565b601154600160a01b900460ff16610ea457611027565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ee757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610f3b57600080fd5b505afa158015610f4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f73919061140c565b81600181518110610f9457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601054610fba9130911684610bea565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ff3908590600090869030904290600401611828565b600060405180830381600087803b15801561100d57600080fd5b505af1158015611021573d6000803e3d6000fd5b50505050505b506011805460ff60a81b19169055565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105d5573d6000803e3d6000fd5b60008061107c6106ea565b6001600160a01b0316856001600160a01b0316141580156110b657506110a06106ea565b6001600160a01b0316846001600160a01b031614155b80156110db57506001600160a01b0384166000908152600e602052604090205460ff16155b801561110057506001600160a01b0385166000908152600e602052604090205460ff16155b1561127b576011546001600160a01b03868116911614801561113057506010546001600160a01b03858116911614155b801561115557506001600160a01b03841660009081526003602052604090205460ff16155b156111dc5760085483611167866105d9565b61117191906118c1565b111561118f5760405162461bcd60e51b81526004016104a1906117b1565b60125461119d9060026118c1565b43116111bf5760646111b084603c6118f9565b6111ba91906118d9565b6111d9565b6064600554846111cf91906118f9565b6111d991906118d9565b90505b6011546001600160a01b03858116911614801561120257506001600160a01b0385163014155b15611276576007548311156112295760405162461bcd60e51b81526004016104a1906116a2565b6012546112379060026118c1565b431161125957606461124a84603c6118f9565b61125491906118d9565b611273565b60646006548461126991906118f9565b61127391906118d9565b90505b6113d0565b6001600160a01b0384166000908152600e602052604090205460ff16806112ba57506001600160a01b0385166000908152600e602052604090205460ff165b156113d0576011546001600160a01b0386811691161480156112ea57506010546001600160a01b03858116911614155b801561130f57506001600160a01b03841660009081526003602052604090205460ff16155b1561136657600f5483611321866105d9565b61132b91906118c1565b11156113495760405162461bcd60e51b81526004016104a1906116d9565b6064600c548461135991906118f9565b61136391906118d9565b90505b6011546001600160a01b03858116911614801561138c57506001600160a01b0385163014155b156113d057600f548311156113b35760405162461bcd60e51b81526004016104a1906116d9565b6064600d54846113c391906118f9565b6113cd91906118d9565b90505b949350505050565b60008183116113e757826113e9565b815b9392505050565b600060208284031215611401578081fd5b81356113e981611960565b60006020828403121561141d578081fd5b81516113e981611960565b6000806040838503121561143a578081fd5b823561144581611960565b9150602083013561145581611960565b809150509250929050565b600080600060608486031215611474578081fd5b833561147f81611960565b9250602084013561148f81611960565b929592945050506040919091013590565b600080604083850312156114b2578182fd5b82356114bd81611960565b946020939093013593505050565b600080602083850312156114dd578182fd5b823567ffffffffffffffff808211156114f4578384fd5b818501915085601f830112611507578384fd5b813581811115611515578485fd5b8660208083028501011115611528578485fd5b60209290920196919550909350505050565b60008060006060848603121561154e578283fd5b8351925060208401519150604084015190509250925092565b6000806000806080858703121561157c578081fd5b5050823594602084013594506040840135936060013592509050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156116385785810183015185820160400152820161161c565b818111156116495783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b6020808252818101527f4578636565647320746865205f77686974656c6973744d6178416d6f756e742e604082015260600190565b6020808252600b908201526a092dcecc2d8d2c840e8c2f60ab1b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156118775784516001600160a01b031683529383019391830191600101611852565b50506001600160a01b03969096166060850152505050608001529392505050565b93845260208401929092526040830152606082015260800190565b60ff91909116815260200190565b600082198211156118d4576118d461194a565b500190565b6000826118f457634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156119135761191361194a565b500290565b60008282101561192a5761192a61194a565b500390565b60006000198214156119435761194361194a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461197557600080fd5b5056fea2646970667358221220edb690a54954fd476dcef5888ffd1efdb30a238a29880a8bffa5a5abdd7f2c3d64736f6c63430008000033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063c9567bf91161008a578063dd62ed3e11610064578063dd62ed3e146103bd578063edac985b146103dd578063fe00e0df146103fd578063ffb54a991461041d57610171565b8063c9567bf91461037e578063ca9ec19914610393578063caa2dc83146103a857610171565b80637d1db4a5146102dd5780638da5cb5b146102f25780638f9a55c01461031457806395d89b41146103295780639b19251a1461033e578063a9059cbb1461035e57610171565b806342a110951161012357806342a110951461025457806350ae1c671461026957806351bc3c851461027e57806370a0823114610293578063715018a6146102b3578063751039fc146102c857610171565b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101ce57806323245216146101f057806323b872dd14610212578063313ce5671461023257610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b610432565b604051610198919061160c565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc3660046114a0565b610453565b6040516101989190611601565b3480156101da57600080fd5b506101e3610469565b604051610198919061181f565b3480156101fc57600080fd5b5061021061020b3660046114cb565b610477565b005b34801561021e57600080fd5b506101c161022d366004611460565b61052f565b34801561023e57600080fd5b50610247610581565b60405161019891906118b3565b34801561026057600080fd5b506101e3610586565b34801561027557600080fd5b506101e361058c565b34801561028a57600080fd5b50610210610592565b34801561029f57600080fd5b506101e36102ae3660046113f0565b6105d9565b3480156102bf57600080fd5b506102106105f4565b3480156102d457600080fd5b50610210610668565b3480156102e957600080fd5b506101e36106e4565b3480156102fe57600080fd5b506103076106ea565b6040516101989190611598565b34801561032057600080fd5b506101e36106f9565b34801561033557600080fd5b5061018b6106ff565b34801561034a57600080fd5b506101c16103593660046113f0565b61071d565b34801561036a57600080fd5b506101c16103793660046114a0565b610732565b34801561038a57600080fd5b5061021061073f565b34801561039f57600080fd5b506101e3610a2b565b3480156103b457600080fd5b506101e3610a31565b3480156103c957600080fd5b506101e36103d8366004611428565b610a37565b3480156103e957600080fd5b506102106103f83660046114cb565b610a62565b34801561040957600080fd5b50610210610418366004611567565b610b0c565b34801561042957600080fd5b506101c1610bda565b60408051808201909152600781526613dddb08109bdd60ca1b602082015290565b6000610460338484610bea565b50600192915050565b69d3c21bcecceda100000090565b6000546001600160a01b031633146104aa5760405162461bcd60e51b81526004016104a190611733565b60405180910390fd5b60005b8181101561052a576000600e60008585858181106104db57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906104f091906113f0565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806105228161192f565b9150506104ad565b505050565b600061053c848484610c52565b6001600160a01b038416600090815260026020908152604080832033808552925290912054610577918691610572908690611918565b610bea565b5060019392505050565b601290565b60055481565b600d5481565b6004546001600160a01b031633146105a957600080fd5b60006105b4306105d9565b905080156105c5576105c581610e71565b4780156105d5576105d581611037565b5050565b6001600160a01b031660009081526001602052604090205490565b6000546001600160a01b0316331461061e5760405162461bcd60e51b81526004016104a190611733565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106925760405162461bcd60e51b81526004016104a190611733565b69d3c21bcecceda100000060078190556008819055600f8190556040517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf916106da9161181f565b60405180910390a1565b60075481565b6000546001600160a01b031690565b60085481565b60408051808201909152600481526313d093d560e21b602082015290565b600e6020526000908152604090205460ff1681565b6000610460338484610c52565b6000546001600160a01b031633146107695760405162461bcd60e51b81526004016104a190611733565b601154600160a01b900460ff16156107935760405162461bcd60e51b81526004016104a1906117e8565b6010546107b59030906001600160a01b031669d3c21bcecceda1000000610bea565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080357600080fd5b505afa158015610817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083b919061140c565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561089857600080fd5b505afa1580156108ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d0919061140c565b6040518363ffffffff1660e01b81526004016108ed9291906115ac565b602060405180830381600087803b15801561090757600080fd5b505af115801561091b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093f919061140c565b601180546001600160a01b0319166001600160a01b03928316179055601054600b5491169063f305d7199047903090610977826105d9565b6109819190611918565b60008061098c6106ea565b426040518863ffffffff1660e01b81526004016109ae969594939291906115c6565b6060604051808303818588803b1580156109c757600080fd5b505af11580156109db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a00919061153a565b50506011805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b1790555043601255565b60065481565b600c5481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610a8c5760405162461bcd60e51b81526004016104a190611733565b60005b8181101561052a576001600e6000858585818110610abd57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610ad291906113f0565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b048161192f565b915050610a8f565b6000546001600160a01b03163314610b365760405162461bcd60e51b81526004016104a190611733565b6005548411158015610b4a57506006548311155b8015610b585750600c548211155b8015610b665750600d548111155b610b825760405162461bcd60e51b81526004016104a19061170e565b60058490556006839055600c829055600d8190556040517f42f773a26531834b9d9fb1891f7bf40fc29c7c0fa47165b80c9ac2c1ff1b80c390610bcc908690869086908690611898565b60405180910390a150505050565b601154600160a01b900460ff1681565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c4590859061181f565b60405180910390a3505050565b6001600160a01b038216610c785760405162461bcd60e51b81526004016104a19061165f565b60008111610c985760405162461bcd60e51b81526004016104a190611768565b6000610ca5848484611071565b90506000610cb2306105d9565b601154909150600160a81b900460ff16158015610cdc57506011546001600160a01b038581169116145b8015610cf15750601154600160b01b900460ff165b8015610cfe575060095481115b15610d3257610d20610d1b84610d1684600a546113d8565b6113d8565b610e71565b478015610d3057610d3047611037565b505b8115610dab5730600090815260016020526040902054610d539083906118c1565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610da290869061181f565b60405180910390a35b6001600160a01b038516600090815260016020526040902054610dcf908490611918565b6001600160a01b0380871660009081526001602052604080822093909355908616815220548290610e019085906118c1565b610e0b9190611918565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e558587611918565b604051610e62919061181f565b60405180910390a35050505050565b6011805460ff60a81b1916600160a81b17905580610e8e57611027565b601154600160a01b900460ff16610ea457611027565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ee757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610f3b57600080fd5b505afa158015610f4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f73919061140c565b81600181518110610f9457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601054610fba9130911684610bea565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ff3908590600090869030904290600401611828565b600060405180830381600087803b15801561100d57600080fd5b505af1158015611021573d6000803e3d6000fd5b50505050505b506011805460ff60a81b19169055565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105d5573d6000803e3d6000fd5b60008061107c6106ea565b6001600160a01b0316856001600160a01b0316141580156110b657506110a06106ea565b6001600160a01b0316846001600160a01b031614155b80156110db57506001600160a01b0384166000908152600e602052604090205460ff16155b801561110057506001600160a01b0385166000908152600e602052604090205460ff16155b1561127b576011546001600160a01b03868116911614801561113057506010546001600160a01b03858116911614155b801561115557506001600160a01b03841660009081526003602052604090205460ff16155b156111dc5760085483611167866105d9565b61117191906118c1565b111561118f5760405162461bcd60e51b81526004016104a1906117b1565b60125461119d9060026118c1565b43116111bf5760646111b084603c6118f9565b6111ba91906118d9565b6111d9565b6064600554846111cf91906118f9565b6111d991906118d9565b90505b6011546001600160a01b03858116911614801561120257506001600160a01b0385163014155b15611276576007548311156112295760405162461bcd60e51b81526004016104a1906116a2565b6012546112379060026118c1565b431161125957606461124a84603c6118f9565b61125491906118d9565b611273565b60646006548461126991906118f9565b61127391906118d9565b90505b6113d0565b6001600160a01b0384166000908152600e602052604090205460ff16806112ba57506001600160a01b0385166000908152600e602052604090205460ff165b156113d0576011546001600160a01b0386811691161480156112ea57506010546001600160a01b03858116911614155b801561130f57506001600160a01b03841660009081526003602052604090205460ff16155b1561136657600f5483611321866105d9565b61132b91906118c1565b11156113495760405162461bcd60e51b81526004016104a1906116d9565b6064600c548461135991906118f9565b61136391906118d9565b90505b6011546001600160a01b03858116911614801561138c57506001600160a01b0385163014155b156113d057600f548311156113b35760405162461bcd60e51b81526004016104a1906116d9565b6064600d54846113c391906118f9565b6113cd91906118d9565b90505b949350505050565b60008183116113e757826113e9565b815b9392505050565b600060208284031215611401578081fd5b81356113e981611960565b60006020828403121561141d578081fd5b81516113e981611960565b6000806040838503121561143a578081fd5b823561144581611960565b9150602083013561145581611960565b809150509250929050565b600080600060608486031215611474578081fd5b833561147f81611960565b9250602084013561148f81611960565b929592945050506040919091013590565b600080604083850312156114b2578182fd5b82356114bd81611960565b946020939093013593505050565b600080602083850312156114dd578182fd5b823567ffffffffffffffff808211156114f4578384fd5b818501915085601f830112611507578384fd5b813581811115611515578485fd5b8660208083028501011115611528578485fd5b60209290920196919550909350505050565b60008060006060848603121561154e578283fd5b8351925060208401519150604084015190509250925092565b6000806000806080858703121561157c578081fd5b5050823594602084013594506040840135936060013592509050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156116385785810183015185820160400152820161161c565b818111156116495783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b6020808252818101527f4578636565647320746865205f77686974656c6973744d6178416d6f756e742e604082015260600190565b6020808252600b908201526a092dcecc2d8d2c840e8c2f60ab1b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156118775784516001600160a01b031683529383019391830191600101611852565b50506001600160a01b03969096166060850152505050608001529392505050565b93845260208401929092526040830152606082015260800190565b60ff91909116815260200190565b600082198211156118d4576118d461194a565b500190565b6000826118f457634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156119135761191361194a565b500290565b60008282101561192a5761192a61194a565b500390565b60006000198214156119435761194361194a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461197557600080fd5b5056fea2646970667358221220edb690a54954fd476dcef5888ffd1efdb30a238a29880a8bffa5a5abdd7f2c3d64736f6c63430008000033

Deployed Bytecode Sourcemap

2505:9998:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4430:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5304:184;;;;;;;;;;-1:-1:-1;5304:184:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4700:95::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;12266:197::-;;;;;;;;;;-1:-1:-1;12266:197:0;;;;;:::i;:::-;;:::i;:::-;;5496:296;;;;;;;;;;-1:-1:-1;5496:296:0;;;;;:::i;:::-;;:::i;4616:76::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;2774:27::-;;;;;;;;;;;;;:::i;3341:37::-;;;;;;;;;;;;;:::i;11693:364::-;;;;;;;;;;;;;:::i;4803:119::-;;;;;;;;;;-1:-1:-1;4803:119:0;;;;;:::i;:::-;;:::i;1530:148::-;;;;;;;;;;;;;:::i;10690:202::-;;;;;;;;;;;;;:::i;3009:49::-;;;;;;;;;;;;;:::i;1318:79::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3065:51::-;;;;;;;;;;;;;:::i;4521:87::-;;;;;;;;;;;;;:::i;3387:41::-;;;;;;;;;;-1:-1:-1;3387:41:0;;;;;:::i;:::-;;:::i;4930:190::-;;;;;;;;;;-1:-1:-1;4930:190:0;;;;;:::i;:::-;;:::i;11000:685::-;;;;;;;;;;;;;:::i;2808:28::-;;;;;;;;;;;;;:::i;3298:36::-;;;;;;;;;;;;;:::i;5128:168::-;;;;;;;;;;-1:-1:-1;5128:168:0;;;;;:::i;:::-;;:::i;12065:193::-;;;;;;;;;;-1:-1:-1;12065:193:0;;;;;:::i;:::-;;:::i;10036:646::-;;;;;;;;;;-1:-1:-1;10036:646:0;;;;;:::i;:::-;;:::i;3660:31::-;;;;;;;;;;;;;:::i;4430:83::-;4500:5;;;;;;;;;;;;-1:-1:-1;;;4500:5:0;;;;4430:83;:::o;5304:184::-;5404:4;5421:37;5430:10;5442:7;5451:6;5421:8;:37::i;:::-;-1:-1:-1;5476:4:0;5304:184;;;;:::o;4700:95::-;2989:13;4700:95;:::o;12266:197::-;1445:6;;-1:-1:-1;;;;;1445:6:0;1455:10;1445:20;1437:65;;;;-1:-1:-1;;;1437:65:0;;;;;;;:::i;:::-;;;;;;;;;12356:9:::1;12351:105;12371:20:::0;;::::1;12351:105;;;12439:5;12413:9;:23;12423:9;;12433:1;12423:12;;;;;-1:-1:-1::0;;;12423:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12413:23:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12413:23:0;:31;;-1:-1:-1;;12413:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12393:3;::::1;::::0;::::1;:::i;:::-;;;;12351:105;;;;12266:197:::0;;:::o;5496:296::-;5628:4;5645:36;5655:6;5663:9;5674:6;5645:9;:36::i;:::-;-1:-1:-1;;;;;5721:19:0;;;;;;:11;:19;;;;;;;;5709:10;5721:31;;;;;;;;;5692:70;;5701:6;;5721:40;;5755:6;;5721:40;:::i;:::-;5692:8;:70::i;:::-;-1:-1:-1;5780:4:0;5496:296;;;;;:::o;4616:76::-;4682:2;4616:76;:::o;2774:27::-;;;;:::o;3341:37::-;;;;:::o;11693:364::-;11757:10;;-1:-1:-1;;;;;11757:10:0;11743;:24;11735:33;;;;;;11779:20;11802:24;11820:4;11802:9;:24::i;:::-;11779:47;-1:-1:-1;11841:16:0;;11837:79;;11874:30;11891:12;11874:16;:30::i;:::-;11947:21;11983:14;;11979:71;;12014:24;12027:10;12014:12;:24::i;:::-;11693:364;;:::o;4803:119::-;-1:-1:-1;;;;;4896:18:0;4869:7;4896:18;;;:9;:18;;;;;;;4803:119::o;1530:148::-;1445:6;;-1:-1:-1;;;;;1445:6:0;1455:10;1445:20;1437:65;;;;-1:-1:-1;;;1437:65:0;;;;;;;:::i;:::-;1637:1:::1;1621:6:::0;;1600:40:::1;::::0;-1:-1:-1;;;;;1621:6:0;;::::1;::::0;1600:40:::1;::::0;1637:1;;1600:40:::1;1668:1;1651:19:::0;;-1:-1:-1;;;;;;1651:19:0::1;::::0;;1530:148::o;10690:202::-;1445:6;;-1:-1:-1;;;;;1445:6:0;1455:10;1445:20;1437:65;;;;-1:-1:-1;;;1437:65:0;;;;;;;:::i;:::-;2989:13:::1;10744:12;:22:::0;;;10777:14:::1;:24:::0;;;10812:19:::1;:29:::0;;;10857:27:::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;10690:202::o:0;3009:49::-;;;;:::o;1318:79::-;1356:7;1383:6;-1:-1:-1;;;;;1383:6:0;1318:79;:::o;3065:51::-;;;;:::o;4521:87::-;4593:7;;;;;;;;;;;;-1:-1:-1;;;4593:7:0;;;;4521:87;:::o;3387:41::-;;;;;;;;;;;;;;;:::o;4930:190::-;5033:4;5050:40;5060:10;5072:9;5083:6;5050:9;:40::i;11000:685::-;1445:6;;-1:-1:-1;;;;;1445:6:0;1455:10;1445:20;1437:65;;;;-1:-1:-1;;;1437:65:0;;;;;;;:::i;:::-;11062:11:::1;::::0;-1:-1:-1;;;11062:11:0;::::1;;;11061:12;11053:48;;;;-1:-1:-1::0;;;11053:48:0::1;;;;;;;:::i;:::-;11146:15;::::0;11114:58:::1;::::0;11131:4:::1;::::0;-1:-1:-1;;;;;11146:15:0::1;2989:13;11114:8;:58::i;:::-;11219:15;;;;;;;;;-1:-1:-1::0;;;;;11219:15:0::1;-1:-1:-1::0;;;;;11219:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11201:55:0::1;;11279:4;11299:15;;;;;;;;;-1:-1:-1::0;;;;;11299:15:0::1;-1:-1:-1::0;;;;;11299:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11201:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11185:13;:147:::0;;-1:-1:-1;;;;;;11185:147:0::1;-1:-1:-1::0;;;;;11185:147:0;;::::1;;::::0;;11345:15:::1;::::0;11476:10:::1;::::0;11345:15;::::1;::::0;:31:::1;::::0;11384:21:::1;::::0;11429:4:::1;::::0;11449:24:::1;11429:4:::0;11449:9:::1;:24::i;:::-;:37;;;;:::i;:::-;11501:1;11517::::0;11533:7:::1;:5;:7::i;:::-;11555:15;11345:236;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11594:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;11594:18:0;;::::1;-1:-1:-1::0;;;11594:18:0::1;11623;-1:-1:-1::0;;;11623:18:0::1;::::0;;-1:-1:-1;11665:12:0::1;11652:10;:25:::0;11000:685::o;2808:28::-;;;;:::o;3298:36::-;;;;:::o;5128:168::-;-1:-1:-1;;;;;5261:18:0;;;5234:7;5261:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5128:168::o;12065:193::-;1445:6;;-1:-1:-1;;;;;1445:6:0;1455:10;1445:20;1437:65;;;;-1:-1:-1;;;1437:65:0;;;;;;;:::i;:::-;12152:9:::1;12147:104;12167:20:::0;;::::1;12147:104;;;12235:4;12209:9;:23;12219:9;;12229:1;12219:12;;;;;-1:-1:-1::0;;;12219:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12209:23:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12209:23:0;:30;;-1:-1:-1;;12209:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12189:3;::::1;::::0;::::1;:::i;:::-;;;;12147:104;;10036:646:::0;1445:6;;-1:-1:-1;;;;;1445:6:0;1455:10;1445:20;1437:65;;;;-1:-1:-1;;;1437:65:0;;;;;;;:::i;:::-;10244:7:::1;;10234:6;:17;;:57;;;;;10283:8;;10272:7;:19;;10234:57;:113;;;;;10331:16;;10312:15;:35;;10234:113;:171;;;;;10388:17;;10368:16;:37;;10234:171;10212:232;;;;-1:-1:-1::0;;;10212:232:0::1;;;;;;;:::i;:::-;10455:7;:16:::0;;;10482:8:::1;:18:::0;;;10511:16:::1;:34:::0;;;10556:17:::1;:36:::0;;;10608:66:::1;::::0;::::1;::::0;::::1;::::0;10465:6;;10493:7;;10530:15;;10576:16;;10608:66:::1;:::i;:::-;;;;;;;;10036:646:::0;;;;:::o;3660:31::-;;;-1:-1:-1;;;3660:31:0;;;;;:::o;5800:177::-;-1:-1:-1;;;;;5885:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;5937:32;;;;;5915:6;;5937:32;:::i;:::-;;;;;;;;5800:177;;;:::o;5985:1213::-;-1:-1:-1;;;;;6073:16:0;;6065:64;;;;-1:-1:-1;;;6065:64:0;;;;;;;:::i;:::-;6157:1;6148:6;:10;6140:64;;;;-1:-1:-1;;;6140:64:0;;;;;;;:::i;:::-;6215:17;6235:31;6249:4;6255:2;6259:6;6235:13;:31::i;:::-;6215:51;;6311:28;6342:24;6360:4;6342:9;:24::i;:::-;6396:6;;6311:55;;-1:-1:-1;;;;6396:6:0;;;;6395:7;:43;;;;-1:-1:-1;6425:13:0;;-1:-1:-1;;;;;6419:19:0;;;6425:13;;6419:19;6395:43;:71;;;;-1:-1:-1;6455:11:0;;-1:-1:-1;;;6455:11:0;;;;6395:71;:128;;;;;6506:17;;6483:20;:40;6395:128;6377:463;;;6550:101;6585:51;6589:6;6597:38;6601:20;6623:11;;6597:3;:38::i;:::-;6585:3;:51::i;:::-;6550:16;:101::i;:::-;6695:21;6735:22;;6731:98;;6778:35;6791:21;6778:12;:35::i;:::-;6377:463;;6856:13;;6852:169;;6931:4;6913:24;;;;:9;:24;;;;;;:36;;6940:9;;6913:36;:::i;:::-;6904:4;6886:24;;;;:9;:24;;;;;;;:63;;;;6969:40;;-1:-1:-1;;;;;6969:40:0;;;;;;;6999:9;;6969:40;:::i;:::-;;;;;;;;6852:169;-1:-1:-1;;;;;7051:15:0;;;;;;:9;:15;;;;;;:24;;7069:6;;7051:24;:::i;:::-;-1:-1:-1;;;;;7033:15:0;;;;;;;:9;:15;;;;;;:42;;;;7102:13;;;;;;;7127:9;;7102:22;;7118:6;;7102:22;:::i;:::-;:34;;;;:::i;:::-;-1:-1:-1;;;;;7086:13:0;;;;;;;:9;:13;;;;;:50;;;;7152:38;;;7171:18;7180:9;7171:6;:18;:::i;:::-;7152:38;;;;;;:::i;:::-;;;;;;;;5985:1213;;;;;:::o;9401:609::-;4046:6;:13;;-1:-1:-1;;;;4046:13:0;-1:-1:-1;;;4046:13:0;;;9483:16;9479:55:::1;;9516:7;;9479:55;9549:11;::::0;-1:-1:-1;;;9549:11:0;::::1;;;9544:51;;9577:7;;9544:51;9629:16;::::0;;9643:1:::1;9629:16:::0;;;;;::::1;::::0;;9605:21:::1;::::0;9629:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9629:16:0::1;9605:40;;9674:4;9656;9661:1;9656:7;;;;;;-1:-1:-1::0;;;9656:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9656:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9700:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9700:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9656:7;;9700:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9690:4;9695:1;9690:7;;;;;;-1:-1:-1::0;;;9690:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9690:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9765:15:::1;::::0;9733:62:::1;::::0;9750:4:::1;::::0;9765:15:::1;9783:11:::0;9733:8:::1;:62::i;:::-;9806:15;::::0;:196:::1;::::0;-1:-1:-1;;;9806:196:0;;-1:-1:-1;;;;;9806:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9887:11;;9806:15:::1;::::0;9929:4;;9956::::1;::::0;9976:15:::1;::::0;9806:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4070:1;;-1:-1:-1::0;4082:6:0;:14;;-1:-1:-1;;;;4082:14:0;;;9401:609::o;10900:92::-;10957:10;;:27;;-1:-1:-1;;;;;10957:10:0;;;;:27;;;;;10977:6;;10957:10;:27;:10;:27;10977:6;10957:10;:27;;;;;;;;;;;;;;;;;;;7206:2072;7327:7;;7405;:5;:7::i;:::-;-1:-1:-1;;;;;7397:15:0;:4;-1:-1:-1;;;;;7397:15:0;;;:45;;;;;7435:7;:5;:7::i;:::-;-1:-1:-1;;;;;7429:13:0;:2;-1:-1:-1;;;;;7429:13:0;;;7397:45;:76;;;;-1:-1:-1;;;;;;7460:13:0;;;;;;:9;:13;;;;;;;;7459:14;7397:76;:109;;;;-1:-1:-1;;;;;;7491:15:0;;;;;;:9;:15;;;;;;;;7490:16;7397:109;7379:1863;;;7597:13;;-1:-1:-1;;;;;7589:21:0;;;7597:13;;7589:21;:72;;;;-1:-1:-1;7645:15:0;;-1:-1:-1;;;;;7631:30:0;;;7645:15;;7631:30;;7589:72;:116;;;;-1:-1:-1;;;;;;7683:22:0;;;;;;:18;:22;;;;;;;;7682:23;7589:116;7567:480;;;7796:14;;7786:6;7770:13;7780:2;7770:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7740:140;;;;-1:-1:-1;;;7740:140:0;;;;;;;:::i;:::-;7926:10;;:14;;7939:1;7926:14;:::i;:::-;7911:12;:29;:120;;8028:3;8013:11;:6;8022:2;8013:11;:::i;:::-;8012:19;;;;:::i;:::-;7911:120;;;7985:3;7974:7;;7965:6;:16;;;;:::i;:::-;7964:24;;;;:::i;:::-;7899:132;;7567:480;8103:13;;-1:-1:-1;;;;;8097:19:0;;;8103:13;;8097:19;:44;;;;-1:-1:-1;;;;;;8120:21:0;;8136:4;8120:21;;8097:44;8093:297;;;8180:12;;8170:6;:22;;8162:60;;;;-1:-1:-1;;;8162:60:0;;;;;;;:::i;:::-;8268:10;;:14;;8281:1;8268:14;:::i;:::-;8253:12;:29;:121;;8371:3;8356:11;:6;8365:2;8356:11;:::i;:::-;8355:19;;;;:::i;:::-;8253:121;;;8328:3;8316:8;;8307:6;:17;;;;:::i;:::-;8306:25;;;;:::i;:::-;8241:133;;8093:297;7379:1863;;;-1:-1:-1;;;;;8411:13:0;;;;;;:9;:13;;;;;;;;;:32;;-1:-1:-1;;;;;;8428:15:0;;;;;;:9;:15;;;;;;;;8411:32;8407:835;;;8526:13;;-1:-1:-1;;;;;8518:21:0;;;8526:13;;8518:21;:72;;;;-1:-1:-1;8574:15:0;;-1:-1:-1;;;;;8560:30:0;;;8574:15;;8560:30;;8518:72;:116;;;;-1:-1:-1;;;;;;8612:22:0;;;;;;:18;:22;;;;;;;;8611:23;8518:116;8496:404;;;8725:19;;8715:6;8699:13;8709:2;8699:9;:13::i;:::-;:22;;;;:::i;:::-;:45;;8669:151;;;;-1:-1:-1;;;8669:151:0;;;;;;;:::i;:::-;8881:3;8861:16;;8852:6;:25;;;;:::i;:::-;8851:33;;;;:::i;:::-;8839:45;;8496:404;8956:13;;-1:-1:-1;;;;;8950:19:0;;;8956:13;;8950:19;:44;;;;-1:-1:-1;;;;;;8973:21:0;;8989:4;8973:21;;8950:44;8946:285;;;9055:19;;9045:6;:29;;9015:135;;;;-1:-1:-1;;;9015:135:0;;;;;;;:::i;:::-;9212:3;9191:17;;9182:6;:26;;;;:::i;:::-;9181:34;;;;:::i;:::-;9169:46;;8946:285;9261:9;7206:2072;-1:-1:-1;;;;7206:2072:0:o;9286:107::-;9343:7;9375:1;9371;:5;9370:15;;9384:1;9370:15;;;9380:1;9370:15;9363:22;9286:107;-1:-1:-1;;;9286:107:0:o;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:327::-;;;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1578:6;1570;1563:22;1525:2;1622:9;1609:23;1641:33;1668:5;1641:33;:::i;:::-;1693:5;1745:2;1730:18;;;;1717:32;;-1:-1:-1;;;1515:240:1:o;1760:666::-;;;1907:2;1895:9;1886:7;1882:23;1878:32;1875:2;;;1928:6;1920;1913:22;1875:2;1973:9;1960:23;2002:18;2043:2;2035:6;2032:14;2029:2;;;2064:6;2056;2049:22;2029:2;2107:6;2096:9;2092:22;2082:32;;2152:7;2145:4;2141:2;2137:13;2133:27;2123:2;;2179:6;2171;2164:22;2123:2;2224;2211:16;2250:2;2242:6;2239:14;2236:2;;;2271:6;2263;2256:22;2236:2;2330:7;2325:2;2319;2311:6;2307:15;2303:2;2299:24;2295:33;2292:46;2289:2;;;2356:6;2348;2341:22;2289:2;2392;2384:11;;;;;2414:6;;-1:-1:-1;1865:561:1;;-1:-1:-1;;;;1865:561:1:o;2431:316::-;;;;2588:2;2576:9;2567:7;2563:23;2559:32;2556:2;;;2609:6;2601;2594:22;2556:2;2643:9;2637:16;2627:26;;2693:2;2682:9;2678:18;2672:25;2662:35;;2737:2;2726:9;2722:18;2716:25;2706:35;;2546:201;;;;;:::o;2752:395::-;;;;;2915:3;2903:9;2894:7;2890:23;2886:33;2883:2;;;2937:6;2929;2922:22;2883:2;-1:-1:-1;;2965:23:1;;;3035:2;3020:18;;3007:32;;-1:-1:-1;3086:2:1;3071:18;;3058:32;;3137:2;3122:18;3109:32;;-1:-1:-1;2873:274:1;-1:-1:-1;2873:274:1:o;3152:203::-;-1:-1:-1;;;;;3316:32:1;;;;3298:51;;3286:2;3271:18;;3253:102::o;3360:304::-;-1:-1:-1;;;;;3590:15:1;;;3572:34;;3642:15;;3637:2;3622:18;;3615:43;3522:2;3507:18;;3489:175::o;3669:607::-;-1:-1:-1;;;;;4028:15:1;;;4010:34;;4075:2;4060:18;;4053:34;;;;4118:2;4103:18;;4096:34;;;;4161:2;4146:18;;4139:34;;;;4210:15;;;4204:3;4189:19;;4182:44;3990:3;4242:19;;4235:35;;;;3959:3;3944:19;;3926:350::o;4281:187::-;4446:14;;4439:22;4421:41;;4409:2;4394:18;;4376:92::o;4473:603::-;;4614:2;4643;4632:9;4625:21;4675:6;4669:13;4718:6;4713:2;4702:9;4698:18;4691:34;4743:4;4756:140;4770:6;4767:1;4764:13;4756:140;;;4865:14;;;4861:23;;4855:30;4831:17;;;4850:2;4827:26;4820:66;4785:10;;4756:140;;;4914:6;4911:1;4908:13;4905:2;;;4984:4;4979:2;4970:6;4959:9;4955:22;4951:31;4944:45;4905:2;-1:-1:-1;5060:2:1;5039:15;-1:-1:-1;;5035:29:1;5020:45;;;;5067:2;5016:54;;4594:482;-1:-1:-1;;;4594:482:1:o;5081:399::-;5283:2;5265:21;;;5322:2;5302:18;;;5295:30;5361:34;5356:2;5341:18;;5334:62;-1:-1:-1;;;5427:2:1;5412:18;;5405:33;5470:3;5455:19;;5255:225::o;5485:349::-;5687:2;5669:21;;;5726:2;5706:18;;;5699:30;5765:27;5760:2;5745:18;;5738:55;5825:2;5810:18;;5659:175::o;5839:356::-;6041:2;6023:21;;;6060:18;;;6053:30;6119:34;6114:2;6099:18;;6092:62;6186:2;6171:18;;6013:182::o;6200:335::-;6402:2;6384:21;;;6441:2;6421:18;;;6414:30;-1:-1:-1;;;6475:2:1;6460:18;;6453:41;6526:2;6511:18;;6374:161::o;6540:356::-;6742:2;6724:21;;;6761:18;;;6754:30;6820:34;6815:2;6800:18;;6793:62;6887:2;6872:18;;6714:182::o;6901:405::-;7103:2;7085:21;;;7142:2;7122:18;;;7115:30;7181:34;7176:2;7161:18;;7154:62;-1:-1:-1;;;7247:2:1;7232:18;;7225:39;7296:3;7281:19;;7075:231::o;7311:350::-;7513:2;7495:21;;;7552:2;7532:18;;;7525:30;7591:28;7586:2;7571:18;;7564:56;7652:2;7637:18;;7485:176::o;7666:347::-;7868:2;7850:21;;;7907:2;7887:18;;;7880:30;7946:25;7941:2;7926:18;;7919:53;8004:2;7989:18;;7840:173::o;8018:177::-;8164:25;;;8152:2;8137:18;;8119:76::o;8200:983::-;;8510:3;8499:9;8495:19;8541:6;8530:9;8523:25;8567:2;8605:6;8600:2;8589:9;8585:18;8578:34;8648:3;8643:2;8632:9;8628:18;8621:31;8672:6;8707;8701:13;8738:6;8730;8723:22;8776:3;8765:9;8761:19;8754:26;;8815:2;8807:6;8803:15;8789:29;;8836:4;8849:195;8863:6;8860:1;8857:13;8849:195;;;8928:13;;-1:-1:-1;;;;;8924:39:1;8912:52;;9019:15;;;;8984:12;;;;8960:1;8878:9;8849:195;;;-1:-1:-1;;;;;;;9100:32:1;;;;9095:2;9080:18;;9073:60;-1:-1:-1;;;9164:3:1;9149:19;9142:35;9061:3;8471:712;-1:-1:-1;;;8471:712:1:o;9188:391::-;9419:25;;;9475:2;9460:18;;9453:34;;;;9518:2;9503:18;;9496:34;9561:2;9546:18;;9539:34;9406:3;9391:19;;9373:206::o;9584:184::-;9756:4;9744:17;;;;9726:36;;9714:2;9699:18;;9681:87::o;9773:128::-;;9844:1;9840:6;9837:1;9834:13;9831:2;;;9850:18;;:::i;:::-;-1:-1:-1;9886:9:1;;9821:80::o;9906:217::-;;9972:1;9962:2;;-1:-1:-1;;;9997:31:1;;10051:4;10048:1;10041:15;10079:4;10004:1;10069:15;9962:2;-1:-1:-1;10108:9:1;;9952:171::o;10128:168::-;;10234:1;10230;10226:6;10222:14;10219:1;10216:21;10211:1;10204:9;10197:17;10193:45;10190:2;;;10241:18;;:::i;:::-;-1:-1:-1;10281:9:1;;10180:116::o;10301:125::-;;10369:1;10366;10363:8;10360:2;;;10374:18;;:::i;:::-;-1:-1:-1;10411:9:1;;10350:76::o;10431:135::-;;-1:-1:-1;;10491:17:1;;10488:2;;;10511:18;;:::i;:::-;-1:-1:-1;10558:1:1;10547:13;;10478:88::o;10571:127::-;10632:10;10627:3;10623:20;10620:1;10613:31;10663:4;10660:1;10653:15;10687:4;10684:1;10677:15;10703:133;-1:-1:-1;;;;;10780:31:1;;10770:42;;10760:2;;10826:1;10823;10816:12;10760:2;10750:86;:::o

Swarm Source

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