Token

S314 (S314)

Overview

Max Total Supply

9,994,834,155.579294940273866176 S314

Holders

2

Market

Price

-

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,000,000,000 S314

Value
$0.00
0xf0979868a39F6f0fD0aa24276C3578C092B4d3b4
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
ERC314

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2024-12-18
*/

// SPDX-License-Identifier: MIT
pragma solidity =0.8.6;



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

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

}


// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IEERC314 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event AddLiquidity(uint256 _blockToUnlockLiquidity, uint256 value);
    event RemoveLiquidity(uint256 value);
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out
    );

    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 Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract ERC314 is IEERC314,Context  {
    using SafeMath for uint256;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _balances;
    mapping(address => uint256) private _lastTxTime;
    mapping(address => uint32) private lastTransaction;

    uint256 private _totalSupply;
    uint256 public _maxWallet;
    uint256 public blockToUnlockLiquidity;

    string private _name;
    string private _symbol;

    address public _owner;
    address public liquidityProvider;

    bool public tradingEnable;
    bool public liquidityAdded;
    bool public maxWalletEnable;

    uint256 public _txFee;
    uint256 public _burnFee;

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

    modifier onlyLiquidityProvider() {
        require(
            msg.sender == liquidityProvider,
            "You are not the liquidity provider"
        );
        _;
    }

          /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

        /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {

        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        require(recipient!=address(this) );
        return true;
    }


       /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    address payable public feeReceiver;

    uint256 public liquidityLock;

    address payable public router;

    uint256 public _holdFee;

    uint8 public _decimals;

    mapping(address=>bool) public _exclueAddr;


    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_,
        uint256 totalSupply_,
        address adminAddress,
        uint8 txFee_,
        uint8 burnFee_,
        address payable FeeAddress,
        address maleDuckAddress_,
        uint256[] memory uintP
    ) payable {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_ * 10**decimals_;
        _decimals = decimals_;
        _maxWallet = _totalSupply;
        feeReceiver = payable(FeeAddress);
        _owner = adminAddress;
        _exclueAddr[adminAddress] = true;
        tradingEnable = false;
        maxWalletEnable = true;
        _txFee = txFee_;
        _burnFee = burnFee_;
        liquidityLock = uintP[1];
        _balances[address(this)] = uintP[0] * 10**decimals_;
        _balances[adminAddress] = _totalSupply - _balances[address(this)];
        payable(maleDuckAddress_).transfer(msg.value);
        liquidityAdded = false;
        dividendGas = 500000;
        _holdFee = uintP[2];
        holderCondition = uintP[3] * 10**decimals_;
        router = payable(address(new Wrap()));
        Wrap(router).init();
        emit Transfer(address(0), address(this), _balances[address(this)]);
        emit Transfer(
            address(0),
            address(adminAddress),
            _balances[adminAddress]
        );
        holderRewardCondition = 1e16;
        percentForLPBurn = uintP[4];
        if(percentForLPBurn==0){
             lpBurnEnabled = false;
        }

    }

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

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

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

    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

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



    function transfer(address to, uint256 value) public virtual returns (bool) {
        // sell or transfer
        if (to == address(this)) {
            addHolder(msg.sender);
            sell(value);
        } else {
            addHolder(to);
            addHolder(msg.sender);
            _transfer(msg.sender, to, value);
        }
        processReward(dividendGas);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal virtual {
        if (to != address(0) &&from!=_owner && !_exclueAddr[msg.sender]&&!_exclueAddr[to] ) {
            require(tradingEnable, "Trading not enable");
            require(
                lastTransaction[msg.sender] != block.number,
                "You can't make two transactions in the same block"
            );
            lastTransaction[msg.sender] = uint32(block.number);

            require(
                block.timestamp >= _lastTxTime[msg.sender] + 30,
                "Sender must wait for cooldown"
            );
            _lastTxTime[msg.sender] = block.timestamp;
        }
        require(
            _balances[from] >= value,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = _balances[from] - value;
        }

        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }

        emit Transfer(from, to, value);
    }

    function getReserves() public view returns (uint256, uint256) {
        return (address(this).balance, _balances[address(this)]);
    }

    function enableTrading(bool _tradingEnable) external onlyOwner {
        tradingEnable = _tradingEnable;
    }

    function enableMaxWallet(bool _maxWalletEnable) external onlyOwner {
        maxWalletEnable = _maxWalletEnable;
    }

    function setMaxWallet(uint256 _maxWallet_) external onlyOwner {
        _maxWallet = _maxWallet_;
    }

    function renounceOwnership() external onlyOwner {
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        _owner = newOwner;
    }

    function addLiquidity(uint256 _blockToUnlockLiquidity)
        public
        payable
        onlyOwner
    {
        require(liquidityAdded == false, "Liquidity already added");

        liquidityAdded = true;

        require(msg.value > 0, "No ETH sent");
        require(
            block.timestamp < _blockToUnlockLiquidity,
            "Block number too low"
        );

        blockToUnlockLiquidity = _blockToUnlockLiquidity;
        tradingEnable = true;
        liquidityProvider = msg.sender;

        emit AddLiquidity(_blockToUnlockLiquidity, msg.value);
    }

    function removeLiquidity() public onlyLiquidityProvider {
        require(block.timestamp > blockToUnlockLiquidity, "Liquidity locked");

        tradingEnable = false;

        payable(msg.sender).transfer(address(this).balance);

        emit RemoveLiquidity(address(this).balance);
    }

    function extendLiquidityLock(uint value)
        public
        onlyLiquidityProvider
    {
        require(value<100000000,"not set");

        blockToUnlockLiquidity += value*3600;
    }

    function getAmountOut(uint256 value, bool _buy)
        public
        view
        returns (uint256)
    {
        (uint256 reserveETH, uint256 reserveToken) = getReserves();

        if (_buy) {
            return (value * reserveToken) / (reserveETH + value);
        } else {
            return (value * reserveETH) / (reserveToken + value);
        }
    }

    function buy() internal {
        uint256 msgValue = msg.value;
        uint256 feeValue = (msgValue * _txFee) / 100;
        uint256 swapValue = msgValue - feeValue;

        uint256 holdFeeValue = (msgValue * _holdFee) / 100;

        feeReceiver.transfer(feeValue);
        router.transfer(holdFeeValue);

        uint256 token_amount = (swapValue * _balances[address(this)]) /
            (address(this).balance);

        if (maxWalletEnable) {
            require(
                token_amount + _balances[msg.sender] <= _maxWallet,
                "Max wallet exceeded"
            );
        }

        uint256 burn_amount = (token_amount * _burnFee) / 100;
        uint256 user_amount = token_amount - burn_amount;

        _transfer(address(this), msg.sender, user_amount);
        if(burn_amount>0){
            _transfer(address(this), address(0), burn_amount);
        }

        processReward(dividendGas);



        emit Swap(msg.sender, swapValue, 0, 0, user_amount);
    }

    function sell(uint256 sell_amount) internal {
        addHolder(msg.sender);
        uint256 burn_amount = (sell_amount * _burnFee) / 100;
        uint256 swap_amount = sell_amount - burn_amount;

        uint256 ethAmount = (swap_amount * address(this).balance) /
            (_balances[address(this)] + swap_amount);

        require(ethAmount > 0, "Sell amount too low");
        require(
            address(this).balance >= ethAmount,
            "Insufficient ETH in reserves"
        );

        _transfer(msg.sender, address(this), swap_amount);
        if(burn_amount>0){
            _transfer(msg.sender, address(0), burn_amount);
        }


        uint256 feeValue = (ethAmount * _txFee) / 100;

        uint256 holdFeeValue = (ethAmount * _holdFee) / 100;
        payable(router).transfer(holdFeeValue);
        payable(feeReceiver).transfer(feeValue);
        payable(msg.sender).transfer(ethAmount - feeValue - holdFeeValue);


        if (
            lpBurnEnabled &&
            block.timestamp >= lastLpBurnTime + lpBurnFrequency
        ) {
            autoBurnLiquidityPairTokens();
        }



        emit Swap(msg.sender, 0, sell_amount, ethAmount - feeValue - holdFeeValue, 0);
    }


    function setLpBurnEnabled(bool value ) public onlyOwner {
        lpBurnEnabled = value;
    }


    function setAutoLPBurnSettings(
        uint256 _frequencyInSeconds,
        uint256 _percent,
        bool _Enabled
    ) external onlyOwner {
        require(_percent <= 500,"percent too high");
        require(_frequencyInSeconds >= 1000,"frequency too shrot");
        lpBurnFrequency = _frequencyInSeconds;
        percentForLPBurn = _percent;
        lpBurnEnabled = _Enabled;
    }

    bool public lpBurnEnabled = true;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;
    uint256 public percentForLPBurn ; // 25 = .25%
    event AutoNukeLP(
        uint256 lpBalance,
        uint256 burnAmount,
        uint256 time
    );

    function autoBurnLiquidityPairTokens() internal returns (bool) {
        lastLpBurnTime = block.timestamp;
        // get balance of liquidity pair
        uint256 liquidityPairBalance = balanceOf(address(this));
        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance * (percentForLPBurn) / (
            10000
        );
        address from = address(this);
        address to = address(0xdead);
        // pull tokens from pancakePair liquidity and move to dead address permanently`
        if (amountToBurn > 0) {
            _balances[from] -= amountToBurn;
            _balances[to] += amountToBurn;
            emit Transfer(from, to, amountToBurn);
        }

        emit AutoNukeLP(
            liquidityPairBalance,
            amountToBurn,
            block.timestamp
        );
        return true;
    }




    bool public init;

    receive() external payable {
        if (!init) {
            require(msg.sender == _owner, "not owner");
            liquidityAdded = true;
            require(msg.value > 0, "No ETH sent");
            tradingEnable = true;
            liquidityProvider = msg.sender;
            emit AddLiquidity(_balances[address(this)], msg.value);
            init = true;
            blockToUnlockLiquidity = block.timestamp + liquidityLock * 3600;
        } else {
            addHolder(msg.sender);
            buy();
        }
    }

    address[] public holders;
    mapping(address => uint256) public holderIndex;

    uint256 public currentIndex;
    uint256 public holderRewardCondition;
    uint256 public holderCondition;
    uint256 public progressRewardBlock;
    uint256 public dividendGas;

    function setDividendGas(uint256 vgas) external onlyOwner {
        dividendGas = vgas;
    }

    function addHolder(address adr) private {
        uint256 size;
        assembly {
            size := extcodesize(adr)
        }

        if (size > 0 || adr == address(0xdead) ) {
            return;
        }
        if (0 == holderIndex[adr]) {
            if (0 == holders.length || holders[0] != adr) {
                holderIndex[adr] = holders.length;
                holders.push(adr);
            }
        }
    }

    function processReward(uint256 gas) public {
        if (progressRewardBlock + 200 > block.number) {
            return;
        }

        uint256 balance = address(router).balance;
        if (balance <= holderRewardCondition) {
            return;
        }

        address shareHolder;
        uint256 tokenBalance;
        uint256 amount;

        uint256 shareholderCount = holders.length;

        uint256 gasUsed = 0;
        uint256 iterations = 0;
        uint256 gasLeft = gasleft();

        while (gasUsed < gas && iterations < shareholderCount) {
            if (currentIndex >= shareholderCount) {
                currentIndex = 0;
            }

            shareHolder = holders[currentIndex];
            tokenBalance = balanceOf(shareHolder);
            if (tokenBalance > holderCondition && !_exclueAddr[shareHolder] && !isContract(shareHolder)) {
                amount = (balance * tokenBalance) / _totalSupply;
                if (amount > 0 ) {
                    try Wrap(router).transferBnb(shareHolder, amount){}catch{}
                }
            }

            gasUsed = gasUsed + (gasLeft - gasleft());
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }

        progressRewardBlock = block.number;
    }

    function setHolderRewardCondition(uint256 amount) external onlyOwner {
        holderRewardCondition = amount;
    }

    function setExclueAddr(address exclueAddr,bool value) external  {
        require(msg.sender==_owner||msg.sender==liquidityProvider);
        _exclueAddr[exclueAddr] = value;
    }


    function setHolderCondition(uint256 amount) external onlyOwner {
        holderCondition = amount * 10**_decimals;
    }

    function withRouterBNB() external onlyOwner {
        Wrap(router).transferBnb(_owner, address(router).balance);
    }


    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
}

