ETH Price: $2,634.26 (+0.20%)
Gas: 2 Gwei

Token

MOONRISE (MOONRISE)
 

Overview

Max Total Supply

1,000,000,000 MOONRISE

Holders

69

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
ionverse.eth
Balance
1,701,064.340490991150593588 MOONRISE

Value
$0.00
0xb7d8b2a484347484a7fe5e0edd0c848d531db647
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:
MoonRise

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
Twitter: https://twitter.com/MoonRiseETH
Website: https://www.moonriseeth.com/
Telegram: https://t.me/MoonRiseETH
Threads: https://www.threads.net/@moonriseeth
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

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

    function WETH() external pure returns (address);

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

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

contract MoonRise is IERC20, Ownable {
    event Reflect(uint256 amountReflected, uint256 newTotalProportion);
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    uint256 constant MAX_FEE = 100;

    IUniswapV2Router02 public constant UNISWAP_V2_ROUTER =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public immutable UNISWAP_V2_PAIR;

    struct Fee {
        uint8 reflection;
        uint8 marketing;
        uint8 lp;
        uint8 buyback;
        uint8 burn;
        uint128 total;
    }

    string _name;
    string _symbol;

    uint256 _totalSupply = 1_000_000_000 ether;
    uint256 public _maxTxAmount = _totalSupply * 2 / 100;

    /* rOwned = ratio of tokens owned relative to circulating supply (NOT total supply, since circulating <= total) */
    mapping(address => uint256) public _rOwned;
    uint256 public _totalProportion = _totalSupply;

    mapping(address => mapping(address => uint256)) _allowances;

    bool public limitsEnabled = true;
    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;

    Fee public buyFee = Fee({reflection: 0, marketing: 25, lp: 0, buyback: 0, burn: 0, total: 25});
    Fee public sellFee = Fee({reflection: 0, marketing: 25, lp: 0, buyback: 0, burn: 0, total: 25});

    address private marketingFeeReceiver;
    address private lpFeeReceiver;
    address private buybackFeeReceiver;

    bool public claimingFees = true;
    uint256 public swapThreshold = (_totalSupply * 2) / 1000;
    bool inSwap;
    mapping(address => bool) public blacklists;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(string memory _name_, string memory _symbol_, address _marketingFeeReceiver, address _lpFeeReceiver, address _buybackFeeReceiver) {
        _name = _name_;
        _symbol = _symbol_;
        // create uniswap pair
        address _uniswapPair =
            IUniswapV2Factory(UNISWAP_V2_ROUTER.factory()).createPair(address(this), UNISWAP_V2_ROUTER.WETH());
        UNISWAP_V2_PAIR = _uniswapPair;

        _allowances[address(this)][address(UNISWAP_V2_ROUTER)] = type(uint256).max;
        _allowances[address(this)][tx.origin] = type(uint256).max;

        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(UNISWAP_V2_ROUTER)] = true;
        isTxLimitExempt[_uniswapPair] = true;
        isTxLimitExempt[tx.origin] = true;
        isFeeExempt[tx.origin] = true;

        marketingFeeReceiver = _marketingFeeReceiver;
        lpFeeReceiver = _lpFeeReceiver;
        buybackFeeReceiver = _buybackFeeReceiver;

        _rOwned[tx.origin] = _totalSupply;
        emit Transfer(address(0), tx.origin, _totalSupply);
    }

    receive() external payable {}

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

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

        return _transferFrom(sender, recipient, amount);
    }

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function decimals() external pure returns (uint8) {
        return 18;
    }

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

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

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

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

    function tokensToProportion(uint256 tokens) public view returns (uint256) {
        return tokens * _totalProportion / _totalSupply;
    }

    function tokenFromReflection(uint256 proportion) public view returns (uint256) {
        return proportion * _totalSupply / _totalProportion;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }

    function clearStuckBalance() external onlyOwner {
        (bool success,) = payable(msg.sender).call{value: address(this).balance}("");
        require(success);
    }

    function clearStuckToken() external onlyOwner {
        _transferFrom(address(this), msg.sender, balanceOf(address(this)));
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        claimingFees = _enabled;
        swapThreshold = _amount;
    }

    function changeFees(
        uint8 reflectionFeeBuy,
        uint8 marketingFeeBuy,
        uint8 lpFeeBuy,
        uint8 buybackFeeBuy,
        uint8 burnFeeBuy,
        uint8 reflectionFeeSell,
        uint8 marketingFeeSell,
        uint8 lpFeeSell,
        uint8 buybackFeeSell,
        uint8 burnFeeSell
    ) external onlyOwner {
        uint128 __totalBuyFee = reflectionFeeBuy + marketingFeeBuy + lpFeeBuy + buybackFeeBuy + burnFeeBuy;
        uint128 __totalSellFee = reflectionFeeSell + marketingFeeSell + lpFeeSell + buybackFeeSell + burnFeeSell;

        require(__totalBuyFee <= MAX_FEE, "Buy fees too high");
        require(__totalSellFee <= MAX_FEE, "Sell fees too high");

        buyFee = Fee({
            reflection: reflectionFeeBuy,
            marketing: reflectionFeeBuy,
            lp: reflectionFeeBuy,
            buyback: reflectionFeeBuy,
            burn: burnFeeBuy,
            total: __totalBuyFee
        });

        sellFee = Fee({
            reflection: reflectionFeeSell,
            marketing: reflectionFeeSell,
            lp: reflectionFeeSell,
            buyback: reflectionFeeSell,
            burn: burnFeeSell,
            total: __totalSellFee
        });
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setWalletsFeeExempt(address[] calldata wallets, bool exempt) external onlyOwner {
        for (uint256 i; i < wallets.length; i++) {
            isFeeExempt[wallets[i]] = exempt;
        }
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    function setFeeReceivers(address m_, address lp_, address b_) external onlyOwner {
        marketingFeeReceiver = m_;
        lpFeeReceiver = lp_;
        buybackFeeReceiver = b_;
    }

    function setMaxTxBasisPoint(uint256 p_) external onlyOwner {
        _maxTxAmount = _totalSupply * p_ / 10000;
    }

    function setLimitsEnabled(bool e_) external onlyOwner {
        limitsEnabled = e_;
    }

    function blacklist(address _address, bool _isBlacklisting) external onlyOwner {
        blacklists[_address] = _isBlacklisting;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(!blacklists[recipient] && !blacklists[sender], "Blacklisted");

        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (limitsEnabled) {
            if (sender != UNISWAP_V2_PAIR && !isTxLimitExempt[recipient]) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
                require(balanceOf(recipient) + amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            } else if (!isTxLimitExempt[recipient]) {
                require(balanceOf(recipient) + amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }
        }

        if (_shouldSwapBack()) {
            _swapBack();
        }

        uint256 proportionAmount = tokensToProportion(amount);
        require(_rOwned[sender] >= proportionAmount, "Insufficient Balance");
        _rOwned[sender] = _rOwned[sender] - proportionAmount;

        uint256 proportionReceived = _shouldTakeFee(sender, recipient)
            ? _takeFeeInProportions(sender == UNISWAP_V2_PAIR ? true : false, sender, proportionAmount)
            : proportionAmount;
        _rOwned[recipient] = _rOwned[recipient] + proportionReceived;

        emit Transfer(sender, recipient, tokenFromReflection(proportionReceived));
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 proportionAmount = tokensToProportion(amount);
        require(_rOwned[sender] >= proportionAmount, "Insufficient Balance");
        _rOwned[sender] = _rOwned[sender] - proportionAmount;
        _rOwned[recipient] = _rOwned[recipient] + proportionAmount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _takeFeeInProportions(bool buying, address sender, uint256 proportionAmount) internal returns (uint256) {
        Fee memory __buyFee = buyFee;
        Fee memory __sellFee = sellFee;

        uint256 proportionFeeAmount =
            buying == true ? proportionAmount * __buyFee.total / 100 : proportionAmount * __sellFee.total / 100;

        // reflect
        uint256 proportionReflected = buying == true
            ? proportionFeeAmount * __buyFee.reflection / __buyFee.total
            : proportionFeeAmount * __sellFee.reflection / __sellFee.total;

        _totalProportion = _totalProportion - proportionReflected;

        // take fees
        uint256 _proportionToContract = proportionFeeAmount - proportionReflected;
        if (_proportionToContract > 0) {
            _rOwned[address(this)] = _rOwned[address(this)] + _proportionToContract;

            emit Transfer(sender, address(this), tokenFromReflection(_proportionToContract));
        }
        emit Reflect(proportionReflected, _totalProportion);
        return proportionAmount - proportionFeeAmount;
    }

    function _shouldSwapBack() internal view returns (bool) {
        return msg.sender != UNISWAP_V2_PAIR && !inSwap && claimingFees && balanceOf(address(this)) >= swapThreshold;
    }

    function _swapBack() internal swapping {
        Fee memory __sellFee = sellFee;

        uint256 __swapThreshold = swapThreshold;
        uint256 amountToBurn = __swapThreshold * __sellFee.burn / __sellFee.total;
        uint256 amountToSwap = __swapThreshold - amountToBurn;
        approve(address(UNISWAP_V2_ROUTER), amountToSwap);

        // burn
        _transferFrom(address(this), DEAD, amountToBurn);

        // swap
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = UNISWAP_V2_ROUTER.WETH();

        UNISWAP_V2_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap, 0, path, address(this), block.timestamp
        );

        uint256 amountETH = address(this).balance;

        uint256 totalSwapFee = __sellFee.total - __sellFee.reflection - __sellFee.burn;
        uint256 amountETHMarketing = amountETH * __sellFee.marketing / totalSwapFee;
        uint256 amountETHLP = amountETH * __sellFee.lp / totalSwapFee;
        uint256 amountETHBuyback = amountETH * __sellFee.buyback / totalSwapFee;

        // send
        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(lpFeeReceiver).call{value: amountETHLP}("");
        (tmpSuccess,) = payable(buybackFeeReceiver).call{value: amountETHBuyback}("");
    }

    function _shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name_","type":"string"},{"internalType":"string","name":"_symbol_","type":"string"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_lpFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"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":false,"internalType":"uint256","name":"amountReflected","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalProportion","type":"uint256"}],"name":"Reflect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"UNISWAP_V2_PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_V2_ROUTER","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rOwned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalProportion","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":"spender","type":"address"}],"name":"approveMax","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":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"marketing","type":"uint8"},{"internalType":"uint8","name":"lp","type":"uint8"},{"internalType":"uint8","name":"buyback","type":"uint8"},{"internalType":"uint8","name":"burn","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"reflectionFeeBuy","type":"uint8"},{"internalType":"uint8","name":"marketingFeeBuy","type":"uint8"},{"internalType":"uint8","name":"lpFeeBuy","type":"uint8"},{"internalType":"uint8","name":"buybackFeeBuy","type":"uint8"},{"internalType":"uint8","name":"burnFeeBuy","type":"uint8"},{"internalType":"uint8","name":"reflectionFeeSell","type":"uint8"},{"internalType":"uint8","name":"marketingFeeSell","type":"uint8"},{"internalType":"uint8","name":"lpFeeSell","type":"uint8"},{"internalType":"uint8","name":"buybackFeeSell","type":"uint8"},{"internalType":"uint8","name":"burnFeeSell","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimingFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"marketing","type":"uint8"},{"internalType":"uint8","name":"lp","type":"uint8"},{"internalType":"uint8","name":"buyback","type":"uint8"},{"internalType":"uint8","name":"burn","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"m_","type":"address"},{"internalType":"address","name":"lp_","type":"address"},{"internalType":"address","name":"b_","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e_","type":"bool"}],"name":"setLimitsEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"p_","type":"uint256"}],"name":"setMaxTxBasisPoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setWalletsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proportion","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"tokensToProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"}]

