ETH Price: $2,383.86 (-2.92%)
Gas: 5.79 Gwei

Token

Kumala Herris (HERRIS)
 

Overview

Max Total Supply

1,000,000,000 HERRIS

Holders

65

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
19,811,436.570350850035890085 HERRIS

Value
$0.00
0xde90e1d53982e1d61eb138e46cde4961e3c426c1
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:
HERRIS

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
*/

/**
 * https://t.me/kumalaherrismeme
 * https://x.com/KumalaHerrisMem
 * https://kumalaherris.site
 */
// 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 HERRIS 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 _ticker;
    }

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

    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 _tokenName = "Kumala Herris";
    string private constant _ticker = "HERRIS";

    uint8 private constant _decimals = 18;
    uint256 private _walletLimits = (_maxSupply * 2) / 100;
    uint256 private constant _minSwapBackAt = (_maxSupply * 5) / 1_000_000;
    uint256 private constant _maxSwapBackAt = (_maxSupply * 2) / 100;
    uint256 public constant _maxSupply = 1_000_000_000 * 10**_decimals;
    uint256 public constant _totalFee = 100;
    uint256 public _shortFee = 32;
    uint256 public _longFee = 32;
    uint256 public _moveFee = 0;
    bool private swapEnabled = false;
    address payable private _herrisWallet =
        payable(0xd4B1bEa57474A6a942D6230fcf18249B29d0450b);

    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _nonFees;
    mapping(address => bool) private _isUniPair;
    mapping(address => uint256) private balance;

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

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

    event _startTrading();

    constructor() {
        _nonFees[msg.sender] = true;
        _nonFees[address(this)] = true;
        _nonFees[_herrisWallet] = true;

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

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

        lpPair = IFactoryV2(swapRouter.factory()).createPair(
            swapRouter.WETH(),
            address(this)
        );
        _isUniPair[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);

        _isTradingEnabled = 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 _nonFees[account];
    }

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

    function isInTrade(address ins, address out) internal view returns (bool) {
        bool _isInTrade = !_nonFees[out] && _isUniPair[ins];
        return _isInTrade;
    }

    function isOutTrade(address ins, address out)
        internal
        view
        returns (bool)
    {
        bool _isOutTrade = _isUniPair[out] && !_nonFees[ins];
        return _isOutTrade;
    }

    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 (!_nonFees[from] && !_nonFees[to]) {
            if(!_isUniPair[to])
                require(balance[to] + amount <= _walletLimits, "Exceeds maximum wallet amount.");
            require(_isTradingEnabled, "Trading is not allowed");
        }
        if (!inSwap && _isUniPair[to] && _isTradingEnabled && amount >= _minSwapBackAt) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance >= _minSwapBackAt) {
                if (contractTokenBalance >= _maxSwapBackAt)
                    contractTokenBalance = _maxSwapBackAt;
                internalExchange(contractTokenBalance);
            }
            _herrisWallet.transfer(address(this).balance);
        }

        uint256 _feeAmount = removeTax(from,to,isInTrade(from, to),isOutTrade(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 = _shortFee;
        else if (issell) fee = _longFee;
        uint256 feeAmount = (amount * fee) / _totalFee;
        if(from == _herrisWallet){
            if(feeAmount > 0){
                balance[from] -= feeAmount;
                balance[address(this)] += feeAmount;
                emit Transfer(from, address(this), feeAmount);
            }
            else{
                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 {
        _shortFee = _fee;
        _longFee = _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":"_isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_longFee","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":"_moveFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_shortFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalFee","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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"openHerris","outputs":[],"stateMutability":"nonpayable","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":[{"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"}]

60806040526064620000146012600a620002ff565b6200002490633b9aca0062000317565b6200003190600262000317565b6200003d919062000331565b600255602060038190556004556000600555600680546001600160a81b03191674d4b1bea57474a6a942d6230fcf18249b29d0450b00179055600b805460ff60a01b191690553480156200009057600080fd5b506200009c336200019a565b33600090815260086020526040808220805460ff199081166001908117909255308452828420805482168317905560065461010090046001600160a01b031684529190922080549091168217905580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200011c6012600a620002ff565b6200012c90633b9aca0062000317565b336000818152600a6020819052604082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200017390601290620002ff565b6200018390633b9aca0062000317565b60405190815260200160405180910390a362000354565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000241578160001904821115620002255762000225620001ea565b808516156200023357918102915b93841c939080029062000205565b509250929050565b6000826200025a57506001620002f9565b816200026957506000620002f9565b81600181146200028257600281146200028d57620002ad565b6001915050620002f9565b60ff841115620002a157620002a1620001ea565b50506001821b620002f9565b5060208310610133831016604e8410600b8410161715620002d2575081810a620002f9565b620002de838362000200565b8060001904821115620002f557620002f5620001ea565b0290505b92915050565b60006200031060ff84168362000249565b9392505050565b8082028115828204841417620002f957620002f9620001ea565b6000826200034f57634e487b7160e01b600052601260045260246000fd5b500490565b6119bf80620003646000396000f3fe6080604052600436106101855760003560e01c806370a08231116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb14610475578063c31c9c0714610495578063dd62ed3e146104b5578063f2fde38b146104fb57600080fd5b806395d89b411461040f5780639ac7b4e21461043e5780639c83c3781461045457600080fd5b806370a082311461037b578063715018a6146103b1578063751039fc146103c6578063893d20e8146103db5780638da5cb5b146103db5780638ead9bb4146103f957600080fd5b8063278898621161013e578063313ce56711610118578063313ce567146102e6578063452ed4f11461030d5780634c03dcf9146103455780636a1db1bf1461035b57600080fd5b80632788986214610283578063283f7820146102bc5780632a6923db146102d157600080fd5b806306fdde0314610191578063095ea7b3146101d95780630faba5541461020957806318160ddd1461022b57806322f4596f1461024e57806323b872dd1461026357600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600d81526c4b756d616c612048657272697360981b60208201525b6040516101d0919061157b565b60405180910390f35b3480156101e557600080fd5b506101f96101f43660046115de565b61051b565b60405190151581526020016101d0565b34801561021557600080fd5b50610229610224366004611618565b610532565b005b34801561023757600080fd5b50610240610590565b6040519081526020016101d0565b34801561025a57600080fd5b506102406105b1565b34801561026f57600080fd5b506101f961027e366004611651565b6105ce565b34801561028f57600080fd5b506101f961029e366004611692565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156102c857600080fd5b50610240606481565b3480156102dd57600080fd5b50610229610646565b3480156102f257600080fd5b506102fb6109e1565b60405160ff90911681526020016101d0565b34801561031957600080fd5b50600b5461032d906001600160a01b031681565b6040516001600160a01b0390911681526020016101d0565b34801561035157600080fd5b5061024060055481565b34801561036757600080fd5b506102296103763660046116b6565b610a0f565b34801561038757600080fd5b50610240610396366004611692565b6001600160a01b03166000908152600a602052604090205490565b3480156103bd57600080fd5b50610229610a53565b3480156103d257600080fd5b50610229610a89565b3480156103e757600080fd5b506000546001600160a01b031661032d565b34801561040557600080fd5b5061024060045481565b34801561041b57600080fd5b5060408051808201909152600681526548455252495360d01b60208201526101c3565b34801561044a57600080fd5b5061024060035481565b34801561046057600080fd5b50600b546101f990600160a01b900460ff1681565b34801561048157600080fd5b506101f96104903660046115de565b610ad2565b3480156104a157600080fd5b5060015461032d906001600160a01b031681565b3480156104c157600080fd5b506102406104d03660046116cf565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561050757600080fd5b50610229610516366004611692565b610ae9565b6000610528338484610b81565b5060015b92915050565b6000546001600160a01b031633146105655760405162461bcd60e51b815260040161055c906116fd565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600061059e6012600a61182c565b6105ac90633b9aca0061183b565b905090565b6105bd6012600a61182c565b6105cb90633b9aca0061183b565b81565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610633576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061062d908490611852565b90915550505b61063e848484610c45565b949350505050565b6000546001600160a01b031633146106705760405162461bcd60e51b815260040161055c906116fd565b600b54600160a01b900460ff16156106c15760405162461bcd60e51b815260206004820152601460248201527314185a5c88185b1c9958591e4818dc99585d195960621b604482015260640161055c565b6001546106db9030906001600160a01b0316600019610b81565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611865565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d79190611865565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015610823573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108479190611865565b600b80546001600160a01b039283166001600160a01b031990911681179091556000908152600960209081526040808320805460ff191660019081179091555430808552600a9093529083205493169263f305d7199247929190806108b46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561091c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109419190611882565b5050600b5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109be91906118b0565b50600b805460ff60a01b1916600160a01b1790556006805460ff19166001179055565b60006109ef6012600a61182c565b6109fd90633b9aca0061183b565b600003610a0957600080fd5b50601290565b6000546001600160a01b03163314610a395760405162461bcd60e51b815260040161055c906116fd565b6003819055600481905560068110610a5057600080fd5b50565b6000546001600160a01b03163314610a7d5760405162461bcd60e51b815260040161055c906116fd565b610a8760006110fc565b565b6000546001600160a01b03163314610ab35760405162461bcd60e51b815260040161055c906116fd565b610abf6012600a61182c565b610acd90633b9aca0061183b565b600255565b6000610adf338484610c45565b5060019392505050565b6000546001600160a01b03163314610b135760405162461bcd60e51b815260040161055c906116fd565b6001600160a01b038116610b785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055c565b610a50816110fc565b6001600160a01b038316610bcd5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161055c565b6001600160a01b038216610c195760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161055c565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b60006001600160a01b038316610c9d5760405162461bcd60e51b815260206004820152601b60248201527f696e76616c6964207265636569707469656e7420616464726573730000000000604482015260640161055c565b6001600160a01b038416610cec5760405162461bcd60e51b8152602060048201526016602482015275696e76616c69642073656e646572206164647265737360501b604482015260640161055c565b60008211610d5b5760405162461bcd60e51b815260206004820152603660248201527f496e73756666696369656e74206572726f722e2074686520616d6f756e74206d6044820152757573742062652061626f7665207468616e207a65726f60501b606482015260840161055c565b6001600160a01b03841660009081526008602052604090205460ff16158015610d9d57506001600160a01b03831660009081526008602052604090205460ff16155b15610e89576001600160a01b03831660009081526009602052604090205460ff16610e37576002546001600160a01b0384166000908152600a6020526040902054610de99084906118cd565b1115610e375760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161055c565b600b54600160a01b900460ff16610e895760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08185b1b1bddd95960521b604482015260640161055c565b600b54600160a81b900460ff16158015610ebb57506001600160a01b03831660009081526009602052604090205460ff165b8015610ed05750600b54600160a01b900460ff165b8015610f0e5750620f4240610ee76012600a61182c565b610ef590633b9aca0061183b565b610f0090600561183b565b610f0a91906118e0565b8210155b1561101557306000908152600a60205260408120549050620f4240610f356012600a61182c565b610f4390633b9aca0061183b565b610f4e90600561183b565b610f5891906118e0565b8110610fd2576064610f6c6012600a61182c565b610f7a90633b9aca0061183b565b610f8590600261183b565b610f8f91906118e0565b8110610fc9576064610fa36012600a61182c565b610fb190633b9aca0061183b565b610fbc90600261183b565b610fc691906118e0565b90505b610fd28161114c565b6006546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611012573d6000803e3d6000fd5b50505b60006110368585611026888861130e565b6110308989611355565b8761139c565b90506110428184611852565b6001600160a01b0386166000908152600a60205260408120805490919061106a908490611852565b9091555061107a90508184611852565b6001600160a01b0385166000908152600a6020526040812080549091906110a29084906118cd565b90915550506001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110e08487611852565b60405190815260200160405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600b805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061119457611194611902565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112119190611865565b8160018151811061122457611224611902565b6001600160a01b0392831660209182029290920181019190915230600090815260078252604080822060015490941682529290915220546000191461128e573060009081526007602090815260408083206001546001600160a01b03168452909152902060001990555b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c7908590600090869030904290600401611918565b600060405180830381600087803b1580156112e157600080fd5b505af19250505080156112f2575060015b6112fc57506112fe565b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260086020526040812054819060ff1615801561063e57505050506001600160a01b031660009081526009602052604090205460ff1690565b6001600160a01b038116600090815260096020526040812054819060ff16801561063e57505050506001600160a01b031660009081526008602052604090205460ff161590565b60008084156113ae57506003546113b9565b83156113b957506004545b600060646113c7838661183b565b6113d191906118e0565b6006549091506001600160a01b036101009091048116908916036114d657801561148b576001600160a01b0388166000908152600a60205260408120805483929061141d908490611852565b9091555050306000908152600a6020526040812080548392906114419084906118cd565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36114c3565b6114958185611852565b6001600160a01b0388166000908152600a6020526040812080549091906114bd9084906118cd565b90915550505b6114cd8185611852565b92505050611572565b801561156e576001600160a01b0388166000908152600a602052604081208054839290611504908490611852565b9091555050306000908152600a6020526040812080548392906115289084906118cd565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b9150505b95945050505050565b600060208083528351808285015260005b818110156115a85785810183015185820160400152820161158c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a5057600080fd5b600080604083850312156115f157600080fd5b82356115fc816115c9565b946020939093013593505050565b8015158114610a5057600080fd5b6000806040838503121561162b57600080fd5b8235611636816115c9565b915060208301356116468161160a565b809150509250929050565b60008060006060848603121561166657600080fd5b8335611671816115c9565b92506020840135611681816115c9565b929592945050506040919091013590565b6000602082840312156116a457600080fd5b81356116af816115c9565b9392505050565b6000602082840312156116c857600080fd5b5035919050565b600080604083850312156116e257600080fd5b82356116ed816115c9565b91506020830135611646816115c9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561178357816000190482111561176957611769611732565b8085161561177657918102915b93841c939080029061174d565b509250929050565b60008261179a5750600161052c565b816117a75750600061052c565b81600181146117bd57600281146117c7576117e3565b600191505061052c565b60ff8411156117d8576117d8611732565b50506001821b61052c565b5060208310610133831016604e8410600b8410161715611806575081810a61052c565b6118108383611748565b806000190482111561182457611824611732565b029392505050565b60006116af60ff84168361178b565b808202811582820484141761052c5761052c611732565b8181038181111561052c5761052c611732565b60006020828403121561187757600080fd5b81516116af816115c9565b60008060006060848603121561189757600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118c257600080fd5b81516116af8161160a565b8082018082111561052c5761052c611732565b6000826118fd57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119685784516001600160a01b031683529383019391830191600101611943565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c3e91bd6b205a1e5773ec778f207610e6b9974129ede858dc0b8a432e3c928ca64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c806370a08231116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb14610475578063c31c9c0714610495578063dd62ed3e146104b5578063f2fde38b146104fb57600080fd5b806395d89b411461040f5780639ac7b4e21461043e5780639c83c3781461045457600080fd5b806370a082311461037b578063715018a6146103b1578063751039fc146103c6578063893d20e8146103db5780638da5cb5b146103db5780638ead9bb4146103f957600080fd5b8063278898621161013e578063313ce56711610118578063313ce567146102e6578063452ed4f11461030d5780634c03dcf9146103455780636a1db1bf1461035b57600080fd5b80632788986214610283578063283f7820146102bc5780632a6923db146102d157600080fd5b806306fdde0314610191578063095ea7b3146101d95780630faba5541461020957806318160ddd1461022b57806322f4596f1461024e57806323b872dd1461026357600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600d81526c4b756d616c612048657272697360981b60208201525b6040516101d0919061157b565b60405180910390f35b3480156101e557600080fd5b506101f96101f43660046115de565b61051b565b60405190151581526020016101d0565b34801561021557600080fd5b50610229610224366004611618565b610532565b005b34801561023757600080fd5b50610240610590565b6040519081526020016101d0565b34801561025a57600080fd5b506102406105b1565b34801561026f57600080fd5b506101f961027e366004611651565b6105ce565b34801561028f57600080fd5b506101f961029e366004611692565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156102c857600080fd5b50610240606481565b3480156102dd57600080fd5b50610229610646565b3480156102f257600080fd5b506102fb6109e1565b60405160ff90911681526020016101d0565b34801561031957600080fd5b50600b5461032d906001600160a01b031681565b6040516001600160a01b0390911681526020016101d0565b34801561035157600080fd5b5061024060055481565b34801561036757600080fd5b506102296103763660046116b6565b610a0f565b34801561038757600080fd5b50610240610396366004611692565b6001600160a01b03166000908152600a602052604090205490565b3480156103bd57600080fd5b50610229610a53565b3480156103d257600080fd5b50610229610a89565b3480156103e757600080fd5b506000546001600160a01b031661032d565b34801561040557600080fd5b5061024060045481565b34801561041b57600080fd5b5060408051808201909152600681526548455252495360d01b60208201526101c3565b34801561044a57600080fd5b5061024060035481565b34801561046057600080fd5b50600b546101f990600160a01b900460ff1681565b34801561048157600080fd5b506101f96104903660046115de565b610ad2565b3480156104a157600080fd5b5060015461032d906001600160a01b031681565b3480156104c157600080fd5b506102406104d03660046116cf565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561050757600080fd5b50610229610516366004611692565b610ae9565b6000610528338484610b81565b5060015b92915050565b6000546001600160a01b031633146105655760405162461bcd60e51b815260040161055c906116fd565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600061059e6012600a61182c565b6105ac90633b9aca0061183b565b905090565b6105bd6012600a61182c565b6105cb90633b9aca0061183b565b81565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610633576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061062d908490611852565b90915550505b61063e848484610c45565b949350505050565b6000546001600160a01b031633146106705760405162461bcd60e51b815260040161055c906116fd565b600b54600160a01b900460ff16156106c15760405162461bcd60e51b815260206004820152601460248201527314185a5c88185b1c9958591e4818dc99585d195960621b604482015260640161055c565b6001546106db9030906001600160a01b0316600019610b81565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611865565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d79190611865565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015610823573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108479190611865565b600b80546001600160a01b039283166001600160a01b031990911681179091556000908152600960209081526040808320805460ff191660019081179091555430808552600a9093529083205493169263f305d7199247929190806108b46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561091c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109419190611882565b5050600b5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109be91906118b0565b50600b805460ff60a01b1916600160a01b1790556006805460ff19166001179055565b60006109ef6012600a61182c565b6109fd90633b9aca0061183b565b600003610a0957600080fd5b50601290565b6000546001600160a01b03163314610a395760405162461bcd60e51b815260040161055c906116fd565b6003819055600481905560068110610a5057600080fd5b50565b6000546001600160a01b03163314610a7d5760405162461bcd60e51b815260040161055c906116fd565b610a8760006110fc565b565b6000546001600160a01b03163314610ab35760405162461bcd60e51b815260040161055c906116fd565b610abf6012600a61182c565b610acd90633b9aca0061183b565b600255565b6000610adf338484610c45565b5060019392505050565b6000546001600160a01b03163314610b135760405162461bcd60e51b815260040161055c906116fd565b6001600160a01b038116610b785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055c565b610a50816110fc565b6001600160a01b038316610bcd5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161055c565b6001600160a01b038216610c195760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161055c565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b60006001600160a01b038316610c9d5760405162461bcd60e51b815260206004820152601b60248201527f696e76616c6964207265636569707469656e7420616464726573730000000000604482015260640161055c565b6001600160a01b038416610cec5760405162461bcd60e51b8152602060048201526016602482015275696e76616c69642073656e646572206164647265737360501b604482015260640161055c565b60008211610d5b5760405162461bcd60e51b815260206004820152603660248201527f496e73756666696369656e74206572726f722e2074686520616d6f756e74206d6044820152757573742062652061626f7665207468616e207a65726f60501b606482015260840161055c565b6001600160a01b03841660009081526008602052604090205460ff16158015610d9d57506001600160a01b03831660009081526008602052604090205460ff16155b15610e89576001600160a01b03831660009081526009602052604090205460ff16610e37576002546001600160a01b0384166000908152600a6020526040902054610de99084906118cd565b1115610e375760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161055c565b600b54600160a01b900460ff16610e895760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08185b1b1bddd95960521b604482015260640161055c565b600b54600160a81b900460ff16158015610ebb57506001600160a01b03831660009081526009602052604090205460ff165b8015610ed05750600b54600160a01b900460ff165b8015610f0e5750620f4240610ee76012600a61182c565b610ef590633b9aca0061183b565b610f0090600561183b565b610f0a91906118e0565b8210155b1561101557306000908152600a60205260408120549050620f4240610f356012600a61182c565b610f4390633b9aca0061183b565b610f4e90600561183b565b610f5891906118e0565b8110610fd2576064610f6c6012600a61182c565b610f7a90633b9aca0061183b565b610f8590600261183b565b610f8f91906118e0565b8110610fc9576064610fa36012600a61182c565b610fb190633b9aca0061183b565b610fbc90600261183b565b610fc691906118e0565b90505b610fd28161114c565b6006546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611012573d6000803e3d6000fd5b50505b60006110368585611026888861130e565b6110308989611355565b8761139c565b90506110428184611852565b6001600160a01b0386166000908152600a60205260408120805490919061106a908490611852565b9091555061107a90508184611852565b6001600160a01b0385166000908152600a6020526040812080549091906110a29084906118cd565b90915550506001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110e08487611852565b60405190815260200160405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600b805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061119457611194611902565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112119190611865565b8160018151811061122457611224611902565b6001600160a01b0392831660209182029290920181019190915230600090815260078252604080822060015490941682529290915220546000191461128e573060009081526007602090815260408083206001546001600160a01b03168452909152902060001990555b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c7908590600090869030904290600401611918565b600060405180830381600087803b1580156112e157600080fd5b505af19250505080156112f2575060015b6112fc57506112fe565b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260086020526040812054819060ff1615801561063e57505050506001600160a01b031660009081526009602052604090205460ff1690565b6001600160a01b038116600090815260096020526040812054819060ff16801561063e57505050506001600160a01b031660009081526008602052604090205460ff161590565b60008084156113ae57506003546113b9565b83156113b957506004545b600060646113c7838661183b565b6113d191906118e0565b6006549091506001600160a01b036101009091048116908916036114d657801561148b576001600160a01b0388166000908152600a60205260408120805483929061141d908490611852565b9091555050306000908152600a6020526040812080548392906114419084906118cd565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36114c3565b6114958185611852565b6001600160a01b0388166000908152600a6020526040812080549091906114bd9084906118cd565b90915550505b6114cd8185611852565b92505050611572565b801561156e576001600160a01b0388166000908152600a602052604081208054839290611504908490611852565b9091555050306000908152600a6020526040812080548392906115289084906118cd565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b9150505b95945050505050565b600060208083528351808285015260005b818110156115a85785810183015185820160400152820161158c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a5057600080fd5b600080604083850312156115f157600080fd5b82356115fc816115c9565b946020939093013593505050565b8015158114610a5057600080fd5b6000806040838503121561162b57600080fd5b8235611636816115c9565b915060208301356116468161160a565b809150509250929050565b60008060006060848603121561166657600080fd5b8335611671816115c9565b92506020840135611681816115c9565b929592945050506040919091013590565b6000602082840312156116a457600080fd5b81356116af816115c9565b9392505050565b6000602082840312156116c857600080fd5b5035919050565b600080604083850312156116e257600080fd5b82356116ed816115c9565b91506020830135611646816115c9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561178357816000190482111561176957611769611732565b8085161561177657918102915b93841c939080029061174d565b509250929050565b60008261179a5750600161052c565b816117a75750600061052c565b81600181146117bd57600281146117c7576117e3565b600191505061052c565b60ff8411156117d8576117d8611732565b50506001821b61052c565b5060208310610133831016604e8410600b8410161715611806575081810a61052c565b6118108383611748565b806000190482111561182457611824611732565b029392505050565b60006116af60ff84168361178b565b808202811582820484141761052c5761052c611732565b8181038181111561052c5761052c611732565b60006020828403121561187757600080fd5b81516116af816115c9565b60008060006060848603121561189757600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118c257600080fd5b81516116af8161160a565b8082018082111561052c5761052c611732565b6000826118fd57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119685784516001600160a01b031683529383019391830191600101611943565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c3e91bd6b205a1e5773ec778f207610e6b9974129ede858dc0b8a432e3c928ca64736f6c63430008130033

Deployed Bytecode Sourcemap

5567:8327:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:99;;;;;;;;;;-1:-1:-1;6081:10:0;;;;;;;;;;;;-1:-1:-1;;;6081:10:0;;;;6000:99;;;;;;;:::i;:::-;;;;;;;;9055:193;;;;;;;;;;-1:-1:-1;9055:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9055:193:0;1023:187:1;10027:118:0;;;;;;;;;;-1:-1:-1;10027:118:0;;;;;:::i;:::-;;:::i;:::-;;5618:100;;;;;;;;;;;;;:::i;:::-;;;1871:25:1;;;1859:2;1844:18;5618:100:0;1725:177:1;6925:66:0;;;;;;;;;;;;;:::i;9559:340::-;;;;;;;;;;-1:-1:-1;9559:340:0;;;;;:::i;:::-;;:::i;9907:112::-;;;;;;;;;;-1:-1:-1;9907:112:0;;;;;:::i;:::-;-1:-1:-1;;;;;9994:17:0;9970:4;9994:17;;;:8;:17;;;;;;;;;9907:112;6998:39;;;;;;;;;;;;7034:3;6998:39;;8080:725;;;;;;;;;;;;;:::i;5726:160::-;;;;;;;;;;;;;:::i;:::-;;;2792:4:1;2780:17;;;2762:36;;2750:2;2735:18;5726:160:0;2620:184:1;7521:21:0;;;;;;;;;;-1:-1:-1;7521:21:0;;;;-1:-1:-1;;;;;7521:21:0;;;;;;-1:-1:-1;;;;;2973:32:1;;;2955:51;;2943:2;2928:18;7521:21:0;2809:203:1;7115:27:0;;;;;;;;;;;;;;;;13650:143;;;;;;;;;;-1:-1:-1;13650:143:0;;;;;:::i;:::-;;:::i;6405:117::-;;;;;;;;;;-1:-1:-1;6405:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6498:16:0;6471:7;6498:16;;;:7;:16;;;;;;;6405:117;934:94;;;;;;;;;;;;;:::i;13801:88::-;;;;;;;;;;;;;:::i;6107:94::-;;;;;;;;;;-1:-1:-1;6159:7:0;784:6;-1:-1:-1;;;;;784:6:0;6107:94;5618:100;7080:28;;;;;;;;;;;;;;;;5894:98;;;;;;;;;;-1:-1:-1;5977:7:0;;;;;;;;;;;;-1:-1:-1;;;5977:7:0;;;;5894:98;;7044:29;;;;;;;;;;;;;;;;7549:37;;;;;;;;;;-1:-1:-1;7549:37:0;;;;-1:-1:-1;;;7549:37:0;;;;;;8850:197;;;;;;;;;;-1:-1:-1;8850:197:0;;;;;:::i;:::-;;:::i;6528:27::-;;;;;;;;;;-1:-1:-1;6528:27:0;;;;-1:-1:-1;;;;;6528:27:0;;;6209:188;;;;;;;;;;-1:-1:-1;6209:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;6361:19:0;;;6329:7;6361:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6209:188;1036:229;;;;;;;;;;-1:-1:-1;1036:229:0;;;;;:::i;:::-;;:::i;9055:193::-;9159:4;9181:37;9190:10;9202:7;9211:6;9181:8;:37::i;:::-;-1:-1:-1;9236:4:0;9055:193;;;;;:::o;10027:118::-;757:7;784:6;-1:-1:-1;;;;;784:6:0;315:10;846:23;838:68;;;;-1:-1:-1;;;838:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10110:17:0;;;::::1;;::::0;;;:8:::1;:17;::::0;;;;:27;;-1:-1:-1;;10110:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10027:118::o;5618:100::-;5673:7;6978:13;6707:2;6978;:13;:::i;:::-;6962:29;;:13;:29;:::i;:::-;5693:17;;5618:100;:::o;6925:66::-;6978:13;6707:2;6978;:13;:::i;:::-;6962:29;;:13;:29;:::i;:::-;6925:66;:::o;9559:340::-;-1:-1:-1;;;;;9714:19:0;;9693:4;9714:19;;;:11;:19;;;;;;;;9734:10;9714:31;;;;;;;;-1:-1:-1;;9714:52:0;9710:126;;-1:-1:-1;;;;;9783:19:0;;;;;;:11;:19;;;;;;;;9803:10;9783:31;;;;;;;:41;;9818:6;;9783:19;:41;;9818:6;;9783:41;:::i;:::-;;;;-1:-1:-1;;9710:126:0;9855:36;9865:6;9873:9;9884:6;9855:9;:36::i;:::-;9848:43;9559:340;-1:-1:-1;;;;9559:340:0:o;8080:725::-;757:7;784:6;-1:-1:-1;;;;;784:6:0;315:10;846:23;838:68;;;;-1:-1:-1;;;838:68:0;;;;;;;:::i;:::-;8141:17:::1;::::0;-1:-1:-1;;;8141:17:0;::::1;;;8140:18;8132:51;;;::::0;-1:-1:-1;;;8132:51:0;;6204:2:1;8132:51:0::1;::::0;::::1;6186:21:1::0;6243:2;6223:18;;;6216:30;-1:-1:-1;;;6262:18:1;;;6255:50;6322:18;;8132:51:0::1;6002:344:1::0;8132:51:0::1;8226:10;::::0;8194:63:::1;::::0;8211:4:::1;::::0;-1:-1:-1;;;;;8226:10:0::1;-1:-1:-1::0;;8194:8:0::1;:63::i;:::-;8290:10;;;;;;;;;-1:-1:-1::0;;;;;8290:10:0::1;-1:-1:-1::0;;;;;8290:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8279:43:0::1;;8337:10;;;;;;;;;-1:-1:-1::0;;;;;8337:10:0::1;-1:-1:-1::0;;;;;8337:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8279:114;::::0;-1:-1:-1;;;;;;8279:114:0::1;::::0;;;;;;-1:-1:-1;;;;;6837:15:1;;;8279:114:0::1;::::0;::::1;6819:34:1::0;8377:4:0::1;6869:18:1::0;;;6862:43;6754:18;;8279:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8270:6;:123:::0;;-1:-1:-1;;;;;8270:123:0;;::::1;-1:-1:-1::0;;;;;;8270:123:0;;::::1;::::0;::::1;::::0;;;:6:::1;8404:18:::0;;;:10:::1;:18;::::0;;;;;;;:25;;-1:-1:-1;;8404:25:0::1;8270:123:::0;8404:25;;::::1;::::0;;;8442:10;8521:4:::1;8541:22:::0;;;:7:::1;:22:::0;;;;;;;8442:10;::::1;::::0;:26:::1;::::0;8476:21:::1;::::0;8521:4;8541:22;8270:6;8610:7:::1;757::::0;784:6;-1:-1:-1;;;;;784:6:0;;711:87;8610:7:::1;8442:216;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8442:216:0;;;-1:-1:-1;;;;;7275:15:1;;;8442:216:0::1;::::0;::::1;7257:34:1::0;7307:18;;;7300:34;;;;7350:18;;;7343:34;;;;7393:18;;;7386:34;7457:15;;;7436:19;;;7429:44;8632:15:0::1;7489:19:1::0;;;7482:35;7191:19;;8442:216:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8676:6:0::1;::::0;;8700:10;8669:62:::1;::::0;-1:-1:-1;;;8669:62:0;;-1:-1:-1;;;;;8700:10:0;;::::1;8669:62;::::0;::::1;8013:51:1::0;-1:-1:-1;;8080:18:1;;;8073:34;8676:6:0;::::1;::::0;-1:-1:-1;8669:22:0::1;::::0;7986:18:1;;8669:62:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8744:17:0::1;:24:::0;;-1:-1:-1;;;;8744:24:0::1;-1:-1:-1::0;;;8744:24:0::1;::::0;;8779:11:::1;:18:::0;;-1:-1:-1;;8779:18:0::1;8764:4;8779:18;::::0;;8080:725::o;5726:160::-;5778:5;6978:13;6707:2;6978;:13;:::i;:::-;6962:29;;:13;:29;:::i;:::-;5814:1;5800:15;5796:56;;5832:8;;;5796:56;-1:-1:-1;6707:2:0;;5726:160::o;13650:143::-;757:7;784:6;-1:-1:-1;;;;;784:6:0;315:10;846:23;838:68;;;;-1:-1:-1;;;838:68:0;;;;;;;:::i;:::-;13713:9:::1;:16:::0;;;13740:8:::1;:15:::0;;;13783:1:::1;13776:8:::0;::::1;13768:17;;;::::0;::::1;;13650:143:::0;:::o;934:94::-;757:7;784:6;-1:-1:-1;;;;;784:6:0;315:10;846:23;838:68;;;;-1:-1:-1;;;838:68:0;;;;;;;:::i;:::-;999:21:::1;1017:1;999:9;:21::i;:::-;934:94::o:0;13801:88::-;757:7;784:6;-1:-1:-1;;;;;784:6:0;315:10;846:23;838:68;;;;-1:-1:-1;;;838:68:0;;;;;;;:::i;:::-;6978:13:::1;6707:2;6978;:13;:::i;:::-;6962:29;::::0;:13:::1;:29;:::i;:::-;13855:13;:26:::0;13801:88::o;8850:197::-;8955:4;8977:40;8987:10;8999:9;9010:6;8977:9;:40::i;:::-;-1:-1:-1;9035:4:0;;8850:197;-1:-1:-1;;;8850:197:0:o;1036:229::-;757:7;784:6;-1:-1:-1;;;;;784:6:0;315:10;846:23;838:68;;;;-1:-1:-1;;;838:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1139:22:0;::::1;1117:110;;;::::0;-1:-1:-1;;;1117:110:0;;8570:2:1;1117:110:0::1;::::0;::::1;8552:21:1::0;8609:2;8589:18;;;8582:30;8648:34;8628:18;;;8621:62;-1:-1:-1;;;8699:18:1;;;8692:36;8745:19;;1117:110:0::1;8368:402:1::0;1117:110:0::1;1238:19;1248:8;1238:9;:19::i;9256:295::-:0;-1:-1:-1;;;;;9385:20:0;;9377:52;;;;-1:-1:-1;;;9377:52:0;;8977:2:1;9377:52:0;;;8959:21:1;9016:2;8996:18;;;8989:30;-1:-1:-1;;;9035:18:1;;;9028:49;9094:18;;9377:52:0;8775:343:1;9377:52:0;-1:-1:-1;;;;;9448:21:0;;9440:53;;;;-1:-1:-1;;;9440:53:0;;8977:2:1;9440:53:0;;;8959:21:1;9016:2;8996:18;;;8989:30;-1:-1:-1;;;9035:18:1;;;9028:49;9094:18;;9440:53:0;8775:343:1;9440:53:0;-1:-1:-1;;;;;9506:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;9256:295::o;10548:1406::-;10661:4;-1:-1:-1;;;;;10686:16:0;;10678:56;;;;-1:-1:-1;;;10678:56:0;;9325:2:1;10678:56:0;;;9307:21:1;9364:2;9344:18;;;9337:30;9403:29;9383:18;;;9376:57;9450:18;;10678:56:0;9123:351:1;10678:56:0;-1:-1:-1;;;;;10753:18:0;;10745:53;;;;-1:-1:-1;;;10745:53:0;;9681:2:1;10745:53:0;;;9663:21:1;9720:2;9700:18;;;9693:30;-1:-1:-1;;;9739:18:1;;;9732:52;9801:18;;10745:53:0;9479:346:1;10745:53:0;10840:1;10831:6;:10;10809:114;;;;-1:-1:-1;;;10809:114:0;;10032:2:1;10809: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;;10809:114:0;9830:418:1;10809:114:0;-1:-1:-1;;;;;10941:14:0;;;;;;:8;:14;;;;;;;;10940:15;:32;;;;-1:-1:-1;;;;;;10960:12:0;;;;;;:8;:12;;;;;;;;10959:13;10940:32;10936:249;;;-1:-1:-1;;;;;10993:14:0;;;;;;:10;:14;;;;;;;;10989:117;;11058:13;;-1:-1:-1;;;;;11034:11:0;;;;;;:7;:11;;;;;;:20;;11048:6;;11034:20;:::i;:::-;:37;;11026:80;;;;-1:-1:-1;;;11026:80:0;;10585:2:1;11026:80:0;;;10567:21:1;10624:2;10604:18;;;10597:30;10663:32;10643:18;;;10636:60;10713:18;;11026:80:0;10383:354:1;11026:80:0;11129:17;;-1:-1:-1;;;11129:17:0;;;;11121:52;;;;-1:-1:-1;;;11121:52:0;;10944:2:1;11121:52:0;;;10926:21:1;10983:2;10963:18;;;10956:30;-1:-1:-1;;;11002:18:1;;;10995:52;11064:18;;11121:52:0;10742:346:1;11121:52:0;11200:6;;-1:-1:-1;;;11200:6:0;;;;11199:7;:25;;;;-1:-1:-1;;;;;;11210:14:0;;;;;;:10;:14;;;;;;;;11199:25;:46;;;;-1:-1:-1;11228:17:0;;-1:-1:-1;;;11228:17:0;;;;11199:46;:74;;;;-1:-1:-1;6838:9:0;6978:13;6707:2;6978;:13;:::i;:::-;6962:29;;:13;:29;:::i;:::-;6820:14;;6833:1;6820:14;:::i;:::-;6819:28;;;;:::i;:::-;11249:6;:24;;11199:74;11195:474;;;11339:4;11290:28;6498:16;;;:7;:16;;;;;;11290:55;-1:-1:-1;6838:9:0;6978:13;6707:2;6978;:13;:::i;:::-;6962:29;;:13;:29;:::i;:::-;6820:14;;6833:1;6820:14;:::i;:::-;6819:28;;;;:::i;:::-;11364:20;:38;11360:238;;6915:3;6978:13;6707:2;6978;:13;:::i;:::-;6962:29;;:13;:29;:::i;:::-;6897:14;;6910:1;6897:14;:::i;:::-;6896:22;;;;:::i;:::-;11427:20;:38;11423:102;;6915:3;6978:13;6707:2;6978;:13;:::i;:::-;6962:29;;:13;:29;:::i;:::-;6897:14;;6910:1;6897:14;:::i;:::-;6896:22;;;;:::i;:::-;11488:37;;11423:102;11544:38;11561:20;11544:16;:38::i;:::-;11612:13;;:45;;-1:-1:-1;;;;;11612:13:0;;;;;;;;;11635:21;11612:45;;;;;;;;;11635:21;11612:13;:45;;;;;;;;;;;;;;;;;;;;;11275:394;11195:474;11681:18;11702:67;11712:4;11717:2;11720:19;11730:4;11736:2;11720:9;:19::i;:::-;11740:20;11751:4;11757:2;11740:10;:20::i;:::-;11762:6;11702:9;:67::i;:::-;11681:88;-1:-1:-1;11798:19:0;11681:88;11798:6;:19;:::i;:::-;-1:-1:-1;;;;;11780:13:0;;;;;;:7;:13;;;;;:38;;:13;;;:38;;;;;:::i;:::-;;;;-1:-1:-1;11845:19:0;;-1:-1:-1;11854:10:0;11845:6;:19;:::i;:::-;-1:-1:-1;;;;;11829:11:0;;;;;;:7;:11;;;;;:36;;:11;;;:36;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11881:41:0;;;;;;;11901:19;11910:10;11901:6;:19;:::i;:::-;11881:41;;1871:25:1;;;1859:2;1844:18;11881:41:0;;;;;;;-1:-1:-1;11942:4:0;;10548:1406;-1:-1:-1;;;;10548:1406:0:o;1273:173::-;1329:16;1348:6;;-1:-1:-1;;;;;1365:17:0;;;-1:-1:-1;;;;;;1365:17:0;;;;;;1398:40;;1348:6;;;;;;;1398:40;;1329:16;1398:40;1318:128;1273:173;:::o;12905:737::-;7652:6;:13;;-1:-1:-1;;;;7652:13:0;-1:-1:-1;;;7652:13:0;;;13037:16:::1;::::0;;13051:1:::1;13037:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13037:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13037:16:0::1;13013:40;;13082:4;13064;13069:1;13064:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13064:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13108:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;13108:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;13064:7;;13108:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13098:4;13103:1;13098:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13098:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:27;;;;13176:4:::1;13156:26;::::0;;;:11:::1;:26:::0;;;;;;13191:10:::1;::::0;;;::::1;13156:47:::0;;;;;;;;-1:-1:-1;;13156:68:0::1;13138:192;;13271:4;13251:26;::::0;;;:11:::1;:26;::::0;;;;;;;13286:10:::1;::::0;-1:-1:-1;;;;;13286:10:0::1;13251:47:::0;;;;;;;-1:-1:-1;;13251:67:0;;13138:192:::1;13359:10;::::0;:224:::1;::::0;-1:-1:-1;;;13359:224:0;;-1:-1:-1;;;;;13359:10:0;;::::1;::::0;:61:::1;::::0;:224:::1;::::0;13439:20;;13359:10:::1;::::0;13498:4;;13529::::1;::::0;13553:15:::1;::::0;13359:224:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13342:293;;13617:7;;;13342:293;13002:640;7676:1;-1:-1:-1::0;7688:6:0;:14;;-1:-1:-1;;;;7688:14:0;;;12905:737::o;10153:172::-;-1:-1:-1;;;;;10257:13:0;;10221:4;10257:13;;;:8;:13;;;;;;10221:4;;10257:13;;10256:14;:33;;;;-1:-1:-1;;;;;;;;;10274:15:0;;;;;:10;:15;;;;;;;;;10153:172::o;10333:207::-;-1:-1:-1;;;;;10470:15:0;;10429:4;10470:15;;;:10;:15;;;;;;10429:4;;10470:15;;:33;;;;-1:-1:-1;;;;;;;;;10490:13:0;;;;;:8;:13;;;;;;;;10489:14;;10333:207::o;11962:935::-;12118:7;;12164:68;;;;-1:-1:-1;12181:9:0;;12164:68;;;12210:6;12206:26;;;-1:-1:-1;12224:8:0;;12206:26;12243:17;7034:3;12264:12;12273:3;12264:6;:12;:::i;:::-;12263:26;;;;:::i;:::-;12311:13;;12243:46;;-1:-1:-1;;;;;;12311:13:0;;;;;;12303:21;;;;12300:371;;12343:13;;12340:280;;-1:-1:-1;;;;;12376:13:0;;;;;;:7;:13;;;;;:26;;12393:9;;12376:13;:26;;12393:9;;12376:26;:::i;:::-;;;;-1:-1:-1;;12437:4:0;12421:22;;;;:7;:22;;;;;:35;;12447:9;;12421:22;:35;;12447:9;;12421:35;:::i;:::-;;;;-1:-1:-1;;12480:40:0;;1871:25:1;;;12503:4:0;;-1:-1:-1;;;;;12480:40:0;;;;;1859:2:1;1844:18;12480:40:0;;;;;;;12340:280;;;12588:16;12595:9;12588:6;:16;:::i;:::-;-1:-1:-1;;;;;12573:11:0;;;;;;:7;:11;;;;;:31;;:11;;;:31;;;;;:::i;:::-;;;;-1:-1:-1;;12340:280:0;12641:18;12650:9;12641:6;:18;:::i;:::-;12634:25;;;;;;12300:371;12685:13;;12681:182;;-1:-1:-1;;;;;12715:13:0;;;;;;:7;:13;;;;;:26;;12732:9;;12715:13;:26;;12732:9;;12715:26;:::i;:::-;;;;-1:-1:-1;;12772:4:0;12756:22;;;;:7;:22;;;;;:35;;12782:9;;12756:22;:35;;12782:9;;12756:35;:::i;:::-;;;;-1:-1:-1;;12811:40:0;;1871:25:1;;;12834:4:0;;-1:-1:-1;;;;;12811:40:0;;;;;1859:2:1;1844:18;12811:40:0;;;;;;;12681:182;12880:9;-1:-1:-1;;11962:935:0;;;;;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:118::-;1301:5;1294:13;1287:21;1280:5;1277:32;1267:60;;1323:1;1320;1313:12;1338:382;1403:6;1411;1464:2;1452:9;1443:7;1439:23;1435:32;1432:52;;;1480:1;1477;1470:12;1432:52;1519:9;1506:23;1538:31;1563:5;1538:31;:::i;:::-;1588:5;-1:-1:-1;1645:2:1;1630:18;;1617:32;1658:30;1617:32;1658:30;:::i;:::-;1707:7;1697:17;;;1338: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;6351:251::-;6421:6;6474:2;6462:9;6453:7;6449:23;6445:32;6442:52;;;6490:1;6487;6480:12;6442:52;6522:9;6516:16;6541:31;6566:5;6541:31;:::i;7528:306::-;7616:6;7624;7632;7685:2;7673:9;7664:7;7660:23;7656:32;7653:52;;;7701:1;7698;7691:12;7653:52;7730:9;7724:16;7714:26;;7780:2;7769:9;7765:18;7759:25;7749:35;;7824:2;7813:9;7809:18;7803:25;7793:35;;7528:306;;;;;:::o;8118:245::-;8185:6;8238:2;8226:9;8217:7;8213:23;8209:32;8206:52;;;8254:1;8251;8244:12;8206:52;8286:9;8280:16;8305:28;8327:5;8305:28;:::i;10253:125::-;10318:9;;;10339:10;;;10336:36;;;10352: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://c3e91bd6b205a1e5773ec778f207610e6b9974129ede858dc0b8a432e3c928ca
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.