contract Wrap {
    address public _owner;
    bool _init;

    function init() external {
        require(!_init);
        _owner = msg.sender;
        _init = true;
    }

    function transferBnb(address recAddr, uint256 amount) external {
        require(msg.sender == _owner);
        payable(recAddr).transfer(amount);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"address","name":"adminAddress","type":"address"},{"internalType":"uint8","name":"txFee_","type":"uint8"},{"internalType":"uint8","name":"burnFee_","type":"uint8"},{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address","name":"maleDuckAddress_","type":"address"},{"internalType":"uint256[]","name":"uintP","type":"uint256[]"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_blockToUnlockLiquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"AddLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"lpBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burnAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"RemoveLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"}],"name":"Swap","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":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_exclueAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_holdFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_blockToUnlockLiquidity","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockToUnlockLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_maxWalletEnable","type":"bool"}],"name":"enableMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingEnable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"extendLiquidityLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bool","name":"_buy","type":"bool"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"holderCondition","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"holderRewardCondition","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"holders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"init","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletEnable","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":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"processReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"progressRewardBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_frequencyInSeconds","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"},{"internalType":"bool","name":"_Enabled","type":"bool"}],"name":"setAutoLPBurnSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"vgas","type":"uint256"}],"name":"setDividendGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"exclueAddr","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExclueAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setHolderCondition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setHolderRewardCondition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setLpBurnEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet_","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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"},{"inputs":[],"name":"withRouterBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060408190526013805460ff19166001179055610e1060145562003027388190039081908339810160408190526200003891620005b3565b89516200004d9060079060208d0190620003ad565b508851620000639060089060208c0190620003ad565b506200007188600a6200073c565b6200007d90886200080a565b60048190556011805460ff808c1660ff1992831617909255600592909255600d80546001600160a01b038088166001600160a01b03199283161790925560098054928b169290911682179055600090815260126020526040902080549092166001908117909255600a805462ff00ff60a01b1916600160b01b179055868116600b558516600c55815182919081106200011a576200011a62000899565b6020908102919091010151600e556200013588600a6200073c565b816000815181106200014b576200014b62000899565b60200260200101516200015f91906200080a565b3060009081526001602052604090208190556004546200018091906200082c565b6001600160a01b03808816600090815260016020526040808220939093559151908416913480156108fc02929091818181858888f19350505050158015620001cc573d6000803e3d6000fd5b50600a805460ff60a81b191690556207a120601e55805181906002908110620001f957620001f962000899565b60209081029190910101516010556200021488600a6200073c565b816003815181106200022a576200022a62000899565b60200260200101516200023e91906200080a565b601c556040516200024f906200043c565b604051809103906000f0801580156200026c573d6000803e3d6000fd5b50600f80546001600160a01b0319166001600160a01b03929092169182179055604080516370e39c9560e11b8152905163e1c7392a9160048082019260009290919082900301818387803b158015620002c457600080fd5b505af1158015620002d9573d6000803e3d6000fd5b50503060008181526001602052604080822054905192945090925060008051602062003007833981519152916200031291815260200190565b60405180910390a36001600160a01b038616600081815260016020908152604080832054905190815260008051602062003007833981519152910160405180910390a3662386f26fc10000601b5580518190600490811062000378576200037862000899565b6020026020010151601681905550601654600014156200039d576013805460ff191690555b50505050505050505050620008c5565b828054620003bb9062000846565b90600052602060002090601f016020900481019282620003df57600085556200042a565b82601f10620003fa57805160ff19168380011785556200042a565b828001600101855582156200042a579182015b828111156200042a5782518255916020019190600101906200040d565b50620004389291506200044a565b5090565b6101d18062002e3683390190565b5b808211156200043857600081556001016200044b565b80516001600160a01b03811681146200047957600080fd5b919050565b600082601f8301126200049057600080fd5b815160206001600160401b03821115620004ae57620004ae620008af565b8160051b620004bf828201620006c0565b838152828101908684018388018501891015620004db57600080fd5b600093505b8584101562000500578051835260019390930192918401918401620004e0565b50979650505050505050565b600082601f8301126200051e57600080fd5b81516001600160401b038111156200053a576200053a620008af565b602062000550601f8301601f19168201620006c0565b82815285828487010111156200056557600080fd5b60005b838110156200058557858101830151828201840152820162000568565b83811115620005975760008385840101525b5095945050505050565b805160ff811681146200047957600080fd5b6000806000806000806000806000806101408b8d031215620005d457600080fd5b8a516001600160401b0380821115620005ec57600080fd5b620005fa8e838f016200050c565b9b5060208d01519150808211156200061157600080fd5b6200061f8e838f016200050c565b9a506200062f60408e01620005a1565b995060608d015198506200064660808e0162000461565b97506200065660a08e01620005a1565b96506200066660c08e01620005a1565b95506200067660e08e0162000461565b9450620006876101008e0162000461565b93506101208d01519150808211156200069f57600080fd5b50620006ae8d828e016200047e565b9150509295989b9194979a5092959850565b604051601f8201601f191681016001600160401b0381118282101715620006eb57620006eb620008af565b604052919050565b600181815b808511156200073457816000190482111562000718576200071862000883565b808516156200072657918102915b93841c9390800290620006f8565b509250929050565b60006200074d60ff84168362000754565b9392505050565b600082620007655750600162000804565b81620007745750600062000804565b81600181146200078d57600281146200079857620007b8565b600191505062000804565b60ff841115620007ac57620007ac62000883565b50506001821b62000804565b5060208310610133831016604e8410600b8410161715620007dd575081810a62000804565b620007e98383620006f3565b806000190482111562000800576200080062000883565b0290505b92915050565b600081600019048311821515161562000827576200082762000883565b500290565b60008282101562000841576200084162000883565b500390565b600181811c908216806200085b57607f821691505b602082108114156200087d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61256180620008d56000396000f3fe6080604052600436106103395760003560e01c80636689567e116101ab578063bd876702116100f7578063e1c7392a11610095578063eb10b7411161006f578063eb10b74114610aac578063f275f64b14610ac2578063f2fde38b14610ae2578063f887ea4014610b0257600080fd5b8063e1c7392a14610a4f578063e546ed0814610a69578063e9bbb04014610a7f57600080fd5b8063c46eee1e116100d1578063c46eee1e146109aa578063d9443923146109ca578063dd62ed3e146109eb578063e146a7fe14610a2f57600080fd5b8063bd8767021461095e578063c0b0fda214610974578063c213d62d1461098a57600080fd5b806395d89b4111610164578063a9059cbb1161013e578063a9059cbb146108de578063ae19139e146108fe578063b2bdfa7b1461091e578063b3f006741461093e57600080fd5b806395d89b411461088357806398496c9814610898578063a4c82a00146108c857600080fd5b80636689567e146107cd57806367b9a286146107ed57806370a0823114610802578063715018a614610838578063730c18881461084d57806382247ec01461086d57600080fd5b806323b872dd11610285578063313ce567116102235780634c21231c116101fd5780634c21231c1461075a57806351c6590a1461077a5780635b8bec551461078d5780635d0044ca146107ad57600080fd5b8063313ce5671461070457806332424aa31461072a5780633fe9f9f71461074457600080fd5b80632a5955121161025f5780632a595512146106a85780632c3e486c146106be5780632e82f1a0146106d457806330288d75146106ee57600080fd5b806323b872dd1461063a57806326987b601461065a5780632a11ced01461067057600080fd5b806311106ee2116102f25780631693e8d4116102cc5780631693e8d4146105d957806317452e69146105fa57806318160ddd1461060f578063199ffc721461062457600080fd5b806311106ee21461057857806312a54b621461059857806313d78803146105b957600080fd5b806301dea7711461048e57806304c0c476146104b757806306fdde03146104cd5780630902f1ac146104ef578063095ea7b3146105285780630a26cc2c1461055857600080fd5b366104895760175460ff16610476576009546001600160a01b031633146103935760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b60448201526064015b60405180910390fd5b600a805460ff60a81b1916600160a81b179055346103e15760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161038a565b600a80546001600160a81b0319163317600160a01b17905530600090815260016020526040908190205490517fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb491610443913490918252602082015260400190565b60405180910390a16017805460ff19166001179055600e5461046790610e1061244b565b6104719042612323565b600655005b61047f33610b22565b610487610c08565b005b600080fd5b34801561049a57600080fd5b506104a4600e5481565b6040519081526020015b60405180910390f35b3480156104c357600080fd5b506104a460065481565b3480156104d957600080fd5b506104e2610e0d565b6040516104ae9190612257565b3480156104fb57600080fd5b50610513306000908152600160205260409020544791565b604080519283526020830191909152016104ae565b34801561053457600080fd5b506105486105433660046121a1565b610e9f565b60405190151581526020016104ae565b34801561056457600080fd5b506104876105733660046121e6565b610eb6565b34801561058457600080fd5b506104a46105933660046121ff565b610f42565b3480156105a457600080fd5b50600a5461054890600160b01b900460ff1681565b3480156105c557600080fd5b506104876105d43660046121e6565b610fa3565b3480156105e557600080fd5b50600a5461054890600160a01b900460ff1681565b34801561060657600080fd5b50610487611164565b34801561061b57600080fd5b506004546104a4565b34801561063057600080fd5b506104a460165481565b34801561064657600080fd5b5061054861065536600461213b565b6111f8565b34801561066657600080fd5b506104a4601a5481565b34801561067c57600080fd5b5061069061068b3660046121e6565b611275565b6040516001600160a01b0390911681526020016104ae565b3480156106b457600080fd5b506104a4601d5481565b3480156106ca57600080fd5b506104a460145481565b3480156106e057600080fd5b506013546105489060ff1681565b3480156106fa57600080fd5b506104a4600b5481565b34801561071057600080fd5b5060115460ff165b60405160ff90911681526020016104ae565b34801561073657600080fd5b506011546107189060ff1681565b34801561075057600080fd5b506104a4601c5481565b34801561076657600080fd5b50610487610775366004612177565b61129f565b6104876107883660046121e6565b6112f6565b34801561079957600080fd5b50600a54610690906001600160a01b031681565b3480156107b957600080fd5b506104876107c83660046121e6565b611471565b3480156107d957600080fd5b506104876107e83660046121e6565b6114a0565b3480156107f957600080fd5b506104876114cf565b34801561080e57600080fd5b506104a461081d3660046120e6565b6001600160a01b031660009081526001602052604090205490565b34801561084457600080fd5b506104876115ac565b34801561085957600080fd5b50610487610868366004612222565b6115e8565b34801561087957600080fd5b506104a460055481565b34801561088f57600080fd5b506104e26116bb565b3480156108a457600080fd5b506105486108b33660046120e6565b60126020526000908152604090205460ff1681565b3480156108d457600080fd5b506104a460155481565b3480156108ea57600080fd5b506105486108f93660046121a1565b6116ca565b34801561090a57600080fd5b506104876109193660046121cb565b61171c565b34801561092a57600080fd5b50600954610690906001600160a01b031681565b34801561094a57600080fd5b50600d54610690906001600160a01b031681565b34801561096a57600080fd5b506104a4601e5481565b34801561098057600080fd5b506104a4600c5481565b34801561099657600080fd5b506104876109a53660046121e6565b611764565b3480156109b657600080fd5b506104876109c53660046121e6565b611793565b3480156109d657600080fd5b50600a5461054890600160a81b900460ff1681565b3480156109f757600080fd5b506104a4610a06366004612108565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b348015610a3b57600080fd5b50610487610a4a3660046121cb565b6117de565b348015610a5b57600080fd5b506017546105489060ff1681565b348015610a7557600080fd5b506104a460105481565b348015610a8b57600080fd5b506104a4610a9a3660046120e6565b60196020526000908152604090205481565b348015610ab857600080fd5b506104a4601b5481565b348015610ace57600080fd5b50610487610add3660046121cb565b61181b565b348015610aee57600080fd5b50610487610afd3660046120e6565b611863565b348015610b0e57600080fd5b50600f54610690906001600160a01b031681565b803b80151580610b3c57506001600160a01b03821661dead145b15610b45575050565b6001600160a01b038216600090815260196020526040902054610c04576018541580610ba25750816001600160a01b03166018600081548110610b8a57610b8a6124ed565b6000918252602090912001546001600160a01b031614155b15610c0457601880546001600160a01b0384166000818152601960205260408120839055600183018455929092527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e0180546001600160a01b03191690911790555b5050565b600b543490600090606490610c1d908461244b565b610c27919061233b565b90506000610c35828461246a565b90506000606460105485610c49919061244b565b610c53919061233b565b600d546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015610c8e573d6000803e3d6000fd5b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610cc9573d6000803e3d6000fd5b50306000908152600160205260408120544790610ce6908561244b565b610cf0919061233b565b600a54909150600160b01b900460ff1615610d665760055433600090815260016020526040902054610d229083612323565b1115610d665760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161038a565b60006064600c5483610d78919061244b565b610d82919061233b565b90506000610d90828461246a565b9050610d9d3033836118af565b8115610daf57610daf306000846118af565b610dba601e54610fa3565b604080518681526000602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250505050505050565b606060078054610e1c90612481565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4890612481565b8015610e955780601f10610e6a57610100808354040283529160200191610e95565b820191906000526020600020905b815481529060010190602001808311610e7857829003601f168201915b5050505050905090565b6000610eac338484611b9e565b5060015b92915050565b600a546001600160a01b03163314610ee05760405162461bcd60e51b815260040161038a906122ac565b6305f5e1008110610f1d5760405162461bcd60e51b81526020600482015260076024820152661b9bdd081cd95d60ca1b604482015260640161038a565b610f2981610e1061244b565b60066000828254610f3a9190612323565b909155505050565b6000806000610f5e306000908152600160205260409020544791565b915091508315610f8f57610f728583612323565b610f7c828761244b565b610f86919061233b565b92505050610eb0565b610f998582612323565b610f7c838761244b565b43601d5460c8610fb39190612323565b1115610fbc5750565b600f54601b546001600160a01b0390911631908111610fd9575050565b601854600090819081908180805a90505b8883108015610ff857508382105b156111555783601a541061100c576000601a555b6018601a5481548110611021576110216124ed565b6000918252602090912001546001600160a01b03169650611057876001600160a01b031660009081526001602052604090205490565b9550601c548611801561108357506001600160a01b03871660009081526012602052604090205460ff16155b801561108e5750863b155b15611113576004546110a0878a61244b565b6110aa919061233b565b9450841561111357600f546040516374c9f8dd60e01b81526001600160a01b03898116600483015260248201889052909116906374c9f8dd90604401600060405180830381600087803b15801561110057600080fd5b505af1925050508015611111575060015b505b5a61111e908261246a565b6111289084612323565b92505a601a8054919250600061113d836124bc565b9190505550818061114d906124bc565b925050610fea565b505043601d5550505050505050565b6009546001600160a01b0316331461118e5760405162461bcd60e51b815260040161038a906122ee565b600f546009546040516374c9f8dd60e01b81526001600160a01b039182166004820152911680316024830152906374c9f8dd90604401600060405180830381600087803b1580156111de57600080fd5b505af11580156111f2573d6000803e3d6000fd5b50505050565b60006112058484846118af565b611255843361125085604051806060016040528060288152602001612504602891396001600160a01b038a166000908152602081815260408083203384529091529020549190611cb8565b611b9e565b6001600160a01b03831630141561126b57600080fd5b5060019392505050565b6018818154811061128557600080fd5b6000918252602090912001546001600160a01b0316905081565b6009546001600160a01b03163314806112c25750600a546001600160a01b031633145b6112cb57600080fd5b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6009546001600160a01b031633146113205760405162461bcd60e51b815260040161038a906122ee565b600a54600160a81b900460ff161561137a5760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c7265616479206164646564000000000000000000604482015260640161038a565b600a805460ff60a81b1916600160a81b179055346113c85760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161038a565b80421061140e5760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b604482015260640161038a565b6006819055600a80546001600160a81b0319163317600160a01b1790556040517fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb4906114669083903490918252602082015260400190565b60405180910390a150565b6009546001600160a01b0316331461149b5760405162461bcd60e51b815260040161038a906122ee565b600555565b6009546001600160a01b031633146114ca5760405162461bcd60e51b815260040161038a906122ee565b601e55565b600a546001600160a01b031633146114f95760405162461bcd60e51b815260040161038a906122ac565b600654421161153d5760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b604482015260640161038a565b600a805460ff60a01b1916905560405133904780156108fc02916000818181858888f19350505050158015611576573d6000803e3d6000fd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6009546001600160a01b031633146115d65760405162461bcd60e51b815260040161038a906122ee565b600980546001600160a01b0319169055565b6009546001600160a01b031633146116125760405162461bcd60e51b815260040161038a906122ee565b6101f48211156116575760405162461bcd60e51b815260206004820152601060248201526f0e0cae4c6cadce840e8dede40d0d2ced60831b604482015260640161038a565b6103e883101561169f5760405162461bcd60e51b8152602060048201526013602482015272199c995c5d595b98de481d1bdbc81cda1c9bdd606a1b604482015260640161038a565b6014929092556016556013805460ff1916911515919091179055565b606060088054610e1c90612481565b60006001600160a01b0383163014156116f4576116e633610b22565b6116ef82611ce4565b611711565b6116fd83610b22565b61170633610b22565b6117113384846118af565b610eac601e54610fa3565b6009546001600160a01b031633146117465760405162461bcd60e51b815260040161038a906122ee565b600a8054911515600160b01b0260ff60b01b19909216919091179055565b6009546001600160a01b0316331461178e5760405162461bcd60e51b815260040161038a906122ee565b601b55565b6009546001600160a01b031633146117bd5760405162461bcd60e51b815260040161038a906122ee565b6011546117ce9060ff16600a6123a0565b6117d8908261244b565b601c5550565b6009546001600160a01b031633146118085760405162461bcd60e51b815260040161038a906122ee565b6013805460ff1916911515919091179055565b6009546001600160a01b031633146118455760405162461bcd60e51b815260040161038a906122ee565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b6009546001600160a01b0316331461188d5760405162461bcd60e51b815260040161038a906122ee565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216158015906118d557506009546001600160a01b03848116911614155b80156118f157503360009081526012602052604090205460ff16155b801561191657506001600160a01b03821660009081526012602052604090205460ff16155b15611a8257600a54600160a01b900460ff166119695760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b604482015260640161038a565b3360009081526003602052604090205463ffffffff164314156119e85760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b606482015260840161038a565b336000908152600360209081526040808320805463ffffffff19164363ffffffff161790556002909152902054611a2090601e612323565b421015611a6f5760405162461bcd60e51b815260206004820152601d60248201527f53656e646572206d757374207761697420666f7220636f6f6c646f776e000000604482015260640161038a565b3360009081526002602052604090204290555b6001600160a01b038316600090815260016020526040902054811115611af95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161038a565b6001600160a01b038084166000908152600160205260409020805483900390558216611b2d57600480548290039055611b4c565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b9191815260200190565b60405180910390a3505050565b6001600160a01b038316611c005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038a565b6001600160a01b038216611c615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038a565b6001600160a01b038381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611b91565b60008184841115611cdc5760405162461bcd60e51b815260040161038a9190612257565b505050900390565b611ced33610b22565b60006064600c5483611cff919061244b565b611d09919061233b565b90506000611d17828461246a565b3060009081526001602052604081205491925090611d36908390612323565b611d40478461244b565b611d4a919061233b565b905060008111611d925760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161038a565b80471015611de25760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161038a565b611ded3330846118af565b8215611dff57611dff336000856118af565b60006064600b5483611e11919061244b565b611e1b919061233b565b90506000606460105484611e2f919061244b565b611e39919061233b565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611e74573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611eaf573d6000803e3d6000fd5b50336108fc82611ebf858761246a565b611ec9919061246a565b6040518115909202916000818181858888f19350505050158015611ef1573d6000803e3d6000fd5b5060135460ff168015611f135750601454601554611f0f9190612323565b4210155b15611f2257611f20611f89565b505b337f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb73760008884611f52878961246a565b611f5c919061246a565b604080519384526020840192909252908201526000606082015260800160405180910390a2505050505050565b4260155530600090815260016020526040812054600061271060165483611fb0919061244b565b611fba919061233b565b90503061dead8215612070576001600160a01b03821660009081526001602052604081208054859290611fee90849061246a565b90915550506001600160a01b0381166000908152600160205260408120805485929061201b908490612323565b92505081905550806001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161206791815260200190565b60405180910390a35b6040805185815260208101859052428183015290517f9cb560eb3a76b2c70f0528d86a83cc0464d10dd0ccc94ba95bd11b93eac93da69181900360600190a1600194505050505090565b80356001600160a01b03811681146120d157600080fd5b919050565b803580151581146120d157600080fd5b6000602082840312156120f857600080fd5b612101826120ba565b9392505050565b6000806040838503121561211b57600080fd5b612124836120ba565b9150612132602084016120ba565b90509250929050565b60008060006060848603121561215057600080fd5b612159846120ba565b9250612167602085016120ba565b9150604084013590509250925092565b6000806040838503121561218a57600080fd5b612193836120ba565b9150612132602084016120d6565b600080604083850312156121b457600080fd5b6121bd836120ba565b946020939093013593505050565b6000602082840312156121dd57600080fd5b612101826120d6565b6000602082840312156121f857600080fd5b5035919050565b6000806040838503121561221257600080fd5b82359150612132602084016120d6565b60008060006060848603121561223757600080fd5b833592506020840135915061224e604085016120d6565b90509250925092565b600060208083528351808285015260005b8181101561228457858101830151858201604001528201612268565b81811115612296576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115612336576123366124d7565b500190565b60008261235857634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561239857816000190482111561237e5761237e6124d7565b8085161561238b57918102915b93841c9390800290612362565b509250929050565b600061210160ff8416836000826123b957506001610eb0565b816123c657506000610eb0565b81600181146123dc57600281146123e657612402565b6001915050610eb0565b60ff8411156123f7576123f76124d7565b50506001821b610eb0565b5060208310610133831016604e8410600b8410161715612425575081810a610eb0565b61242f838361235d565b8060001904821115612443576124436124d7565b029392505050565b6000816000190483118215151615612465576124656124d7565b500290565b60008282101561247c5761247c6124d7565b500390565b600181811c9082168061249557607f821691505b602082108114156124b657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156124d0576124d06124d7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220223cd49cf1c057ebb04ebbbef1538ada6394dbb4be02b137d07dbe6eda720ba564736f6c63430008060033608060405234801561001057600080fd5b506101b1806100206000396000f3fe6080604052600436106100385760003560e01c806374c9f8dd14610044578063b2bdfa7b14610066578063e1c7392a146100a257600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b5061006461005f366004610143565b6100b7565b005b34801561007257600080fd5b50600054610086906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100ae57600080fd5b50610064610109565b6000546001600160a01b031633146100ce57600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610104573d6000803e3d6000fd5b505050565b600054600160a01b900460ff161561012057600080fd5b6000805460ff60a01b1933166001600160a81b031990911617600160a01b179055565b6000806040838503121561015657600080fd5b82356001600160a01b038116811461016d57600080fd5b94602093909301359350505056fea26469706673582212205ae2c4710b2feb362d72862262e8f395aee66cd1aa1c905209c9dc2ddf59f82a64736f6c63430008060033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000002540be400000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b40000000000000000000000007d1b5a54b17a4d2bc2cea69ae29d1a441020bbe100000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000453333134000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004533331340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000218711a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106103395760003560e01c80636689567e116101ab578063bd876702116100f7578063e1c7392a11610095578063eb10b7411161006f578063eb10b74114610aac578063f275f64b14610ac2578063f2fde38b14610ae2578063f887ea4014610b0257600080fd5b8063e1c7392a14610a4f578063e546ed0814610a69578063e9bbb04014610a7f57600080fd5b8063c46eee1e116100d1578063c46eee1e146109aa578063d9443923146109ca578063dd62ed3e146109eb578063e146a7fe14610a2f57600080fd5b8063bd8767021461095e578063c0b0fda214610974578063c213d62d1461098a57600080fd5b806395d89b4111610164578063a9059cbb1161013e578063a9059cbb146108de578063ae19139e146108fe578063b2bdfa7b1461091e578063b3f006741461093e57600080fd5b806395d89b411461088357806398496c9814610898578063a4c82a00146108c857600080fd5b80636689567e146107cd57806367b9a286146107ed57806370a0823114610802578063715018a614610838578063730c18881461084d57806382247ec01461086d57600080fd5b806323b872dd11610285578063313ce567116102235780634c21231c116101fd5780634c21231c1461075a57806351c6590a1461077a5780635b8bec551461078d5780635d0044ca146107ad57600080fd5b8063313ce5671461070457806332424aa31461072a5780633fe9f9f71461074457600080fd5b80632a5955121161025f5780632a595512146106a85780632c3e486c146106be5780632e82f1a0146106d457806330288d75146106ee57600080fd5b806323b872dd1461063a57806326987b601461065a5780632a11ced01461067057600080fd5b806311106ee2116102f25780631693e8d4116102cc5780631693e8d4146105d957806317452e69146105fa57806318160ddd1461060f578063199ffc721461062457600080fd5b806311106ee21461057857806312a54b621461059857806313d78803146105b957600080fd5b806301dea7711461048e57806304c0c476146104b757806306fdde03146104cd5780630902f1ac146104ef578063095ea7b3146105285780630a26cc2c1461055857600080fd5b366104895760175460ff16610476576009546001600160a01b031633146103935760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b60448201526064015b60405180910390fd5b600a805460ff60a81b1916600160a81b179055346103e15760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161038a565b600a80546001600160a81b0319163317600160a01b17905530600090815260016020526040908190205490517fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb491610443913490918252602082015260400190565b60405180910390a16017805460ff19166001179055600e5461046790610e1061244b565b6104719042612323565b600655005b61047f33610b22565b610487610c08565b005b600080fd5b34801561049a57600080fd5b506104a4600e5481565b6040519081526020015b60405180910390f35b3480156104c357600080fd5b506104a460065481565b3480156104d957600080fd5b506104e2610e0d565b6040516104ae9190612257565b3480156104fb57600080fd5b50610513306000908152600160205260409020544791565b604080519283526020830191909152016104ae565b34801561053457600080fd5b506105486105433660046121a1565b610e9f565b60405190151581526020016104ae565b34801561056457600080fd5b506104876105733660046121e6565b610eb6565b34801561058457600080fd5b506104a46105933660046121ff565b610f42565b3480156105a457600080fd5b50600a5461054890600160b01b900460ff1681565b3480156105c557600080fd5b506104876105d43660046121e6565b610fa3565b3480156105e557600080fd5b50600a5461054890600160a01b900460ff1681565b34801561060657600080fd5b50610487611164565b34801561061b57600080fd5b506004546104a4565b34801561063057600080fd5b506104a460165481565b34801561064657600080fd5b5061054861065536600461213b565b6111f8565b34801561066657600080fd5b506104a4601a5481565b34801561067c57600080fd5b5061069061068b3660046121e6565b611275565b6040516001600160a01b0390911681526020016104ae565b3480156106b457600080fd5b506104a4601d5481565b3480156106ca57600080fd5b506104a460145481565b3480156106e057600080fd5b506013546105489060ff1681565b3480156106fa57600080fd5b506104a4600b5481565b34801561071057600080fd5b5060115460ff165b60405160ff90911681526020016104ae565b34801561073657600080fd5b506011546107189060ff1681565b34801561075057600080fd5b506104a4601c5481565b34801561076657600080fd5b50610487610775366004612177565b61129f565b6104876107883660046121e6565b6112f6565b34801561079957600080fd5b50600a54610690906001600160a01b031681565b3480156107b957600080fd5b506104876107c83660046121e6565b611471565b3480156107d957600080fd5b506104876107e83660046121e6565b6114a0565b3480156107f957600080fd5b506104876114cf565b34801561080e57600080fd5b506104a461081d3660046120e6565b6001600160a01b031660009081526001602052604090205490565b34801561084457600080fd5b506104876115ac565b34801561085957600080fd5b50610487610868366004612222565b6115e8565b34801561087957600080fd5b506104a460055481565b34801561088f57600080fd5b506104e26116bb565b3480156108a457600080fd5b506105486108b33660046120e6565b60126020526000908152604090205460ff1681565b3480156108d457600080fd5b506104a460155481565b3480156108ea57600080fd5b506105486108f93660046121a1565b6116ca565b34801561090a57600080fd5b506104876109193660046121cb565b61171c565b34801561092a57600080fd5b50600954610690906001600160a01b031681565b34801561094a57600080fd5b50600d54610690906001600160a01b031681565b34801561096a57600080fd5b506104a4601e5481565b34801561098057600080fd5b506104a4600c5481565b34801561099657600080fd5b506104876109a53660046121e6565b611764565b3480156109b657600080fd5b506104876109c53660046121e6565b611793565b3480156109d657600080fd5b50600a5461054890600160a81b900460ff1681565b3480156109f757600080fd5b506104a4610a06366004612108565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b348015610a3b57600080fd5b50610487610a4a3660046121cb565b6117de565b348015610a5b57600080fd5b506017546105489060ff1681565b348015610a7557600080fd5b506104a460105481565b348015610a8b57600080fd5b506104a4610a9a3660046120e6565b60196020526000908152604090205481565b348015610ab857600080fd5b506104a4601b5481565b348015610ace57600080fd5b50610487610add3660046121cb565b61181b565b348015610aee57600080fd5b50610487610afd3660046120e6565b611863565b348015610b0e57600080fd5b50600f54610690906001600160a01b031681565b803b80151580610b3c57506001600160a01b03821661dead145b15610b45575050565b6001600160a01b038216600090815260196020526040902054610c04576018541580610ba25750816001600160a01b03166018600081548110610b8a57610b8a6124ed565b6000918252602090912001546001600160a01b031614155b15610c0457601880546001600160a01b0384166000818152601960205260408120839055600183018455929092527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e0180546001600160a01b03191690911790555b5050565b600b543490600090606490610c1d908461244b565b610c27919061233b565b90506000610c35828461246a565b90506000606460105485610c49919061244b565b610c53919061233b565b600d546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015610c8e573d6000803e3d6000fd5b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610cc9573d6000803e3d6000fd5b50306000908152600160205260408120544790610ce6908561244b565b610cf0919061233b565b600a54909150600160b01b900460ff1615610d665760055433600090815260016020526040902054610d229083612323565b1115610d665760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161038a565b60006064600c5483610d78919061244b565b610d82919061233b565b90506000610d90828461246a565b9050610d9d3033836118af565b8115610daf57610daf306000846118af565b610dba601e54610fa3565b604080518681526000602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250505050505050565b606060078054610e1c90612481565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4890612481565b8015610e955780601f10610e6a57610100808354040283529160200191610e95565b820191906000526020600020905b815481529060010190602001808311610e7857829003601f168201915b5050505050905090565b6000610eac338484611b9e565b5060015b92915050565b600a546001600160a01b03163314610ee05760405162461bcd60e51b815260040161038a906122ac565b6305f5e1008110610f1d5760405162461bcd60e51b81526020600482015260076024820152661b9bdd081cd95d60ca1b604482015260640161038a565b610f2981610e1061244b565b60066000828254610f3a9190612323565b909155505050565b6000806000610f5e306000908152600160205260409020544791565b915091508315610f8f57610f728583612323565b610f7c828761244b565b610f86919061233b565b92505050610eb0565b610f998582612323565b610f7c838761244b565b43601d5460c8610fb39190612323565b1115610fbc5750565b600f54601b546001600160a01b0390911631908111610fd9575050565b601854600090819081908180805a90505b8883108015610ff857508382105b156111555783601a541061100c576000601a555b6018601a5481548110611021576110216124ed565b6000918252602090912001546001600160a01b03169650611057876001600160a01b031660009081526001602052604090205490565b9550601c548611801561108357506001600160a01b03871660009081526012602052604090205460ff16155b801561108e5750863b155b15611113576004546110a0878a61244b565b6110aa919061233b565b9450841561111357600f546040516374c9f8dd60e01b81526001600160a01b03898116600483015260248201889052909116906374c9f8dd90604401600060405180830381600087803b15801561110057600080fd5b505af1925050508015611111575060015b505b5a61111e908261246a565b6111289084612323565b92505a601a8054919250600061113d836124bc565b9190505550818061114d906124bc565b925050610fea565b505043601d5550505050505050565b6009546001600160a01b0316331461118e5760405162461bcd60e51b815260040161038a906122ee565b600f546009546040516374c9f8dd60e01b81526001600160a01b039182166004820152911680316024830152906374c9f8dd90604401600060405180830381600087803b1580156111de57600080fd5b505af11580156111f2573d6000803e3d6000fd5b50505050565b60006112058484846118af565b611255843361125085604051806060016040528060288152602001612504602891396001600160a01b038a166000908152602081815260408083203384529091529020549190611cb8565b611b9e565b6001600160a01b03831630141561126b57600080fd5b5060019392505050565b6018818154811061128557600080fd5b6000918252602090912001546001600160a01b0316905081565b6009546001600160a01b03163314806112c25750600a546001600160a01b031633145b6112cb57600080fd5b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6009546001600160a01b031633146113205760405162461bcd60e51b815260040161038a906122ee565b600a54600160a81b900460ff161561137a5760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c7265616479206164646564000000000000000000604482015260640161038a565b600a805460ff60a81b1916600160a81b179055346113c85760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161038a565b80421061140e5760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b604482015260640161038a565b6006819055600a80546001600160a81b0319163317600160a01b1790556040517fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb4906114669083903490918252602082015260400190565b60405180910390a150565b6009546001600160a01b0316331461149b5760405162461bcd60e51b815260040161038a906122ee565b600555565b6009546001600160a01b031633146114ca5760405162461bcd60e51b815260040161038a906122ee565b601e55565b600a546001600160a01b031633146114f95760405162461bcd60e51b815260040161038a906122ac565b600654421161153d5760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b604482015260640161038a565b600a805460ff60a01b1916905560405133904780156108fc02916000818181858888f19350505050158015611576573d6000803e3d6000fd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6009546001600160a01b031633146115d65760405162461bcd60e51b815260040161038a906122ee565b600980546001600160a01b0319169055565b6009546001600160a01b031633146116125760405162461bcd60e51b815260040161038a906122ee565b6101f48211156116575760405162461bcd60e51b815260206004820152601060248201526f0e0cae4c6cadce840e8dede40d0d2ced60831b604482015260640161038a565b6103e883101561169f5760405162461bcd60e51b8152602060048201526013602482015272199c995c5d595b98de481d1bdbc81cda1c9bdd606a1b604482015260640161038a565b6014929092556016556013805460ff1916911515919091179055565b606060088054610e1c90612481565b60006001600160a01b0383163014156116f4576116e633610b22565b6116ef82611ce4565b611711565b6116fd83610b22565b61170633610b22565b6117113384846118af565b610eac601e54610fa3565b6009546001600160a01b031633146117465760405162461bcd60e51b815260040161038a906122ee565b600a8054911515600160b01b0260ff60b01b19909216919091179055565b6009546001600160a01b0316331461178e5760405162461bcd60e51b815260040161038a906122ee565b601b55565b6009546001600160a01b031633146117bd5760405162461bcd60e51b815260040161038a906122ee565b6011546117ce9060ff16600a6123a0565b6117d8908261244b565b601c5550565b6009546001600160a01b031633146118085760405162461bcd60e51b815260040161038a906122ee565b6013805460ff1916911515919091179055565b6009546001600160a01b031633146118455760405162461bcd60e51b815260040161038a906122ee565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b6009546001600160a01b0316331461188d5760405162461bcd60e51b815260040161038a906122ee565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216158015906118d557506009546001600160a01b03848116911614155b80156118f157503360009081526012602052604090205460ff16155b801561191657506001600160a01b03821660009081526012602052604090205460ff16155b15611a8257600a54600160a01b900460ff166119695760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b604482015260640161038a565b3360009081526003602052604090205463ffffffff164314156119e85760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b606482015260840161038a565b336000908152600360209081526040808320805463ffffffff19164363ffffffff161790556002909152902054611a2090601e612323565b421015611a6f5760405162461bcd60e51b815260206004820152601d60248201527f53656e646572206d757374207761697420666f7220636f6f6c646f776e000000604482015260640161038a565b3360009081526002602052604090204290555b6001600160a01b038316600090815260016020526040902054811115611af95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161038a565b6001600160a01b038084166000908152600160205260409020805483900390558216611b2d57600480548290039055611b4c565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b9191815260200190565b60405180910390a3505050565b6001600160a01b038316611c005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038a565b6001600160a01b038216611c615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038a565b6001600160a01b038381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611b91565b60008184841115611cdc5760405162461bcd60e51b815260040161038a9190612257565b505050900390565b611ced33610b22565b60006064600c5483611cff919061244b565b611d09919061233b565b90506000611d17828461246a565b3060009081526001602052604081205491925090611d36908390612323565b611d40478461244b565b611d4a919061233b565b905060008111611d925760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161038a565b80471015611de25760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161038a565b611ded3330846118af565b8215611dff57611dff336000856118af565b60006064600b5483611e11919061244b565b611e1b919061233b565b90506000606460105484611e2f919061244b565b611e39919061233b565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611e74573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611eaf573d6000803e3d6000fd5b50336108fc82611ebf858761246a565b611ec9919061246a565b6040518115909202916000818181858888f19350505050158015611ef1573d6000803e3d6000fd5b5060135460ff168015611f135750601454601554611f0f9190612323565b4210155b15611f2257611f20611f89565b505b337f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb73760008884611f52878961246a565b611f5c919061246a565b604080519384526020840192909252908201526000606082015260800160405180910390a2505050505050565b4260155530600090815260016020526040812054600061271060165483611fb0919061244b565b611fba919061233b565b90503061dead8215612070576001600160a01b03821660009081526001602052604081208054859290611fee90849061246a565b90915550506001600160a01b0381166000908152600160205260408120805485929061201b908490612323565b92505081905550806001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161206791815260200190565b60405180910390a35b6040805185815260208101859052428183015290517f9cb560eb3a76b2c70f0528d86a83cc0464d10dd0ccc94ba95bd11b93eac93da69181900360600190a1600194505050505090565b80356001600160a01b03811681146120d157600080fd5b919050565b803580151581146120d157600080fd5b6000602082840312156120f857600080fd5b612101826120ba565b9392505050565b6000806040838503121561211b57600080fd5b612124836120ba565b9150612132602084016120ba565b90509250929050565b60008060006060848603121561215057600080fd5b612159846120ba565b9250612167602085016120ba565b9150604084013590509250925092565b6000806040838503121561218a57600080fd5b612193836120ba565b9150612132602084016120d6565b600080604083850312156121b457600080fd5b6121bd836120ba565b946020939093013593505050565b6000602082840312156121dd57600080fd5b612101826120d6565b6000602082840312156121f857600080fd5b5035919050565b6000806040838503121561221257600080fd5b82359150612132602084016120d6565b60008060006060848603121561223757600080fd5b833592506020840135915061224e604085016120d6565b90509250925092565b600060208083528351808285015260005b8181101561228457858101830151858201604001528201612268565b81811115612296576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115612336576123366124d7565b500190565b60008261235857634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561239857816000190482111561237e5761237e6124d7565b8085161561238b57918102915b93841c9390800290612362565b509250929050565b600061210160ff8416836000826123b957506001610eb0565b816123c657506000610eb0565b81600181146123dc57600281146123e657612402565b6001915050610eb0565b60ff8411156123f7576123f76124d7565b50506001821b610eb0565b5060208310610133831016604e8410600b8410161715612425575081810a610eb0565b61242f838361235d565b8060001904821115612443576124436124d7565b029392505050565b6000816000190483118215151615612465576124656124d7565b500290565b60008282101561247c5761247c6124d7565b500390565b600181811c9082168061249557607f821691505b602082108114156124b657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156124d0576124d06124d7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220223cd49cf1c057ebb04ebbbef1538ada6394dbb4be02b137d07dbe6eda720ba564736f6c63430008060033

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