60a06040526b033b2e3c9fd0803ce80000006003556064600354600262000027919062000465565b62000033919062000491565b60045560035460068190556008805460ff191660011790556040805160c080820183526000808352601960208085018290528486018390526060808601849052608080870185905260a0968701849052600b8054651900000019006001600160a81b0319918216811790925589519788018a528688529387018590529786018590529085018490528401929092529190920152600c80549091169091179055600f805460ff60a01b1916600160a01b1790556103e890620000f690600262000465565b62000102919062000491565b6010553480156200011257600080fd5b5060405162002a6638038062002a66833981016040819052620001359162000596565b620001403362000415565b60016200014e8682620006c7565b5060026200015d8582620006c7565b506000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d9919062000793565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000261919062000793565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d5919062000793565b6001600160a01b038181166080819052306000818152600760209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84528252808320600019908190553280855282852091909155938352600a82528083208054600160ff1991821681179092557fc90215bb1b0ac6bfa50a3c02c4b559c695b6a8e828048a88e327592fc55c5d2c80548216831790559584528184208054871682179055848452818420805487168217905560098352818420805490961617909455600d80546001600160a01b03199081168c881617909155600e805482168b8816179055600f80549091169589169590951790945560035460058552838220819055925192835293945092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050620007b8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80820281158282048414176200048b57634e487b7160e01b600052601160045260246000fd5b92915050565b600082620004af57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620004dc57600080fd5b81516001600160401b0380821115620004f957620004f9620004b4565b604051601f8301601f19908116603f01168101908282118183101715620005245762000524620004b4565b816040528381526020925086838588010111156200054157600080fd5b600091505b8382101562000565578582018301518183018401529082019062000546565b600093810190920192909252949350505050565b80516001600160a01b03811681146200059157600080fd5b919050565b600080600080600060a08688031215620005af57600080fd5b85516001600160401b0380821115620005c757600080fd5b620005d589838a01620004ca565b96506020880151915080821115620005ec57600080fd5b50620005fb88828901620004ca565b9450506200060c6040870162000579565b92506200061c6060870162000579565b91506200062c6080870162000579565b90509295509295909350565b600181811c908216806200064d57607f821691505b6020821081036200066e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006c257600081815260208120601f850160051c810160208610156200069d5750805b601f850160051c820191505b81811015620006be57828155600101620006a9565b5050505b505050565b81516001600160401b03811115620006e357620006e3620004b4565b620006fb81620006f4845462000638565b8462000674565b602080601f8311600181146200073357600084156200071a5750858301515b600019600386901b1c1916600185901b178555620006be565b600085815260208120601f198616915b82811015620007645788860151825594840194600190910190840162000743565b5085821015620007835787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007a657600080fd5b620007b18262000579565b9392505050565b60805161227d620007e96000396000818161078b0152818161114f0152818161133901526115ee015261227d6000f3fe6080604052600436106102295760003560e01c8063658d4b7f11610123578063c38a31de116100ab578063e186ec741161006f578063e186ec7414610719578063e6f4a2f814610739578063f2fde38b14610759578063f40acc3d14610779578063f84ba65d146107ad57600080fd5b8063c38a31de1461065e578063d7c010321461067e578063d85a28281461069e578063dd62ed3e146106b3578063df20fd49146106f957600080fd5b80638da5cb5b116100f25780638da5cb5b146105ae57806395d89b41146105e0578063a82ed9ec146105f5578063a9059cbb1461061d578063b0f7ec381461063d57600080fd5b8063658d4b7f1461054357806370a0823114610563578063715018a6146105835780637d1db4a51461059857600080fd5b80632b14ca56116101b1578063404e512911610175578063404e51291461047157806341aea9de1461049157806345ce5365146104b157806347062402146104d1578063571ac8b01461052357600080fd5b80632b14ca561461036d5780632d83811914610404578063313ce567146104245780633582ad2314610440578063364333f41461045a57600080fd5b806316c02129116101f857806316c02129146102dd578063178002871461030d57806318160ddd1461032357806323b872dd146103385780632b112e491461035857600080fd5b80630445b6671461023557806306fdde031461025e578063095ea7b3146102805780630cfc15f9146102b057600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024b60105481565b6040519081526020015b60405180910390f35b34801561026a57600080fd5b506102736107cd565b6040516102559190611cf9565b34801561028c57600080fd5b506102a061029b366004611d5c565b61085f565b6040519015158152602001610255565b3480156102bc57600080fd5b5061024b6102cb366004611d88565b60056020526000908152604090205481565b3480156102e957600080fd5b506102a06102f8366004611d88565b60126020526000908152604090205460ff1681565b34801561031957600080fd5b5061024b60065481565b34801561032f57600080fd5b5060035461024b565b34801561034457600080fd5b506102a0610353366004611da5565b6108cc565b34801561036457600080fd5b5061024b6109d9565b34801561037957600080fd5b50600c546103bf9060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b6040805160ff9788168152958716602087015293861693850193909352908416606084015290921660808201526001600160801b0390911660a082015260c001610255565b34801561041057600080fd5b5061024b61041f366004611de6565b610a0c565b34801561043057600080fd5b5060405160128152602001610255565b34801561044c57600080fd5b506008546102a09060ff1681565b34801561046657600080fd5b5061046f610a29565b005b34801561047d57600080fd5b5061046f61048c366004611e14565b610a89565b34801561049d57600080fd5b5061046f6104ac366004611e49565b610abc565b3480156104bd57600080fd5b5061024b6104cc366004611de6565b610ad7565b3480156104dd57600080fd5b50600b546103bf9060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b34801561052f57600080fd5b506102a061053e366004611d88565b610aea565b34801561054f57600080fd5b5061046f61055e366004611e14565b610af8565b34801561056f57600080fd5b5061024b61057e366004611d88565b610b2b565b34801561058f57600080fd5b5061046f610b4d565b3480156105a457600080fd5b5061024b60045481565b3480156105ba57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610255565b3480156105ec57600080fd5b50610273610b61565b34801561060157600080fd5b506105c8737a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561062957600080fd5b506102a0610638366004611d5c565b610b70565b34801561064957600080fd5b50600f546102a090600160a01b900460ff1681565b34801561066a57600080fd5b5061046f610679366004611e75565b610b7d565b34801561068a57600080fd5b5061046f610699366004611f2f565b610ecc565b3480156106aa57600080fd5b5061046f610f13565b3480156106bf57600080fd5b5061024b6106ce366004611f7a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561070557600080fd5b5061046f610714366004611fb3565b610f2e565b34801561072557600080fd5b5061046f610734366004611de6565b610f58565b34801561074557600080fd5b5061046f610754366004611fcf565b610f81565b34801561076557600080fd5b5061046f610774366004611d88565b611000565b34801561078557600080fd5b506105c87f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b957600080fd5b5061046f6107c8366004611e14565b611076565b6060600180546107dc90612053565b80601f016020809104026020016040519081016040528092919081815260200182805461080890612053565b80156108555780601f1061082a57610100808354040283529160200191610855565b820191906000526020600020905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108ba9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146109c4576001600160a01b03841660009081526007602090815260408083203384529091529020548211156109705760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064015b60405180910390fd5b6001600160a01b038416600090815260076020908152604080832033845290915290205461099f9083906120a3565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b6109cf8484846110a9565b90505b9392505050565b60006109e56000610b2b565b6109f061dead610b2b565b6003546109fd91906120a3565b610a0791906120a3565b905090565b600060065460035483610a1f91906120b6565b6108c691906120cd565b610a3161140e565b604051600090339047908381818185875af1925050503d8060008114610a73576040519150601f19603f3d011682016040523d82523d6000602084013e610a78565b606091505b5050905080610a8657600080fd5b50565b610a9161140e565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b610ac461140e565b6008805460ff1916911515919091179055565b600060035460065483610a1f91906120b6565b60006108c68260001961085f565b610b0061140e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152600560205260408120546108c690610a0c565b610b5561140e565b610b5f6000611468565b565b6060600280546107dc90612053565b60006109d23384846110a9565b610b8561140e565b600086888a610b948d8f6120ef565b610b9e91906120ef565b610ba891906120ef565b610bb291906120ef565b60ff1690506000828486610bc6898b6120ef565b610bd091906120ef565b610bda91906120ef565b610be491906120ef565b60ff1690506064826001600160801b03161115610c375760405162461bcd60e51b8152602060048201526011602482015270084eaf240cccacae640e8dede40d0d2ced607b1b6044820152606401610967565b6064816001600160801b03161115610c865760405162461bcd60e51b81526020600482015260126024820152710a6cad8d840cccacae640e8dede40d0d2ced60731b6044820152606401610967565b6040518060c001604052808d60ff1681526020018d60ff1681526020018d60ff1681526020018d60ff1681526020018960ff168152602001836001600160801b0316815250600b60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816001600160801b0302191690836001600160801b031602179055509050506040518060c001604052808860ff1681526020018860ff1681526020018860ff1681526020018860ff1681526020018460ff168152602001826001600160801b0316815250600c60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816001600160801b0302191690836001600160801b03160217905550905050505050505050505050505050565b610ed461140e565b600d80546001600160a01b039485166001600160a01b031991821617909155600e805493851693821693909317909255600f8054919093169116179055565b610f1b61140e565b610a863033610f2930610b2b565b6110a9565b610f3661140e565b600f8054921515600160a01b0260ff60a01b1990931692909217909155601055565b610f6061140e565b61271081600354610f7191906120b6565b610f7b91906120cd565b60045550565b610f8961140e565b60005b82811015610ffa578160096000868685818110610fab57610fab612108565b9050602002016020810190610fc09190611d88565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610ff28161211e565b915050610f8c565b50505050565b61100861140e565b6001600160a01b03811661106d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610967565b610a8681611468565b61107e61140e565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b03821660009081526012602052604081205460ff161580156110eb57506001600160a01b03841660009081526012602052604090205460ff16155b6111255760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610967565b60115460ff16156111425761113b8484846114b8565b90506109d2565b60085460ff161561125e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316141580156111a857506001600160a01b0383166000908152600a602052604090205460ff16155b15611209576004548211156111cf5760405162461bcd60e51b815260040161096790612137565b600454826111dc85610b2b565b6111e6919061217f565b11156112045760405162461bcd60e51b815260040161096790612137565b61125e565b6001600160a01b0383166000908152600a602052604090205460ff1661125e576004548261123685610b2b565b611240919061217f565b111561125e5760405162461bcd60e51b815260040161096790612137565b6112666115e1565b156112735761127361164e565b600061127e83610ad7565b6001600160a01b0386166000908152600560205260409020549091508111156112e05760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610967565b6001600160a01b0385166000908152600560205260409020546113049082906120a3565b6001600160a01b03861660009081526005602052604081209190915561132a8686611a40565b6113345781611381565b6113817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b03161461137757600061137a565b60015b8784611a86565b6001600160a01b0386166000908152600560205260409020549091506113a890829061217f565b6001600160a01b0380871660008181526005602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113f184610a0c565b60405190815260200160405180910390a350600195945050505050565b6000546001600160a01b03163314610b5f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610967565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806114c483610ad7565b6001600160a01b0386166000908152600560205260409020549091508111156115265760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610967565b6001600160a01b03851660009081526005602052604090205461154a9082906120a3565b6001600160a01b03808716600090815260056020526040808220939093559086168152205461157a90829061217f565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115ce9087815260200190565b60405180910390a3506001949350505050565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061161f575060115460ff16155b80156116345750600f54600160a01b900460ff165b8015610a07575060105461164730610b2b565b1015905090565b60118054600160ff199091161790556040805160c081018252600c5460ff80821683526101008204811660208401526201000082048116938301939093526301000000810483166060830152640100000000810490921660808201819052600160281b9092046001600160801b031660a082018190526010549192600091906116d790846120b6565b6116e191906120cd565b905060006116ef82846120a3565b905061170f737a250d5630b4cf539739df2c5dacb4c659f2488d8261085f565b5061171d3061dead846110a9565b50604080516002808252606082018352600092602083019080368337019050509050308160008151811061175357611753612108565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e99190612192565b816001815181106117fc576117fc612108565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906118549085906000908690309042906004016121af565b600060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b5050505060004790506000866080015160ff16876000015160ff168860a001516118ac9190612220565b6118b69190612220565b6001600160801b03169050600081886020015160ff16846118d791906120b6565b6118e191906120cd565b9050600082896040015160ff16856118f991906120b6565b61190391906120cd565b90506000838a6060015160ff168661191b91906120b6565b61192591906120cd565b600d546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611977576040519150601f19603f3d011682016040523d82523d6000602084013e61197c565b606091505b5050600e546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146119cc576040519150601f19603f3d011682016040523d82523d6000602084013e6119d1565b606091505b5050600f546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611a21576040519150601f19603f3d011682016040523d82523d6000602084013e611a26565b606091505b50506011805460ff19169055505050505050505050505050565b6001600160a01b03821660009081526009602052604081205460ff161580156109d25750506001600160a01b031660009081526009602052604090205460ff1615919050565b6040805160c08082018352600b5460ff8082168452610100808304821660208087019190915262010000808504841687890152630100000080860485166060808a019190915264010000000080880487166080808c01919091526001600160801b03600160281b998a9004811660a0808e01919091528d519b8c018e52600c54808b168d529889048a16978c019790975294870488169b8a019b909b5291850486169088015283049093169685019690965291909104169281019290925260009182861515600114611b7c5760648260a001516001600160801b031686611b6d91906120b6565b611b7791906120cd565b611ba1565b60648360a001516001600160801b031686611b9791906120b6565b611ba191906120cd565b90506000600188151514611bdf578260a001516001600160801b0316836000015160ff1683611bd091906120b6565b611bda91906120cd565b611c0a565b8360a001516001600160801b0316846000015160ff1683611c0091906120b6565b611c0a91906120cd565b905080600654611c1a91906120a3565b6006556000611c2982846120a3565b90508015611ca55730600090815260056020526040902054611c4c90829061217f565b306000818152600560205260409020919091556001600160a01b0389167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c9384610a0c565b60405190815260200160405180910390a35b6006546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a1611cec83886120a3565b9998505050505050505050565b600060208083528351808285015260005b81811015611d2657858101830151858201604001528201611d0a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a8657600080fd5b60008060408385031215611d6f57600080fd5b8235611d7a81611d47565b946020939093013593505050565b600060208284031215611d9a57600080fd5b81356109d281611d47565b600080600060608486031215611dba57600080fd5b8335611dc581611d47565b92506020840135611dd581611d47565b929592945050506040919091013590565b600060208284031215611df857600080fd5b5035919050565b80358015158114611e0f57600080fd5b919050565b60008060408385031215611e2757600080fd5b8235611e3281611d47565b9150611e4060208401611dff565b90509250929050565b600060208284031215611e5b57600080fd5b6109d282611dff565b803560ff81168114611e0f57600080fd5b6000806000806000806000806000806101408b8d031215611e9557600080fd5b611e9e8b611e64565b9950611eac60208c01611e64565b9850611eba60408c01611e64565b9750611ec860608c01611e64565b9650611ed660808c01611e64565b9550611ee460a08c01611e64565b9450611ef260c08c01611e64565b9350611f0060e08c01611e64565b9250611f0f6101008c01611e64565b9150611f1e6101208c01611e64565b90509295989b9194979a5092959850565b600080600060608486031215611f4457600080fd5b8335611f4f81611d47565b92506020840135611f5f81611d47565b91506040840135611f6f81611d47565b809150509250925092565b60008060408385031215611f8d57600080fd5b8235611f9881611d47565b91506020830135611fa881611d47565b809150509250929050565b60008060408385031215611fc657600080fd5b611d7a83611dff565b600080600060408486031215611fe457600080fd5b833567ffffffffffffffff80821115611ffc57600080fd5b818601915086601f83011261201057600080fd5b81358181111561201f57600080fd5b8760208260051b850101111561203457600080fd5b60209283019550935061204a9186019050611dff565b90509250925092565b600181811c9082168061206757607f821691505b60208210810361208757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108c6576108c661208d565b80820281158282048414176108c6576108c661208d565b6000826120ea57634e487b7160e01b600052601260045260246000fd5b500490565b60ff81811683821601908111156108c6576108c661208d565b634e487b7160e01b600052603260045260246000fd5b6000600182016121305761213061208d565b5060010190565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b808201808211156108c6576108c661208d565b6000602082840312156121a457600080fd5b81516109d281611d47565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121ff5784516001600160a01b0316835293830193918301916001016121da565b50506001600160a01b03969096166060850152505050608001529392505050565b6001600160801b038281168282160390808211156122405761224061208d565b509291505056fea26469706673582212206613cadd53b4d38c39bc5066600c502a3b75fa89e7a12221ddc0613752a02f1864736f6c6343000812003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000001e2a5eca52ab73b9f4c209e44d1723c998c09448000000000000000000000000d968142900f9f7e996ea6f176b709b98d01766090000000000000000000000005b980c70e07e16fc96f0eaa712ce4a398155c43500000000000000000000000000000000000000000000000000000000000000084d4f4f4e5249534500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084d4f4f4e52495345000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063658d4b7f11610123578063c38a31de116100ab578063e186ec741161006f578063e186ec7414610719578063e6f4a2f814610739578063f2fde38b14610759578063f40acc3d14610779578063f84ba65d146107ad57600080fd5b8063c38a31de1461065e578063d7c010321461067e578063d85a28281461069e578063dd62ed3e146106b3578063df20fd49146106f957600080fd5b80638da5cb5b116100f25780638da5cb5b146105ae57806395d89b41146105e0578063a82ed9ec146105f5578063a9059cbb1461061d578063b0f7ec381461063d57600080fd5b8063658d4b7f1461054357806370a0823114610563578063715018a6146105835780637d1db4a51461059857600080fd5b80632b14ca56116101b1578063404e512911610175578063404e51291461047157806341aea9de1461049157806345ce5365146104b157806347062402146104d1578063571ac8b01461052357600080fd5b80632b14ca561461036d5780632d83811914610404578063313ce567146104245780633582ad2314610440578063364333f41461045a57600080fd5b806316c02129116101f857806316c02129146102dd578063178002871461030d57806318160ddd1461032357806323b872dd146103385780632b112e491461035857600080fd5b80630445b6671461023557806306fdde031461025e578063095ea7b3146102805780630cfc15f9146102b057600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024b60105481565b6040519081526020015b60405180910390f35b34801561026a57600080fd5b506102736107cd565b6040516102559190611cf9565b34801561028c57600080fd5b506102a061029b366004611d5c565b61085f565b6040519015158152602001610255565b3480156102bc57600080fd5b5061024b6102cb366004611d88565b60056020526000908152604090205481565b3480156102e957600080fd5b506102a06102f8366004611d88565b60126020526000908152604090205460ff1681565b34801561031957600080fd5b5061024b60065481565b34801561032f57600080fd5b5060035461024b565b34801561034457600080fd5b506102a0610353366004611da5565b6108cc565b34801561036457600080fd5b5061024b6109d9565b34801561037957600080fd5b50600c546103bf9060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b6040805160ff9788168152958716602087015293861693850193909352908416606084015290921660808201526001600160801b0390911660a082015260c001610255565b34801561041057600080fd5b5061024b61041f366004611de6565b610a0c565b34801561043057600080fd5b5060405160128152602001610255565b34801561044c57600080fd5b506008546102a09060ff1681565b34801561046657600080fd5b5061046f610a29565b005b34801561047d57600080fd5b5061046f61048c366004611e14565b610a89565b34801561049d57600080fd5b5061046f6104ac366004611e49565b610abc565b3480156104bd57600080fd5b5061024b6104cc366004611de6565b610ad7565b3480156104dd57600080fd5b50600b546103bf9060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b34801561052f57600080fd5b506102a061053e366004611d88565b610aea565b34801561054f57600080fd5b5061046f61055e366004611e14565b610af8565b34801561056f57600080fd5b5061024b61057e366004611d88565b610b2b565b34801561058f57600080fd5b5061046f610b4d565b3480156105a457600080fd5b5061024b60045481565b3480156105ba57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610255565b3480156105ec57600080fd5b50610273610b61565b34801561060157600080fd5b506105c8737a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561062957600080fd5b506102a0610638366004611d5c565b610b70565b34801561064957600080fd5b50600f546102a090600160a01b900460ff1681565b34801561066a57600080fd5b5061046f610679366004611e75565b610b7d565b34801561068a57600080fd5b5061046f610699366004611f2f565b610ecc565b3480156106aa57600080fd5b5061046f610f13565b3480156106bf57600080fd5b5061024b6106ce366004611f7a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561070557600080fd5b5061046f610714366004611fb3565b610f2e565b34801561072557600080fd5b5061046f610734366004611de6565b610f58565b34801561074557600080fd5b5061046f610754366004611fcf565b610f81565b34801561076557600080fd5b5061046f610774366004611d88565b611000565b34801561078557600080fd5b506105c87f000000000000000000000000f2d151a76c3999ec7efea5b1b7c0ce6527071f7181565b3480156107b957600080fd5b5061046f6107c8366004611e14565b611076565b6060600180546107dc90612053565b80601f016020809104026020016040519081016040528092919081815260200182805461080890612053565b80156108555780601f1061082a57610100808354040283529160200191610855565b820191906000526020600020905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108ba9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146109c4576001600160a01b03841660009081526007602090815260408083203384529091529020548211156109705760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064015b60405180910390fd5b6001600160a01b038416600090815260076020908152604080832033845290915290205461099f9083906120a3565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b6109cf8484846110a9565b90505b9392505050565b60006109e56000610b2b565b6109f061dead610b2b565b6003546109fd91906120a3565b610a0791906120a3565b905090565b600060065460035483610a1f91906120b6565b6108c691906120cd565b610a3161140e565b604051600090339047908381818185875af1925050503d8060008114610a73576040519150601f19603f3d011682016040523d82523d6000602084013e610a78565b606091505b5050905080610a8657600080fd5b50565b610a9161140e565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b610ac461140e565b6008805460ff1916911515919091179055565b600060035460065483610a1f91906120b6565b60006108c68260001961085f565b610b0061140e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152600560205260408120546108c690610a0c565b610b5561140e565b610b5f6000611468565b565b6060600280546107dc90612053565b60006109d23384846110a9565b610b8561140e565b600086888a610b948d8f6120ef565b610b9e91906120ef565b610ba891906120ef565b610bb291906120ef565b60ff1690506000828486610bc6898b6120ef565b610bd091906120ef565b610bda91906120ef565b610be491906120ef565b60ff1690506064826001600160801b03161115610c375760405162461bcd60e51b8152602060048201526011602482015270084eaf240cccacae640e8dede40d0d2ced607b1b6044820152606401610967565b6064816001600160801b03161115610c865760405162461bcd60e51b81526020600482015260126024820152710a6cad8d840cccacae640e8dede40d0d2ced60731b6044820152606401610967565b6040518060c001604052808d60ff1681526020018d60ff1681526020018d60ff1681526020018d60ff1681526020018960ff168152602001836001600160801b0316815250600b60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816001600160801b0302191690836001600160801b031602179055509050506040518060c001604052808860ff1681526020018860ff1681526020018860ff1681526020018860ff1681526020018460ff168152602001826001600160801b0316815250600c60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816001600160801b0302191690836001600160801b03160217905550905050505050505050505050505050565b610ed461140e565b600d80546001600160a01b039485166001600160a01b031991821617909155600e805493851693821693909317909255600f8054919093169116179055565b610f1b61140e565b610a863033610f2930610b2b565b6110a9565b610f3661140e565b600f8054921515600160a01b0260ff60a01b1990931692909217909155601055565b610f6061140e565b61271081600354610f7191906120b6565b610f7b91906120cd565b60045550565b610f8961140e565b60005b82811015610ffa578160096000868685818110610fab57610fab612108565b9050602002016020810190610fc09190611d88565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610ff28161211e565b915050610f8c565b50505050565b61100861140e565b6001600160a01b03811661106d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610967565b610a8681611468565b61107e61140e565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b03821660009081526012602052604081205460ff161580156110eb57506001600160a01b03841660009081526012602052604090205460ff16155b6111255760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610967565b60115460ff16156111425761113b8484846114b8565b90506109d2565b60085460ff161561125e577f000000000000000000000000f2d151a76c3999ec7efea5b1b7c0ce6527071f716001600160a01b0316846001600160a01b0316141580156111a857506001600160a01b0383166000908152600a602052604090205460ff16155b15611209576004548211156111cf5760405162461bcd60e51b815260040161096790612137565b600454826111dc85610b2b565b6111e6919061217f565b11156112045760405162461bcd60e51b815260040161096790612137565b61125e565b6001600160a01b0383166000908152600a602052604090205460ff1661125e576004548261123685610b2b565b611240919061217f565b111561125e5760405162461bcd60e51b815260040161096790612137565b6112666115e1565b156112735761127361164e565b600061127e83610ad7565b6001600160a01b0386166000908152600560205260409020549091508111156112e05760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610967565b6001600160a01b0385166000908152600560205260409020546113049082906120a3565b6001600160a01b03861660009081526005602052604081209190915561132a8686611a40565b6113345781611381565b6113817f000000000000000000000000f2d151a76c3999ec7efea5b1b7c0ce6527071f716001600160a01b0316876001600160a01b03161461137757600061137a565b60015b8784611a86565b6001600160a01b0386166000908152600560205260409020549091506113a890829061217f565b6001600160a01b0380871660008181526005602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113f184610a0c565b60405190815260200160405180910390a350600195945050505050565b6000546001600160a01b03163314610b5f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610967565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806114c483610ad7565b6001600160a01b0386166000908152600560205260409020549091508111156115265760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610967565b6001600160a01b03851660009081526005602052604090205461154a9082906120a3565b6001600160a01b03808716600090815260056020526040808220939093559086168152205461157a90829061217f565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115ce9087815260200190565b60405180910390a3506001949350505050565b6000336001600160a01b037f000000000000000000000000f2d151a76c3999ec7efea5b1b7c0ce6527071f71161480159061161f575060115460ff16155b80156116345750600f54600160a01b900460ff165b8015610a07575060105461164730610b2b565b1015905090565b60118054600160ff199091161790556040805160c081018252600c5460ff80821683526101008204811660208401526201000082048116938301939093526301000000810483166060830152640100000000810490921660808201819052600160281b9092046001600160801b031660a082018190526010549192600091906116d790846120b6565b6116e191906120cd565b905060006116ef82846120a3565b905061170f737a250d5630b4cf539739df2c5dacb4c659f2488d8261085f565b5061171d3061dead846110a9565b50604080516002808252606082018352600092602083019080368337019050509050308160008151811061175357611753612108565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e99190612192565b816001815181106117fc576117fc612108565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906118549085906000908690309042906004016121af565b600060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b5050505060004790506000866080015160ff16876000015160ff168860a001516118ac9190612220565b6118b69190612220565b6001600160801b03169050600081886020015160ff16846118d791906120b6565b6118e191906120cd565b9050600082896040015160ff16856118f991906120b6565b61190391906120cd565b90506000838a6060015160ff168661191b91906120b6565b61192591906120cd565b600d546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611977576040519150601f19603f3d011682016040523d82523d6000602084013e61197c565b606091505b5050600e546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146119cc576040519150601f19603f3d011682016040523d82523d6000602084013e6119d1565b606091505b5050600f546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611a21576040519150601f19603f3d011682016040523d82523d6000602084013e611a26565b606091505b50506011805460ff19169055505050505050505050505050565b6001600160a01b03821660009081526009602052604081205460ff161580156109d25750506001600160a01b031660009081526009602052604090205460ff1615919050565b6040805160c08082018352600b5460ff8082168452610100808304821660208087019190915262010000808504841687890152630100000080860485166060808a019190915264010000000080880487166080808c01919091526001600160801b03600160281b998a9004811660a0808e01919091528d519b8c018e52600c54808b168d529889048a16978c019790975294870488169b8a019b909b5291850486169088015283049093169685019690965291909104169281019290925260009182861515600114611b7c5760648260a001516001600160801b031686611b6d91906120b6565b611b7791906120cd565b611ba1565b60648360a001516001600160801b031686611b9791906120b6565b611ba191906120cd565b90506000600188151514611bdf578260a001516001600160801b0316836000015160ff1683611bd091906120b6565b611bda91906120cd565b611c0a565b8360a001516001600160801b0316846000015160ff1683611c0091906120b6565b611c0a91906120cd565b905080600654611c1a91906120a3565b6006556000611c2982846120a3565b90508015611ca55730600090815260056020526040902054611c4c90829061217f565b306000818152600560205260409020919091556001600160a01b0389167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c9384610a0c565b60405190815260200160405180910390a35b6006546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a1611cec83886120a3565b9998505050505050505050565b600060208083528351808285015260005b81811015611d2657858101830151858201604001528201611d0a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a8657600080fd5b60008060408385031215611d6f57600080fd5b8235611d7a81611d47565b946020939093013593505050565b600060208284031215611d9a57600080fd5b81356109d281611d47565b600080600060608486031215611dba57600080fd5b8335611dc581611d47565b92506020840135611dd581611d47565b929592945050506040919091013590565b600060208284031215611df857600080fd5b5035919050565b80358015158114611e0f57600080fd5b919050565b60008060408385031215611e2757600080fd5b8235611e3281611d47565b9150611e4060208401611dff565b90509250929050565b600060208284031215611e5b57600080fd5b6109d282611dff565b803560ff81168114611e0f57600080fd5b6000806000806000806000806000806101408b8d031215611e9557600080fd5b611e9e8b611e64565b9950611eac60208c01611e64565b9850611eba60408c01611e64565b9750611ec860608c01611e64565b9650611ed660808c01611e64565b9550611ee460a08c01611e64565b9450611ef260c08c01611e64565b9350611f0060e08c01611e64565b9250611f0f6101008c01611e64565b9150611f1e6101208c01611e64565b90509295989b9194979a5092959850565b600080600060608486031215611f4457600080fd5b8335611f4f81611d47565b92506020840135611f5f81611d47565b91506040840135611f6f81611d47565b809150509250925092565b60008060408385031215611f8d57600080fd5b8235611f9881611d47565b91506020830135611fa881611d47565b809150509250929050565b60008060408385031215611fc657600080fd5b611d7a83611dff565b600080600060408486031215611fe457600080fd5b833567ffffffffffffffff80821115611ffc57600080fd5b818601915086601f83011261201057600080fd5b81358181111561201f57600080fd5b8760208260051b850101111561203457600080fd5b60209283019550935061204a9186019050611dff565b90509250925092565b600181811c9082168061206757607f821691505b60208210810361208757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108c6576108c661208d565b80820281158282048414176108c6576108c661208d565b6000826120ea57634e487b7160e01b600052601260045260246000fd5b500490565b60ff81811683821601908111156108c6576108c661208d565b634e487b7160e01b600052603260045260246000fd5b6000600182016121305761213061208d565b5060010190565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b808201808211156108c6576108c661208d565b6000602082840312156121a457600080fd5b81516109d281611d47565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121ff5784516001600160a01b0316835293830193918301916001016121da565b50506001600160a01b03969096166060850152505050608001529392505050565b6001600160801b038281168282160390808211156122405761224061208d565b509291505056fea26469706673582212206613cadd53b4d38c39bc5066600c502a3b75fa89e7a12221ddc0613752a02f1864736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000001e2a5eca52ab73b9f4c209e44d1723c998c09448000000000000000000000000d968142900f9f7e996ea6f176b709b98d01766090000000000000000000000005b980c70e07e16fc96f0eaa712ce4a398155c43500000000000000000000000000000000000000000000000000000000000000084d4f4f4e5249534500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084d4f4f4e52495345000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name_ (string): MOONRISE
Arg [1] : _symbol_ (string): MOONRISE
Arg [2] : _marketingFeeReceiver (address): 0x1e2a5eca52aB73B9f4C209e44d1723c998c09448
Arg [3] : _lpFeeReceiver (address): 0xd968142900f9F7e996Ea6f176B709B98d0176609
Arg [4] : _buybackFeeReceiver (address): 0x5B980C70e07e16fC96f0eaA712cE4A398155c435

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000001e2a5eca52ab73b9f4c209e44d1723c998c09448
Arg [3] : 000000000000000000000000d968142900f9f7e996ea6f176b709b98d0176609
Arg [4] : 0000000000000000000000005b980c70e07e16fc96f0eaa712ce4a398155c435
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [6] : 4d4f4f4e52495345000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [8] : 4d4f4f4e52495345000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

