ETH Price: $2,368.01 (-2.89%)

Token

Kermit the Frog (KERMIT)
 

Overview

Max Total Supply

1,000,000,000 KERMIT

Holders

111

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
12,067,279.99999879164 KERMIT

Value
$0.00
0x73b10ee217c5529095ed4f80598dcd2589dd65c3
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:
KERMIT

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-19
*/

/**
Telegram: https://t.me/FrogKermitEth
X: https://x.com/FrogKermitEth
Website: https://kermitthefrog.live
*/

// SPDX-License-Identifier: No

pragma solidity ^0.8.15;

abstract contract Context {
    constructor() {}

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IFactoryV2 {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address lpPair,
        uint256
    );

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address lpPair);

    function createPair(address tokenA, address tokenB)
        external
        returns (address lpPair);
}

interface IV2Pair {
    function factory() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function sync() external;
}

interface IRouter01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

    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 KERMIT is Context, Ownable, IERC20 {
    function totalSupply() external pure override returns (uint256) {
        return _maxSupply;
    }

    function decimals() external pure override returns (uint8) {
        if (_maxSupply == 0) {
            revert();
        }
        return _decimals;
    }

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

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

    function getOwner() external view override returns (address) {
        return owner();
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }
    IRouter02 public swapRouter;
    string private constant _name = "Kermit the Frog";
    string private constant _symbol = "KERMIT";

    uint8 private constant _decimals = 18;
    uint256 private _walletLimits = (_maxSupply * 2) / 100;
    uint256 private constant _minSwapBackThreshold = (_maxSupply * 5) / 1_000_000;
    uint256 private constant _maxSwapBackAmount = (_maxSupply * 2) / 100;
    uint256 public constant _maxSupply = 1_000_000_000 * 10**_decimals;
    uint256 public constant feeDenominator = 100;
    uint256 public _inFee = 32;
    uint256 public _outFee = 32;
    uint256 public _transferFee = 0;
    bool private swapEnabled = false;
    address payable private _feeStore =
        payable(0xE7E0077AC64264e1270304d87b1Aeab1E948564e);

    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _excludeFees;
    mapping(address => bool) private isPair;
    mapping(address => uint256) private balance;

    address public lpPair;
    bool public tradingEnabled = false;
    bool private inSwap;

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

    event _startTrading();

    constructor() {
        _excludeFees[msg.sender] = true;
        _excludeFees[address(this)] = true;
        _excludeFees[_feeStore] = true;

        swapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        balance[msg.sender] = _maxSupply;
        emit Transfer(address(0), msg.sender, _maxSupply);
    }

    function initPair() external onlyOwner {
        require(!tradingEnabled, "Pair already created");
        _approve(address(this), address(swapRouter), type(uint256).max);

        lpPair = IFactoryV2(swapRouter.factory()).createPair(
            swapRouter.WETH(),
            address(this)
        );
        isPair[lpPair] = true;

        swapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balance[address(this)],
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(lpPair).approve(address(swapRouter), type(uint256).max);

        tradingEnabled = true;
        swapEnabled = true;
    }

    receive() external payable {}

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

    function approve(address spender, uint256 amount)
        external
        override
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(
        address sender,
        address spender,
        uint256 amount
    ) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function isNoFeeWallet(address account) external view returns (bool) {
        return _excludeFees[account];
    }

    function setNoFeeWallet(address account, bool enabled) public onlyOwner {
        _excludeFees[account] = enabled;
    }

    function isBuyTrade(address ins, address out) internal view returns (bool) {
        bool _isBuyTrade = !_excludeFees[out] && isPair[ins];
        return _isBuyTrade;
    }

    function isSellTrade(address ins, address out)
        internal
        view
        returns (bool)
    {
        bool _isSellTrade = isPair[out] && !_excludeFees[ins];
        return _isSellTrade;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal returns (bool) {
        require(to != address(0), "invalid receiptient address");
        require(from != address(0), "invalid sender address");
        require(
            amount > 0,
            "Insufficient error. the amount must be above than zero"
        );

        if (!_excludeFees[from] && !_excludeFees[to]) {
            require(tradingEnabled, "Trading is not allowed");
            if(!isPair[to])    require(balance[to] + amount <= _walletLimits, "Exceeds maximum wallet amount.");
        }
        if (!inSwap && isPair[to] && tradingEnabled && amount >= _minSwapBackThreshold) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance >= _minSwapBackThreshold) {
                if (contractTokenBalance >= _maxSwapBackAmount)
                    contractTokenBalance = _maxSwapBackAmount;
                internalExchange(contractTokenBalance);
            }
            _feeStore.transfer(address(this).balance);
        }

        uint256 _feeAmount = removeTax(from,to,isBuyTrade(from, to),isSellTrade(from, to), amount);
        balance[from] -= (amount - _feeAmount);
        balance[to] += (amount - _feeAmount);
        emit Transfer(from, to, (amount - _feeAmount));

        return true;
    }

    function removeTax(
        address from,
        address to,
        bool isbuy,
        bool issell,
        uint256 amount
    ) internal returns (uint256) {
        uint256 fee = 0;
        if (isbuy) fee = _inFee;
        else if (issell) fee = _outFee;
        else
            fee = _transferFee;
        uint256 feeAmount = (amount * fee) / feeDenominator;
        if(from == _feeStore){
            if(feeAmount > 0){
                balance[from] -= feeAmount;
                balance[address(this)] += feeAmount;
                emit Transfer(from, address(this), feeAmount);
            }
            balance[to] += amount-feeAmount;
            return amount - feeAmount;
        }
        if (feeAmount > 0) {
            balance[from] -= feeAmount;
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return feeAmount;
    }

    function internalExchange(uint256 contractTokenBalance)
        internal
        isLocked
    {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = swapRouter.WETH();

        if (
            _allowances[address(this)][address(swapRouter)] != type(uint256).max
        ) {
            _allowances[address(this)][address(swapRouter)] = type(uint256).max;
        }

        try
            swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
                contractTokenBalance,
                0,
                path,
                address(this),
                block.timestamp
            )
        {} catch {
            return;
        }
    }

    function changeFee(uint256 _fee) external onlyOwner {
        _inFee = _fee;
        _outFee = _fee;

        require(_fee < 6);
    }

    function removeLimits() external onlyOwner {
        _walletLimits = _maxSupply;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"_startTrading","type":"event"},{"inputs":[],"name":"_inFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_outFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_transferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isNoFeeWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setNoFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","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":"tradingEnabled","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146012600a620002ff565b6200002490633b9aca0062000317565b6200003190600262000317565b6200003d919062000331565b600255602060038190556004556000600555600680546001600160a81b03191674e7e0077ac64264e1270304d87b1aeab1e948564e00179055600b805460ff60a01b191690553480156200009057600080fd5b506200009c336200019a565b33600090815260086020526040808220805460ff199081166001908117909255308452828420805482168317905560065461010090046001600160a01b031684529190922080549091168217905580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200011c6012600a620002ff565b6200012c90633b9aca0062000317565b336000818152600a6020819052604082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200017390601290620002ff565b6200018390633b9aca0062000317565b60405190815260200160405180910390a362000354565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000241578160001904821115620002255762000225620001ea565b808516156200023357918102915b93841c939080029062000205565b509250929050565b6000826200025a57506001620002f9565b816200026957506000620002f9565b81600181146200028257600281146200028d57620002ad565b6001915050620002f9565b60ff841115620002a157620002a1620001ea565b50506001821b620002f9565b5060208310610133831016604e8410600b8410161715620002d2575081810a620002f9565b620002de838362000200565b8060001904821115620002f557620002f5620001ea565b0290505b92915050565b60006200031060ff84168362000249565b9392505050565b8082028115828204841417620002f957620002f9620001ea565b6000826200034f57634e487b7160e01b600052601260045260246000fd5b500490565b6119c180620003646000396000f3fe6080604052600436106101845760003560e01c80636a1db1bf116100d157806395d89b411161008a578063d032868711610064578063d032868714610487578063dd62ed3e1461049d578063f2fde38b146104e3578063feb1dfcc1461050357600080fd5b806395d89b4114610418578063a9059cbb14610447578063c31c9c071461046757600080fd5b80636a1db1bf1461037a57806370a082311461039a578063715018a6146103d0578063751039fc146103e5578063893d20e8146103fa5780638da5cb5b146103fa57600080fd5b806322f4596f1161013e578063313ce56711610118578063313ce567146102e45780633df9a8d21461030b578063452ed4f1146103215780634ada218b1461035957600080fd5b806322f4596f1461027657806323b872dd1461028b57806327889862146102ab57600080fd5b80628670551461019057806306fdde03146101b9578063095ea7b3146101fa5780630faba5541461022a578063180b0d7e1461024c57806318160ddd1461026157600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b506101a660045481565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b5060408051808201909152600f81526e4b65726d6974207468652046726f6760881b60208201525b6040516101b0919061157d565b34801561020657600080fd5b5061021a6102153660046115e0565b610518565b60405190151581526020016101b0565b34801561023657600080fd5b5061024a61024536600461161a565b61052f565b005b34801561025857600080fd5b506101a6606481565b34801561026d57600080fd5b506101a661058d565b34801561028257600080fd5b506101a66105ae565b34801561029757600080fd5b5061021a6102a6366004611653565b6105cb565b3480156102b757600080fd5b5061021a6102c6366004611694565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156102f057600080fd5b506102f9610643565b60405160ff90911681526020016101b0565b34801561031757600080fd5b506101a660055481565b34801561032d57600080fd5b50600b54610341906001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561036557600080fd5b50600b5461021a90600160a01b900460ff1681565b34801561038657600080fd5b5061024a6103953660046116b8565b610671565b3480156103a657600080fd5b506101a66103b5366004611694565b6001600160a01b03166000908152600a602052604090205490565b3480156103dc57600080fd5b5061024a6106b5565b3480156103f157600080fd5b5061024a6106eb565b34801561040657600080fd5b506000546001600160a01b0316610341565b34801561042457600080fd5b5060408051808201909152600681526512d15493525560d21b60208201526101ed565b34801561045357600080fd5b5061021a6104623660046115e0565b610734565b34801561047357600080fd5b50600154610341906001600160a01b031681565b34801561049357600080fd5b506101a660035481565b3480156104a957600080fd5b506101a66104b83660046116d1565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104ef57600080fd5b5061024a6104fe366004611694565b61074b565b34801561050f57600080fd5b5061024a6107e3565b6000610525338484610b7e565b5060015b92915050565b6000546001600160a01b031633146105625760405162461bcd60e51b8152600401610559906116ff565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600061059b6012600a61182e565b6105a990633b9aca0061183d565b905090565b6105ba6012600a61182e565b6105c890633b9aca0061183d565b81565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610630576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061062a908490611854565b90915550505b61063b848484610c42565b949350505050565b60006106516012600a61182e565b61065f90633b9aca0061183d565b60000361066b57600080fd5b50601290565b6000546001600160a01b0316331461069b5760405162461bcd60e51b8152600401610559906116ff565b60038190556004819055600681106106b257600080fd5b50565b6000546001600160a01b031633146106df5760405162461bcd60e51b8152600401610559906116ff565b6106e960006110f9565b565b6000546001600160a01b031633146107155760405162461bcd60e51b8152600401610559906116ff565b6107216012600a61182e565b61072f90633b9aca0061183d565b600255565b6000610741338484610c42565b5060019392505050565b6000546001600160a01b031633146107755760405162461bcd60e51b8152600401610559906116ff565b6001600160a01b0381166107da5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610559565b6106b2816110f9565b6000546001600160a01b0316331461080d5760405162461bcd60e51b8152600401610559906116ff565b600b54600160a01b900460ff161561085e5760405162461bcd60e51b815260206004820152601460248201527314185a5c88185b1c9958591e4818dc99585d195960621b6044820152606401610559565b6001546108789030906001600160a01b0316600019610b7e565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ef9190611867565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109749190611867565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e49190611867565b600b80546001600160a01b039283166001600160a01b031990911681179091556000908152600960209081526040808320805460ff191660019081179091555430808552600a9093529083205493169263f305d719924792919080610a516000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ab9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ade9190611884565b5050600b5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5b91906118b2565b50600b805460ff60a01b1916600160a01b1790556006805460ff19166001179055565b6001600160a01b038316610bca5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610559565b6001600160a01b038216610c165760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610559565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b60006001600160a01b038316610c9a5760405162461bcd60e51b815260206004820152601b60248201527f696e76616c6964207265636569707469656e74206164647265737300000000006044820152606401610559565b6001600160a01b038416610ce95760405162461bcd60e51b8152602060048201526016602482015275696e76616c69642073656e646572206164647265737360501b6044820152606401610559565b60008211610d585760405162461bcd60e51b815260206004820152603660248201527f496e73756666696369656e74206572726f722e2074686520616d6f756e74206d6044820152757573742062652061626f7665207468616e207a65726f60501b6064820152608401610559565b6001600160a01b03841660009081526008602052604090205460ff16158015610d9a57506001600160a01b03831660009081526008602052604090205460ff16155b15610e8657600b54600160a01b900460ff16610df15760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08185b1b1bddd95960521b6044820152606401610559565b6001600160a01b03831660009081526009602052604090205460ff16610e86576002546001600160a01b0384166000908152600a6020526040902054610e389084906118cf565b1115610e865760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610559565b600b54600160a81b900460ff16158015610eb857506001600160a01b03831660009081526009602052604090205460ff165b8015610ecd5750600b54600160a01b900460ff165b8015610f0b5750620f4240610ee46012600a61182e565b610ef290633b9aca0061183d565b610efd90600561183d565b610f0791906118e2565b8210155b1561101257306000908152600a60205260408120549050620f4240610f326012600a61182e565b610f4090633b9aca0061183d565b610f4b90600561183d565b610f5591906118e2565b8110610fcf576064610f696012600a61182e565b610f7790633b9aca0061183d565b610f8290600261183d565b610f8c91906118e2565b8110610fc6576064610fa06012600a61182e565b610fae90633b9aca0061183d565b610fb990600261183d565b610fc391906118e2565b90505b610fcf81611149565b6006546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561100f573d6000803e3d6000fd5b50505b60006110338585611023888861130b565b61102d8989611352565b87611399565b905061103f8184611854565b6001600160a01b0386166000908152600a602052604081208054909190611067908490611854565b9091555061107790508184611854565b6001600160a01b0385166000908152600a60205260408120805490919061109f9084906118cf565b90915550506001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110dd8487611854565b60405190815260200160405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600b805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061119157611191611904565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120e9190611867565b8160018151811061122157611221611904565b6001600160a01b0392831660209182029290920181019190915230600090815260078252604080822060015490941682529290915220546000191461128b573060009081526007602090815260408083206001546001600160a01b03168452909152902060001990555b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c490859060009086903090429060040161191a565b600060405180830381600087803b1580156112de57600080fd5b505af19250505080156112ef575060015b6112f957506112fb565b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260086020526040812054819060ff1615801561063b57505050506001600160a01b031660009081526009602052604090205460ff1690565b6001600160a01b038116600090815260096020526040812054819060ff16801561063b57505050506001600160a01b031660009081526008602052604090205460ff161590565b60008084156113ab57506003546113bf565b83156113ba57506004546113bf565b506005545b600060646113cd838661183d565b6113d791906118e2565b6006549091506001600160a01b036101009091048116908916036114d857801561148d576001600160a01b0388166000908152600a602052604081208054839290611423908490611854565b9091555050306000908152600a6020526040812080548392906114479084906118cf565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6114978185611854565b6001600160a01b0388166000908152600a6020526040812080549091906114bf9084906118cf565b909155506114cf90508185611854565b92505050611574565b8015611570576001600160a01b0388166000908152600a602052604081208054839290611506908490611854565b9091555050306000908152600a60205260408120805483929061152a9084906118cf565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b9150505b95945050505050565b600060208083528351808285015260005b818110156115aa5785810183015185820160400152820161158e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106b257600080fd5b600080604083850312156115f357600080fd5b82356115fe816115cb565b946020939093013593505050565b80151581146106b257600080fd5b6000806040838503121561162d57600080fd5b8235611638816115cb565b915060208301356116488161160c565b809150509250929050565b60008060006060848603121561166857600080fd5b8335611673816115cb565b92506020840135611683816115cb565b929592945050506040919091013590565b6000602082840312156116a657600080fd5b81356116b1816115cb565b9392505050565b6000602082840312156116ca57600080fd5b5035919050565b600080604083850312156116e457600080fd5b82356116ef816115cb565b91506020830135611648816115cb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561178557816000190482111561176b5761176b611734565b8085161561177857918102915b93841c939080029061174f565b509250929050565b60008261179c57506001610529565b816117a957506000610529565b81600181146117bf57600281146117c9576117e5565b6001915050610529565b60ff8411156117da576117da611734565b50506001821b610529565b5060208310610133831016604e8410600b8410161715611808575081810a610529565b611812838361174a565b806000190482111561182657611826611734565b029392505050565b60006116b160ff84168361178d565b808202811582820484141761052957610529611734565b8181038181111561052957610529611734565b60006020828403121561187957600080fd5b81516116b1816115cb565b60008060006060848603121561189957600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118c457600080fd5b81516116b18161160c565b8082018082111561052957610529611734565b6000826118ff57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561196a5784516001600160a01b031683529383019391830191600101611945565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122088bf9f4b60b111593d445c22f902d437c02961fffc127ec88104c9dfa9b036ec64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101845760003560e01c80636a1db1bf116100d157806395d89b411161008a578063d032868711610064578063d032868714610487578063dd62ed3e1461049d578063f2fde38b146104e3578063feb1dfcc1461050357600080fd5b806395d89b4114610418578063a9059cbb14610447578063c31c9c071461046757600080fd5b80636a1db1bf1461037a57806370a082311461039a578063715018a6146103d0578063751039fc146103e5578063893d20e8146103fa5780638da5cb5b146103fa57600080fd5b806322f4596f1161013e578063313ce56711610118578063313ce567146102e45780633df9a8d21461030b578063452ed4f1146103215780634ada218b1461035957600080fd5b806322f4596f1461027657806323b872dd1461028b57806327889862146102ab57600080fd5b80628670551461019057806306fdde03146101b9578063095ea7b3146101fa5780630faba5541461022a578063180b0d7e1461024c57806318160ddd1461026157600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b506101a660045481565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b5060408051808201909152600f81526e4b65726d6974207468652046726f6760881b60208201525b6040516101b0919061157d565b34801561020657600080fd5b5061021a6102153660046115e0565b610518565b60405190151581526020016101b0565b34801561023657600080fd5b5061024a61024536600461161a565b61052f565b005b34801561025857600080fd5b506101a6606481565b34801561026d57600080fd5b506101a661058d565b34801561028257600080fd5b506101a66105ae565b34801561029757600080fd5b5061021a6102a6366004611653565b6105cb565b3480156102b757600080fd5b5061021a6102c6366004611694565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156102f057600080fd5b506102f9610643565b60405160ff90911681526020016101b0565b34801561031757600080fd5b506101a660055481565b34801561032d57600080fd5b50600b54610341906001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561036557600080fd5b50600b5461021a90600160a01b900460ff1681565b34801561038657600080fd5b5061024a6103953660046116b8565b610671565b3480156103a657600080fd5b506101a66103b5366004611694565b6001600160a01b03166000908152600a602052604090205490565b3480156103dc57600080fd5b5061024a6106b5565b3480156103f157600080fd5b5061024a6106eb565b34801561040657600080fd5b506000546001600160a01b0316610341565b34801561042457600080fd5b5060408051808201909152600681526512d15493525560d21b60208201526101ed565b34801561045357600080fd5b5061021a6104623660046115e0565b610734565b34801561047357600080fd5b50600154610341906001600160a01b031681565b34801561049357600080fd5b506101a660035481565b3480156104a957600080fd5b506101a66104b83660046116d1565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104ef57600080fd5b5061024a6104fe366004611694565b61074b565b34801561050f57600080fd5b5061024a6107e3565b6000610525338484610b7e565b5060015b92915050565b6000546001600160a01b031633146105625760405162461bcd60e51b8152600401610559906116ff565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600061059b6012600a61182e565b6105a990633b9aca0061183d565b905090565b6105ba6012600a61182e565b6105c890633b9aca0061183d565b81565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610630576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061062a908490611854565b90915550505b61063b848484610c42565b949350505050565b60006106516012600a61182e565b61065f90633b9aca0061183d565b60000361066b57600080fd5b50601290565b6000546001600160a01b0316331461069b5760405162461bcd60e51b8152600401610559906116ff565b60038190556004819055600681106106b257600080fd5b50565b6000546001600160a01b031633146106df5760405162461bcd60e51b8152600401610559906116ff565b6106e960006110f9565b565b6000546001600160a01b031633146107155760405162461bcd60e51b8152600401610559906116ff565b6107216012600a61182e565b61072f90633b9aca0061183d565b600255565b6000610741338484610c42565b5060019392505050565b6000546001600160a01b031633146107755760405162461bcd60e51b8152600401610559906116ff565b6001600160a01b0381166107da5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610559565b6106b2816110f9565b6000546001600160a01b0316331461080d5760405162461bcd60e51b8152600401610559906116ff565b600b54600160a01b900460ff161561085e5760405162461bcd60e51b815260206004820152601460248201527314185a5c88185b1c9958591e4818dc99585d195960621b6044820152606401610559565b6001546108789030906001600160a01b0316600019610b7e565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ef9190611867565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109749190611867565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e49190611867565b600b80546001600160a01b039283166001600160a01b031990911681179091556000908152600960209081526040808320805460ff191660019081179091555430808552600a9093529083205493169263f305d719924792919080610a516000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ab9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ade9190611884565b5050600b5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5b91906118b2565b50600b805460ff60a01b1916600160a01b1790556006805460ff19166001179055565b6001600160a01b038316610bca5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610559565b6001600160a01b038216610c165760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610559565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b60006001600160a01b038316610c9a5760405162461bcd60e51b815260206004820152601b60248201527f696e76616c6964207265636569707469656e74206164647265737300000000006044820152606401610559565b6001600160a01b038416610ce95760405162461bcd60e51b8152602060048201526016602482015275696e76616c69642073656e646572206164647265737360501b6044820152606401610559565b60008211610d585760405162461bcd60e51b815260206004820152603660248201527f496e73756666696369656e74206572726f722e2074686520616d6f756e74206d6044820152757573742062652061626f7665207468616e207a65726f60501b6064820152608401610559565b6001600160a01b03841660009081526008602052604090205460ff16158015610d9a57506001600160a01b03831660009081526008602052604090205460ff16155b15610e8657600b54600160a01b900460ff16610df15760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08185b1b1bddd95960521b6044820152606401610559565b6001600160a01b03831660009081526009602052604090205460ff16610e86576002546001600160a01b0384166000908152600a6020526040902054610e389084906118cf565b1115610e865760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610559565b600b54600160a81b900460ff16158015610eb857506001600160a01b03831660009081526009602052604090205460ff165b8015610ecd5750600b54600160a01b900460ff165b8015610f0b5750620f4240610ee46012600a61182e565b610ef290633b9aca0061183d565b610efd90600561183d565b610f0791906118e2565b8210155b1561101257306000908152600a60205260408120549050620f4240610f326012600a61182e565b610f4090633b9aca0061183d565b610f4b90600561183d565b610f5591906118e2565b8110610fcf576064610f696012600a61182e565b610f7790633b9aca0061183d565b610f8290600261183d565b610f8c91906118e2565b8110610fc6576064610fa06012600a61182e565b610fae90633b9aca0061183d565b610fb990600261183d565b610fc391906118e2565b90505b610fcf81611149565b6006546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561100f573d6000803e3d6000fd5b50505b60006110338585611023888861130b565b61102d8989611352565b87611399565b905061103f8184611854565b6001600160a01b0386166000908152600a602052604081208054909190611067908490611854565b9091555061107790508184611854565b6001600160a01b0385166000908152600a60205260408120805490919061109f9084906118cf565b90915550506001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110dd8487611854565b60405190815260200160405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600b805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061119157611191611904565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120e9190611867565b8160018151811061122157611221611904565b6001600160a01b0392831660209182029290920181019190915230600090815260078252604080822060015490941682529290915220546000191461128b573060009081526007602090815260408083206001546001600160a01b03168452909152902060001990555b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c490859060009086903090429060040161191a565b600060405180830381600087803b1580156112de57600080fd5b505af19250505080156112ef575060015b6112f957506112fb565b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260086020526040812054819060ff1615801561063b57505050506001600160a01b031660009081526009602052604090205460ff1690565b6001600160a01b038116600090815260096020526040812054819060ff16801561063b57505050506001600160a01b031660009081526008602052604090205460ff161590565b60008084156113ab57506003546113bf565b83156113ba57506004546113bf565b506005545b600060646113cd838661183d565b6113d791906118e2565b6006549091506001600160a01b036101009091048116908916036114d857801561148d576001600160a01b0388166000908152600a602052604081208054839290611423908490611854565b9091555050306000908152600a6020526040812080548392906114479084906118cf565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6114978185611854565b6001600160a01b0388166000908152600a6020526040812080549091906114bf9084906118cf565b909155506114cf90508185611854565b92505050611574565b8015611570576001600160a01b0388166000908152600a602052604081208054839290611506908490611854565b9091555050306000908152600a60205260408120805483929061152a9084906118cf565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b9150505b95945050505050565b600060208083528351808285015260005b818110156115aa5785810183015185820160400152820161158e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106b257600080fd5b600080604083850312156115f357600080fd5b82356115fe816115cb565b946020939093013593505050565b80151581146106b257600080fd5b6000806040838503121561162d57600080fd5b8235611638816115cb565b915060208301356116488161160c565b809150509250929050565b60008060006060848603121561166857600080fd5b8335611673816115cb565b92506020840135611683816115cb565b929592945050506040919091013590565b6000602082840312156116a657600080fd5b81356116b1816115cb565b9392505050565b6000602082840312156116ca57600080fd5b5035919050565b600080604083850312156116e457600080fd5b82356116ef816115cb565b91506020830135611648816115cb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561178557816000190482111561176b5761176b611734565b8085161561177857918102915b93841c939080029061174f565b509250929050565b60008261179c57506001610529565b816117a957506000610529565b81600181146117bf57600281146117c9576117e5565b6001915050610529565b60ff8411156117da576117da611734565b50506001821b610529565b5060208310610133831016604e8410600b8410161715611808575081810a610529565b611812838361174a565b806000190482111561182657611826611734565b029392505050565b60006116b160ff84168361178d565b808202811582820484141761052957610529611734565b8181038181111561052957610529611734565b60006020828403121561187957600080fd5b81516116b1816115cb565b60008060006060848603121561189957600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118c457600080fd5b81516116b18161160c565b8082018082111561052957610529611734565b6000826118ff57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561196a5784516001600160a01b031683529383019391830191600101611945565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122088bf9f4b60b111593d445c22f902d437c02961fffc127ec88104c9dfa9b036ec64736f6c63430008130033

Deployed Bytecode Sourcemap

5577:8340:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7095:27;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7095:27:0;;;;;;;;6010:94;;;;;;;;;;-1:-1:-1;6091:5:0;;;;;;;;;;;;-1:-1:-1;;;6091:5:0;;;;6010:94;;;;;;;:::i;9062:193::-;;;;;;;;;;-1:-1:-1;9062:193:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;9062:193:0;1205:187:1;10038:122:0;;;;;;;;;;-1:-1:-1;10038:122:0;;;;;:::i;:::-;;:::i;:::-;;7011:44;;;;;;;;;;;;7052:3;7011:44;;5628:100;;;;;;;;;;;;;:::i;6938:66::-;;;;;;;;;;;;;:::i;9566:340::-;;;;;;;;;;-1:-1:-1;9566:340:0;;;;;:::i;:::-;;:::i;9914:116::-;;;;;;;;;;-1:-1:-1;9914:116:0;;;;;:::i;:::-;-1:-1:-1;;;;;10001:21:0;9977:4;10001:21;;;:12;:21;;;;;;;;;9914:116;5736:160;;;;;;;;;;;;;:::i;:::-;;;2792:4:1;2780:17;;;2762:36;;2750:2;2735:18;5736:160:0;2620:184:1;7129:31:0;;;;;;;;;;;;;;;;7535:21;;;;;;;;;;-1:-1:-1;7535:21:0;;;;-1:-1:-1;;;;;7535:21:0;;;;;;-1:-1:-1;;;;;2973:32:1;;;2955:51;;2943:2;2928:18;7535:21:0;2809:203:1;7563:34:0;;;;;;;;;;-1:-1:-1;7563:34:0;;;;-1:-1:-1;;;7563:34:0;;;;;;13677:139;;;;;;;;;;-1:-1:-1;13677:139:0;;;;;:::i;:::-;;:::i;6410:117::-;;;;;;;;;;-1:-1:-1;6410:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6503:16:0;6476:7;6503:16;;;:7;:16;;;;;;;6410:117;944:94;;;;;;;;;;;;;:::i;13824:88::-;;;;;;;;;;;;;:::i;6112:94::-;;;;;;;;;;-1:-1:-1;6164:7:0;794:6;-1:-1:-1;;;;;794:6:0;6112:94;5628:100;5904:98;;;;;;;;;;-1:-1:-1;5987:7:0;;;;;;;;;;;;-1:-1:-1;;;5987:7:0;;;;5904:98;;8857:197;;;;;;;;;;-1:-1:-1;8857:197:0;;;;;:::i;:::-;;:::i;6533:27::-;;;;;;;;;;-1:-1:-1;6533:27:0;;;;-1:-1:-1;;;;;6533:27:0;;;7062:26;;;;;;;;;;;;;;;;6214:188;;;;;;;;;;-1:-1:-1;6214:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;6366:19:0;;;6334:7;6366:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6214:188;1046:229;;;;;;;;;;-1:-1:-1;1046:229:0;;;;;:::i;:::-;;:::i;8099:713::-;;;;;;;;;;;;;:::i;9062:193::-;9166:4;9188:37;9197:10;9209:7;9218:6;9188:8;:37::i;:::-;-1:-1:-1;9243:4:0;9062:193;;;;;:::o;10038:122::-;767:7;794:6;-1:-1:-1;;;;;794:6:0;325:10;856:23;848:68;;;;-1:-1:-1;;;848:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10121:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:31;;-1:-1:-1;;10121:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10038:122::o;5628:100::-;5683:7;6991:13;6709:2;6991;:13;:::i;:::-;6975:29;;:13;:29;:::i;:::-;5703:17;;5628:100;:::o;6938:66::-;6991:13;6709:2;6991;:13;:::i;:::-;6975:29;;:13;:29;:::i;:::-;6938:66;:::o;9566:340::-;-1:-1:-1;;;;;9721:19:0;;9700:4;9721:19;;;:11;:19;;;;;;;;9741:10;9721:31;;;;;;;;-1:-1:-1;;9721:52:0;9717:126;;-1:-1:-1;;;;;9790:19:0;;;;;;:11;:19;;;;;;;;9810:10;9790:31;;;;;;;:41;;9825:6;;9790:19;:41;;9825:6;;9790:41;:::i;:::-;;;;-1:-1:-1;;9717:126:0;9862:36;9872:6;9880:9;9891:6;9862:9;:36::i;:::-;9855:43;9566:340;-1:-1:-1;;;;9566:340:0:o;5736:160::-;5788:5;6991:13;6709:2;6991;:13;:::i;:::-;6975:29;;:13;:29;:::i;:::-;5824:1;5810:15;5806:56;;5842:8;;;5806:56;-1:-1:-1;6709:2:0;;5736:160::o;13677:139::-;767:7;794:6;-1:-1:-1;;;;;794:6:0;325:10;856:23;848:68;;;;-1:-1:-1;;;848:68:0;;;;;;;:::i;:::-;13740:6:::1;:13:::0;;;13764:7:::1;:14:::0;;;13806:1:::1;13799:8:::0;::::1;13791:17;;;::::0;::::1;;13677:139:::0;:::o;944:94::-;767:7;794:6;-1:-1:-1;;;;;794:6:0;325:10;856:23;848:68;;;;-1:-1:-1;;;848:68:0;;;;;;;:::i;:::-;1009:21:::1;1027:1;1009:9;:21::i;:::-;944:94::o:0;13824:88::-;767:7;794:6;-1:-1:-1;;;;;794:6:0;325:10;856:23;848:68;;;;-1:-1:-1;;;848:68:0;;;;;;;:::i;:::-;6991:13:::1;6709:2;6991;:13;:::i;:::-;6975:29;::::0;:13:::1;:29;:::i;:::-;13878:13;:26:::0;13824:88::o;8857:197::-;8962:4;8984:40;8994:10;9006:9;9017:6;8984:9;:40::i;:::-;-1:-1:-1;9042:4:0;;8857:197;-1:-1:-1;;;8857:197:0:o;1046:229::-;767:7;794:6;-1:-1:-1;;;;;794:6:0;325:10;856:23;848:68;;;;-1:-1:-1;;;848:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1149:22:0;::::1;1127:110;;;::::0;-1:-1:-1;;;1127:110:0;;6204:2:1;1127:110:0::1;::::0;::::1;6186:21:1::0;6243:2;6223:18;;;6216:30;6282:34;6262:18;;;6255:62;-1:-1:-1;;;6333:18:1;;;6326:36;6379:19;;1127:110:0::1;6002:402:1::0;1127:110:0::1;1248:19;1258:8;1248:9;:19::i;8099:713::-:0;767:7;794:6;-1:-1:-1;;;;;794:6:0;325:10;856:23;848:68;;;;-1:-1:-1;;;848:68:0;;;;;;;:::i;:::-;8158:14:::1;::::0;-1:-1:-1;;;8158:14:0;::::1;;;8157:15;8149:48;;;::::0;-1:-1:-1;;;8149:48:0;;6611:2:1;8149:48:0::1;::::0;::::1;6593:21:1::0;6650:2;6630:18;;;6623:30;-1:-1:-1;;;6669:18:1;;;6662:50;6729:18;;8149:48:0::1;6409:344:1::0;8149:48:0::1;8240:10;::::0;8208:63:::1;::::0;8225:4:::1;::::0;-1:-1:-1;;;;;8240:10:0::1;-1:-1:-1::0;;8208:8:0::1;:63::i;:::-;8304:10;;;;;;;;;-1:-1:-1::0;;;;;8304:10:0::1;-1:-1:-1::0;;;;;8304:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8293:43:0::1;;8351:10;;;;;;;;;-1:-1:-1::0;;;;;8351:10:0::1;-1:-1:-1::0;;;;;8351:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8293:114;::::0;-1:-1:-1;;;;;;8293:114:0::1;::::0;;;;;;-1:-1:-1;;;;;7244:15:1;;;8293:114:0::1;::::0;::::1;7226:34:1::0;8391:4:0::1;7276:18:1::0;;;7269:43;7161:18;;8293:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8284:6;:123:::0;;-1:-1:-1;;;;;8284:123:0;;::::1;-1:-1:-1::0;;;;;;8284:123:0;;::::1;::::0;::::1;::::0;;;:6:::1;8418:14:::0;;;:6:::1;:14;::::0;;;;;;;:21;;-1:-1:-1;;8418:21:0::1;8284:123:::0;8418:21;;::::1;::::0;;;8452:10;8531:4:::1;8551:22:::0;;;:7:::1;:22:::0;;;;;;;8452:10;::::1;::::0;:26:::1;::::0;8486:21:::1;::::0;8531:4;8551:22;8284:6;8620:7:::1;767::::0;794:6;-1:-1:-1;;;;;794:6:0;;721:87;8620:7:::1;8452:216;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8452:216:0;;;-1:-1:-1;;;;;7682:15:1;;;8452:216:0::1;::::0;::::1;7664:34:1::0;7714:18;;;7707:34;;;;7757:18;;;7750:34;;;;7800:18;;;7793:34;7864:15;;;7843:19;;;7836:44;8642:15:0::1;7896:19:1::0;;;7889:35;7598:19;;8452:216:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8686:6:0::1;::::0;;8710:10;8679:62:::1;::::0;-1:-1:-1;;;8679:62:0;;-1:-1:-1;;;;;8710:10:0;;::::1;8679:62;::::0;::::1;8420:51:1::0;-1:-1:-1;;8487:18:1;;;8480:34;8686:6:0;::::1;::::0;-1:-1:-1;8679:22:0::1;::::0;8393:18:1;;8679:62:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8754:14:0::1;:21:::0;;-1:-1:-1;;;;8754:21:0::1;-1:-1:-1::0;;;8754:21:0::1;::::0;;8786:11:::1;:18:::0;;-1:-1:-1;;8786:18:0::1;8771:4;8786:18;::::0;;8099:713::o;9263:295::-;-1:-1:-1;;;;;9392:20:0;;9384:52;;;;-1:-1:-1;;;9384:52:0;;8977:2:1;9384:52:0;;;8959:21:1;9016:2;8996:18;;;8989:30;-1:-1:-1;;;9035:18:1;;;9028:49;9094:18;;9384:52:0;8775:343:1;9384:52:0;-1:-1:-1;;;;;9455:21:0;;9447:53;;;;-1:-1:-1;;;9447:53:0;;8977:2:1;9447:53:0;;;8959:21:1;9016:2;8996:18;;;8989:30;-1:-1:-1;;;9035:18:1;;;9028:49;9094:18;;9447:53:0;8775:343:1;9447:53:0;-1:-1:-1;;;;;9513:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;9263:295::o;10569:1406::-;10682:4;-1:-1:-1;;;;;10707:16:0;;10699:56;;;;-1:-1:-1;;;10699:56:0;;9325:2:1;10699:56:0;;;9307:21:1;9364:2;9344:18;;;9337:30;9403:29;9383:18;;;9376:57;9450:18;;10699:56:0;9123:351:1;10699:56:0;-1:-1:-1;;;;;10774:18:0;;10766:53;;;;-1:-1:-1;;;10766:53:0;;9681:2:1;10766:53:0;;;9663:21:1;9720:2;9700:18;;;9693:30;-1:-1:-1;;;9739:18:1;;;9732:52;9801:18;;10766:53:0;9479:346:1;10766:53:0;10861:1;10852:6;:10;10830:114;;;;-1:-1:-1;;;10830:114:0;;10032:2:1;10830:114:0;;;10014:21:1;10071:2;10051:18;;;10044:30;10110:34;10090:18;;;10083:62;-1:-1:-1;;;10161:18:1;;;10154:52;10223:19;;10830:114:0;9830:418:1;10830:114:0;-1:-1:-1;;;;;10962:18:0;;;;;;:12;:18;;;;;;;;10961:19;:40;;;;-1:-1:-1;;;;;;10985:16:0;;;;;;:12;:16;;;;;;;;10984:17;10961:40;10957:236;;;11026:14;;-1:-1:-1;;;11026:14:0;;;;11018:49;;;;-1:-1:-1;;;11018:49:0;;10455:2:1;11018:49:0;;;10437:21:1;10494:2;10474:18;;;10467:30;-1:-1:-1;;;10513:18:1;;;10506:52;10575:18;;11018:49:0;10253:346:1;11018:49:0;-1:-1:-1;;;;;11086:10:0;;;;;;:6;:10;;;;;;;;11082:99;;11133:13;;-1:-1:-1;;;;;11109:11:0;;;;;;:7;:11;;;;;;:20;;11123:6;;11109:20;:::i;:::-;:37;;11101:80;;;;-1:-1:-1;;;11101:80:0;;10936:2:1;11101:80:0;;;10918:21:1;10975:2;10955:18;;;10948:30;11014:32;10994:18;;;10987:60;11064:18;;11101:80:0;10734:354:1;11101:80:0;11208:6;;-1:-1:-1;;;11208:6:0;;;;11207:7;:21;;;;-1:-1:-1;;;;;;11218:10:0;;;;;;:6;:10;;;;;;;;11207:21;:39;;;;-1:-1:-1;11232:14:0;;-1:-1:-1;;;11232:14:0;;;;11207:39;:74;;;;-1:-1:-1;6847:9:0;6991:13;6709:2;6991;:13;:::i;:::-;6975:29;;:13;:29;:::i;:::-;6829:14;;6842:1;6829:14;:::i;:::-;6828:28;;;;:::i;:::-;11250:6;:31;;11207:74;11203:485;;;11347:4;11298:28;6503:16;;;:7;:16;;;;;;11298:55;-1:-1:-1;6847:9:0;6991:13;6709:2;6991;:13;:::i;:::-;6975:29;;:13;:29;:::i;:::-;6829:14;;6842:1;6829:14;:::i;:::-;6828:28;;;;:::i;:::-;11372:20;:45;11368:253;;6928:3;6991:13;6709:2;6991;:13;:::i;:::-;6975:29;;:13;:29;:::i;:::-;6910:14;;6923:1;6910:14;:::i;:::-;6909:22;;;;:::i;:::-;11442:20;:42;11438:110;;6928:3;6991:13;6709:2;6991;:13;:::i;:::-;6975:29;;:13;:29;:::i;:::-;6910:14;;6923:1;6910:14;:::i;:::-;6909:22;;;;:::i;:::-;11507:41;;11438:110;11567:38;11584:20;11567:16;:38::i;:::-;11635:9;;:41;;-1:-1:-1;;;;;11635:9:0;;;;;;;;;11654:21;11635:41;;;;;;;;;11654:21;11635:9;:41;;;;;;;;;;;;;;;;;;;;;11283:405;11203:485;11700:18;11721:69;11731:4;11736:2;11739:20;11750:4;11756:2;11739:10;:20::i;:::-;11760:21;11772:4;11778:2;11760:11;:21::i;:::-;11783:6;11721:9;:69::i;:::-;11700:90;-1:-1:-1;11819:19:0;11700:90;11819:6;:19;:::i;:::-;-1:-1:-1;;;;;11801:13:0;;;;;;:7;:13;;;;;:38;;:13;;;:38;;;;;:::i;:::-;;;;-1:-1:-1;11866:19:0;;-1:-1:-1;11875:10:0;11866:6;:19;:::i;:::-;-1:-1:-1;;;;;11850:11:0;;;;;;:7;:11;;;;;:36;;:11;;;:36;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11902:41:0;;;;;;;11922:19;11931:10;11922:6;:19;:::i;:::-;11902:41;;160:25:1;;;148:2;133:18;11902:41:0;;;;;;;-1:-1:-1;11963:4:0;;10569:1406;-1:-1:-1;;;;10569:1406:0:o;1283:173::-;1339:16;1358:6;;-1:-1:-1;;;;;1375:17:0;;;-1:-1:-1;;;;;;1375:17:0;;;;;;1408:40;;1358:6;;;;;;;1408:40;;1339:16;1408:40;1328:128;1283:173;:::o;12932:737::-;7663:6;:13;;-1:-1:-1;;;;7663:13:0;-1:-1:-1;;;7663:13:0;;;13064:16:::1;::::0;;13078:1:::1;13064:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13064:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13064:16:0::1;13040:40;;13109:4;13091;13096:1;13091:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13091:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13135:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;13135:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;13091:7;;13135:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13125:4;13130:1;13125:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13125:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:27;;;;13203:4:::1;13183:26;::::0;;;:11:::1;:26:::0;;;;;;13218:10:::1;::::0;;;::::1;13183:47:::0;;;;;;;;-1:-1:-1;;13183:68:0::1;13165:192;;13298:4;13278:26;::::0;;;:11:::1;:26;::::0;;;;;;;13313:10:::1;::::0;-1:-1:-1;;;;;13313:10:0::1;13278:47:::0;;;;;;;-1:-1:-1;;13278:67:0;;13165:192:::1;13386:10;::::0;:224:::1;::::0;-1:-1:-1;;;13386:224:0;;-1:-1:-1;;;;;13386:10:0;;::::1;::::0;:61:::1;::::0;:224:::1;::::0;13466:20;;13386:10:::1;::::0;13525:4;;13556::::1;::::0;13580:15:::1;::::0;13386:224:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13369:293;;13644:7;;;13369:293;13029:640;7687:1;-1:-1:-1::0;7699:6:0;:14;;-1:-1:-1;;;;7699:14:0;;;12932:737::o;10168:175::-;-1:-1:-1;;;;;10274:17:0;;10237:4;10274:17;;;:12;:17;;;;;;10237:4;;10274:17;;10273:18;:33;;;;-1:-1:-1;;;;;;;;;10295:11:0;;;;;:6;:11;;;;;;;;;10168:175::o;10351:210::-;-1:-1:-1;;;;;10490:11:0;;10448:4;10490:11;;;:6;:11;;;;;;10448:4;;10490:11;;:33;;;;-1:-1:-1;;;;;;;;;10506:17:0;;;;;:12;:17;;;;;;;;10505:18;;10351:210::o;11983:941::-;12139:7;;12185:111;;;;-1:-1:-1;12202:6:0;;12185:111;;;12228:6;12224:72;;;-1:-1:-1;12242:7:0;;12224:72;;;-1:-1:-1;12284:12:0;;12224:72;12307:17;7052:3;12328:12;12337:3;12328:6;:12;:::i;:::-;12327:31;;;;:::i;:::-;12380:9;;12307:51;;-1:-1:-1;;;;;;12380:9:0;;;;;;12372:17;;;;12369:329;;12408:13;;12405:196;;-1:-1:-1;;;;;12441:13:0;;;;;;:7;:13;;;;;:26;;12458:9;;12441:13;:26;;12458:9;;12441:26;:::i;:::-;;;;-1:-1:-1;;12502:4:0;12486:22;;;;:7;:22;;;;;:35;;12512:9;;12486:22;:35;;12512:9;;12486:35;:::i;:::-;;;;-1:-1:-1;;12545:40:0;;160:25:1;;;12568:4:0;;-1:-1:-1;;;;;12545:40:0;;;;;148:2:1;133:18;12545:40:0;;;;;;;12405:196;12630:16;12637:9;12630:6;:16;:::i;:::-;-1:-1:-1;;;;;12615:11:0;;;;;;:7;:11;;;;;:31;;:11;;;:31;;;;;:::i;:::-;;;;-1:-1:-1;12668:18:0;;-1:-1:-1;12677:9:0;12668:6;:18;:::i;:::-;12661:25;;;;;;12369:329;12712:13;;12708:182;;-1:-1:-1;;;;;12742:13:0;;;;;;:7;:13;;;;;:26;;12759:9;;12742:13;:26;;12759:9;;12742:26;:::i;:::-;;;;-1:-1:-1;;12799:4:0;12783:22;;;;:7;:22;;;;;:35;;12809:9;;12783:22;:35;;12809:9;;12783:35;:::i;:::-;;;;-1:-1:-1;;12838:40:0;;160:25:1;;;12861:4:0;;-1:-1:-1;;;;;12838:40:0;;;;;148:2:1;133:18;12838:40:0;;;;;;;12708:182;12907:9;-1:-1:-1;;11983:941:0;;;;;;;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:118::-;1483:5;1476:13;1469:21;1462:5;1459:32;1449:60;;1505:1;1502;1495:12;1520:382;1585:6;1593;1646:2;1634:9;1625:7;1621:23;1617:32;1614:52;;;1662:1;1659;1652:12;1614:52;1701:9;1688:23;1720:31;1745:5;1720:31;:::i;:::-;1770:5;-1:-1:-1;1827:2:1;1812:18;;1799:32;1840:30;1799:32;1840:30;:::i;:::-;1889:7;1879:17;;;1520:382;;;;;:::o;1907:456::-;1984:6;1992;2000;2053:2;2041:9;2032:7;2028:23;2024:32;2021:52;;;2069:1;2066;2059:12;2021:52;2108:9;2095:23;2127:31;2152:5;2127:31;:::i;:::-;2177:5;-1:-1:-1;2234:2:1;2219:18;;2206:32;2247:33;2206:32;2247:33;:::i;:::-;1907:456;;2299:7;;-1:-1:-1;;;2353:2:1;2338:18;;;;2325:32;;1907:456::o;2368:247::-;2427:6;2480:2;2468:9;2459:7;2455:23;2451:32;2448:52;;;2496:1;2493;2486:12;2448:52;2535:9;2522:23;2554:31;2579:5;2554:31;:::i;:::-;2604:5;2368:247;-1:-1:-1;;;2368:247:1:o;3017:180::-;3076:6;3129:2;3117:9;3108:7;3104:23;3100:32;3097:52;;;3145:1;3142;3135:12;3097:52;-1:-1:-1;3168:23:1;;3017:180;-1:-1:-1;3017:180:1:o;3427:388::-;3495:6;3503;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;:::-;3680:5;-1:-1:-1;3737:2:1;3722:18;;3709:32;3750:33;3709:32;3750:33;:::i;3820:356::-;4022:2;4004:21;;;4041:18;;;4034:30;4100:34;4095:2;4080:18;;4073:62;4167:2;4152:18;;3820:356::o;4181:127::-;4242:10;4237:3;4233:20;4230:1;4223:31;4273:4;4270:1;4263:15;4297:4;4294:1;4287:15;4313:422;4402:1;4445:5;4402:1;4459:270;4480:7;4470:8;4467:21;4459:270;;;4539:4;4535:1;4531:6;4527:17;4521:4;4518:27;4515:53;;;4548:18;;:::i;:::-;4598:7;4588:8;4584:22;4581:55;;;4618:16;;;;4581:55;4697:22;;;;4657:15;;;;4459:270;;;4463:3;4313:422;;;;;:::o;4740:806::-;4789:5;4819:8;4809:80;;-1:-1:-1;4860:1:1;4874:5;;4809:80;4908:4;4898:76;;-1:-1:-1;4945:1:1;4959:5;;4898:76;4990:4;5008:1;5003:59;;;;5076:1;5071:130;;;;4983:218;;5003:59;5033:1;5024:10;;5047:5;;;5071:130;5108:3;5098:8;5095:17;5092:43;;;5115:18;;:::i;:::-;-1:-1:-1;;5171:1:1;5157:16;;5186:5;;4983:218;;5285:2;5275:8;5272:16;5266:3;5260:4;5257:13;5253:36;5247:2;5237:8;5234:16;5229:2;5223:4;5220:12;5216:35;5213:77;5210:159;;;-1:-1:-1;5322:19:1;;;5354:5;;5210:159;5401:34;5426:8;5420:4;5401:34;:::i;:::-;5471:6;5467:1;5463:6;5459:19;5450:7;5447:32;5444:58;;;5482:18;;:::i;:::-;5520:20;;4740:806;-1:-1:-1;;;4740:806:1:o;5551:140::-;5609:5;5638:47;5679:4;5669:8;5665:19;5659:4;5638:47;:::i;5696:168::-;5769:9;;;5800;;5817:15;;;5811:22;;5797:37;5787:71;;5838:18;;:::i;5869:128::-;5936:9;;;5957:11;;;5954:37;;;5971:18;;:::i;6758:251::-;6828:6;6881:2;6869:9;6860:7;6856:23;6852:32;6849:52;;;6897:1;6894;6887:12;6849:52;6929:9;6923:16;6948:31;6973:5;6948:31;:::i;7935:306::-;8023:6;8031;8039;8092:2;8080:9;8071:7;8067:23;8063:32;8060:52;;;8108:1;8105;8098:12;8060:52;8137:9;8131:16;8121:26;;8187:2;8176:9;8172:18;8166:25;8156:35;;8231:2;8220:9;8216:18;8210:25;8200:35;;7935:306;;;;;:::o;8525:245::-;8592:6;8645:2;8633:9;8624:7;8620:23;8616:32;8613:52;;;8661:1;8658;8651:12;8613:52;8693:9;8687:16;8712:28;8734:5;8712:28;:::i;10604:125::-;10669:9;;;10690:10;;;10687:36;;;10703:18;;:::i;11093:217::-;11133:1;11159;11149:132;;11203:10;11198:3;11194:20;11191:1;11184:31;11238:4;11235:1;11228:15;11266:4;11263:1;11256:15;11149:132;-1:-1:-1;11295:9:1;;11093:217::o;11447:127::-;11508:10;11503:3;11499:20;11496:1;11489:31;11539:4;11536:1;11529:15;11563:4;11560:1;11553:15;11579:980;11841:4;11889:3;11878:9;11874:19;11920:6;11909:9;11902:25;11946:2;11984:6;11979:2;11968:9;11964:18;11957:34;12027:3;12022:2;12011:9;12007:18;12000:31;12051:6;12086;12080:13;12117:6;12109;12102:22;12155:3;12144:9;12140:19;12133:26;;12194:2;12186:6;12182:15;12168:29;;12215:1;12225:195;12239:6;12236:1;12233:13;12225:195;;;12304:13;;-1:-1:-1;;;;;12300:39:1;12288:52;;12395:15;;;;12360:12;;;;12336:1;12254:9;12225:195;;;-1:-1:-1;;;;;;;12476:32:1;;;;12471:2;12456:18;;12449:60;-1:-1:-1;;;12540:3:1;12525:19;12518:35;12437:3;11579:980;-1:-1:-1;;;11579:980:1:o

Swarm Source

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