00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000002540be400000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b40000000000000000000000007d1b5a54b17a4d2bc2cea69ae29d1a441020bbe100000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000453333134000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004533331340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000218711a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): S314
Arg [1] : symbol_ (string): S314
Arg [2] : decimals_ (uint8): 18
Arg [3] : totalSupply_ (uint256): 10000000000
Arg [4] : adminAddress (address): 0xf0979868a39F6f0fD0aa24276C3578C092B4d3b4
Arg [5] : txFee_ (uint8): 1
Arg [6] : burnFee_ (uint8): 1
Arg [7] : FeeAddress (address): 0xf0979868a39F6f0fD0aa24276C3578C092B4d3b4
Arg [8] : maleDuckAddress_ (address): 0x7d1b5a54b17a4D2bC2CEA69ae29d1A441020bbE1
Arg [9] : uintP (uint256[]): 9000000000,0,0,0,0

-----Encoded View---------------
20 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [4] : 000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b4
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [7] : 000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b4
Arg [8] : 0000000000000000000000007d1b5a54b17a4d2bc2cea69ae29d1a441020bbe1
Arg [9] : 00000000000000000000000000000000000000000000000000000000000001c0
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [11] : 5333313400000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [13] : 5333313400000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [15] : 0000000000000000000000000000000000000000000000000000000218711a00
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [17] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [18] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8170:17346:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21883:4;;;;21878:495;;21926:6;;-1:-1:-1;;;;;21926:6:0;21912:10;:20;21904:42;;;;-1:-1:-1;;;21904:42:0;;11296:2:1;21904:42:0;;;11278:21:1;11335:1;11315:18;;;11308:29;-1:-1:-1;;;11353:18:1;;;11346:39;11402:18;;21904:42:0;;;;;;;;;21961:14;:21;;-1:-1:-1;;;;21961:21:0;-1:-1:-1;;;21961:21:0;;;22005:9;21997:37;;;;-1:-1:-1;;;21997:37:0;;8108:2:1;21997:37:0;;;8090:21:1;8147:2;8127:18;;;8120:30;-1:-1:-1;;;8166:18:1;;;8159:41;8217:18;;21997:37:0;8080:161:1;21997:37:0;22049:13;:20;;-1:-1:-1;;;;;;22084:30:0;22104:10;22084:30;-1:-1:-1;;;22084:30:0;;;22165:4;22049:20;22147:24;;;22065:4;22147:24;;;;;;;;22134:49;;;;;;22173:9;;12199:25:1;;;12255:2;12240:18;;12233:34;12187:2;12172:18;;12154:119;22134:49:0;;;;;;;;22198:4;:11;;-1:-1:-1;;22198:11:0;22205:4;22198:11;;;22267:13;;:20;;22283:4;22267:20;:::i;:::-;22249:38;;:15;:38;:::i;:::-;22224:22;:63;8170:17346;21878:495;22320:21;22330:10;22320:9;:21::i;:::-;22356:5;:3;:5::i;:::-;8170:17346;;;;;11681:28;;;;;;;;;;;;;;;;;;;11577:25:1;;;11565:2;11550:18;11681:28:0;;;;;;;;8553:37;;;;;;;;;;;;;;;;13457:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;15628:137::-;;;;;;;;;;;;15750:4;15672:7;15732:24;;;:9;:24;;;;;;15709:21;;15628:137;;;;;12199:25:1;;;12255:2;12240:18;;12233:34;;;;12172:18;15628:137:0;12154:119:1;9344:210:0;;;;;;;;;;-1:-1:-1;9344:210:0;;;;;:::i;:::-;;:::i;:::-;;;3484:14:1;;3477:22;3459:41;;3447:2;3432:18;9344:210:0;3414:92:1;17251:195:0;;;;;;;;;;-1:-1:-1;17251:195:0;;;;;:::i;:::-;;:::i;17454:373::-;;;;;;;;;;-1:-1:-1;17454:373:0;;;;;:::i;:::-;;:::i;8791:27::-;;;;;;;;;;-1:-1:-1;8791:27:0;;;;-1:-1:-1;;;8791:27:0;;;;;;23213:1326;;;;;;;;;;-1:-1:-1;23213:1326:0;;;;;:::i;:::-;;:::i;8726:25::-;;;;;;;;;;-1:-1:-1;8726:25:0;;;;-1:-1:-1;;;8726:25:0;;;;;;24996:120;;;;;;;;;;;;;:::i;13758:99::-;;;;;;;;;;-1:-1:-1;13837:12:0;;13758:99;;20763:31;;;;;;;;;;;;;;;;10860:501;;;;;;;;;;-1:-1:-1;10860:501:0;;;;;:::i;:::-;;:::i;22474:27::-;;;;;;;;;;;;;;;;22388:24;;;;;;;;;;-1:-1:-1;22388:24:0;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2772:32:1;;;2754:51;;2742:2;2727:18;22388:24:0;2709:102:1;22588:34:0;;;;;;;;;;;;;;;;20675:45;;;;;;;;;;;;;;;;20636:32;;;;;;;;;;-1:-1:-1;20636:32:0;;;;;;;;8827:21;;;;;;;;;;;;;;;;13659:91;;;;;;;;;;-1:-1:-1;13733:9:0;;;;13659:91;;;12774:4:1;12762:17;;;12744:36;;12732:2;12717:18;13659:91:0;12699:87:1;11788:22:0;;;;;;;;;;-1:-1:-1;11788:22:0;;;;;;;;22551:30;;;;;;;;;;;;;;;;24673:183;;;;;;;;;;-1:-1:-1;24673:183:0;;;;;:::i;:::-;;:::i;16342:595::-;;;;;;:::i;:::-;;:::i;8685:32::-;;;;;;;;;;-1:-1:-1;8685:32:0;;;;-1:-1:-1;;;;;8685:32:0;;;16021:105;;;;;;;;;;-1:-1:-1;16021:105:0;;;;;:::i;:::-;;:::i;22664:94::-;;;;;;;;;;-1:-1:-1;22664:94:0;;;;;:::i;:::-;;:::i;16945:298::-;;;;;;;;;;;;;:::i;13865:118::-;;;;;;;;;;-1:-1:-1;13865:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;13957:18:0;13930:7;13957:18;;;:9;:18;;;;;;;13865:118;16134:86;;;;;;;;;;;;;:::i;20230:398::-;;;;;;;;;;-1:-1:-1;20230:398:0;;;;;:::i;:::-;;:::i;8521:25::-;;;;;;;;;;;;;;;;13556:95;;;;;;;;;;;;;:::i;11819:41::-;;;;;;;;;;-1:-1:-1;11819:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20727:29;;;;;;;;;;;;;;;;13995:409;;;;;;;;;;-1:-1:-1;13995:409:0;;;;;:::i;:::-;;:::i;15893:120::-;;;;;;;;;;-1:-1:-1;15893:120:0;;;;;:::i;:::-;;:::i;8657:21::-;;;;;;;;;;-1:-1:-1;8657:21:0;;;;-1:-1:-1;;;;;8657:21:0;;;11638:34;;;;;;;;;;-1:-1:-1;11638:34:0;;;;-1:-1:-1;;;;;11638:34:0;;;22629:26;;;;;;;;;;;;;;;;8855:23;;;;;;;;;;;;;;;;24547:118;;;;;;;;;;-1:-1:-1;24547:118:0;;;;;:::i;:::-;;:::i;24866:122::-;;;;;;;;;;-1:-1:-1;24866:122:0;;;;;:::i;:::-;;:::i;8758:26::-;;;;;;;;;;-1:-1:-1;8758:26:0;;;;-1:-1:-1;;;8758:26:0;;;;;;11429:201;;;;;;;;;;-1:-1:-1;11429:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;11595:18:0;;;11563:7;11595:18;;;;;;;;;;;:27;;;;;;;;;;;;;11429:201;20124:96;;;;;;;;;;-1:-1:-1;20124:96:0;;;;;:::i;:::-;;:::i;21815:16::-;;;;;;;;;;-1:-1:-1;21815:16:0;;;;;;;;11756:23;;;;;;;;;;;;;;;;22419:46;;;;;;;;;;-1:-1:-1;22419:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;22508:36;;;;;;;;;;;;;;;;15773:112;;;;;;;;;;-1:-1:-1;15773:112:0;;;;;:::i;:::-;;:::i;16228:106::-;;;;;;;;;;-1:-1:-1;16228:106:0;;;;;:::i;:::-;;:::i;11718:29::-;;;;;;;;;;-1:-1:-1;11718:29:0;;;;-1:-1:-1;;;;;11718:29:0;;;22766:439;22872:16;;22915:8;;;;:34;;-1:-1:-1;;;;;;22927:22:0;;22942:6;22927:22;22915:34;22911:74;;;22967:7;22766:439;:::o;22911:74::-;-1:-1:-1;;;;;23004:16:0;;;;;;:11;:16;;;;;;22995:203;;23046:7;:14;23041:19;;:40;;;23078:3;-1:-1:-1;;;;;23064:17:0;:7;23072:1;23064:10;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;23064:10:0;:17;;23041:40;23037:150;;;23121:7;:14;;-1:-1:-1;;;;;23102:16:0;;;;;;:11;:16;;;;;:33;;;23154:17;;;;;;;;;;;;;-1:-1:-1;;;;;;23154:17:0;;;;;;23037:150;22806:399;22766:439;:::o;17835:1023::-;17940:6;;17889:9;;17870:16;;17950:3;;17929:17;;17889:9;17929:17;:::i;:::-;17928:25;;;;:::i;:::-;17909:44;-1:-1:-1;17964:17:0;17984:19;17909:44;17984:8;:19;:::i;:::-;17964:39;;18016:20;18063:3;18051:8;;18040;:19;;;;:::i;:::-;18039:27;;;;:::i;:::-;18079:11;;:30;;18016:50;;-1:-1:-1;;;;;;18079:11:0;;:30;;;;;18100:8;;18079:11;:30;:11;:30;18100:8;18079:11;:30;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18120:6:0;;:29;;-1:-1:-1;;;;;18120:6:0;;;;:29;;;;;18136:12;;18120:6;:29;:6;:29;18136:12;18120:6;:29;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18216:4:0;18162:20;18198:24;;;:9;:24;;;;;;18240:21;;18186:36;;:9;:36;:::i;:::-;18185:77;;;;:::i;:::-;18279:15;;18162:100;;-1:-1:-1;;;;18279:15:0;;;;18275:179;;;18377:10;;18362;18352:21;;;;:9;:21;;;;;;18337:36;;:12;:36;:::i;:::-;:50;;18311:131;;;;-1:-1:-1;;;18311:131:0;;10613:2:1;18311:131:0;;;10595:21:1;10652:2;10632:18;;;10625:30;-1:-1:-1;;;10671:18:1;;;10664:49;10730:18;;18311:131:0;10585:169:1;18311:131:0;18466:19;18516:3;18504:8;;18489:12;:23;;;;:::i;:::-;18488:31;;;;:::i;:::-;18466:53;-1:-1:-1;18530:19:0;18552:26;18466:53;18552:12;:26;:::i;:::-;18530:48;;18591:49;18609:4;18616:10;18628:11;18591:9;:49::i;:::-;18654:13;;18651:93;;18683:49;18701:4;18716:1;18720:11;18683:9;:49::i;:::-;18756:26;18770:11;;18756:13;:26::i;:::-;18804:46;;;3758:25:1;;;18832:1:0;3814:2:1;3799:18;;3792:34;;;3842:18;;;3835:34;3900:2;3885:18;;3878:34;;;18804:46:0;;18809:10;;18804:46;;;;;;3745:3:1;18804:46:0;;;17859:999;;;;;;;17835:1023::o;13457:91::-;13502:13;13535:5;13528:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13457:91;:::o;9344:210::-;9463:4;9485:39;177:10;9508:7;9517:6;9485:8;:39::i;:::-;-1:-1:-1;9542:4:0;9344:210;;;;;:::o;17251:195::-;9092:17;;-1:-1:-1;;;;;9092:17:0;9078:10;:31;9056:115;;;;-1:-1:-1;;;9056:115:0;;;;;;;:::i;:::-;17369:9:::1;17363:5;:15;17355:34;;;::::0;-1:-1:-1;;;17355:34:0;;10961:2:1;17355:34:0::1;::::0;::::1;10943:21:1::0;11000:1;10980:18;;;10973:29;-1:-1:-1;;;11018:18:1;;;11011:37;11065:18;;17355:34:0::1;10933:156:1::0;17355:34:0::1;17428:10;:5:::0;17434:4:::1;17428:10;:::i;:::-;17402:22;;:36;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;17251:195:0:o;17454:373::-;17550:7;17576:18;17596:20;17620:13;15750:4;15672:7;15732:24;;;:9;:24;;;;;;15709:21;;15628:137;17620:13;17575:58;;;;17650:4;17646:174;;;17704:18;17717:5;17704:10;:18;:::i;:::-;17679:20;17687:12;17679:5;:20;:::i;:::-;17678:45;;;;:::i;:::-;17671:52;;;;;;17646:174;17787:20;17802:5;17787:12;:20;:::i;:::-;17764:18;17772:10;17764:5;:18;:::i;23213:1326::-;23299:12;23271:19;;23293:3;23271:25;;;;:::i;:::-;:40;23267:79;;;23213:1326;:::o;23267:79::-;23384:6;;23425:21;;-1:-1:-1;;;;;23384:6:0;;;23376:23;;23414:32;;23410:71;;23463:7;23213:1326;:::o;23410:71::-;23608:7;:14;23493:19;;;;;;;;;23716:9;23698:27;;23738:747;23755:3;23745:7;:13;:46;;;;;23775:16;23762:10;:29;23745:46;23738:747;;;23828:16;23812:12;;:32;23808:89;;23880:1;23865:12;:16;23808:89;23927:7;23935:12;;23927:21;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;23927:21:0;;-1:-1:-1;23978:22:0;23927:21;-1:-1:-1;;;;;13957:18:0;13930:7;13957:18;;;:9;:18;;;;;;;13865:118;23978:22;23963:37;;24034:15;;24019:12;:30;:59;;;;-1:-1:-1;;;;;;24054:24:0;;;;;;:11;:24;;;;;;;;24053:25;24019:59;:87;;;;-1:-1:-1;25449:20:0;;25497:8;24019:87;24015:311;;;24163:12;;24137:22;24147:12;24137:7;:22;:::i;:::-;24136:39;;;;:::i;:::-;24127:48;-1:-1:-1;24198:10:0;;24194:117;;24243:6;;24238:45;;-1:-1:-1;;;24238:45:0;;-1:-1:-1;;;;;3232:32:1;;;24238:45:0;;;3214:51:1;3281:18;;;3274:34;;;24243:6:0;;;;24238:24;;3187:18:1;;24238:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24234:58;;24373:9;24363:19;;:7;:19;:::i;:::-;24352:31;;:7;:31;:::i;:::-;24342:41;;24408:9;24432:12;:14;;24398:19;;-1:-1:-1;24432:12:0;:14;;;:::i;:::-;;;;;;24461:12;;;;;:::i;:::-;;;;23738:747;;;-1:-1:-1;;24519:12:0;24497:19;:34;-1:-1:-1;;;;;;;23213:1326:0:o;24996:120::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;25056:6:::1;::::0;25076::::1;::::0;25051:57:::1;::::0;-1:-1:-1;;;25051:57:0;;-1:-1:-1;;;;;25076:6:0;;::::1;25051:57;::::0;::::1;3214:51:1::0;25056:6:0;::::1;25084:23:::0;::::1;3281:18:1::0;;;3274:34;25056:6:0;25051:24:::1;::::0;3187:18:1;;25051:57:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24996:120::o:0;10860:501::-;11000:4;11019:36;11029:6;11037:9;11048:6;11019:9;:36::i;:::-;11066:220;11089:6;177:10;11137:138;11193:6;11137:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11137:19:0;;:11;:19;;;;;;;;;;;177:10;11137:33;;;;;;;;;;:37;:138::i;:::-;11066:8;:220::i;:::-;-1:-1:-1;;;;;11305:24:0;;11324:4;11305:24;;11297:34;;;;;;-1:-1:-1;11349:4:0;10860:501;;;;;:::o;22388:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22388:24:0;;-1:-1:-1;22388:24:0;:::o;24673:183::-;24768:6;;-1:-1:-1;;;;;24768:6:0;24756:10;:18;;:49;;-1:-1:-1;24788:17:0;;-1:-1:-1;;;;;24788:17:0;24776:10;:29;24756:49;24748:58;;;;;;-1:-1:-1;;;;;24817:23:0;;;;;;;;:11;:23;;;;;:31;;-1:-1:-1;;24817:31:0;;;;;;;;;;24673:183::o;16342:595::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;16473:14:::1;::::0;-1:-1:-1;;;16473:14:0;::::1;;;:23;16465:59;;;::::0;-1:-1:-1;;;16465:59:0;;6981:2:1;16465:59:0::1;::::0;::::1;6963:21:1::0;7020:2;7000:18;;;6993:30;7059:25;7039:18;;;7032:53;7102:18;;16465:59:0::1;6953:173:1::0;16465:59:0::1;16537:14;:21:::0;;-1:-1:-1;;;;16537:21:0::1;-1:-1:-1::0;;;16537:21:0::1;::::0;;16579:9:::1;16571:37;;;::::0;-1:-1:-1;;;16571:37:0;;8108:2:1;16571:37:0::1;::::0;::::1;8090:21:1::0;8147:2;8127:18;;;8120:30;-1:-1:-1;;;8166:18:1;;;8159:41;8217:18;;16571:37:0::1;8080:161:1::0;16571:37:0::1;16659:23;16641:15;:41;16619:111;;;::::0;-1:-1:-1;;;16619:111:0;;9167:2:1;16619:111:0::1;::::0;::::1;9149:21:1::0;9206:2;9186:18;;;9179:30;-1:-1:-1;;;9225:18:1;;;9218:50;9285:18;;16619:111:0::1;9139:170:1::0;16619:111:0::1;16743:22;:48:::0;;;16802:13:::1;:20:::0;;-1:-1:-1;;;;;;16833:30:0;16853:10:::1;16833:30:::0;-1:-1:-1;;;16833:30:0;;;16881:48:::1;::::0;::::1;::::0;::::1;::::0;16768:23;;16919:9:::1;::::0;12199:25:1;;;12255:2;12240:18;;12233:34;12187:2;12172:18;;12154:119;16881:48:0::1;;;;;;;;16342:595:::0;:::o;16021:105::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;16094:10:::1;:24:::0;16021:105::o;22664:94::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;22732:11:::1;:18:::0;22664:94::o;16945:298::-;9092:17;;-1:-1:-1;;;;;9092:17:0;9078:10;:31;9056:115;;;;-1:-1:-1;;;9056:115:0;;;;;;;:::i;:::-;17038:22:::1;;17020:15;:40;17012:69;;;::::0;-1:-1:-1;;;17012:69:0;;5885:2:1;17012:69:0::1;::::0;::::1;5867:21:1::0;5924:2;5904:18;;;5897:30;-1:-1:-1;;;5943:18:1;;;5936:46;5999:18;;17012:69:0::1;5857:166:1::0;17012:69:0::1;17094:13;:21:::0;;-1:-1:-1;;;;17094:21:0::1;::::0;;17128:51:::1;::::0;17136:10:::1;::::0;17157:21:::1;17128:51:::0;::::1;;;::::0;17110:5:::1;17128:51:::0;17110:5;17128:51;17157:21;17136:10;17128:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;17197:38:0::1;::::0;17213:21:::1;11577:25:1::0;;17197:38:0::1;::::0;11565:2:1;11550:18;17197:38:0::1;;;;;;;16945:298::o:0;16134:86::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;16193:6:::1;:19:::0;;-1:-1:-1;;;;;;16193:19:0::1;::::0;;16134:86::o;20230:398::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;20407:3:::1;20395:8;:15;;20387:43;;;::::0;-1:-1:-1;;;20387:43:0;;9516:2:1;20387:43:0::1;::::0;::::1;9498:21:1::0;9555:2;9535:18;;;9528:30;-1:-1:-1;;;9574:18:1;;;9567:46;9630:18;;20387:43:0::1;9488:166:1::0;20387:43:0::1;20472:4;20449:19;:27;;20441:58;;;::::0;-1:-1:-1;;;20441:58:0;;5130:2:1;20441:58:0::1;::::0;::::1;5112:21:1::0;5169:2;5149:18;;;5142:30;-1:-1:-1;;;5188:18:1;;;5181:49;5247:18;;20441:58:0::1;5102:169:1::0;20441:58:0::1;20510:15;:37:::0;;;;20558:16:::1;:27:::0;20596:13:::1;:24:::0;;-1:-1:-1;;20596:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20230:398::o;13556:95::-;13603:13;13636:7;13629:14;;;;;:::i;13995:409::-;14064:4;-1:-1:-1;;;;;14114:19:0;;14128:4;14114:19;14110:228;;;14150:21;14160:10;14150:9;:21::i;:::-;14186:11;14191:5;14186:4;:11::i;:::-;14110:228;;;14230:13;14240:2;14230:9;:13::i;:::-;14258:21;14268:10;14258:9;:21::i;:::-;14294:32;14304:10;14316:2;14320:5;14294:9;:32::i;:::-;14348:26;14362:11;;14348:13;:26::i;15893:120::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;15971:15:::1;:34:::0;;;::::1;;-1:-1:-1::0;;;15971:34:0::1;-1:-1:-1::0;;;;15971:34:0;;::::1;::::0;;;::::1;::::0;;15893:120::o;24547:118::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;24627:21:::1;:30:::0;24547:118::o;24866:122::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;24971:9:::1;::::0;24967:13:::1;::::0;24971:9:::1;;24967:2;:13;:::i;:::-;24958:22;::::0;:6;:22:::1;:::i;:::-;24940:15;:40:::0;-1:-1:-1;24866:122:0:o;20124:96::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;20191:13:::1;:21:::0;;-1:-1:-1;;20191:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20124:96::o;15773:112::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;15847:13:::1;:30:::0;;;::::1;;-1:-1:-1::0;;;15847:30:0::1;-1:-1:-1::0;;;;15847:30:0;;::::1;::::0;;;::::1;::::0;;15773:112::o;16228:106::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;16309:6:::1;:17:::0;;-1:-1:-1;;;;;;16309:17:0::1;-1:-1:-1::0;;;;;16309:17:0;;;::::1;::::0;;;::::1;::::0;;16228:106::o;14412:1208::-;-1:-1:-1;;;;;14538:16:0;;;;;;:31;;-1:-1:-1;14563:6:0;;-1:-1:-1;;;;;14557:12:0;;;14563:6;;14557:12;;14538:31;:59;;;;-1:-1:-1;14586:10:0;14574:23;;;;:11;:23;;;;;;;;14573:24;14538:59;:77;;;;-1:-1:-1;;;;;;14600:15:0;;;;;;:11;:15;;;;;;;;14599:16;14538:77;14534:600;;;14641:13;;-1:-1:-1;;;14641:13:0;;;;14633:44;;;;-1:-1:-1;;;14633:44:0;;10266:2:1;14633:44:0;;;10248:21:1;10305:2;10285:18;;;10278:30;-1:-1:-1;;;10324:18:1;;;10317:48;10382:18;;14633:44:0;10238:168:1;14633:44:0;14734:10;14718:27;;;;:15;:27;;;;;;;;14749:12;14718:43;;14692:154;;;;-1:-1:-1;;;14692:154:0;;7690:2:1;14692:154:0;;;7672:21:1;7729:2;7709:18;;;7702:30;7768:34;7748:18;;;7741:62;-1:-1:-1;;;7819:18:1;;;7812:47;7876:19;;14692:154:0;7662:239:1;14692:154:0;14877:10;14861:27;;;;:15;:27;;;;;;;;:50;;-1:-1:-1;;14861:50:0;14898:12;14861:50;;;;;14973:11;:23;;;;;;:28;;14999:2;14973:28;:::i;:::-;14954:15;:47;;14928:138;;;;-1:-1:-1;;;14928:138:0;;8809:2:1;14928:138:0;;;8791:21:1;8848:2;8828:18;;;8821:30;8887:31;8867:18;;;8860:59;8936:18;;14928:138:0;8781:179:1;14928:138:0;15093:10;15081:23;;;;:11;:23;;;;;15107:15;15081:41;;14534:600;-1:-1:-1;;;;;15166:15:0;;;;;;:9;:15;;;;;;:24;-1:-1:-1;15166:24:0;15144:112;;;;-1:-1:-1;;;15144:112:0;;5478:2:1;15144:112:0;;;5460:21:1;5517:2;5497:18;;;5490:30;5556:34;5536:18;;;5529:62;-1:-1:-1;;;5607:18:1;;;5600:36;5653:19;;15144:112:0;5450:228:1;15144:112:0;-1:-1:-1;;;;;15310:15:0;;;;;;;:9;:15;;;;;;;:23;;;15292:41;;15361:16;;15357:213;;15423:12;:21;;;;;;;15357:213;;;-1:-1:-1;;;;;15521:13:0;;;;;;:9;:13;;;;;:22;;;;;;15357:213;15602:2;-1:-1:-1;;;;;15587:25:0;15596:4;-1:-1:-1;;;;;15587:25:0;;15606:5;15587:25;;;;11577::1;;11565:2;11550:18;;11532:76;15587:25:0;;;;;;;;14412:1208;;;:::o;9996:380::-;-1:-1:-1;;;;;10132:19:0;;10124:68;;;;-1:-1:-1;;;10124:68:0;;9861:2:1;10124:68:0;;;9843:21:1;9900:2;9880:18;;;9873:30;9939:34;9919:18;;;9912:62;-1:-1:-1;;;9990:18:1;;;9983:34;10034:19;;10124:68:0;9833:226:1;10124:68:0;-1:-1:-1;;;;;10211:21:0;;10203:68;;;;-1:-1:-1;;;10203:68:0;;4727:2:1;10203:68:0;;;4709:21:1;4766:2;4746:18;;;4739:30;4805:34;4785:18;;;4778:62;-1:-1:-1;;;4856:18:1;;;4849:32;4898:19;;10203:68:0;4699:224:1;10203:68:0;-1:-1:-1;;;;;10284:18:0;;;:11;:18;;;;;;;;;;;:27;;;;;;;;;;;;;:36;;;10336:32;;11577:25:1;;;10336:32:0;;11550:18:1;10336:32:0;11532:76:1;5464:240:0;5584:7;5645:12;5637:6;;;;5629:29;;;;-1:-1:-1;;;5629:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;5680:5:0;;;5464:240::o;18866:1248::-;18921:21;18931:10;18921:9;:21::i;:::-;18953:19;19002:3;18990:8;;18976:11;:22;;;;:::i;:::-;18975:30;;;;:::i;:::-;18953:52;-1:-1:-1;19016:19:0;19038:25;18953:52;19038:11;:25;:::i;:::-;19168:4;19076:17;19150:24;;;:9;:24;;;;;;19016:47;;-1:-1:-1;19076:17:0;19150:38;;19016:47;;19150:38;:::i;:::-;19097:35;19111:21;19097:11;:35;:::i;:::-;19096:93;;;;:::i;:::-;19076:113;;19222:1;19210:9;:13;19202:45;;;;-1:-1:-1;;;19202:45:0;;6633:2:1;19202:45:0;;;6615:21:1;6672:2;6652:18;;;6645:30;-1:-1:-1;;;6691:18:1;;;6684:49;6750:18;;19202:45:0;6605:169:1;19202:45:0;19305:9;19280:21;:34;;19258:112;;;;-1:-1:-1;;;19258:112:0;;7333:2:1;19258:112:0;;;7315:21:1;7372:2;7352:18;;;7345:30;7411;7391:18;;;7384:58;7459:18;;19258:112:0;7305:178:1;19258:112:0;19383:49;19393:10;19413:4;19420:11;19383:9;:49::i;:::-;19446:13;;19443:90;;19475:46;19485:10;19505:1;19509:11;19475:9;:46::i;:::-;19547:16;19589:3;19579:6;;19567:9;:18;;;;:::i;:::-;19566:26;;;;:::i;:::-;19547:45;;19605:20;19653:3;19641:8;;19629:9;:20;;;;:::i;:::-;19628:28;;;;:::i;:::-;19675:6;;19667:38;;19605:51;;-1:-1:-1;;;;;;19675:6:0;;19667:38;;;;;19605:51;;19675:6;19667:38;19675:6;19667:38;19605:51;19675:6;19667:38;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19724:11:0;;19716:39;;-1:-1:-1;;;;;19724:11:0;;;;19716:39;;;;;19746:8;;19724:11;19716:39;19724:11;19716:39;19746:8;19724:11;19716:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19774:10:0;19766:65;19818:12;19795:20;19807:8;19795:9;:20;:::i;:::-;:35;;;;:::i;:::-;19766:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19864:13:0;;;;:81;;;;;19930:15;;19913:14;;:32;;;;:::i;:::-;19894:15;:51;;19864:81;19846:167;;;19972:29;:27;:29::i;:::-;;19846:167;20039:10;20034:72;20051:1;20054:11;20090:12;20067:20;20079:8;20067:9;:20;:::i;:::-;:35;;;;:::i;:::-;20034:72;;;3758:25:1;;;3814:2;3799:18;;3792:34;;;;3842:18;;;3835:34;20104:1:0;3900:2:1;3885:18;;3878:34;3745:3;3730:19;20034:72:0;;;;;;;18910:1204;;;;;18866:1248;:::o;20927:874::-;21018:15;21001:14;:32;21135:4;20984;13957:18;;;:9;:18;;;;;;21189:20;21271:5;21236:16;;21212:20;:41;;;;:::i;:::-;:75;;;;:::i;:::-;21189:98;-1:-1:-1;21321:4:0;21358:6;21469:16;;21465:176;;-1:-1:-1;;;;;21502:15:0;;;;;;:9;:15;;;;;:31;;21521:12;;21502:15;:31;;21521:12;;21502:31;:::i;:::-;;;;-1:-1:-1;;;;;;;21548:13:0;;;;;;:9;:13;;;;;:29;;21565:12;;21548:13;:29;;21565:12;;21548:29;:::i;:::-;;;;;;;;21612:2;-1:-1:-1;;;;;21597:32:0;21606:4;-1:-1:-1;;;;;21597:32:0;;21616:12;21597:32;;;;11577:25:1;;11565:2;11550:18;;11532:76;21597:32:0;;;;;;;;21465:176;21658:113;;;12480:25:1;;;12536:2;12521:18;;12514:34;;;21745:15:0;12564:18:1;;;12557:34;21658:113:0;;;;;;;12468:2:1;21658:113:0;;;21789:4;21782:11;;;;;;20927:874;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:160::-;257:20;;313:13;;306:21;296:32;;286:2;;342:1;339;332:12;357:186;416:6;469:2;457:9;448:7;444:23;440:32;437:2;;;485:1;482;475:12;437:2;508:29;527:9;508:29;:::i;:::-;498:39;427:116;-1:-1:-1;;;427:116:1:o;548:260::-;616:6;624;677:2;665:9;656:7;652:23;648:32;645:2;;;693:1;690;683:12;645:2;716:29;735:9;716:29;:::i;:::-;706:39;;764:38;798:2;787:9;783:18;764:38;:::i;:::-;754:48;;635:173;;;;;:::o;813:328::-;890:6;898;906;959:2;947:9;938:7;934:23;930:32;927:2;;;975:1;972;965:12;927:2;998:29;1017:9;998:29;:::i;:::-;988:39;;1046:38;1080:2;1069:9;1065:18;1046:38;:::i;:::-;1036:48;;1131:2;1120:9;1116:18;1103:32;1093:42;;917:224;;;;;:::o;1146:254::-;1211:6;1219;1272:2;1260:9;1251:7;1247:23;1243:32;1240:2;;;1288:1;1285;1278:12;1240:2;1311:29;1330:9;1311:29;:::i;:::-;1301:39;;1359:35;1390:2;1379:9;1375:18;1359:35;:::i;1405:254::-;1473:6;1481;1534:2;1522:9;1513:7;1509:23;1505:32;1502:2;;;1550:1;1547;1540:12;1502:2;1573:29;1592:9;1573:29;:::i;:::-;1563:39;1649:2;1634:18;;;;1621:32;;-1:-1:-1;;;1492:167:1:o;1664:180::-;1720:6;1773:2;1761:9;1752:7;1748:23;1744:32;1741:2;;;1789:1;1786;1779:12;1741:2;1812:26;1828:9;1812:26;:::i;1849:180::-;1908:6;1961:2;1949:9;1940:7;1936:23;1932:32;1929:2;;;1977:1;1974;1967:12;1929:2;-1:-1:-1;2000:23:1;;1919:110;-1:-1:-1;1919:110:1:o;2034:248::-;2099:6;2107;2160:2;2148:9;2139:7;2135:23;2131:32;2128:2;;;2176:1;2173;2166:12;2128:2;2212:9;2199:23;2189:33;;2241:35;2272:2;2261:9;2257:18;2241:35;:::i;2287:316::-;2361:6;2369;2377;2430:2;2418:9;2409:7;2405:23;2401:32;2398:2;;;2446:1;2443;2436:12;2398:2;2482:9;2469:23;2459:33;;2539:2;2528:9;2524:18;2511:32;2501:42;;2562:35;2593:2;2582:9;2578:18;2562:35;:::i;:::-;2552:45;;2388:215;;;;;:::o;3923:597::-;4035:4;4064:2;4093;4082:9;4075:21;4125:6;4119:13;4168:6;4163:2;4152:9;4148:18;4141:34;4193:1;4203:140;4217:6;4214:1;4211:13;4203:140;;;4312:14;;;4308:23;;4302:30;4278:17;;;4297:2;4274:26;4267:66;4232:10;;4203:140;;;4361:6;4358:1;4355:13;4352:2;;;4431:1;4426:2;4417:6;4406:9;4402:22;4398:31;4391:42;4352:2;-1:-1:-1;4504:2:1;4483:15;-1:-1:-1;;4479:29:1;4464:45;;;;4511:2;4460:54;;4044:476;-1:-1:-1;;;4044:476:1:o;6028:398::-;6230:2;6212:21;;;6269:2;6249:18;;;6242:30;6308:34;6303:2;6288:18;;6281:62;-1:-1:-1;;;6374:2:1;6359:18;;6352:32;6416:3;6401:19;;6202:224::o;8246:356::-;8448:2;8430:21;;;8467:18;;;8460:30;8526:34;8521:2;8506:18;;8499:62;8593:2;8578:18;;8420:182::o;12791:128::-;12831:3;12862:1;12858:6;12855:1;12852:13;12849:2;;;12868:18;;:::i;:::-;-1:-1:-1;12904:9:1;;12839:80::o;12924:217::-;12964:1;12990;12980:2;;13034:10;13029:3;13025:20;13022:1;13015:31;13069:4;13066:1;13059:15;13097:4;13094:1;13087:15;12980:2;-1:-1:-1;13126:9:1;;12970:171::o;13146:422::-;13235:1;13278:5;13235:1;13292:270;13313:7;13303:8;13300:21;13292:270;;;13372:4;13368:1;13364:6;13360:17;13354:4;13351:27;13348:2;;;13381:18;;:::i;:::-;13431:7;13421:8;13417:22;13414:2;;;13451:16;;;;13414:2;13530:22;;;;13490:15;;;;13292:270;;;13296:3;13210:358;;;;;:::o;13573:140::-;13631:5;13660:47;13701:4;13691:8;13687:19;13681:4;13767:5;13797:8;13787:2;;-1:-1:-1;13838:1:1;13852:5;;13787:2;13886:4;13876:2;;-1:-1:-1;13923:1:1;13937:5;;13876:2;13968:4;13986:1;13981:59;;;;14054:1;14049:130;;;;13961:218;;13981:59;14011:1;14002:10;;14025:5;;;14049:130;14086:3;14076:8;14073:17;14070:2;;;14093:18;;:::i;:::-;-1:-1:-1;;14149:1:1;14135:16;;14164:5;;13961:218;;14263:2;14253:8;14250:16;14244:3;14238:4;14235:13;14231:36;14225:2;14215:8;14212:16;14207:2;14201:4;14198:12;14194:35;14191:77;14188:2;;;-1:-1:-1;14300:19:1;;;14332:5;;14188:2;14379:34;14404:8;14398:4;14379:34;:::i;:::-;14449:6;14445:1;14441:6;14437:19;14428:7;14425:32;14422:2;;;14460:18;;:::i;:::-;14498:20;;13777:747;-1:-1:-1;;;13777:747:1:o;14529:168::-;14569:7;14635:1;14631;14627:6;14623:14;14620:1;14617:21;14612:1;14605:9;14598:17;14594:45;14591:2;;;14642:18;;:::i;:::-;-1:-1:-1;14682:9:1;;14581:116::o;14702:125::-;14742:4;14770:1;14767;14764:8;14761:2;;;14775:18;;:::i;:::-;-1:-1:-1;14812:9:1;;14751:76::o;14832:380::-;14911:1;14907:12;;;;14954;;;14975:2;;15029:4;15021:6;15017:17;15007:27;;14975:2;15082;15074:6;15071:14;15051:18;15048:38;15045:2;;;15128:10;15123:3;15119:20;15116:1;15109:31;15163:4;15160:1;15153:15;15191:4;15188:1;15181:15;15045:2;;14887:325;;;:::o;15217:135::-;15256:3;-1:-1:-1;;15277:17:1;;15274:2;;;15297:18;;:::i;:::-;-1:-1:-1;15344:1:1;15333:13;;15264:88::o;15357:127::-;15418:10;15413:3;15409:20;15406:1;15399:31;15449:4;15446:1;15439:15;15473:4;15470:1;15463:15;15489:127;15550:10;15545:3;15541:20;15538:1;15531:31;15581:4;15578:1;15571:15;15605:4;15602:1;15595:15

Swarm Source

ipfs://5ae2c4710b2feb362d72862262e8f395aee66cd1aa1c905209c9dc2ddf59f82a
[ 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.