5668:12655:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7262:56;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7262:56:0;;;;;;;;9772:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;8609:216::-;;;;;;;;;;-1:-1:-1;8609:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;8609:216:0;1205:187:1;6594:42:0;;;;;;;;;;-1:-1:-1;6594:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;7343;;;;;;;;;;-1:-1:-1;7343:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6643:46;;;;;;;;;;;;;;;;9576:102;;;;;;;;;;-1:-1:-1;9658:12:0;;9576:102;;9127:441;;;;;;;;;;-1:-1:-1;9127:441:0;;;;;:::i;:::-;;:::i;10568:136::-;;;;;;;;;;;;;:::i;6998:95::-;;;;;;;;;;-1:-1:-1;6998:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6998:95:0;;-1:-1:-1;;;;;6998:95:0;;;;;;;2407:4:1;2395:17;;;2377:36;;2449:17;;;2444:2;2429:18;;2422:45;2503:17;;;2483:18;;;2476:45;;;;2557:17;;;2552:2;2537:18;;2530:45;2612:17;;;2606:3;2591:19;;2584:46;-1:-1:-1;;;;;2667:47:1;;;2661:3;2646:19;;2639:76;2364:3;2349:19;6998:95:0;2110:611:1;10411:149:0;;;;;;;;;;-1:-1:-1;10411:149:0;;;;;:::i;:::-;;:::i;9686:78::-;;;;;;;;;;-1:-1:-1;9686:78:0;;9754:2;3053:36:1;;3041:2;3026:18;9686:78:0;2911:184:1;6766:32:0;;;;;;;;;;-1:-1:-1;6766:32:0;;;;;;;;10712:170;;;;;;;;;;;;;:::i;:::-;;13346:135;;;;;;;;;;-1:-1:-1;13346:135:0;;;;;:::i;:::-;;:::i;13247:91::-;;;;;;;;;;-1:-1:-1;13247:91:0;;;;;:::i;:::-;;:::i;10263:140::-;;;;;;;;;;-1:-1:-1;10263:140:0;;;;;:::i;:::-;;:::i;6897:94::-;;;;;;;;;;-1:-1:-1;6897:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6897:94:0;;-1:-1:-1;;;;;6897:94:0;;;8833:122;;;;;;;;;;-1:-1:-1;8833:122:0;;;;;:::i;:::-;;:::i;12447:119::-;;;;;;;;;;-1:-1:-1;12447:119:0;;;;;:::i;:::-;;:::i;9962:138::-;;;;;;;;;;-1:-1:-1;9962:138:0;;;;;:::i;:::-;;:::i;1699:103::-;;;;;;;;;;;;;:::i;6413:52::-;;;;;;;;;;;;;;;;1051:87;;;;;;;;;;-1:-1:-1;1097:7:0;1124:6;-1:-1:-1;;;;;1124:6:0;1051:87;;;-1:-1:-1;;;;;3934:32:1;;;3916:51;;3904:2;3889:18;1051:87:0;3770:203:1;9865:89:0;;;;;;;;;;;;;:::i;5972:126::-;;;;;;;;;;;;6055:42;5972:126;;8963:156;;;;;;;;;;-1:-1:-1;8963:156:0;;;;;:::i;:::-;;:::i;7224:31::-;;;;;;;;;;-1:-1:-1;7224:31:0;;;;-1:-1:-1;;;7224:31:0;;;;;;11193:1246;;;;;;;;;;-1:-1:-1;11193:1246:0;;;;;:::i;:::-;;:::i;12924:189::-;;;;;;;;;;-1:-1:-1;12924:189:0;;;;;:::i;:::-;;:::i;10890:131::-;;;;;;;;;;;;;:::i;10108:147::-;;;;;;;;;;-1:-1:-1;10108:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;10219:19:0;;;10192:7;10219:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10108:147;11029:156;;;;;;;;;;-1:-1:-1;11029:156:0;;;;;:::i;:::-;;:::i;13121:118::-;;;;;;;;;;-1:-1:-1;13121:118:0;;;;;:::i;:::-;;:::i;12574:207::-;;;;;;;;;;-1:-1:-1;12574:207:0;;;;;:::i;:::-;;:::i;1957:201::-;;;;;;;;;;-1:-1:-1;1957:201:0;;;;;:::i;:::-;;:::i;6105:40::-;;;;;;;;;;;;;;;12789:127;;;;;;;;;;-1:-1:-1;12789:127:0;;;;;:::i;:::-;;:::i;9772:85::-;9811:13;9844:5;9837:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9772:85;:::o;8609:216::-;8713:10;8684:4;8701:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8701:32:0;;;;;;;;;;:41;;;8758:37;8684:4;;8701:32;;8758:37;;;;8736:6;160:25:1;;148:2;133:18;;14:177;8758:37:0;;;;;;;;-1:-1:-1;8813:4:0;8609:216;;;;;:::o;9127:441::-;-1:-1:-1;;;;;9248:19:0;;9227:4;9248:19;;;:11;:19;;;;;;;;9268:10;9248:31;;;;;;;;-1:-1:-1;;9248:52:0;9244:257;;-1:-1:-1;;;;;9325:19:0;;;;;;:11;:19;;;;;;;;9345:10;9325:31;;;;;;;;:41;-1:-1:-1;9325:41:0;9317:83;;;;-1:-1:-1;;;9317:83:0;;7658:2:1;9317:83:0;;;7640:21:1;7697:2;7677:18;;;7670:30;7736:31;7716:18;;;7709:59;7785:18;;9317:83:0;;;;;;;;;-1:-1:-1;;;;;9449:19:0;;;;;;:11;:19;;;;;;;;9469:10;9449:31;;;;;;;;:40;;9483:6;;9449:40;:::i;:::-;-1:-1:-1;;;;;9415:19:0;;;;;;:11;:19;;;;;;;;9435:10;9415:31;;;;;;;:74;9244:257;9520:40;9534:6;9542:9;9553:6;9520:13;:40::i;:::-;9513:47;;9127:441;;;;;;:::o;10568:136::-;10621:7;10681:15;5882:42;10681:9;:15::i;:::-;10663;5809:42;10663:9;:15::i;:::-;10648:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;10641:55;;10568:136;:::o;10411:149::-;10481:7;10536:16;;10521:12;;10508:10;:25;;;;:::i;:::-;:44;;;;:::i;10712:170::-;937:13;:11;:13::i;:::-;10789:58:::1;::::0;10772:12:::1;::::0;10797:10:::1;::::0;10821:21:::1;::::0;10772:12;10789:58;10772:12;10789:58;10821:21;10797:10;10789:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10771:76;;;10866:7;10858:16;;;::::0;::::1;;10760:122;10712:170::o:0;13346:135::-;937:13;:11;:13::i;:::-;-1:-1:-1;;;;;13435:20:0;;;::::1;;::::0;;;:10:::1;:20;::::0;;;;:38;;-1:-1:-1;;13435:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13346:135::o;13247:91::-;937:13;:11;:13::i;:::-;13312::::1;:18:::0;;-1:-1:-1;;13312:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13247:91::o;10263:140::-;10328:7;10383:12;;10364:16;;10355:6;:25;;;;:::i;8833:122::-;8888:4;8912:35;8920:7;-1:-1:-1;;8912:7:0;:35::i;12447:119::-;937:13;:11;:13::i;:::-;-1:-1:-1;;;;;12530:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;12530:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12447:119::o;9962:138::-;-1:-1:-1;;;;;10075:16:0;;10028:7;10075:16;;;:7;:16;;;;;;10055:37;;:19;:37::i;1699:103::-;937:13;:11;:13::i;:::-;1764:30:::1;1791:1;1764:18;:30::i;:::-;1699:103::o:0;9865:89::-;9906:13;9939:7;9932:14;;;;;:::i;8963:156::-;9043:4;9067:44;9081:10;9093:9;9104:6;9067:13;:44::i;11193:1246::-;937:13;:11;:13::i;:::-;11549:21:::1;11637:10:::0;11621:13;11610:8;11573:34:::1;11592:15:::0;11573:16;:34:::1;:::i;:::-;:45;;;;:::i;:::-;:61;;;;:::i;:::-;:74;;;;:::i;:::-;11549:98;;::::0;-1:-1:-1;11658:22:0::1;11751:11:::0;11734:14;11722:9;11683:36:::1;11703:16:::0;11683:17;:36:::1;:::i;:::-;:48;;;;:::i;:::-;:65;;;;:::i;:::-;:79;;;;:::i;:::-;11658:104;;;;5960:3;11783:13;-1:-1:-1::0;;;;;11783:24:0::1;;;11775:54;;;::::0;-1:-1:-1;;;11775:54:0;;9039:2:1;11775:54:0::1;::::0;::::1;9021:21:1::0;9078:2;9058:18;;;9051:30;-1:-1:-1;;;9097:18:1;;;9090:47;9154:18;;11775:54:0::1;8837:341:1::0;11775:54:0::1;5960:3;11848:14;-1:-1:-1::0;;;;;11848:25:0::1;;;11840:56;;;::::0;-1:-1:-1;;;11840:56:0;;9385:2:1;11840:56:0::1;::::0;::::1;9367:21:1::0;9424:2;9404:18;;;9397:30;-1:-1:-1;;;9443:18:1;;;9436:48;9501:18;;11840:56:0::1;9183:342:1::0;11840:56:0::1;11918:242;;;;;;;;11949:16;11918:242;;;;;;11991:16;11918:242;;;;;;12026:16;11918:242;;;;;;12066:16;11918:242;;;;;;12103:10;11918:242;;;;;;12135:13;-1:-1:-1::0;;;;;11918:242:0::1;;;::::0;11909:6:::1;:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;11909:251:0::1;;;;;-1:-1:-1::0;;;;;11909:251:0::1;;;;;;;;;12183:248;;;;;;;;12214:17;12183:248;;;;;;12257:17;12183:248;;;;;;12293:17;12183:248;;;;;;12334:17;12183:248;;;;;;12372:11;12183:248;;;;;;12405:14;-1:-1:-1::0;;;;;12183:248:0::1;;;::::0;12173:7:::1;:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;12173:258:0::1;;;;;-1:-1:-1::0;;;;;12173:258:0::1;;;;;;;;;11538:901;;11193:1246:::0;;;;;;;;;;:::o;12924:189::-;937:13;:11;:13::i;:::-;13016:20:::1;:25:::0;;-1:-1:-1;;;;;13016:25:0;;::::1;-1:-1:-1::0;;;;;;13016:25:0;;::::1;;::::0;;;13052:13:::1;:19:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;13082:18:::1;:23:::0;;;;;::::1;::::0;::::1;;::::0;;12924:189::o;10890:131::-;937:13;:11;:13::i;:::-;10947:66:::1;10969:4;10976:10;10988:24;11006:4;10988:9;:24::i;:::-;10947:13;:66::i;11029:156::-:0;937:13;:11;:13::i;:::-;11120:12:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;11120:23:0::1;-1:-1:-1::0;;;;11120:23:0;;::::1;::::0;;;::::1;::::0;;;11154:13:::1;:23:::0;11029:156::o;13121:118::-;937:13;:11;:13::i;:::-;13226:5:::1;13221:2;13206:12;;:17;;;;:::i;:::-;:25;;;;:::i;:::-;13191:12;:40:::0;-1:-1:-1;13121:118:0:o;12574:207::-;937:13;:11;:13::i;:::-;12679:9:::1;12674:100;12690:18:::0;;::::1;12674:100;;;12756:6;12730:11;:23;12742:7;;12750:1;12742:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12730:23:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12730:23:0;:32;;-1:-1:-1;;12730:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12710:3;::::1;::::0;::::1;:::i;:::-;;;;12674:100;;;;12574:207:::0;;;:::o;1957:201::-;937:13;:11;:13::i;:::-;-1:-1:-1;;;;;2046:22:0;::::1;2038:73;;;::::0;-1:-1:-1;;;2038:73:0;;10004:2:1;2038:73:0::1;::::0;::::1;9986:21:1::0;10043:2;10023:18;;;10016:30;10082:34;10062:18;;;10055:62;-1:-1:-1;;;10133:18:1;;;10126:36;10179:19;;2038:73:0::1;9802:402:1::0;2038:73:0::1;2122:28;2141:8;2122:18;:28::i;12789:127::-:0;937:13;:11;:13::i;:::-;-1:-1:-1;;;;;12876:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;12876:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12789:127::o;13489:1475::-;-1:-1:-1;;;;;13607:21:0;;13581:4;13607:21;;;:10;:21;;;;;;;;13606:22;:45;;;;-1:-1:-1;;;;;;13633:18:0;;;;;;:10;:18;;;;;;;;13632:19;13606:45;13598:69;;;;-1:-1:-1;;;13598:69:0;;10411:2:1;13598:69:0;;;10393:21:1;10450:2;10430:18;;;10423:30;-1:-1:-1;;;10469:18:1;;;10462:41;10520:18;;13598:69:0;10209:335:1;13598:69:0;13684:6;;;;13680:87;;;13714:41;13729:6;13737:9;13748:6;13714:14;:41::i;:::-;13707:48;;;;13680:87;13783:13;;;;13779:506;;;13827:15;-1:-1:-1;;;;;13817:25:0;:6;-1:-1:-1;;;;;13817:25:0;;;:56;;;;-1:-1:-1;;;;;;13847:26:0;;;;;;:15;:26;;;;;;;;13846:27;13817:56;13813:461;;;13912:12;;13902:6;:22;;13894:75;;;;-1:-1:-1;;;13894:75:0;;;;;;;:::i;:::-;14029:12;;14019:6;13996:20;14006:9;13996;:20::i;:::-;:29;;;;:::i;:::-;:45;;13988:98;;;;-1:-1:-1;;;13988:98:0;;;;;;;:::i;:::-;13813:461;;;-1:-1:-1;;;;;14113:26:0;;;;;;:15;:26;;;;;;;;14108:166;;14201:12;;14191:6;14168:20;14178:9;14168;:20::i;:::-;:29;;;;:::i;:::-;:45;;14160:98;;;;-1:-1:-1;;;14160:98:0;;;;;;;:::i;:::-;14301:17;:15;:17::i;:::-;14297:61;;;14335:11;:9;:11::i;:::-;14370:24;14397:26;14416:6;14397:18;:26::i;:::-;-1:-1:-1;;;;;14442:15:0;;;;;;:7;:15;;;;;;14370:53;;-1:-1:-1;14442:35:0;-1:-1:-1;14442:35:0;14434:68;;;;-1:-1:-1;;;14434:68:0;;11290:2:1;14434:68:0;;;11272:21:1;11329:2;11309:18;;;11302:30;-1:-1:-1;;;11348:18:1;;;11341:50;11408:18;;14434:68:0;11088:344:1;14434:68:0;-1:-1:-1;;;;;14531:15:0;;;;;;:7;:15;;;;;;:34;;14549:16;;14531:34;:::i;:::-;-1:-1:-1;;;;;14513:15:0;;;;;;:7;:15;;;;;:52;;;;14607:33;14521:6;14630:9;14607:14;:33::i;:::-;:170;;14761:16;14607:170;;;14656:89;14688:15;-1:-1:-1;;;;;14678:25:0;:6;-1:-1:-1;;;;;14678:25:0;;:40;;14713:5;14678:40;;;14706:4;14678:40;14720:6;14728:16;14656:21;:89::i;:::-;-1:-1:-1;;;;;14809:18:0;;;;;;:7;:18;;;;;;14578:199;;-1:-1:-1;14809:39:0;;14578:199;;14809:39;:::i;:::-;-1:-1:-1;;;;;14788:18:0;;;;;;;:7;:18;;;;;:60;;;;14866:68;;;14894:39;14914:18;14894:19;:39::i;:::-;14866:68;;160:25:1;;;148:2;133:18;14866:68:0;;;;;;;-1:-1:-1;14952:4:0;;13489:1475;-1:-1:-1;;;;;13489:1475:0:o;1216:132::-;1097:7;1124:6;-1:-1:-1;;;;;1124:6:0;347:10;1280:23;1272:68;;;;-1:-1:-1;;;1272:68:0;;11639:2:1;1272:68:0;;;11621:21:1;;;11658:18;;;11651:30;11717:34;11697:18;;;11690:62;11769:18;;1272:68:0;11437:356:1;2318:191:0;2392:16;2411:6;;-1:-1:-1;;;;;2428:17:0;;;-1:-1:-1;;;;;;2428:17:0;;;;;;2461:40;;2411:6;;;;;;;2461:40;;2392:16;2461:40;2381:128;2318:191;:::o;14972:455::-;15065:4;15082:24;15109:26;15128:6;15109:18;:26::i;:::-;-1:-1:-1;;;;;15154:15:0;;;;;;:7;:15;;;;;;15082:53;;-1:-1:-1;15154:35:0;-1:-1:-1;15154:35:0;15146:68;;;;-1:-1:-1;;;15146:68:0;;11290:2:1;15146:68:0;;;11272:21:1;11329:2;11309:18;;;11302:30;-1:-1:-1;;;11348:18:1;;;11341:50;11408:18;;15146:68:0;11088:344:1;15146:68:0;-1:-1:-1;;;;;15243:15:0;;;;;;:7;:15;;;;;;:34;;15261:16;;15243:34;:::i;:::-;-1:-1:-1;;;;;15225:15:0;;;;;;;:7;:15;;;;;;:52;;;;15309:18;;;;;;;:37;;15330:16;;15309:37;:::i;:::-;-1:-1:-1;;;;;15288:18:0;;;;;;;:7;:18;;;;;;;:58;;;;15362:35;;;;;;;;;;15390:6;160:25:1;;148:2;133:18;;14:177;15362:35:0;;;;;;;;-1:-1:-1;15415:4:0;;14972:455;-1:-1:-1;;;;14972:455:0:o;16558:183::-;16608:4;16632:10;-1:-1:-1;;;;;16646:15:0;16632:29;;;;;:40;;-1:-1:-1;16666:6:0;;;;16665:7;16632:40;:56;;;;-1:-1:-1;16676:12:0;;-1:-1:-1;;;16676:12:0;;;;16632:56;:101;;;;;16720:13;;16692:24;16710:4;16692:9;:24::i;:::-;:41;;16625:108;;16558:183;:::o;16749:1402::-;7423:6;:13;;7432:4;-1:-1:-1;;7423:13:0;;;;;;16799:30:::1;::::0;;::::1;::::0;::::1;::::0;;16822:7:::1;16799:30:::0;7423:13;16799:30;;::::1;::::0;;7423:13;16799:30;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;16799:30:0;;::::1;-1:-1:-1::0;;;;;16799:30:0::1;::::0;;;;;;16868:13:::1;::::0;16799:30;;-1:-1:-1;;16799:30:0;16915:32:::1;::::0;16868:13;16915:32:::1;:::i;:::-;:50;;;;:::i;:::-;16892:73:::0;-1:-1:-1;16976:20:0::1;16999:30;16892:73:::0;16999:15;:30:::1;:::i;:::-;16976:53;;17040:49;6055:42;17076:12;17040:7;:49::i;:::-;;17119:48;17141:4;5809:42;17154:12;17119:13;:48::i;:::-;-1:-1:-1::0;17221:16:0::1;::::0;;17235:1:::1;17221:16:::0;;;;;::::1;::::0;;17197:21:::1;::::0;17221:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17221:16:0::1;17197:40;;17266:4;17248;17253:1;17248:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;17248:23:0::1;;;-1:-1:-1::0;;;;;17248:23:0::1;;;::::0;::::1;6055:42;-1:-1:-1::0;;;;;17292:22:0::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17282:4;17287:1;17282:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17282:34:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:34;17329:147:::1;::::0;-1:-1:-1;;;17329:147:0;;6055:42:::1;::::0;17329:68:::1;::::0;:147:::1;::::0;17412:12;;17426:1:::1;::::0;17429:4;;17443::::1;::::0;17450:15:::1;::::0;17329:147:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17489:17;17509:21;17489:41;;17543:20;17607:9;:14;;;17566:55;;17584:9;:20;;;17566:38;;:9;:15;;;:38;;;;:::i;:::-;:55;;;;:::i;:::-;-1:-1:-1::0;;;;;17543:78:0::1;;;17632:26;17695:12;17673:9;:19;;;17661:31;;:9;:31;;;;:::i;:::-;:46;;;;:::i;:::-;17632:75;;17718:19;17767:12;17752:9;:12;;;17740:24;;:9;:24;;;;:::i;:::-;:39;;;;:::i;:::-;17718:61;;17790:24;17849:12;17829:9;:17;;;17817:29;;:9;:29;;;;:::i;:::-;:44;;;;:::i;:::-;17920:20;::::0;17912:65:::1;::::0;17790:71;;-1:-1:-1;17892:15:0::1;::::0;-1:-1:-1;;;;;17920:20:0;;::::1;::::0;17954:18;;17892:15;17912:65;17892:15;17912:65;17954:18;17920:20;17912:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;18012:13:0::1;::::0;18004:51:::1;::::0;17891:86;;-1:-1:-1;;;;;;18012:13:0::1;::::0;18039:11;;18004:51:::1;::::0;;;18039:11;18012:13;18004:51:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;18090:18:0::1;::::0;18082:61:::1;::::0;17988:67;;-1:-1:-1;;;;;;18090:18:0::1;::::0;18122:16;;18082:61:::1;::::0;;;18122:16;18090:18;18082:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;7459:6:0;:14;;-1:-1:-1;;7459:14:0;;;-1:-1:-1;;;;;;;;;;;;16749:1402:0:o;18159:161::-;-1:-1:-1;;;;;18266:19:0;;18241:4;18266:19;;;:11;:19;;;;;;;;18265:20;:47;;;;-1:-1:-1;;;;;;;18290:22:0;;;;;:11;:22;;;;;;;;18289:23;;18159:161;-1:-1:-1;18159:161:0:o;15435:1115::-;15559:28;;;;;;;;;15581:6;15559:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;15559:28:0;;;;;;;;;;;;;;15598:30;;;;;;;15621:7;15598:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15539:7;;;15684:14;;;15559:28;15684:14;:99;;15780:3;15762:9;:15;;;-1:-1:-1;;;;;15743:34:0;:16;:34;;;;:::i;:::-;:40;;;;:::i;:::-;15684:99;;;15737:3;15720:8;:14;;;-1:-1:-1;;;;;15701:33:0;:16;:33;;;;:::i;:::-;:39;;;;:::i;:::-;15641:142;-1:-1:-1;15816:27:0;15856:4;15846:14;;;;:164;;15995:9;:15;;;-1:-1:-1;;;;;15950:60:0;15972:9;:20;;;15950:42;;:19;:42;;;;:::i;:::-;:60;;;;:::i;:::-;15846:164;;;15920:8;:14;;;-1:-1:-1;;;;;15876:58:0;15898:8;:19;;;15876:41;;:19;:41;;;;:::i;:::-;:58;;;;:::i;:::-;15816:194;;16061:19;16042:16;;:38;;;;:::i;:::-;16023:16;:57;16115:29;16147:41;16169:19;16147;:41;:::i;:::-;16115:73;-1:-1:-1;16203:25:0;;16199:226;;16286:4;16270:22;;;;:7;:22;;;;;;:46;;16295:21;;16270:46;:::i;:::-;16261:4;16245:22;;;;:7;:22;;;;;:71;;;;-1:-1:-1;;;;;16338:75:0;;;16370:42;16390:21;16370:19;:42::i;:::-;16338:75;;160:25:1;;;148:2;133:18;16338:75:0;;;;;;;16199:226;16469:16;;16440:46;;;13550:25:1;;;13606:2;13591:18;;13584:34;;;;16440:46:0;;13523:18:1;16440:46:0;;;;;;;16504:38;16523:19;16504:16;:38;:::i;:::-;16497:45;15435:1115;-1:-1:-1;;;;;;;;;15435:1115: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:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2726:180::-;2785:6;2838:2;2826:9;2817:7;2813:23;2809:32;2806:52;;;2854:1;2851;2844:12;2806:52;-1:-1:-1;2877:23:1;;2726:180;-1:-1:-1;2726:180:1:o;3100:160::-;3165:20;;3221:13;;3214:21;3204:32;;3194:60;;3250:1;3247;3240:12;3194:60;3100:160;;;:::o;3265:315::-;3330:6;3338;3391:2;3379:9;3370:7;3366:23;3362:32;3359:52;;;3407:1;3404;3397:12;3359:52;3446:9;3433:23;3465:31;3490:5;3465:31;:::i;:::-;3515:5;-1:-1:-1;3539:35:1;3570:2;3555:18;;3539:35;:::i;:::-;3529:45;;3265:315;;;;;:::o;3585:180::-;3641:6;3694:2;3682:9;3673:7;3669:23;3665:32;3662:52;;;3710:1;3707;3700:12;3662:52;3733:26;3749:9;3733:26;:::i;4212:156::-;4278:20;;4338:4;4327:16;;4317:27;;4307:55;;4358:1;4355;4348:12;4373:819;4493:6;4501;4509;4517;4525;4533;4541;4549;4557;4565;4618:3;4606:9;4597:7;4593:23;4589:33;4586:53;;;4635:1;4632;4625:12;4586:53;4658:27;4675:9;4658:27;:::i;:::-;4648:37;;4704:36;4736:2;4725:9;4721:18;4704:36;:::i;:::-;4694:46;;4759:36;4791:2;4780:9;4776:18;4759:36;:::i;:::-;4749:46;;4814:36;4846:2;4835:9;4831:18;4814:36;:::i;:::-;4804:46;;4869:37;4901:3;4890:9;4886:19;4869:37;:::i;:::-;4859:47;;4925:37;4957:3;4946:9;4942:19;4925:37;:::i;:::-;4915:47;;4981:37;5013:3;5002:9;4998:19;4981:37;:::i;:::-;4971:47;;5037:37;5069:3;5058:9;5054:19;5037:37;:::i;:::-;5027:47;;5093:37;5125:3;5114:9;5110:19;5093:37;:::i;:::-;5083:47;;5149:37;5181:3;5170:9;5166:19;5149:37;:::i;:::-;5139:47;;4373:819;;;;;;;;;;;;;:::o;5197:529::-;5274:6;5282;5290;5343:2;5331:9;5322:7;5318:23;5314:32;5311:52;;;5359:1;5356;5349:12;5311:52;5398:9;5385:23;5417:31;5442:5;5417:31;:::i;:::-;5467:5;-1:-1:-1;5524:2:1;5509:18;;5496:32;5537:33;5496:32;5537:33;:::i;:::-;5589:7;-1:-1:-1;5648:2:1;5633:18;;5620:32;5661:33;5620:32;5661:33;:::i;:::-;5713:7;5703:17;;;5197:529;;;;;:::o;5731:388::-;5799:6;5807;5860:2;5848:9;5839:7;5835:23;5831:32;5828:52;;;5876:1;5873;5866:12;5828:52;5915:9;5902:23;5934:31;5959:5;5934:31;:::i;:::-;5984:5;-1:-1:-1;6041:2:1;6026:18;;6013:32;6054:33;6013:32;6054:33;:::i;:::-;6106:7;6096:17;;;5731:388;;;;;:::o;6124:248::-;6189:6;6197;6250:2;6238:9;6229:7;6225:23;6221:32;6218:52;;;6266:1;6263;6256:12;6218:52;6289:26;6305:9;6289:26;:::i;6377:689::-;6469:6;6477;6485;6538:2;6526:9;6517:7;6513:23;6509:32;6506:52;;;6554:1;6551;6544:12;6506:52;6594:9;6581:23;6623:18;6664:2;6656:6;6653:14;6650:34;;;6680:1;6677;6670:12;6650:34;6718:6;6707:9;6703:22;6693:32;;6763:7;6756:4;6752:2;6748:13;6744:27;6734:55;;6785:1;6782;6775:12;6734:55;6825:2;6812:16;6851:2;6843:6;6840:14;6837:34;;;6867:1;6864;6857:12;6837:34;6922:7;6915:4;6905:6;6902:1;6898:14;6894:2;6890:23;6886:34;6883:47;6880:67;;;6943:1;6940;6933:12;6880:67;6974:4;6966:13;;;;-1:-1:-1;6998:6:1;-1:-1:-1;7023:37:1;;7039:20;;;-1:-1:-1;7023:37:1;:::i;:::-;7013:47;;6377:689;;;;;:::o;7071:380::-;7150:1;7146:12;;;;7193;;;7214:61;;7268:4;7260:6;7256:17;7246:27;;7214:61;7321:2;7313:6;7310:14;7290:18;7287:38;7284:161;;7367:10;7362:3;7358:20;7355:1;7348:31;7402:4;7399:1;7392:15;7430:4;7427:1;7420:15;7284:161;;7071:380;;;:::o;7814:127::-;7875:10;7870:3;7866:20;7863:1;7856:31;7906:4;7903:1;7896:15;7930:4;7927:1;7920:15;7946:128;8013:9;;;8034:11;;;8031:37;;;8048:18;;:::i;8079:168::-;8152:9;;;8183;;8200:15;;;8194:22;;8180:37;8170:71;;8221:18;;:::i;8252:217::-;8292:1;8318;8308:132;;8362:10;8357:3;8353:20;8350:1;8343:31;8397:4;8394:1;8387:15;8425:4;8422:1;8415:15;8308:132;-1:-1:-1;8454:9:1;;8252:217::o;8684:148::-;8772:4;8751:12;;;8765;;;8747:31;;8790:13;;8787:39;;;8806:18;;:::i;9530:127::-;9591:10;9586:3;9582:20;9579:1;9572:31;9622:4;9619:1;9612:15;9646:4;9643:1;9636:15;9662:135;9701:3;9722:17;;;9719:43;;9742:18;;:::i;:::-;-1:-1:-1;9789:1:1;9778:13;;9662:135::o;10549:404::-;10751:2;10733:21;;;10790:2;10770:18;;;10763:30;10829:34;10824:2;10809:18;;10802:62;-1:-1:-1;;;10895:2:1;10880:18;;10873:38;10943:3;10928:19;;10549:404::o;10958:125::-;11023:9;;;11044:10;;;11041:36;;;11057:18;;:::i;11930:251::-;12000:6;12053:2;12041:9;12032:7;12028:23;12024:32;12021:52;;;12069:1;12066;12059:12;12021:52;12101:9;12095:16;12120:31;12145:5;12120:31;:::i;12186:980::-;12448:4;12496:3;12485:9;12481:19;12527:6;12516:9;12509:25;12553:2;12591:6;12586:2;12575:9;12571:18;12564:34;12634:3;12629:2;12618:9;12614:18;12607:31;12658:6;12693;12687:13;12724:6;12716;12709:22;12762:3;12751:9;12747:19;12740:26;;12801:2;12793:6;12789:15;12775:29;;12822:1;12832:195;12846:6;12843:1;12840:13;12832:195;;;12911:13;;-1:-1:-1;;;;;12907:39:1;12895:52;;13002:15;;;;12967:12;;;;12943:1;12861:9;12832:195;;;-1:-1:-1;;;;;;;13083:32:1;;;;13078:2;13063:18;;13056:60;-1:-1:-1;;;13147:3:1;13132:19;13125:35;13044:3;12186:980;-1:-1:-1;;;12186:980:1:o;13171:200::-;-1:-1:-1;;;;;13307:10:1;;;13295;;;13291:27;;13330:12;;;13327:38;;;13345:18;;:::i;:::-;13327:38;13171:200;;;;:::o

Swarm Source

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