Contract 0x3fd5b5746315e3f8d43a46b09c826a001ebb977d 3

 
 
Txn Hash
Block
From
To
Value [Txn Fee]
0xe21e7e6a7844c47490cff0337c3bf87f38dd8599f74d6c775beb4ec7ca55021397042512021-08-03 4:13:437 mins agoOxbull Tech: Deployer IN  Oxbull Tech: OXB Token0 BNB0.001189995
0x3d65af0cebfa6344c3d05b138e891b2b3e38b61706e34defebb5968a1c8ec6a497042512021-08-03 4:13:437 mins ago0x5a332b300bd5ad39740ca36f678e2c6786fb2ecc IN  Oxbull Tech: OXB Token0 BNB0.000267018
0x5b6d036a4c5cf615350a2a5e45b1d1b0a646dcd5eb96bb264cf761bb2c61fbb097022122021-08-03 2:17:432 hrs 3 mins ago0x2afe7251bf1600325e8ce7926ffbfb822b30abe2 IN  Oxbull Tech: OXB Token0 BNB0.000220895
0xae50a47e39860ca40d14020e8fad5ee97da1193ccf8e8452f686df16d8fd9bf497016582021-08-03 1:49:532 hrs 31 mins ago0xe8ea4886fc6b793ee89ab956bd3bb7cdbdac8c94 IN  Oxbull Tech: OXB Token0 BNB0.000222515
0x5e69fd4b21521d91586683c1bb83303e979cf40ec9dbbe47e1a641bf873c323397016342021-08-03 1:48:292 hrs 33 mins ago0x7c98199b174a3131d40dd1bef00f67f8c57ec566 IN  Oxbull Tech: OXB Token0 BNB0.00117315
0x8af4e7d93ce2ae446f48e80a9bf16f85531ee7a6468b77306a1249c23fd73f5c97015802021-08-03 1:45:372 hrs 36 mins ago0xe8ea4886fc6b793ee89ab956bd3bb7cdbdac8c94 IN  Oxbull Tech: OXB Token0 BNB0.000222515
0xb9ecbe96f77b53bcdef9006ee80414725cf1622e4aac63dd861f4158cc992e3897012912021-08-03 1:30:342 hrs 51 mins ago0x691e1d2ef45d52c7ca946638b1400933592330a6 IN  Oxbull Tech: OXB Token0 BNB0.000222515
0x20d07894c5c70fbffcd246fd4eabe3e0c511f908c3382ec82427020c44dde57496999682021-08-03 0:22:223 hrs 59 mins ago0x38655d6540bbff11a821fb0d24eb4ec1c39c4460 IN  Oxbull Tech: OXB Token0 BNB0.000222515
0x9124b53c6f7c9d93a1784e2b2da4fa2e3e7408b762da25083fe00b5e693c06e596989262021-08-02 23:29:274 hrs 52 mins ago0x009e96973fd835b2bc97f507a833c4282eded6b5 IN  Oxbull Tech: OXB Token0 BNB0.00234642
0x90d5fe4f5a551198cd28f450cc78a284256f41aee0633bcba1f94367045d329d96989202021-08-02 23:29:094 hrs 52 mins ago0x009e96973fd835b2bc97f507a833c4282eded6b5 IN  Oxbull Tech: OXB Token0 BNB0.00234642
0x4d123413b5ac4f6ac563d9c970efe76a7cffdf97ea653d197cd6d75179bb94db96989152021-08-02 23:28:544 hrs 52 mins ago0x009e96973fd835b2bc97f507a833c4282eded6b5 IN  Oxbull Tech: OXB Token0 BNB0.00234642
0x71ba210168d28cb78bd848ebcb405f314b7b35aaa42a388bc3957bee1c7251d096989092021-08-02 23:28:364 hrs 53 mins ago0x009e96973fd835b2bc97f507a833c4282eded6b5 IN  Oxbull Tech: OXB Token0 BNB0.00234642
0xd9d4cc656ebb856a50b2bd022bc035c37f6d8bd81759bbd1af446a7ab4f3c2cf96988442021-08-02 23:25:214 hrs 56 mins ago0x009e96973fd835b2bc97f507a833c4282eded6b5 IN  Oxbull Tech: OXB Token0 BNB0.00234642
0xd248c44dde57e29096e5bbaee32fb25a40cf1f985d663aea1a7bd8809d28450b96987302021-08-02 23:19:385 hrs 2 mins ago0x6ff3b1c6182316ed7ec839dfccc66e4aba218922 IN  Oxbull Tech: OXB Token0 BNB0.00124827
0xca5c6c13bc8c196db9f250f411099858e83a03ff1f209fb484c844ee6359436696979632021-08-02 22:41:025 hrs 40 mins ago0x6f804ed3ef9c5d725d6a416090a898a04afc4a78 IN  Oxbull Tech: OXB Token0 BNB0.001407852
0x14f00078ce1760639e61577940ffc283175c04dcf8408db19c3e8d29b28fa74696979582021-08-02 22:40:475 hrs 40 mins ago0x5ae82b2e9c93a6809970a9d8dff20405354e4603 IN  Oxbull Tech: OXB Token0 BNB0.001407852
0xfaca30f1c99fb3a040fb5bb9c19daba1c1cf18657324be9dfc5a642030c827c396979552021-08-02 22:40:385 hrs 41 mins ago0xafce883519d77d191d7baf5707af2b6dec60190d IN  Oxbull Tech: OXB Token0 BNB0.001407852
0xd231d547b18568c557b2ee9b754f1bac0bd22d7db30c3ef09b39ed89dc1f4aa596979512021-08-02 22:40:265 hrs 41 mins ago0x2d0010bc2facbb8c95069e84ed7bdfbe7fce7796 IN  Oxbull Tech: OXB Token0 BNB0.001407852
0x4f06f20ba9ff5399d6ac6f4583b151012568c74e55c4a9ff957bc857efca73ed96979472021-08-02 22:40:145 hrs 41 mins ago0x72a93adcd8e810c871f1fbab8e6a9e33305a27f9 IN  Oxbull Tech: OXB Token0 BNB0.001407852
0xd6f830ef78d6c545d6df8183cf70d502fa2c50d0061fb1f4b562c7eccbf83e0a96979432021-08-02 22:40:025 hrs 41 mins ago0xf7f5a0ce4a095ddd7c20883fd57683e9cdf977b7 IN  Oxbull Tech: OXB Token0 BNB0.001407852
0xc8c8620429942e8a073f9fd63ac073d19b57bb028ec2fd261e237d5ec02c6cf896970692021-08-02 21:55:176 hrs 26 mins ago0x6c9637b96fa9f3dffb1e58dc86b37fc6aa550e9d IN  Oxbull Tech: OXB Token0 BNB0.000222515
0x50d13d04778837e89a106733bb0fa383b62903d2dda6e230a663cd17866077d096964552021-08-02 21:24:296 hrs 57 mins ago0x77e286daf3ddc5a7b98e31acb90dbaf96f208ae8 IN  Oxbull Tech: OXB Token0 BNB0.00117321
0xf29f83b8d0faa0a4c6e4db2110a3e7094036a49428724e6c967092b739b03d2d96963752021-08-02 21:20:297 hrs 1 min ago0xc0ac7d9cefb46f0f333d47dd1040e160c3de1040 IN  Oxbull Tech: OXB Token0 BNB0.000222515
0x17bcb5d854c920874ee899e939da24a7ba784cb4940b83e1dede8e451c6e1fc596961102021-08-02 21:07:147 hrs 14 mins ago0x028257572279c459bc3a36264dc59d0bcde8e349 IN  Oxbull Tech: OXB Token0 BNB0.000222515
0x9b0d7078971326e2185110fd2ffcaefd2233a8a0774a5a342cc715319208f50396953372021-08-02 20:28:057 hrs 53 mins ago0x719ddee8f760b96fe0d6b24225a3eae30a46515a IN  Oxbull Tech: OXB Token0 BNB0.000267018
[ Download CSV Export 

OVERVIEW

Oxbull is reflect token with automatic yield generation.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x1294196127b96f2209049f1332f010dcda900400aad8a809d3771a9dfb8b30c454710872021-03-07 11:47:18148 days 16 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0x1294196127b96f2209049f1332f010dcda900400aad8a809d3771a9dfb8b30c454710872021-03-07 11:47:18148 days 16 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0x1294196127b96f2209049f1332f010dcda900400aad8a809d3771a9dfb8b30c454710872021-03-07 11:47:18148 days 16 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0xd2957e53d642f741a2cda145aa851cb219a82daa497888ccdc7354f5c1e7dbf854710592021-03-07 11:45:54148 days 16 hrs ago PancakeSwap: OXB Oxbull Tech: OXB Token0 BNB
0xd2957e53d642f741a2cda145aa851cb219a82daa497888ccdc7354f5c1e7dbf854710592021-03-07 11:45:54148 days 16 hrs ago PancakeSwap: OXB Oxbull Tech: OXB Token0 BNB
0x9ecbedf4777c5c26cd92c30d31bda73b15ee22c5f05b424f118b341f57bd7d7554706962021-03-07 11:27:45148 days 16 hrs ago 0xe9534a0e02e0f5662ccea32b698ef57cb2319c0f Oxbull Tech: OXB Token0 BNB
0xcbcf4c6bc27a934ab3539a7936c6bc5512ab281facf6f3b9ed29107062ed21f754705252021-03-07 11:19:12148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0xcbcf4c6bc27a934ab3539a7936c6bc5512ab281facf6f3b9ed29107062ed21f754705252021-03-07 11:19:12148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0xcbcf4c6bc27a934ab3539a7936c6bc5512ab281facf6f3b9ed29107062ed21f754705252021-03-07 11:19:12148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0x2008b77036c44147b800cd591e5e7b69cb7244b45b136f80954689063b1107c854703362021-03-07 11:09:45148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0x2008b77036c44147b800cd591e5e7b69cb7244b45b136f80954689063b1107c854703362021-03-07 11:09:45148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0x2008b77036c44147b800cd591e5e7b69cb7244b45b136f80954689063b1107c854703362021-03-07 11:09:45148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0x6f2077a5d53c01996275f7da0aeee7f584f39b93beca1863486cf86c4da31c0554703072021-03-07 11:08:18148 days 17 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0x6f2077a5d53c01996275f7da0aeee7f584f39b93beca1863486cf86c4da31c0554703072021-03-07 11:08:18148 days 17 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0x6f2077a5d53c01996275f7da0aeee7f584f39b93beca1863486cf86c4da31c0554703072021-03-07 11:08:18148 days 17 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0xced1d5e4734b4a9deeac56c21003481cacc19ff152291717985d5b0c9ecbff7a54702272021-03-07 11:04:18148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0xced1d5e4734b4a9deeac56c21003481cacc19ff152291717985d5b0c9ecbff7a54702272021-03-07 11:04:18148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0xced1d5e4734b4a9deeac56c21003481cacc19ff152291717985d5b0c9ecbff7a54702272021-03-07 11:04:18148 days 17 hrs ago 0xeb9997c7c02ee0af78545224e277fea6600c6943 Oxbull Tech: OXB Token0 BNB
0xe2f204f3c2f7a9abd30d02d09ea87bf710c81132bd250c64c9a9681985a712d854701002021-03-07 10:57:57148 days 17 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0xe2f204f3c2f7a9abd30d02d09ea87bf710c81132bd250c64c9a9681985a712d854701002021-03-07 10:57:57148 days 17 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0xe2f204f3c2f7a9abd30d02d09ea87bf710c81132bd250c64c9a9681985a712d854701002021-03-07 10:57:57148 days 17 hrs ago 0xff2cc958f7211f022f6aef7c68f23285a9777664 Oxbull Tech: OXB Token0 BNB
0x896bcf2cd977e8fe05d1c37d2ed042aadbb4dceb9ab0354dda7578aa4cef70b454699332021-03-07 10:49:36148 days 17 hrs ago PancakeSwap: OXB Oxbull Tech: OXB Token0 BNB
0x896bcf2cd977e8fe05d1c37d2ed042aadbb4dceb9ab0354dda7578aa4cef70b454699332021-03-07 10:49:36148 days 17 hrs ago PancakeSwap: OXB Oxbull Tech: OXB Token0 BNB
0xf2e9abef334becd8c5876aa11a625e5219c3fc7d5c24070f71036cb78dba864454699132021-03-07 10:48:36148 days 17 hrs ago PancakeSwap: OXB Oxbull Tech: OXB Token0 BNB
0xf2e9abef334becd8c5876aa11a625e5219c3fc7d5c24070f71036cb78dba864454699132021-03-07 10:48:36148 days 17 hrs ago PancakeSwap: OXB Oxbull Tech: OXB Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OXBULL

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-02-21
*/

/**
 *Submitted for verification at BscScan.com on 2021-02-21
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}



/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

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



/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

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

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

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

        return c;
    }

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

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

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

contract OXBULL is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
   
    uint8 private _decimals = 9;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10 * 10**6 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private _name = 'oxbull.tech';
    string private _symbol = 'OXB';
    

    constructor () public {
        _rOwned[_msgSender()] = _rTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

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

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "BEP20: decreased allowance below zero"));
        return true;
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function deliver(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function excludeAccount(address account) external onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }
    
    function _burn(address sender, uint256 amount) external onlyOwner() {
        require(sender != address(0), "BEP20: burn from the zero address");

        _beforeTokenTransfer(sender, address(0), amount);
        
        _transferStandard(sender, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");

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

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);  
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);  
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) {
        uint256 tFee = tAmount.div(50);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_burn","outputs":[],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526009600660006101000a81548160ff021916908360ff160217905550662386f26fc10000600019816200003357fe5b06600019036007556040518060400160405280600b81526020017f6f7862756c6c2e74656368000000000000000000000000000000000000000000815250600990805190602001906200008892919062000274565b506040518060400160405280600381526020017f4f58420000000000000000000000000000000000000000000000000000000000815250600a9080519060200190620000d692919062000274565b50348015620000e457600080fd5b506000620000f76200026c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460016000620001ac6200026c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001fa6200026c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc100006040518082815260200191505060405180910390a36200031a565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002b757805160ff1916838001178555620002e8565b82800160010185558215620002e8579182015b82811115620002e7578251825591602001919060010190620002ca565b5b509050620002f79190620002fb565b5090565b5b8082111562000316576000816000905550600101620002fc565b5090565b61352d806200032a6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063a9059cbb1161007c578063a9059cbb146105fc578063cba0e99614610660578063dd62ed3e146106ba578063f2cc0c1814610732578063f2fde38b14610776578063f84354f1146107ba57610142565b806370a082311461047f578063715018a6146104d75780638da5cb5b146104e157806395d89b4114610515578063a457c2d71461059857610142565b80632d8381191161010a5780632d838119146102ee578063313ce5671461033057806339509351146103515780633bd5d173146103b55780634549b039146103e35780636161eb181461043157610142565b806306fdde0314610147578063095ea7b3146101ca57806313114a9d1461022e57806318160ddd1461024c57806323b872dd1461026a575b600080fd5b61014f6107fe565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a0565b60405180821515815260200191505060405180910390f35b6102366108be565b6040518082815260200191505060405180910390f35b6102546108c8565b6040518082815260200191505060405180910390f35b6102d66004803603606081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108d7565b60405180821515815260200191505060405180910390f35b61031a6004803603602081101561030457600080fd5b81019080803590602001909291905050506109b0565b6040518082815260200191505060405180910390f35b610338610a34565b604051808260ff16815260200191505060405180910390f35b61039d6004803603604081101561036757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a4b565b60405180821515815260200191505060405180910390f35b6103e1600480360360208110156103cb57600080fd5b8101908080359060200190929190505050610afe565b005b61041b600480360360408110156103f957600080fd5b8101908080359060200190929190803515159060200190929190505050610c8e565b6040518082815260200191505060405180910390f35b61047d6004803603604081101561044757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d48565b005b6104c16004803603602081101561049557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb2565b6040518082815260200191505060405180910390f35b6104df610f9d565b005b6104e9611123565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61051d61114c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561055d578082015181840152602081019050610542565b50505050905090810190601f16801561058a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105e4600480360360408110156105ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111ee565b60405180821515815260200191505060405180910390f35b6106486004803603604081101561061257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112bb565b60405180821515815260200191505060405180910390f35b6106a26004803603602081101561067657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d9565b60405180821515815260200191505060405180910390f35b61071c600480360360408110156106d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061132f565b6040518082815260200191505060405180910390f35b6107746004803603602081101561074857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113b6565b005b6107b86004803603602081101561078c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116d0565b005b6107fc600480360360208110156107d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118db565b005b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108965780601f1061086b57610100808354040283529160200191610896565b820191906000526020600020905b81548152906001019060200180831161087957829003601f168201915b5050505050905090565b60006108b46108ad611c65565b8484611c6d565b6001905092915050565b6000600854905090565b6000662386f26fc10000905090565b60006108e4848484611e64565b6109a5846108f0611c65565b6109a0856040518060600160405280602881526020016133cf60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610956611c65565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122bd9092919063ffffffff16565b611c6d565b600190509392505050565b6000600754821115610a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061337f602a913960400191505060405180910390fd5b6000610a1761237d565b9050610a2c81846123a890919063ffffffff16565b915050919050565b6000600660009054906101000a900460ff16905090565b6000610af4610a58611c65565b84610aef8560036000610a69611c65565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f290919063ffffffff16565b611c6d565b6001905092915050565b6000610b08611c65565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610bad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806134aa602c913960400191505060405180910390fd5b6000610bb88361247a565b505050509050610c1081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d290919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c68816007546124d290919063ffffffff16565b600781905550610c83836008546123f290919063ffffffff16565b600881905550505050565b6000662386f26fc10000831115610d0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610d2c576000610d1d8461247a565b50505050905080915050610d42565b6000610d378461247a565b505050915050809150505b92915050565b610d50611c65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134896021913960400191505060405180910390fd5b610ea28260008361251c565b610eae82600083612521565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f4d57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610f98565b610f95600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109b0565b90505b919050565b610fa5611c65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611065576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111e45780601f106111b9576101008083540402835291602001916111e4565b820191906000526020600020905b8154815290600101906020018083116111c757829003601f168201915b5050505050905090565b60006112b16111fb611c65565b846112ac856040518060600160405280602581526020016134646025913960036000611225611c65565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122bd9092919063ffffffff16565b611c6d565b6001905092915050565b60006112cf6112c8611c65565b8484611e64565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113be611c65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561153e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611612576115ce600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109b0565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6116d8611c65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611798576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561181e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133a96026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6118e3611c65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611c61578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611a9657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611c5457600560016005805490500381548110611af257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611b2a57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611c1a57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611c61565b8080600101915050611a65565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061335b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d79576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806134d66022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806133366025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806134416023913960400191505060405180910390fd5b60008111611fc9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806134186029913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561206c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156120815761207c8383836126df565b6122b8565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121245750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561213957612134838383612932565b6122b7565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121dd5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121f2576121ed838383612521565b6122b6565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122945750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122a9576122a4838383612b85565b6122b5565b6122b4838383612521565b5b5b5b5b505050565b600083831115829061236a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561232f578082015181840152602081019050612314565b50505050905090810190601f16801561235c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080600061238a612e6d565b915091506123a181836123a890919063ffffffff16565b9250505090565b60006123ea83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613112565b905092915050565b600080828401905083811015612470576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080600080600080600061248e886131d8565b91509150600061249c61237d565b905060008060006124ae8c8686613217565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b600061251483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122bd565b905092915050565b505050565b60008060008060006125328661247a565b9450945094509450945061258e85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d290919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061262384600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126708382613275565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006126f08661247a565b9450945094509450945061274c86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127e185600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d290919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061287684600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128c38382613275565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006129438661247a565b9450945094509450945061299f85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d290919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a3482600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f290919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ac984600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b168382613275565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612b968661247a565b94509450945094509450612bf286600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c8785600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d290919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1c82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f290919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612db184600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dfe8382613275565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b600080600060075490506000662386f26fc10000905060005b6005805490508110156130cb57826001600060058481548110612ea557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612f8c5750816002600060058481548110612f2457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612fa857600754662386f26fc100009450945050505061310e565b6130316001600060058481548110612fbc57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846124d290919063ffffffff16565b92506130bc600260006005848154811061304757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836124d290919063ffffffff16565b91508080600101915050612e86565b506130e8662386f26fc100006007546123a890919063ffffffff16565b82101561310557600754662386f26fc1000093509350505061310e565b81819350935050505b9091565b600080831182906131be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613183578082015181840152602081019050613168565b50505050905090810190601f1680156131b05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816131ca57fe5b049050809150509392505050565b60008060006131f16032856123a890919063ffffffff16565b9050600061320882866124d290919063ffffffff16565b90508082935093505050915091565b60008060008061323085886132af90919063ffffffff16565b9050600061324786886132af90919063ffffffff16565b9050600061325e82846124d290919063ffffffff16565b905082818395509550955050505093509350939050565b61328a826007546124d290919063ffffffff16565b6007819055506132a5816008546123f290919063ffffffff16565b6008819055505050565b6000808314156132c2576000905061332f565b60008284029050828482816132d357fe5b041461332a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806133f76021913960400191505060405180910390fd5b809150505b9291505056fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f42455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e2066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e42455032303a20617070726f766520746f20746865207a65726f2061646472657373a26469706673582212205a0c0a6f50a3025c3a1cfec8d667b3eaf404cdba4d2d10cd9d63a299c666267d64736f6c634300060c0033

Deployed ByteCode Sourcemap

16903:10535:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17753:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18665:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19776:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18030:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18834:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20697:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17939:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19155:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19871:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20255:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21788:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18133:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16349:148;;;:::i;:::-;;15707:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17844:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19381:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18339:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19658:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18514:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20958:332;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16652:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21298:478;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17753:83;17790:13;17823:5;17816:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17753:83;:::o;18665:161::-;18740:4;18757:39;18766:12;:10;:12::i;:::-;18780:7;18789:6;18757:8;:39::i;:::-;18814:4;18807:11;;18665:161;;;;:::o;19776:87::-;19818:7;19845:10;;19838:17;;19776:87;:::o;18030:95::-;18083:7;17410:18;18103:14;;18030:95;:::o;18834:313::-;18932:4;18949:36;18959:6;18967:9;18978:6;18949:9;:36::i;:::-;18996:121;19005:6;19013:12;:10;:12::i;:::-;19027:89;19065:6;19027:89;;;;;;;;;;;;;;;;;:11;:19;19039:6;19027:19;;;;;;;;;;;;;;;:33;19047:12;:10;:12::i;:::-;19027:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18996:8;:121::i;:::-;19135:4;19128:11;;18834:313;;;;;:::o;20697:253::-;20763:7;20802;;20791;:18;;20783:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20867:19;20890:10;:8;:10::i;:::-;20867:33;;20918:24;20930:11;20918:7;:11;;:24;;;;:::i;:::-;20911:31;;;20697:253;;;:::o;17939:83::-;17980:5;18005:9;;;;;;;;;;;17998:16;;17939:83;:::o;19155:218::-;19243:4;19260:83;19269:12;:10;:12::i;:::-;19283:7;19292:50;19331:10;19292:11;:25;19304:12;:10;:12::i;:::-;19292:25;;;;;;;;;;;;;;;:34;19318:7;19292:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;19260:8;:83::i;:::-;19361:4;19354:11;;19155:218;;;;:::o;19871:376::-;19923:14;19940:12;:10;:12::i;:::-;19923:29;;19972:11;:19;19984:6;19972:19;;;;;;;;;;;;;;;;;;;;;;;;;19971:20;19963:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20052:15;20075:19;20086:7;20075:10;:19::i;:::-;20051:43;;;;;;20123:28;20143:7;20123;:15;20131:6;20123:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20105:7;:15;20113:6;20105:15;;;;;;;;;;;;;;;:46;;;;20172:20;20184:7;20172;;:11;;:20;;;;:::i;:::-;20162:7;:30;;;;20216:23;20231:7;20216:10;;:14;;:23;;;;:::i;:::-;20203:10;:36;;;;19871:376;;;:::o;20255:434::-;20345:7;17410:18;20373:7;:18;;20365:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20443:17;20438:244;;20478:15;20501:19;20512:7;20501:10;:19::i;:::-;20477:43;;;;;;20542:7;20535:14;;;;;20438:244;20584:23;20614:19;20625:7;20614:10;:19::i;:::-;20582:51;;;;;;20655:15;20648:22;;;20255:434;;;;;:::o;21788:280::-;15929:12;:10;:12::i;:::-;15919:22;;:6;;;;;;;;;;:22;;;15911:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21893:1:::1;21875:20;;:6;:20;;;;21867:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21946:48;21967:6;21983:1;21987:6;21946:20;:48::i;:::-;22015:45;22033:6;22049:1;22053:6;22015:17;:45::i;:::-;21788:280:::0;;:::o;18133:198::-;18199:7;18223:11;:20;18235:7;18223:20;;;;;;;;;;;;;;;;;;;;;;;;;18219:49;;;18252:7;:16;18260:7;18252:16;;;;;;;;;;;;;;;;18245:23;;;;18219:49;18286:37;18306:7;:16;18314:7;18306:16;;;;;;;;;;;;;;;;18286:19;:37::i;:::-;18279:44;;18133:198;;;;:::o;16349:148::-;15929:12;:10;:12::i;:::-;15919:22;;:6;;;;;;;;;;:22;;;15911:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16456:1:::1;16419:40;;16440:6;::::0;::::1;;;;;;;;16419:40;;;;;;;;;;;;16487:1;16470:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;16349:148::o:0;15707:79::-;15745:7;15772:6;;;;;;;;;;;15765:13;;15707:79;:::o;17844:87::-;17883:13;17916:7;17909:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17844:87;:::o;19381:269::-;19474:4;19491:129;19500:12;:10;:12::i;:::-;19514:7;19523:96;19562:15;19523:96;;;;;;;;;;;;;;;;;:11;:25;19535:12;:10;:12::i;:::-;19523:25;;;;;;;;;;;;;;;:34;19549:7;19523:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;19491:8;:129::i;:::-;19638:4;19631:11;;19381:269;;;;:::o;18339:167::-;18417:4;18434:42;18444:12;:10;:12::i;:::-;18458:9;18469:6;18434:9;:42::i;:::-;18494:4;18487:11;;18339:167;;;;:::o;19658:110::-;19716:4;19740:11;:20;19752:7;19740:20;;;;;;;;;;;;;;;;;;;;;;;;;19733:27;;19658:110;;;:::o;18514:143::-;18595:7;18622:11;:18;18634:5;18622:18;;;;;;;;;;;;;;;:27;18641:7;18622:27;;;;;;;;;;;;;;;;18615:34;;18514:143;;;;:::o;20958:332::-;15929:12;:10;:12::i;:::-;15919:22;;:6;;;;;;;;;;:22;;;15911:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21040:11:::1;:20;21052:7;21040:20;;;;;;;;;;;;;;;;;;;;;;;;;21039:21;21031:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;21125:1;21106:7;:16;21114:7;21106:16;;;;;;;;;;;;;;;;:20;21103:108;;;21162:37;21182:7;:16;21190:7;21182:16;;;;;;;;;;;;;;;;21162:19;:37::i;:::-;21143:7;:16;21151:7;21143:16;;;;;;;;;;;;;;;:56;;;;21103:108;21244:4;21221:11;:20;21233:7;21221:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;21259:9;21274:7;21259:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20958:332:::0;:::o;16652:244::-;15929:12;:10;:12::i;:::-;15919:22;;:6;;;;;;;;;;:22;;;15911:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16761:1:::1;16741:22;;:8;:22;;;;16733:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16851:8;16822:38;;16843:6;::::0;::::1;;;;;;;;16822:38;;;;;;;;;;;;16880:8;16871:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;16652:244:::0;:::o;21298:478::-;15929:12;:10;:12::i;:::-;15919:22;;:6;;;;;;;;;;:22;;;15911:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21379:11:::1;:20;21391:7;21379:20;;;;;;;;;;;;;;;;;;;;;;;;;21371:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;21447:9;21442:327;21466:9;:16;;;;21462:1;:20;21442:327;;;21524:7;21508:23;;:9;21518:1;21508:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;21504:254;;;21567:9;21596:1;21577:9;:16;;;;:20;21567:31;;;;;;;;;;;;;;;;;;;;;;;;;21552:9;21562:1;21552:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;21636:1;21617:7;:16;21625:7;21617:16;;;;;;;;;;;;;;;:20;;;;21679:5;21656:11;:20;21668:7;21656:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;21703:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21737:5;;21504:254;21484:3;;;;;;;21442:327;;;;21298:478:::0;:::o;165:106::-;218:15;253:10;246:17;;165:106;:::o;22076:337::-;22186:1;22169:19;;:5;:19;;;;22161:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22267:1;22248:21;;:7;:21;;;;22240:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22351:6;22321:11;:18;22333:5;22321:18;;;;;;;;;;;;;;;:27;22340:7;22321:27;;;;;;;;;;;;;;;:36;;;;22389:7;22373:32;;22382:5;22373:32;;;22398:6;22373:32;;;;;;;;;;;;;;;;;;22076:337;;;:::o;22421:941::-;22536:1;22518:20;;:6;:20;;;;22510:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22620:1;22599:23;;:9;:23;;;;22591:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22690:1;22681:6;:10;22673:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22762:11;:19;22774:6;22762:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;22786:11;:22;22798:9;22786:22;;;;;;;;;;;;;;;;;;;;;;;;;22785:23;22762:46;22758:597;;;22825:48;22847:6;22855:9;22866:6;22825:21;:48::i;:::-;22758:597;;;22896:11;:19;22908:6;22896:19;;;;;;;;;;;;;;;;;;;;;;;;;22895:20;:46;;;;;22919:11;:22;22931:9;22919:22;;;;;;;;;;;;;;;;;;;;;;;;;22895:46;22891:464;;;22958:46;22978:6;22986:9;22997:6;22958:19;:46::i;:::-;22891:464;;;23027:11;:19;23039:6;23027:19;;;;;;;;;;;;;;;;;;;;;;;;;23026:20;:47;;;;;23051:11;:22;23063:9;23051:22;;;;;;;;;;;;;;;;;;;;;;;;;23050:23;23026:47;23022:333;;;23090:44;23108:6;23116:9;23127:6;23090:17;:44::i;:::-;23022:333;;;23156:11;:19;23168:6;23156:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;23179:11;:22;23191:9;23179:22;;;;;;;;;;;;;;;;;;;;;;;;;23156:45;23152:203;;;23218:48;23240:6;23248:9;23259:6;23218:21;:48::i;:::-;23152:203;;;23299:44;23317:6;23325:9;23336:6;23299:17;:44::i;:::-;23152:203;23022:333;22891:464;22758:597;22421:941;;;:::o;4983:192::-;5069:7;5102:1;5097;:6;;5105:12;5089:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5129:9;5145:1;5141;:5;5129:17;;5166:1;5159:8;;;4983:192;;;;;:::o;26599:163::-;26640:7;26661:15;26678;26697:19;:17;:19::i;:::-;26660:56;;;;26734:20;26746:7;26734;:11;;:20;;;;:::i;:::-;26727:27;;;;26599:163;:::o;6381:132::-;6439:7;6466:39;6470:1;6473;6466:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6459:46;;6381:132;;;;:::o;4080:181::-;4138:7;4158:9;4174:1;4170;:5;4158:17;;4199:1;4194;:6;;4186:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4252:1;4245:8;;;4080:181;;;;:::o;25608:411::-;25667:7;25676;25685;25694;25703;25724:23;25749:12;25765:20;25777:7;25765:11;:20::i;:::-;25723:62;;;;25796:19;25819:10;:8;:10::i;:::-;25796:33;;25841:15;25858:23;25883:12;25899:39;25911:7;25920:4;25926:11;25899;:39::i;:::-;25840:98;;;;;;25957:7;25966:15;25983:4;25989:15;26006:4;25949:62;;;;;;;;;;;;;;;;25608:411;;;;;;;:::o;4544:136::-;4602:7;4629:43;4633:1;4636;4629:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4622:50;;4544:136;;;;:::o;27343:92::-;;;;:::o;23370:445::-;23469:15;23486:23;23511:12;23525:23;23550:12;23566:19;23577:7;23566:10;:19::i;:::-;23468:117;;;;;;;;;;23614:28;23634:7;23614;:15;23622:6;23614:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23596:7;:15;23604:6;23596:15;;;;;;;;;;;;;;;:46;;;;23674:39;23697:15;23674:7;:18;23682:9;23674:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23653:7;:18;23661:9;23653:18;;;;;;;;;;;;;;;:60;;;;23724:23;23736:4;23742;23724:11;:23::i;:::-;23780:9;23763:44;;23772:6;23763:44;;;23791:15;23763:44;;;;;;;;;;;;;;;;;;23370:445;;;;;;;;:::o;24351:507::-;24454:15;24471:23;24496:12;24510:23;24535:12;24551:19;24562:7;24551:10;:19::i;:::-;24453:117;;;;;;;;;;24599:28;24619:7;24599;:15;24607:6;24599:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24581:7;:15;24589:6;24581:15;;;;;;;;;;;;;;;:46;;;;24656:28;24676:7;24656;:15;24664:6;24656:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24638:7;:15;24646:6;24638:15;;;;;;;;;;;;;;;:46;;;;24716:39;24739:15;24716:7;:18;24724:9;24716:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24695:7;:18;24703:9;24695:18;;;;;;;;;;;;;;;:60;;;;24767:23;24779:4;24785;24767:11;:23::i;:::-;24823:9;24806:44;;24815:6;24806:44;;;24834:15;24806:44;;;;;;;;;;;;;;;;;;24351:507;;;;;;;;:::o;23823:520::-;23924:15;23941:23;23966:12;23980:23;24005:12;24021:19;24032:7;24021:10;:19::i;:::-;23923:117;;;;;;;;;;24069:28;24089:7;24069;:15;24077:6;24069:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24051:7;:15;24059:6;24051:15;;;;;;;;;;;;;;;:46;;;;24129:39;24152:15;24129:7;:18;24137:9;24129:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24108:7;:18;24116:9;24108:18;;;;;;;;;;;;;;;:60;;;;24200:39;24223:15;24200:7;:18;24208:9;24200:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24179:7;:18;24187:9;24179:18;;;;;;;;;;;;;;;:60;;;;24252:23;24264:4;24270;24252:11;:23::i;:::-;24308:9;24291:44;;24300:6;24291:44;;;24319:15;24291:44;;;;;;;;;;;;;;;;;;23823:520;;;;;;;;:::o;24866:579::-;24969:15;24986:23;25011:12;25025:23;25050:12;25066:19;25077:7;25066:10;:19::i;:::-;24968:117;;;;;;;;;;25114:28;25134:7;25114;:15;25122:6;25114:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25096:7;:15;25104:6;25096:15;;;;;;;;;;;;;;;:46;;;;25171:28;25191:7;25171;:15;25179:6;25171:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25153:7;:15;25161:6;25153:15;;;;;;;;;;;;;;;:46;;;;25231:39;25254:15;25231:7;:18;25239:9;25231:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25210:7;:18;25218:9;25210:18;;;;;;;;;;;;;;;:60;;;;25302:39;25325:15;25302:7;:18;25310:9;25302:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25281:7;:18;25289:9;25281:18;;;;;;;;;;;;;;;:60;;;;25354:23;25366:4;25372;25354:11;:23::i;:::-;25410:9;25393:44;;25402:6;25393:44;;;25421:15;25393:44;;;;;;;;;;;;;;;;;;24866:579;;;;;;;;:::o;26770:561::-;26820:7;26829;26849:15;26867:7;;26849:25;;26885:15;17410:18;26885:25;;26932:9;26927:289;26951:9;:16;;;;26947:1;:20;26927:289;;;27017:7;26993;:21;27001:9;27011:1;27001:12;;;;;;;;;;;;;;;;;;;;;;;;;26993:21;;;;;;;;;;;;;;;;:31;:66;;;;27052:7;27028;:21;27036:9;27046:1;27036:12;;;;;;;;;;;;;;;;;;;;;;;;;27028:21;;;;;;;;;;;;;;;;:31;26993:66;26989:97;;;27069:7;;17410:18;27061:25;;;;;;;;;26989:97;27111:34;27123:7;:21;27131:9;27141:1;27131:12;;;;;;;;;;;;;;;;;;;;;;;;;27123:21;;;;;;;;;;;;;;;;27111:7;:11;;:34;;;;:::i;:::-;27101:44;;27170:34;27182:7;:21;27190:9;27200:1;27190:12;;;;;;;;;;;;;;;;;;;;;;;;;27182:21;;;;;;;;;;;;;;;;27170:7;:11;;:34;;;;:::i;:::-;27160:44;;26969:3;;;;;;;26927:289;;;;27240:20;17410:18;27240:7;;:11;;:20;;;;:::i;:::-;27230:7;:30;27226:61;;;27270:7;;17410:18;27262:25;;;;;;;;27226:61;27306:7;27315;27298:25;;;;;;26770:561;;;:::o;7009:278::-;7095:7;7127:1;7123;:5;7130:12;7115:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7154:9;7170:1;7166;:5;;;;;;7154:17;;7278:1;7271:8;;;7009:278;;;;;:::o;26027:222::-;26087:7;26096;26116:12;26131:15;26143:2;26131:7;:11;;:15;;;;:::i;:::-;26116:30;;26157:23;26183:17;26195:4;26183:7;:11;;:17;;;;:::i;:::-;26157:43;;26219:15;26236:4;26211:30;;;;;;26027:222;;;:::o;26257:334::-;26352:7;26361;26370;26390:15;26408:24;26420:11;26408:7;:11;;:24;;;;:::i;:::-;26390:42;;26443:12;26458:21;26467:11;26458:4;:8;;:21;;;;:::i;:::-;26443:36;;26490:23;26516:17;26528:4;26516:7;:11;;:17;;;;:::i;:::-;26490:43;;26552:7;26561:15;26578:4;26544:39;;;;;;;;;26257:334;;;;;;;:::o;25453:147::-;25531:17;25543:4;25531:7;;:11;;:17;;;;:::i;:::-;25521:7;:27;;;;25572:20;25587:4;25572:10;;:14;;:20;;;;:::i;:::-;25559:10;:33;;;;25453:147;;:::o;5434:471::-;5492:7;5742:1;5737;:6;5733:47;;;5767:1;5760:8;;;;5733:47;5792:9;5808:1;5804;:5;5792:17;;5837:1;5832;5828;:5;;;;;;:10;5820:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5896:1;5889:8;;;5434:471;;;;;:::o

Swarm Source

ipfs://5a0c0a6f50a3025c3a1cfec8d667b3eaf404cdba4d2d10cd9d63a299c666267d
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.