Contract 0x5f2caa99fc378248ac02cbbaac27e3fa155ed2c4

 

Contract Overview

Jointer: JNTR Token
Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0x470d3eb5fd7dfa2d0013e8850e01bb8ba6a4df4806fd489b4821cf1ff3246bf153913762021-03-04 17:20:033 hrs 58 mins ago0x6c9325f4e4479f4d49c0a2c34df5e0e761d5e59d IN  Jointer: JNTR Token0 BNB0.00032259
0x2caab1c3eaca9d4441cdd6d7b9543cbeb325faf59075de1a8cbfbb5b88353ccb53905302021-03-04 16:37:454 hrs 40 mins ago0x0845c2550f38b46c022dfe992ba31099ad2fe495 IN  Jointer: JNTR Token0 BNB0.00032295
0x2e32f05675a4caa9ea157cc2739bc5c8d2eca3abe725ea0f39b12ad18c04074153902932021-03-04 16:25:544 hrs 52 mins ago0x6c9325f4e4479f4d49c0a2c34df5e0e761d5e59d IN  Jointer: JNTR Token0 BNB0.00032259
0x141ff923ae0cd365c956fae722033d17f501c217084537da2136d0519c58691753877932021-03-04 14:20:546 hrs 57 mins ago0x80cf904d2916fb87cd715515fc52620ef7cb0307 IN  Jointer: JNTR Token0 BNB0.00014595
0x3ff07224b88f2a9ab74b34f04fdf22e2181742dcb92b8745c13efbaf05b0b8da53858932021-03-04 12:45:548 hrs 32 mins ago0x986d481d72dc2d29d3e7ffa3ca4590317e3d16e1 IN  Jointer: JNTR Token0 BNB0.00044573
0x68cbcd8dcf46a4fd9de276d40947a9d35b89b578c1996b1cc1a0734c17e3f03853847042021-03-04 11:46:279 hrs 32 mins ago0x6c5fb5180190c66dba44db119a3a9757e96875e6 IN  Jointer: JNTR Token0 BNB0.00044273
0x4f7e108b1cf3a8068bda49f2077e2bddb0130e590dc4c1fd65f2a937da949dcf53828332021-03-04 10:12:5411 hrs 5 mins ago0x89e7a08cfb76fd64a67d31b310007a41be653a97 IN  Jointer: JNTR Token0 BNB0.00032271
0xd81f16210354f7cd9e58fb65dede36b1ea3e6952bbd25e567299c3b1ffec3af953812042021-03-04 8:51:2512 hrs 27 mins ago0xe962f7f7963f812f321467ce12fb5f383b7e5c5c IN  Jointer: JNTR Token0 BNB0.00032295
0x4141631830a39ffa4b096b2b8a3fb76b126c45b9b45909f737a7cd4c88ccce1f53806302021-03-04 8:22:4312 hrs 55 mins ago0x8b924f6515be718d7f1ff8b36c361c946d5949af IN  Jointer: JNTR Token0 BNB0.00044573
0xdb72672306005bd6a0acea412a2a010d896438c56653850525a6166e232b22c653803492021-03-04 8:08:4013 hrs 9 mins ago0xd8f308f76a2c33c908cb5742962d85116531706c IN  Jointer: JNTR Token0 BNB0.00044273
0xc7adf6309f9d2bae4406fd55082cb717c6b86b8d00659bc03de79f2ae6965f4553800852021-03-04 7:55:2813 hrs 23 mins ago0x3a456d4ab1437623d8eae825f5e272901417fe08 IN  Jointer: JNTR Token0 BNB0.000354981
0xc0f1360ac947e52f5aed630f4626ab96a11afbe1521696e8b87beb772a17e51253789982021-03-04 7:01:0714 hrs 17 mins ago0xfb47b078b3080fdac279602e27885e70fc9003f0 IN  Jointer: JNTR Token0 BNB0.00032295
0x5d0c1d749ec6c761d70ca00016466f9f42c3c88dca85bfbf026e342bee60f5ea53774222021-03-04 5:42:0715 hrs 36 mins ago0x7c3375b5b253d50e09f35ed87c8bd4ae6c085dc2 IN  Jointer: JNTR Token0 BNB0.00032295
0xc148a981ac20f0315690ccd38723b5c415c9723a9cc48013616e5f14750399a253718312021-03-04 1:02:3420 hrs 16 mins ago0x37e97bd5e0e8d64f01abb63f58e4873b3b8cbc65 IN  Jointer: JNTR Token0 BNB0.00044573
0x23fa4dee11ec9cef964a13d2a2f76c9dd5680419af9aa16dba125b68a46b899353717222021-03-04 0:57:0720 hrs 21 mins ago0xfeef3dbea44c11bccf537e55c43ddec61479d3f2 IN  Jointer: JNTR Token0 BNB0.00044273
0xe3796a2528fc76bec54fedd718e43ca6edbaeff3ee7c92451323d9d2ae6e87f953684082021-03-03 22:10:5823 hrs 7 mins ago0x8cb8f01bbfe5abdedceccb01e344bd9ee501c9f6 IN  Jointer: JNTR Token0 BNB0.00025073
0xd6716526c778d5cdf999951cd57bfbb12b2f890055a73e842a5ce8a5b10af8a453671602021-03-03 21:08:341 day 10 mins ago0x9929077c47afd7d0f04d79e39b6b896c496804d0 IN  Jointer: JNTR Token0 BNB0.00025073
0xe2382177eff7d4baeefeabe92730c69d800cfbac09712f692d5b2f93e1a067c553671412021-03-03 21:07:371 day 10 mins ago0x9929077c47afd7d0f04d79e39b6b896c496804d0 IN  Jointer: JNTR Token0 BNB0.00025073
0x3d9f5a990ea581564c66dea15aa973d65ba046081cb8703ec672b52b3ed1019653669572021-03-03 20:58:251 day 20 mins ago0x1b91dccb3744169b11ad34b5a4495d585a86b1e7 IN  Jointer: JNTR Token0 BNB0.00032271
0x21f1f3b4d8ef818c123784284ce6d6270fd65128f723da2eddbb8a2aff6a439553669462021-03-03 20:57:521 day 20 mins ago0x1b91dccb3744169b11ad34b5a4495d585a86b1e7 IN  Jointer: JNTR Token0 BNB0.00032271
0xfe185b2ade811ddd110da46aee144a7cf15d5c9b3ef3c57f62e9b61d96c8908453656372021-03-03 19:52:251 day 1 hr ago0x94512d72bb9f552524adc17ca36b92c95e6b7567 IN  Jointer: JNTR Token0 BNB0.00032283
0xc2173bb33884981796711f80a9fc4615fbc16aa3a8385f584b0e615aee218b7b53651092021-03-03 19:26:011 day 1 hr ago0x584ba0d30b30dfb1d5e65ef0f6219d1802a438a3 IN  Jointer: JNTR Token0 BNB0.00044273
0x86e4ceeb5f1cd990bccf862d93aa9f5de4e74198f170a282bbfc5ed8176ea82953649782021-03-03 19:19:281 day 1 hr ago0xebaf549d5f8f9f253f197d415ba0c7d723c82f38 IN  Jointer: JNTR Token0 BNB0.00044273
0x3009b5d33bbef51302ab314f4c95424b1fc5d0b65e87ea5b7135153055cc0c2153649762021-03-03 19:19:221 day 1 hr ago0xa628c56dce86ec44430c4f0b7c7e9097bdcebfe0 IN  Jointer: JNTR Token0 BNB0.00025073
0x4e43c430aef89b68c334bf4e2ec4f77ee198763cb5ddcd87a47413b601c25d9453649542021-03-03 19:18:161 day 2 hrs ago0xa628c56dce86ec44430c4f0b7c7e9097bdcebfe0 IN  Jointer: JNTR Token0 BNB0.00025073
[ Download CSV Export 

OVERVIEW

JNTR is a liquidity bridge that serves as a transfer of value between traditional commercial real estate equity and blockchain based digital currencies.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x470d3eb5fd7dfa2d0013e8850e01bb8ba6a4df4806fd489b4821cf1ff3246bf153913762021-03-04 17:20:033 hrs 58 mins ago Jointer: JNTR Token 0x0ed48b5cf25bbd1ee1fc5db2e7020788516b9a1c0 BNB
0x2caab1c3eaca9d4441cdd6d7b9543cbeb325faf59075de1a8cbfbb5b88353ccb53905302021-03-04 16:37:454 hrs 40 mins ago Jointer: JNTR Token 0x0ed48b5cf25bbd1ee1fc5db2e7020788516b9a1c0 BNB
0x2e32f05675a4caa9ea157cc2739bc5c8d2eca3abe725ea0f39b12ad18c04074153902932021-03-04 16:25:544 hrs 52 mins ago Jointer: JNTR Token 0x0ed48b5cf25bbd1ee1fc5db2e7020788516b9a1c0 BNB
0x2dc72c18e822341e45352c5a75003c6237a925d1c22e5c96e2ba8545a7c4277753861712021-03-04 12:59:488 hrs 18 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0x2dc72c18e822341e45352c5a75003c6237a925d1c22e5c96e2ba8545a7c4277753861712021-03-04 12:59:488 hrs 18 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0x2dc72c18e822341e45352c5a75003c6237a925d1c22e5c96e2ba8545a7c4277753861712021-03-04 12:59:488 hrs 18 mins ago 0xd878fc8a8d59405e1aed49b5f8beae84fbb3b1cf Jointer: JNTR Token0 BNB
0x2dc72c18e822341e45352c5a75003c6237a925d1c22e5c96e2ba8545a7c4277753861712021-03-04 12:59:488 hrs 18 mins ago Jointer: JNTR Token 0x0ed48b5cf25bbd1ee1fc5db2e7020788516b9a1c0 BNB
0x2dc72c18e822341e45352c5a75003c6237a925d1c22e5c96e2ba8545a7c4277753861712021-03-04 12:59:488 hrs 18 mins ago 0xd878fc8a8d59405e1aed49b5f8beae84fbb3b1cf Jointer: JNTR Token0 BNB
0x4d82e2182ee6627a038000b0b59df751ec330a960e0fbe44e775f1c44278667053860532021-03-04 12:53:548 hrs 24 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0x4d82e2182ee6627a038000b0b59df751ec330a960e0fbe44e775f1c44278667053860532021-03-04 12:53:548 hrs 24 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0x4d82e2182ee6627a038000b0b59df751ec330a960e0fbe44e775f1c44278667053860532021-03-04 12:53:548 hrs 24 mins ago 0xd878fc8a8d59405e1aed49b5f8beae84fbb3b1cf Jointer: JNTR Token0 BNB
0x4d82e2182ee6627a038000b0b59df751ec330a960e0fbe44e775f1c44278667053860532021-03-04 12:53:548 hrs 24 mins ago Jointer: JNTR Token 0x0ed48b5cf25bbd1ee1fc5db2e7020788516b9a1c0 BNB
0x4d82e2182ee6627a038000b0b59df751ec330a960e0fbe44e775f1c44278667053860532021-03-04 12:53:548 hrs 24 mins ago 0xd878fc8a8d59405e1aed49b5f8beae84fbb3b1cf Jointer: JNTR Token0 BNB
0xb0676e131aac9416c9a58b02fb499bc4f898a7a5c2fa140db4a85a583386612453858342021-03-04 12:42:578 hrs 35 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0xb0676e131aac9416c9a58b02fb499bc4f898a7a5c2fa140db4a85a583386612453858342021-03-04 12:42:578 hrs 35 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0xb0676e131aac9416c9a58b02fb499bc4f898a7a5c2fa140db4a85a583386612453858342021-03-04 12:42:578 hrs 35 mins ago 0xd878fc8a8d59405e1aed49b5f8beae84fbb3b1cf Jointer: JNTR Token0 BNB
0xb0676e131aac9416c9a58b02fb499bc4f898a7a5c2fa140db4a85a583386612453858342021-03-04 12:42:578 hrs 35 mins ago Jointer: JNTR Token 0x0ed48b5cf25bbd1ee1fc5db2e7020788516b9a1c0 BNB
0xb0676e131aac9416c9a58b02fb499bc4f898a7a5c2fa140db4a85a583386612453858342021-03-04 12:42:578 hrs 35 mins ago 0xd878fc8a8d59405e1aed49b5f8beae84fbb3b1cf Jointer: JNTR Token0 BNB
0xa1507aa79c108b9ce41ef082a5c4d9a50fba21f1b444a0121b6a43365a5a421453855972021-03-04 12:31:068 hrs 47 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0xa1507aa79c108b9ce41ef082a5c4d9a50fba21f1b444a0121b6a43365a5a421453855972021-03-04 12:31:068 hrs 47 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0xa1507aa79c108b9ce41ef082a5c4d9a50fba21f1b444a0121b6a43365a5a421453855972021-03-04 12:31:068 hrs 47 mins ago 0xd878fc8a8d59405e1aed49b5f8beae84fbb3b1cf Jointer: JNTR Token0 BNB
0xa1507aa79c108b9ce41ef082a5c4d9a50fba21f1b444a0121b6a43365a5a421453855972021-03-04 12:31:068 hrs 47 mins ago Jointer: JNTR Token 0x0ed48b5cf25bbd1ee1fc5db2e7020788516b9a1c0 BNB
0xa1507aa79c108b9ce41ef082a5c4d9a50fba21f1b444a0121b6a43365a5a421453855972021-03-04 12:31:068 hrs 47 mins ago 0xd878fc8a8d59405e1aed49b5f8beae84fbb3b1cf Jointer: JNTR Token0 BNB
0x988a83afa1b3c882eb766f929d5799333d21ca228d6fe63d80259b210382f42b53855842021-03-04 12:30:278 hrs 48 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
0x988a83afa1b3c882eb766f929d5799333d21ca228d6fe63d80259b210382f42b53855842021-03-04 12:30:278 hrs 48 mins ago 0x546c04414d1e102a175ab2c41b522f0f924ec229 Jointer: JNTR Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MainToken

Compiler Version
v0.5.9+commit.e560f70d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-10-18
*/

// File: contracts/InterFaces/IWhiteList.sol

pragma solidity ^0.5.9;

interface IWhiteList {
    function address_belongs(address _who) external view returns (address);

    function isWhiteListed(address _who) external view returns (bool);

    function isAllowedInAuction(address _which) external view returns (bool);

    function isAddressByPassed(address _which) external view returns (bool);

    function isExchangeAddress(address _which) external view returns (bool);

    function main_isTransferAllowed(
        address _msgSender,
        address _from,
        address _to
    ) external returns (bool);

    function etn_isTransferAllowed(
        address _msgSender,
        address _from,
        address _to
    ) external returns (bool);

    function stock_isTransferAllowed(
        address _msgSender,
        address _from,
        address _to
    ) external returns (bool);

    function addWalletBehalfExchange(address _mainWallet, address _subWallet)
        external
        returns (bool);

    function main_isReceiveAllowed(address user) external view returns (bool);

    function etn_isReceiveAllowed(address user) external view returns (bool);

    function stock_isReceiveAllowed(address user) external view returns (bool);
}

// File: contracts/Tokens/IBEP20.sol

pragma solidity ^0.5.9;

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

  /**
   * @dev Returns the token decimals.
   */
  function decimals() external view returns (uint8);

  /**
   * @dev Returns the token symbol.
   */
  function symbol() external view returns (string memory);

  /**
  * @dev Returns the token name.
  */
  function name() external view returns (string memory);

  /**
   * @dev Returns the bep token owner.
   */
  function getOwner() external view returns (address);

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

// File: contracts/common/SafeMath.sol

pragma solidity ^0.5.9;

contract SafeMath {
    function safeMul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function safeDiv(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

    function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }

    function safeExponent(uint256 a, uint256 b)
        internal
        pure
        returns (uint256)
    {
        uint256 result;
        assembly {
            result := exp(a, b)
        }
        return result;
    }

    // calculates a^(1/n) to dp decimal places
    // maxIts bounds the number of iterations performed
    function nthRoot(
        uint256 _a,
        uint256 _n,
        uint256 _dp,
        uint256 _maxIts
    ) internal pure returns (uint256) {
        assert(_n > 1);

        // The scale factor is a crude way to turn everything into integer calcs.
        // Actually do (a * (10 ^ ((dp + 1) * n))) ^ (1/n)
        // We calculate to one extra dp and round at the end
        uint256 one = 10**(1 + _dp);
        uint256 a0 = one**_n * _a;

        // Initial guess: 1.0
        uint256 xNew = one;
        uint256 x;

        uint256 iter = 0;
        while (xNew != x && iter < _maxIts) {
            x = xNew;
            uint256 t0 = x**(_n - 1);
            if (x * t0 > a0) {
                xNew = x - (x - a0 / t0) / _n;
            } else {
                xNew = x + (a0 / t0 - x) / _n;
            }
            ++iter;
        }

        // Round to nearest in the last dp.
        return (xNew + 5) / 10;
    }
}

// File: contracts/common/Constant.sol

pragma solidity ^0.5.9;

contract Constant {
    string constant ERR_CONTRACT_SELF_ADDRESS = "ERR_CONTRACT_SELF_ADDRESS";

    string constant ERR_ZERO_ADDRESS = "ERR_ZERO_ADDRESS";

    string constant ERR_NOT_OWN_ADDRESS = "ERR_NOT_OWN_ADDRESS";

    string constant ERR_VALUE_IS_ZERO = "ERR_VALUE_IS_ZERO";

    string constant ERR_SAME_ADDRESS = "ERR_SAME_ADDRESS";

    string constant ERR_AUTHORIZED_ADDRESS_ONLY = "ERR_AUTHORIZED_ADDRESS_ONLY";

    modifier notOwnAddress(address _which) {
        require(msg.sender != _which, ERR_NOT_OWN_ADDRESS);
        _;
    }

    // validates an address is not zero
    modifier notZeroAddress(address _which) {
        require(_which != address(0), ERR_ZERO_ADDRESS);
        _;
    }

    // verifies that the address is different than this contract address
    modifier notThisAddress(address _which) {
        require(_which != address(this), ERR_CONTRACT_SELF_ADDRESS);
        _;
    }

    modifier notZeroValue(uint256 _value) {
        require(_value > 0, ERR_VALUE_IS_ZERO);
        _;
    }
}

// File: contracts/common/Ownable.sol

pragma solidity ^0.5.9;


contract Ownable is Constant {
    address public primaryOwner = address(0);

    address public authorityAddress = address(0);

    address public systemAddress = address(0);

    address public newAuthorityAddress = address(0);

    event OwnershipTransferred(
        string ownerType,
        address indexed previousOwner,
        address indexed newOwner
    );
    event AuthorityAddressChnageCall(
        address indexed previousOwner,
        address indexed newOwner
    );

    /**
     * @dev The Ownable constructor sets the `primaryOwner` and `systemAddress` and '_multisigAddress'
     * account.
     */
    constructor(address _systemAddress, address _authorityAddress)
        public
        notZeroAddress(_systemAddress)
    {
        require(msg.sender != _systemAddress, ERR_SAME_ADDRESS);

        require(_systemAddress != _authorityAddress, ERR_SAME_ADDRESS);

        require(msg.sender != _authorityAddress, ERR_SAME_ADDRESS);

        primaryOwner = msg.sender;

        systemAddress = _systemAddress;

        authorityAddress = _authorityAddress;
    }

    modifier onlyOwner() {
        require(msg.sender == primaryOwner, ERR_AUTHORIZED_ADDRESS_ONLY);
        _;
    }

    modifier onlySystem() {
        require(msg.sender == systemAddress, ERR_AUTHORIZED_ADDRESS_ONLY);
        _;
    }

    modifier onlyOneOfOnwer() {
        require(
            msg.sender == primaryOwner || msg.sender == systemAddress,
            ERR_AUTHORIZED_ADDRESS_ONLY
        );
        _;
    }

    modifier onlyAuthorized() {
        require(msg.sender == authorityAddress, ERR_AUTHORIZED_ADDRESS_ONLY);
        _;
    }

   /**
     * @dev change primary ownership governance 
     */
    function changePrimaryOwner()
        public
        onlyOwner()
        returns (bool)
    {
        emit OwnershipTransferred("PRIMARY_OWNER", primaryOwner, authorityAddress);
        primaryOwner = authorityAddress;
        return true;
    }

    /**
     * @dev change system address
     * @param _which The address to which is new system address
     */
    function changeSystemAddress(address _which)
        public
        onlyAuthorized()
        notThisAddress(_which)
        notZeroAddress(_which)
        returns (bool)
    {
        require(
            _which != systemAddress &&
                _which != authorityAddress &&
                _which != primaryOwner,
            ERR_SAME_ADDRESS
        );
        emit OwnershipTransferred("SYSTEM_ADDRESS", systemAddress, _which);
        systemAddress = _which;
        return true;
    }

    /**
     * @dev change system address
     * @param _which The address to which is new Authority address
     */
    function changeAuthorityAddress(address _which)
        public
        onlyAuthorized()
        notZeroAddress(_which)
        returns (bool)
    {
        require(
            _which != systemAddress &&
                _which != authorityAddress &&
                _which != primaryOwner,
            ERR_SAME_ADDRESS
        );
        newAuthorityAddress = _which;
        return true;
    }

    function acceptAuthorityAddress() public returns (bool) {
        require(msg.sender == newAuthorityAddress, ERR_AUTHORIZED_ADDRESS_ONLY);
        emit OwnershipTransferred(
            "AUTHORITY_ADDRESS",
            authorityAddress,
            newAuthorityAddress
        );
        authorityAddress = newAuthorityAddress;
        newAuthorityAddress = address(0);
        return true;
    }
}

// File: contracts/Tokens/StandardToken.sol

pragma solidity ^0.5.9;





contract StandardToken is IBEP20, SafeMath, Ownable {
    
    uint256 public totalSupply;
    
    string public name;

    string public symbol;
 
    uint256 public constant decimals = 18;

    mapping(address => uint256) balances;

    mapping(address => mapping(address => uint256)) allowed;
    
    constructor(string memory _name,
                string memory _symbol,
                address _systemAddress,
                address _authorityAddress) public Ownable(_systemAddress,_authorityAddress)  {
                    
        require(bytes(_name).length > 0 && bytes(_symbol).length > 0);
        name = _name;
        symbol = _symbol;
    }

    event Mint(address indexed _to, uint256 value);
    event Burn(address indexed from, uint256 value);
    event TransferFrom(
        address indexed spender,
        address indexed _from,
        address indexed _to
    );
    
    
    /**
     * @dev transfer token for a specified address
     * @param _from The address from token transfer.
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */
    function _transfer(address _from, address _to, uint256 _value)
        internal
        returns (bool)
    {
        uint256 senderBalance = balances[_from];
        require(senderBalance >= _value, "ERR_NOT_ENOUGH_BALANCE");
        senderBalance = safeSub(senderBalance, _value);
        balances[_from] = senderBalance;
        balances[_to] = safeAdd(balances[_to], _value);
        emit Transfer(_from, _to, _value);
        return true;
    }
    
     /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer tokens
     * @param _value uint256 the amount of tokens to be transferred
     */
    function _transferFrom(address _from, address _to, uint256 _value)
        internal
        notThisAddress(_to)
        notZeroAddress(_to)
        returns (bool)
    {
        require(allowed[_from][msg.sender] >= _value, "ERR_NOT_ENOUGH_BALANCE");
        require(_transfer(_from, _to, _value));
        allowed[_from][msg.sender] = safeSub(
            allowed[_from][msg.sender],
            _value
        );
        emit TransferFrom(msg.sender, _from, _to);
        return true;
    }
    
    function _approve(address owner, address spender, uint256 amount) internal notZeroAddress(spender) {
        
        allowed[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _burn(address _from, uint256 _value) internal returns (bool) {
        uint256 senderBalance = balances[_from];
        require(senderBalance >= _value, "ERR_NOT_ENOUGH_BALANCE");
        senderBalance = safeSub(senderBalance, _value);
        balances[_from] = senderBalance;
        totalSupply = safeSub(totalSupply, _value);
        emit Burn(_from, _value);
        emit Transfer(_from, address(0), _value);
        return true;
    }
    
    function _mint(address _to, uint256 _value) internal returns (bool) {
        balances[_to] = safeAdd(balances[_to], _value);
        totalSupply = safeAdd(totalSupply, _value);
        emit Mint(_to, _value);
        emit Transfer(address(0), _to, _value);
        return true;
    }
    
    
    
    /**
     * @dev Gets the balance of the specified address.
     * @param _who The address to query the the balance of.
     * @return balance An uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address _who) public view returns (uint256 balance) {
        return balances[_who];
    }
    
 
    /**
     * @dev `msg.sender` approves `spender` to spend `value` tokens
     * @param _spender The address of the account able to transfer the tokens
     * @param _value The amount of wei to be approved for transfer
     * @return ok Whether the approval was successful or not
     */
    function approve(address _spender, uint256 _value)
        external
        notZeroAddress(_spender)
        returns (bool ok)
    {
        _approve(msg.sender, _spender, _value);
        return true;
    }
    
     /**
     * @dev `msg.sender` approves `spender` to increase spend `value` tokens
     * @param _spender The address of the account able to transfer the tokens
     * @param _value The amount of wei to be approved for transfer
     * @return Whether the approval was successful or not
     */
    function increaseAllowance(address _spender, uint256 _value) external  returns (bool) {
        uint256 currentAllowed = allowed[msg.sender][_spender];
        _approve(msg.sender, _spender, safeAdd(currentAllowed,_value));
        return true;
        
    }
    
     /**
     * @dev `msg.sender` approves `spender` to decrease spend `value` tokens
     * @param _spender The address of the account able to transfer the tokens
     * @param _value The amount of wei to be approved for transfer
     * @return Whether the approval was successful or not
     */
    function decreaseAllowance(address _spender, uint256 _value) external  returns (bool) {
        uint256 currentAllowed = allowed[msg.sender][_spender];
        require(currentAllowed >= _value,"ERR_ALLOWENCE");
        _approve(msg.sender, _spender, safeSub(currentAllowed,_value));
        return true;
    }


    
    /**
     * @dev to check allowed token for transferFrom
     * @param _owner The address of the account owning tokens
     * @param _spender The address of the account able to transfer the tokens
     * @return Amount of remaining tokens allowed to spent
     */
    function allowance(address _owner, address _spender)
        external
        view
        returns (uint256)
    {
        return allowed[_owner][_spender];
    }

   

    /**
     * @dev burn token from this address
     * @param _value uint256 the amount of tokens to be burned
     */
    function burn(uint256 _value) external returns (bool) {
        return _burn(msg.sender, _value);
    }
    
    /**
    * @dev Returns the bep token owner.
    */
    function getOwner() external view returns (address) {
        return systemAddress;
    }

}

// File: contracts/InterFaces/IAuctionRegistery.sol

pragma solidity ^0.5.9;

contract AuctionRegisteryContracts {
    bytes32 internal constant MAIN_TOKEN = "MAIN_TOKEN";
    bytes32 internal constant ETN_TOKEN = "ETN_TOKEN";
    bytes32 internal constant STOCK_TOKEN = "STOCK_TOKEN";
    bytes32 internal constant WHITE_LIST = "WHITE_LIST";
    bytes32 internal constant AUCTION = "AUCTION";
    bytes32 internal constant AUCTION_PROTECTION = "AUCTION_PROTECTION";
    bytes32 internal constant LIQUIDITY = "LIQUIDITY";
    bytes32 internal constant CURRENCY = "CURRENCY";
    bytes32 internal constant VAULT = "VAULT";
    bytes32 internal constant CONTRIBUTION_TRIGGER = "CONTRIBUTION_TRIGGER";
    bytes32 internal constant COMPANY_FUND_WALLET = "COMPANY_FUND_WALLET";
    bytes32 internal constant SMART_SWAP = "SMART_SWAP";
    bytes32 internal constant SMART_SWAP_P2P = "SMART_SWAP_P2P";
    bytes32 internal constant ESCROW = "ESCROW";
}

interface IAuctionRegistery {
    function getAddressOf(bytes32 _contractName)
        external
        view
        returns (address payable);
}

// File: contracts/Tokens/TokenUtils.sol

pragma solidity ^0.5.9;






/**@dev keeps track of registry contract at which all the addresses of the wholes system's contracts are stored */
contract AuctionRegistery is AuctionRegisteryContracts, Ownable {
    
    IAuctionRegistery public contractsRegistry;
    
    address public whiteListAddress;
    address public smartSwapAddress;
    address public currencyPricesAddress;
    address public vaultAddress;
    address public auctionAddress;
    
    /**@dev sets the initial registry address */
    constructor(address _registeryAddress)
        public
        notZeroAddress(_registeryAddress)
    {
        contractsRegistry = IAuctionRegistery(_registeryAddress);
         _updateAddresses();
    }

    /**@dev updates the address of the registry, called only by the system */
    function updateRegistery(address _address)
        external
        onlyAuthorized()
        notZeroAddress(_address)
        returns (bool)
    {
        contractsRegistry = IAuctionRegistery(_address);
        _updateAddresses();
        return true;
    }

    /**@dev returns address of the asked contract got from registry contract at the registryAddress
    @param _contractName name of the contract  */
    function getAddressOf(bytes32 _contractName)
        internal
        view
        returns (address)
    {
        return contractsRegistry.getAddressOf(_contractName);
    }
    
    /**@dev updates all the address from the registry contract
    this decision was made to save gas that occurs from calling an external view function */
    function _updateAddresses() internal {
        whiteListAddress = getAddressOf(WHITE_LIST);
        smartSwapAddress = getAddressOf(SMART_SWAP);
        currencyPricesAddress = getAddressOf(CURRENCY);
        vaultAddress = getAddressOf(VAULT);
        auctionAddress = getAddressOf(AUCTION);
    }
    
    function updateAddresses() external returns (bool) {
        _updateAddresses();
    }
}


/**@dev Also is a standard IBEP20 token*/
contract TokenUtils is StandardToken, AuctionRegistery {
    
    /**
     *@dev contructs standard IBEP20 token and auction registry
     *@param _name name of the token
     *@param _symbol symbol of the token
     *@param _systemAddress address that acts as an admin of the system
     *@param _authorityAddress address that can change the systemAddress
     *@param _registeryAddress address of the registry contract the keeps track of all the contract Addresses
     **/
    constructor(
        string memory _name,
        string memory _symbol,
        address _systemAddress,
        address _authorityAddress,
        address _registeryAddress
    )
        public
        StandardToken(_name, _symbol, _systemAddress, _authorityAddress)
        AuctionRegistery(_registeryAddress)
    {
       _updateAddresses();
    }

    
}

// File: contracts/Tokens/MainToken.sol

pragma solidity ^0.5.9;





contract TokenMinter is TokenUtils {
    modifier onlyAuthorizedAddress() {
        require(msg.sender == auctionAddress, ERR_AUTHORIZED_ADDRESS_ONLY);
        _;
    }

    function mintTokens(uint256 _amount)
        external
        onlyAuthorizedAddress()
        returns (bool)
    {
        return _mint(msg.sender, _amount);
    }
}


contract MainToken is TokenMinter {
    mapping(address => uint256) public lockedToken;
    mapping(address => uint256) public lastLock;

    /**
     *@dev constructs contract and premints tokens
     *@param _name name of the token
     *@param _symbol symbol of the token
     *@param _systemAddress address that acts as an admin of the system
     *@param _authorityAddress address that can change the systemAddress
     *@param _registeryAddress address of the registry contract the keeps track of all the contract Addresses
     *@param _which array of address to mint tokens to
     *@param _amount array of corresponding amount getting minted
     **/
    constructor(
        string memory _name,
        string memory _symbol,
        address _systemAddress,
        address _authorityAddress,
        address _registeryAddress,
        address[] memory _which,
        uint256[] memory _amount
    )
        public
        TokenUtils(
            _name,
            _symbol,
            _systemAddress,
            _authorityAddress,
            _registeryAddress
        )
    {
        require(_which.length == _amount.length, "ERR_NOT_SAME_LENGTH");

        for (uint256 tempX = 0; tempX < _which.length; tempX++) {
            require(
                IWhiteList(whiteListAddress).isWhiteListed(_which[tempX]),
                "ERR_TRANSFER_CHECK_WHITELIST"
            );
            _mint(_which[tempX], _amount[tempX]);
        }
    }

    function checkBeforeTransfer(address _from, address _to)
        internal
        returns (bool)
    {
        require(
            IWhiteList(whiteListAddress).main_isTransferAllowed(
                msg.sender,
                _from,
                _to
            ),
            "ERR_NOT_HAVE_PERMISSION_TO_TRANSFER"
        );

        return true;
    }

    function transfer(address _to, uint256 _value) external  returns (bool ok) {
        uint256 senderBalance = safeSub(
            balances[msg.sender],
            lockedToken[msg.sender]
        );
        require(senderBalance >= _value, "ERR_NOT_ENOUGH_BALANCE");
        require(checkBeforeTransfer(msg.sender, _to));
        return _transfer(msg.sender, _to, _value);
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    ) external  returns (bool) {
        
        uint256 senderBalance = safeSub(balances[_from], lockedToken[_from]);
        require(senderBalance >= _value, "ERR_NOT_ENOUGH_BALANCE");
        
        require(checkBeforeTransfer(_from, _to));
        return _transferFrom(_from, _to, _value);
    }

    // we need lock time
    // becuse we can check if user invest after new auction start
    // if user invest before token distrubution we dont change anything
    // ex -> user invest  at 11:35 and token distrubution happened at 11:40
    // if in between user invest we dont unlock user token we keep as it as
    // to unlock token set _amount = 0
    function lockToken(
        address _which,
        uint256 _amount,
        uint256 _locktime
    ) external returns (bool) {
        require(msg.sender == auctionAddress, ERR_AUTHORIZED_ADDRESS_ONLY);
        if (_locktime > lastLock[_which]) {
            lockedToken[_which] = _amount;
            lastLock[_which] = _locktime;
        }
        return true;
    }

    // user can unlock their token after 1 day of locking
    // user dont need to call this function as auction set 0 after token distrubution
    // It is failsafe function for user that their token not locked all the time if AUCTION distrubution dont happened
    function unlockToken() external returns (bool) {
        require(
            safeAdd(lastLock[msg.sender], 86400) > now,
            "ERR_TOKEN_UNLCOK_AFTER_DAY"
        );
        lockedToken[msg.sender] = 0;
        return true;
    }

    function() external payable {
        revert("ERR_CAN'T_FORCE_ETH");
    }
}

Contract ABI

[{"constant":false,"inputs":[{"name":"_which","type":"address"}],"name":"changeSystemAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newAuthorityAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlockToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lastLock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptAuthorityAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockedToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"changePrimaryOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authorityAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vaultAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"auctionAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"whiteListAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_which","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_locktime","type":"uint256"}],"name":"lockToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"primaryOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_which","type":"address"}],"name":"changeAuthorityAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"mintTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"updateRegistery","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"smartSwapAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"systemAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currencyPricesAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractsRegistry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"updateAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_systemAddress","type":"address"},{"name":"_authorityAddress","type":"address"},{"name":"_registeryAddress","type":"address"},{"name":"_which","type":"address[]"},{"name":"_amount","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"spender","type":"address"},{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"TransferFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ownerType","type":"string"},{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"AuthorityAddressChnageCall","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

6080604052600080546001600160a01b0319908116909155600180548216905560028054821690556003805490911690553480156200003d57600080fd5b5060405162002b3538038062002b35833981810160405260e08110156200006357600080fd5b8101908080516401000000008111156200007c57600080fd5b820160208101848111156200009057600080fd5b8151640100000000811182820187101715620000ab57600080fd5b50509291906020018051640100000000811115620000c857600080fd5b82016020810184811115620000dc57600080fd5b8151640100000000811182820187101715620000f757600080fd5b505060208201516040830151606084015160809094018051939692959194936401000000008111156200012957600080fd5b820160208101848111156200013d57600080fd5b81518560208202830111640100000000821117156200015b57600080fd5b505092919060200180516401000000008111156200017857600080fd5b820160208101848111156200018c57600080fd5b8151856020820283011164010000000082111715620001aa57600080fd5b50509291905050508686868686808585858581818160006001600160a01b0316816001600160a01b031614156040518060400160405280601081526020017f4552525f5a45524f5f414444524553530000000000000000000000000000000081525090620002b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620002775781810151838201526020016200025d565b50505050905090810190601f168015620002a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601081527f4552525f53414d455f41444452455353000000000000000000000000000000006020820152336001600160a01b03851614156200035d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315620002775781810151838201526020016200025d565b50816001600160a01b0316836001600160a01b031614156040518060400160405280601081526020017f4552525f53414d455f41444452455353000000000000000000000000000000008152509062000413576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315620002775781810151838201526020016200025d565b5060408051808201909152601081527f4552525f53414d455f41444452455353000000000000000000000000000000006020820152336001600160a01b0384161415620004bd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315620002775781810151838201526020016200025d565b5050600080546001600160a01b03199081163317909155600280546001600160a01b039485169083161790556001805492909316911617905583511580159062000508575060008351115b6200051257600080fd5b83516200052790600590602087019062000b27565b5082516200053d90600690602086019062000b27565b505060408051808201909152601081527f4552525f5a45524f5f414444524553530000000000000000000000000000000060208201528493509150506001600160a01b038216620005eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315620002775781810151838201526020016200025d565b50600980546001600160a01b0319166001600160a01b0384161790556200061162000809565b506200062790506001600160e01b036200080916565b505050505080518251146200069d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4552525f4e4f545f53414d455f4c454e47544800000000000000000000000000604482015290519081900360640190fd5b60005b8251811015620007fb57600a5483516001600160a01b0390911690636f9170f690859084908110620006ce57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156200071d57600080fd5b505afa15801562000732573d6000803e3d6000fd5b505050506040513d60208110156200074957600080fd5b5051620007b757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552525f5452414e534645525f434845434b5f57484954454c49535400000000604482015290519081900360640190fd5b620007f1838281518110620007c857fe5b6020026020010151838381518110620007dd57fe5b60200260200101516200098b60201b60201c565b50600101620006a0565b505050505050505062000bcc565b6200083d7f57484954455f4c495354000000000000000000000000000000000000000000006001600160e01b0362000a7616565b600a80546001600160a01b0319166001600160a01b0392909216919091179055620008887f534d4152545f535741500000000000000000000000000000000000000000000062000a76565b600b80546001600160a01b0319166001600160a01b0392909216919091179055620008d37f43555252454e435900000000000000000000000000000000000000000000000062000a76565b600c80546001600160a01b0319166001600160a01b03929092169190911790556200091e7f5641554c5400000000000000000000000000000000000000000000000000000062000a76565b600d80546001600160a01b0319166001600160a01b0392909216919091179055620009697f41554354494f4e0000000000000000000000000000000000000000000000000062000a76565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216600090815260076020526040812054620009b990836001600160e01b0362000b1016565b6001600160a01b038416600090815260076020526040902055600454620009ea90836001600160e01b0362000b1016565b6004556040805183815290516001600160a01b038516917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805183815290516001600160a01b038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b600954604080517ffa86cf560000000000000000000000000000000000000000000000000000000081526004810184905290516000926001600160a01b03169163fa86cf56916024808301926020929190829003018186803b15801562000adc57600080fd5b505afa15801562000af1573d6000803e3d6000fd5b505050506040513d602081101562000b0857600080fd5b505192915050565b60008282018381101562000b2057fe5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000b6a57805160ff191683800117855562000b9a565b8280016001018555821562000b9a579182015b8281111562000b9a57825182559160200191906001019062000b7d565b5062000ba892915062000bac565b5090565b62000bc991905b8082111562000ba8576000815560010162000bb3565b90565b611f598062000bdc6000396000f3fe6080604052600436106101f95760003560e01c806354d060091161010d578063a457c2d7116100a0578063d3e848f11161006f578063d3e848f11461071a578063d803eb961461072f578063d98d0c7e14610744578063dd62ed3e14610759578063e26db6fc14610794576101f9565b8063a457c2d714610660578063a9059cbb14610699578063bc1366fe146106d2578063c3dab2ac14610705576101f9565b80638e10be33116100dc5780638e10be33146105d95780638f51368b146105ee57806395d89b411461062157806397304ced14610636576101f9565b806354d060091461053d57806370a0823114610552578063839972f914610585578063893d20e8146105c4576101f9565b806323b872dd11610190578063395093511161015f578063395093511461049b5780633c695d4e146104d457806342966c68146104e9578063430bf08a146105135780635476ea9e14610528576101f9565b806323b872dd146103fb578063268f01551461043e578063313ce56714610471578063351ff38814610486576101f9565b806318160ddd116101cc57806318160ddd1461037757806318a24b5b1461039e5780631d90382e146103b357806320c462fe146103e6576101f9565b806304d630891461023c57806306fdde0314610283578063095ea7b31461030d5780630abaad7a14610346575b6040805162461bcd60e51b815260206004820152601360248201527208aa4a4be86829c4ea8be8c9ea4868abe8aa89606b1b604482015290519081900360640190fd5b34801561024857600080fd5b5061026f6004803603602081101561025f57600080fd5b50356001600160a01b03166107a9565b604080519115158252519081900360200190f35b34801561028f57600080fd5b50610298610ab6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102d25781810151838201526020016102ba565b50505050905090810190601f1680156102ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031957600080fd5b5061026f6004803603604081101561033057600080fd5b506001600160a01b038135169060200135610b44565b34801561035257600080fd5b5061035b610bdb565b604080516001600160a01b039092168252519081900360200190f35b34801561038357600080fd5b5061038c610bea565b60408051918252519081900360200190f35b3480156103aa57600080fd5b5061026f610bf0565b3480156103bf57600080fd5b5061038c600480360360208110156103d657600080fd5b50356001600160a01b0316610c78565b3480156103f257600080fd5b5061026f610c8a565b34801561040757600080fd5b5061026f6004803603606081101561041e57600080fd5b506001600160a01b03813581169160208101359091169060400135610d9f565b34801561044a57600080fd5b5061038c6004803603602081101561046157600080fd5b50356001600160a01b0316610e45565b34801561047d57600080fd5b5061038c610e57565b34801561049257600080fd5b5061026f610e5c565b3480156104a757600080fd5b5061026f600480360360408110156104be57600080fd5b506001600160a01b038135169060200135610f68565b3480156104e057600080fd5b5061035b610fa2565b3480156104f557600080fd5b5061026f6004803603602081101561050c57600080fd5b5035610fb1565b34801561051f57600080fd5b5061035b610fc3565b34801561053457600080fd5b5061035b610fd2565b34801561054957600080fd5b5061035b610fe1565b34801561055e57600080fd5b5061038c6004803603602081101561057557600080fd5b50356001600160a01b0316610ff0565b34801561059157600080fd5b5061026f600480360360608110156105a857600080fd5b506001600160a01b03813516906020810135906040013561100b565b3480156105d057600080fd5b5061035b6110d7565b3480156105e557600080fd5b5061035b6110e6565b3480156105fa57600080fd5b5061026f6004803603602081101561061157600080fd5b50356001600160a01b03166110f5565b34801561062d57600080fd5b506102986112d6565b34801561064257600080fd5b5061026f6004803603602081101561065957600080fd5b5035611331565b34801561066c57600080fd5b5061026f6004803603604081101561068357600080fd5b506001600160a01b0381351690602001356113ba565b3480156106a557600080fd5b5061026f600480360360408110156106bc57600080fd5b506001600160a01b038135169060200135611432565b3480156106de57600080fd5b5061026f600480360360208110156106f557600080fd5b50356001600160a01b03166114ce565b34801561071157600080fd5b5061035b6115f8565b34801561072657600080fd5b5061035b611607565b34801561073b57600080fd5b5061035b611616565b34801561075057600080fd5b5061035b611625565b34801561076557600080fd5b5061038c6004803603604081101561077c57600080fd5b506001600160a01b0381358116916020013516611634565b3480156107a057600080fd5b5061026f61165f565b60015460408051808201909152601b8152600080516020611f0583398151915260208201526000916001600160a01b031633146108645760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610829578181015183820152602001610811565b50505050905090810190601f1680156108565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506040805180820190915260198152784552525f434f4e54524143545f53454c465f4144445245535360381b602082015282906001600160a01b0382163014156108ef5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b5060408051808201909152601081526f4552525f5a45524f5f4144445245535360801b602082015283906001600160a01b03821661096e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b506002546001600160a01b0385811691161480159061099b57506001546001600160a01b03858116911614155b80156109b557506000546001600160a01b03858116911614155b6040518060400160405280601081526020016f4552525f53414d455f4144445245535360801b81525090610a2a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b50600254604080516020808252600e908201526d53595354454d5f4144445245535360901b8183015290516001600160a01b038088169316917f6840904f5b31827f74e1497360da245f56e530c8c3de3163a2d31f11493273c6919081900360600190a3600280546001600160a01b0386166001600160a01b0319909116179055600192505050919050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610b3c5780601f10610b1157610100808354040283529160200191610b3c565b820191906000526020600020905b815481529060010190602001808311610b1f57829003601f168201915b505050505081565b60408051808201909152601081526f4552525f5a45524f5f4144445245535360801b602082015260009083906001600160a01b038216610bc55760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b50610bd1338585611669565b5060019392505050565b6003546001600160a01b031681565b60045481565b336000908152601060205260408120544290610c0f906201518061174b565b11610c61576040805162461bcd60e51b815260206004820152601a60248201527f4552525f544f4b454e5f554e4c434f4b5f41465445525f444159000000000000604482015290519081900360640190fd5b50336000908152600f602052604081205560015b90565b60106020526000908152604090205481565b60035460408051808201909152601b8152600080516020611f0583398151915260208201526000916001600160a01b03163314610d085760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b5060035460015460408051602080825260119082015270415554484f524954595f4144445245535360781b8183015290516001600160a01b039384169392909216917f6840904f5b31827f74e1497360da245f56e530c8c3de3163a2d31f11493273c69181900360600190a35060038054600180546001600160a01b03199081166001600160a01b03841617825590911690915590565b6001600160a01b038316600090815260076020908152604080832054600f9092528220548291610dce91611761565b905082811015610e1e576040805162461bcd60e51b81526020600482015260166024820152754552525f4e4f545f454e4f5547485f42414c414e434560501b604482015290519081900360640190fd5b610e288585611773565b610e3157600080fd5b610e3c85858561183a565b95945050505050565b600f6020526000908152604090205481565b601281565b6000805460408051808201909152601b8152600080516020611f058339815191526020820152906001600160a01b03163314610ed95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b50600154600054604080516020808252600d908201526c282924a6a0a92cafa7aba722a960991b8183015290516001600160a01b039384169392909216917f6840904f5b31827f74e1497360da245f56e530c8c3de3163a2d31f11493273c69181900360600190a35060018054600080546001600160a01b0319166001600160a01b0390921691909117905590565b3360008181526008602090815260408083206001600160a01b03871684529091528120549091610bd19085610f9d848761174b565b611669565b6001546001600160a01b031681565b6000610fbd3383611a5b565b92915050565b600d546001600160a01b031681565b600e546001600160a01b031681565b600a546001600160a01b031681565b6001600160a01b031660009081526007602052604090205490565b600e5460408051808201909152601b8152600080516020611f0583398151915260208201526000916001600160a01b031633146110895760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b506001600160a01b038416600090815260106020526040902054821115610bd157506001600160a01b03929092166000908152600f6020908152604080832093909355601090522055600190565b6002546001600160a01b031690565b6000546001600160a01b031681565b60015460408051808201909152601b8152600080516020611f0583398151915260208201526000916001600160a01b031633146111735760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b5060408051808201909152601081526f4552525f5a45524f5f4144445245535360801b602082015282906001600160a01b0382166111f25760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b506002546001600160a01b0384811691161480159061121f57506001546001600160a01b03848116911614155b801561123957506000546001600160a01b03848116911614155b6040518060400160405280601081526020016f4552525f53414d455f4144445245535360801b815250906112ae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b50600380546001600160a01b0385166001600160a01b03199091161790556001915050919050565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610b3c5780601f10610b1157610100808354040283529160200191610b3c565b600e5460408051808201909152601b8152600080516020611f0583398151915260208201526000916001600160a01b031633146113af5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b50610fbd3383611b84565b3360009081526008602090815260408083206001600160a01b038616845290915281205482811015611423576040805162461bcd60e51b815260206004820152600d60248201526c4552525f414c4c4f57454e434560981b604482015290519081900360640190fd5b610bd13385610f9d8487611761565b33600090815260076020908152604080832054600f909252822054829161145891611761565b9050828110156114a8576040805162461bcd60e51b81526020600482015260166024820152754552525f4e4f545f454e4f5547485f42414c414e434560501b604482015290519081900360640190fd5b6114b23385611773565b6114bb57600080fd5b6114c6338585611c59565b949350505050565b60015460408051808201909152601b8152600080516020611f0583398151915260208201526000916001600160a01b0316331461154c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b5060408051808201909152601081526f4552525f5a45524f5f4144445245535360801b602082015282906001600160a01b0382166115cb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b50600980546001600160a01b0319166001600160a01b0385161790556115ef611d5d565b50600192915050565b600b546001600160a01b031681565b6002546001600160a01b031681565b600c546001600160a01b031681565b6009546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000610c75611d5d565b60408051808201909152601081526f4552525f5a45524f5f4144445245535360801b602082015282906001600160a01b0382166116e75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b506001600160a01b03808516600081815260086020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a350505050565b60008282018381101561175a57fe5b9392505050565b60008282111561176d57fe5b50900390565b600a5460408051637aab665b60e01b81523360048201526001600160a01b038581166024830152848116604483015291516000939290921691637aab665b9160648082019260209290919082900301818787803b1580156117d357600080fd5b505af11580156117e7573d6000803e3d6000fd5b505050506040513d60208110156117fd57600080fd5b50516115ef5760405162461bcd60e51b8152600401808060200182810382526023815260200180611ee26023913960400191505060405180910390fd5b6040805180820190915260198152784552525f434f4e54524143545f53454c465f4144445245535360381b602082015260009083906001600160a01b0382163014156118c75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b5060408051808201909152601081526f4552525f5a45524f5f4144445245535360801b602082015284906001600160a01b0382166119465760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610829578181015183820152602001610811565b506001600160a01b03861660009081526008602090815260408083203384529091529020548411156119b8576040805162461bcd60e51b81526020600482015260166024820152754552525f4e4f545f454e4f5547485f42414c414e434560501b604482015290519081900360640190fd5b6119c3868686611c59565b6119cc57600080fd5b6001600160a01b03861660009081526008602090815260408083203384529091529020546119fa9085611761565b6001600160a01b0380881660008181526008602090815260408083203380855292528083209590955593519289169391927f7d5ad68155582ceeebcef916386e9f0eb9f7a2dce10a880ced4d0d5d782317949190a450600195945050505050565b6001600160a01b03821660009081526007602052604081205482811015611ac2576040805162461bcd60e51b81526020600482015260166024820152754552525f4e4f545f454e4f5547485f42414c414e434560501b604482015290519081900360640190fd5b611acc8184611761565b6001600160a01b0385166000908152600760205260409020819055600454909150611af79084611761565b6004556040805184815290516001600160a01b038616917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a26040805184815290516000916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35060019392505050565b6001600160a01b038216600090815260076020526040812054611ba7908361174b565b6001600160a01b038416600090815260076020526040902055600454611bcd908361174b565b6004556040805183815290516001600160a01b038516917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805183815290516001600160a01b038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b6001600160a01b03831660009081526007602052604081205482811015611cc0576040805162461bcd60e51b81526020600482015260166024820152754552525f4e4f545f454e4f5547485f42414c414e434560501b604482015290519081900360640190fd5b611cca8184611761565b6001600160a01b0380871660009081526007602052604080822084905591871681522054909150611cfb908461174b565b6001600160a01b0380861660008181526007602090815260409182902094909455805187815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b611d736915d212551157d31254d560b21b611e63565b600a80546001600160a01b0319166001600160a01b0392909216919091179055611da9690534d4152545f535741560b41b611e63565b600b80546001600160a01b0319166001600160a01b0392909216919091179055611ddd6743555252454e435960c01b611e63565b600c80546001600160a01b0319166001600160a01b0392909216919091179055611e0e64159055531560da1b611e63565b600d80546001600160a01b0319166001600160a01b0392909216919091179055611e416620aaa1aa24a7a760c91b611e63565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b60095460408051637d4367ab60e11b81526004810184905290516000926001600160a01b03169163fa86cf56916024808301926020929190829003018186803b158015611eaf57600080fd5b505afa158015611ec3573d6000803e3d6000fd5b505050506040513d6020811015611ed957600080fd5b50519291505056fe4552525f4e4f545f484156455f5045524d495353494f4e5f544f5f5452414e534645524552525f415554484f52495a45445f414444524553535f4f4e4c590000000000a265627a7a72305820a77d52f10f1634e8140210cc04885d08bd6296f461b6f8386594fe0b89d8ce3764736f6c6343000509003200000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000154a7ed86f3cceecfb54fd03034b3311d102399e000000000000000000000000756d25558130dcaaad42e4e73f91a4ed9ed30bb8000000000000000000000000fc457b77abd158dba515c8642f9d07e8cf0bee80000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000074a6f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a4e545200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000072dc50f76c5982004e311086f44f80d9f325c5a1000000000000000000000000d99634a54e2295f23d4dbd5b004f73d4ed0474f5000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000002689e24e3bacf0401b66700000000000000000000000000000000000000000000000152d02c7e14af6800000

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

00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000154a7ed86f3cceecfb54fd03034b3311d102399e000000000000000000000000756d25558130dcaaad42e4e73f91a4ed9ed30bb8000000000000000000000000fc457b77abd158dba515c8642f9d07e8cf0bee80000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000074a6f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a4e545200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000072dc50f76c5982004e311086f44f80d9f325c5a1000000000000000000000000d99634a54e2295f23d4dbd5b004f73d4ed0474f5000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000002689e24e3bacf0401b66700000000000000000000000000000000000000000000000152d02c7e14af6800000

-----Encoded View---------------
17 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [2] : 000000000000000000000000154a7ed86f3cceecfb54fd03034b3311d102399e
Arg [3] : 000000000000000000000000756d25558130dcaaad42e4e73f91a4ed9ed30bb8
Arg [4] : 000000000000000000000000fc457b77abd158dba515c8642f9d07e8cf0bee80
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [6] : 00000000000000000000000000000000000000000000000000000000000001c0
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [8] : 4a6f696e74657200000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [10] : 4a4e545200000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [12] : 00000000000000000000000072dc50f76c5982004e311086f44f80d9f325c5a1
Arg [13] : 000000000000000000000000d99634a54e2295f23d4dbd5b004f73d4ed0474f5
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [15] : 00000000000000000000000000000000000000002689e24e3bacf0401b667000
Arg [16] : 00000000000000000000000000000000000000000000152d02c7e14af6800000


Deployed ByteCode Sourcemap

22196:4033:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26189:29;;;-1:-1:-1;;;26189:29:0;;;;;;;;;;;;-1:-1:-1;;;26189:29:0;;;;;;;;;;;;;;9739:508;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9739:508:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9739:508:0;-1:-1:-1;;;;;9739:508:0;;:::i;:::-;;;;;;;;;;;;;;;;;;11391:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11391:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11391:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15375:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15375:214:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15375:214:0;;;;;;;;:::i;7771:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7771:47:0;;;:::i;:::-;;;;-1:-1:-1;;;;;7771:47:0;;;;;;;;;;;;;;11352:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11352:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;25898:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25898:244:0;;;:::i;22290:43::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22290:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22290:43:0;-1:-1:-1;;;;;22290:43:0;;:::i;10792:406::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10792:406:0;;;:::i;24474:403::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24474:403:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;24474:403:0;;;;;;;;;;;;;;;;;:::i;22237:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22237:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22237:46:0;-1:-1:-1;;;;;22237:46:0;;:::i;11448:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11448:37:0;;;:::i;9360:253::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9360:253:0;;;:::i;15904:264::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15904:264:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15904:264:0;;;;;;;;:::i;7668:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7668:44:0;;;:::i;17393:105::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17393:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17393:105:0;;:::i;19239:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19239:27:0;;;:::i;19273:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19273:29:0;;;:::i;19120:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19120:31:0;;;:::i;14953:111::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14953:111:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14953:111:0;-1:-1:-1;;;;;14953:111:0;;:::i;25245:379::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25245:379:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;25245:379:0;;;;;;;;;;;;;:::i;17568:91::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17568:91:0;;;:::i;7619:40::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7619:40:0;;;:::i;10376:408::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10376:408:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10376:408:0;-1:-1:-1;;;;;10376:408:0;;:::i;11418:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11418:20:0;;;:::i;22018:169::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22018:169:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22018:169:0;;:::i;16483:314::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16483:314:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16483:314:0;;;;;;;;:::i;24080:386::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24080:386:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;24080:386:0;;;;;;;;:::i;19660:267::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19660:267:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19660:267:0;-1:-1:-1;;;;;19660:267:0;;:::i;19158:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19158:31:0;;;:::i;7721:41::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7721:41:0;;;:::i;19196:36::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19196:36:0;;;:::i;19065:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19065:42:0;;;:::i;17086:168::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17086:168:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17086:168:0;;;;;;;;;;:::i;20753:88::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20753:88:0;;;:::i;9739:508::-;9219:16;;9237:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9237:27:0;;;;-1:-1:-1;;;;;;;9219:16:0;9205:10;:30;9197:68;;;;-1:-1:-1;;;9197:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9197:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7345:25:0;;;;;;;;;;;;-1:-1:-1;;;7345:25:0;;;;9850:6;;-1:-1:-1;;;;;7320:23:0;;7338:4;7320:23;;7312:59;;;;-1:-1:-1;;;7312:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7312:59:0;-1:-1:-1;7142:16:0;;;;;;;;;;;;-1:-1:-1;;;7142:16:0;;;;9882:6;;-1:-1:-1;;;;;7120:20:0;;7112:47;;;;-1:-1:-1;;;7112:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7112:47:0;-1:-1:-1;9962:13:0;;-1:-1:-1;;;;;9952:23:0;;;9962:13;;9952:23;;;;:70;;-1:-1:-1;10006:16:0;;-1:-1:-1;;;;;9996:26:0;;;10006:16;;9996:26;;9952:70;:113;;;;-1:-1:-1;10053:12:0;;-1:-1:-1;;;;;10043:22:0;;;10053:12;;10043:22;;9952:113;10080:16;;;;;;;;;;;;;-1:-1:-1;;;10080:16:0;;;9930:177;;;;;-1:-1:-1;;;9930:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9930:177:0;-1:-1:-1;10162:13:0;;10123:61;;;;;;;;;;;;-1:-1:-1;;;10123:61:0;;;;;;-1:-1:-1;;;;;10123:61:0;;;;10162:13;;10123:61;;;;;;;;;;10195:13;:22;;-1:-1:-1;;;;;10195:22:0;;-1:-1:-1;;;;;;10195:22:0;;;;;;;;-1:-1:-1;7382:1:0;9276;9739:508;;;:::o;11391:18::-;;;;;;;;;;;;;;;-1:-1:-1;;11391:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15375:214::-;7142:16;;;;;;;;;;;;-1:-1:-1;;;7142:16:0;;;;15496:7;;15468:8;;-1:-1:-1;;;;;7120:20:0;;7112:47;;;;-1:-1:-1;;;7112:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7112:47:0;;15521:38;15530:10;15542:8;15552:6;15521:8;:38::i;:::-;-1:-1:-1;15577:4:0;;15375:214;-1:-1:-1;;;15375:214:0:o;7771:47::-;;;-1:-1:-1;;;;;7771:47:0;;:::o;11352:26::-;;;;:::o;25898:244::-;25995:10;25939:4;25986:20;;;:8;:20;;;;;;26017:3;;25978:36;;26008:5;25978:7;:36::i;:::-;:42;25956:118;;;;;-1:-1:-1;;;25956:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26097:10:0;26111:1;26085:23;;;:11;:23;;;;;:27;26130:4;25898:244;;:::o;22290:43::-;;;;;;;;;;;;;:::o;10792:406::-;10881:19;;10902:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10902:27:0;;;;-1:-1:-1;;;;;;;10881:19:0;10867:10;:33;10859:71;;;;-1:-1:-1;;;10859:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10859:71:0;-1:-1:-1;11046:19:0;;;11015:16;10946:130;;;;;;;;;;;;-1:-1:-1;;;10946:130:0;;;;;;-1:-1:-1;;;;;11046:19:0;;;;11015:16;;;;;10946:130;;;;;;;;;-1:-1:-1;11106:19:0;;;;11087:38;;-1:-1:-1;;;;;;11087:38:0;;;-1:-1:-1;;;;;11106:19:0;;11087:38;;;11136:32;;;;;;10792:406;:::o;24474:403::-;-1:-1:-1;;;;;24652:15:0;;24593:4;24652:15;;;:8;:15;;;;;;;;;24669:11;:18;;;;;;24593:4;;24644:44;;:7;:44::i;:::-;24620:68;;24724:6;24707:13;:23;;24699:58;;;;;-1:-1:-1;;;24699:58:0;;;;;;;;;;;;-1:-1:-1;;;24699:58:0;;;;;;;;;;;;;;;24786:31;24806:5;24813:3;24786:19;:31::i;:::-;24778:40;;;;;;24836:33;24850:5;24857:3;24862:6;24836:13;:33::i;:::-;24829:40;24474:403;-1:-1:-1;;;;;24474:403:0:o;22237:46::-;;;;;;;;;;;;;:::o;11448:37::-;11483:2;11448:37;:::o;9360:253::-;9445:4;8767:12;;8781:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8781:27:0;;;;;-1:-1:-1;;;;;8767:12:0;8753:10;:26;8745:64;;;;-1:-1:-1;;;8745:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8745:64:0;-1:-1:-1;9524:16:0;;;9510:12;9472:69;;;;;;;;;;;;-1:-1:-1;;;9472:69:0;;;;;;-1:-1:-1;;;;;9524:16:0;;;;9510:12;;;;;9472:69;;;;;;;;;-1:-1:-1;9567:16:0;;;;9552:31;;-1:-1:-1;;;;;;9552:31:0;-1:-1:-1;;;;;9567:16:0;;;9552:31;;;;;;9360:253;:::o;15904:264::-;16034:10;15984:4;16026:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;16026:29:0;;;;;;;;;;15984:4;;16066:62;;16046:8;16097:30;16026:29;16120:6;16097:7;:30::i;:::-;16066:8;:62::i;7668:44::-;;;-1:-1:-1;;;;;7668:44:0;;:::o;17393:105::-;17441:4;17465:25;17471:10;17483:6;17465:5;:25::i;:::-;17458:32;17393:105;-1:-1:-1;;17393:105:0:o;19239:27::-;;;-1:-1:-1;;;;;19239:27:0;;:::o;19273:29::-;;;-1:-1:-1;;;;;19273:29:0;;:::o;19120:31::-;;;-1:-1:-1;;;;;19120:31:0;;:::o;14953:111::-;-1:-1:-1;;;;;15042:14:0;15007:15;15042:14;;;:8;:14;;;;;;;14953:111::o;25245:379::-;25407:14;;25423:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;25423:27:0;;;;-1:-1:-1;;;;;;;25407:14:0;25393:10;:28;25385:66;;;;-1:-1:-1;;;25385:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;25385:66:0;-1:-1:-1;;;;;;25478:16:0;;;;;;:8;:16;;;;;;25466:28;;25462:133;;;-1:-1:-1;;;;;;25511:19:0;;;;;;;;:11;:19;;;;;;;;:29;;;;25555:8;:16;;;:28;25612:4;;25245:379::o;17568:91::-;17638:13;;-1:-1:-1;;;;;17638:13:0;17568:91;:::o;7619:40::-;;;-1:-1:-1;;;;;7619:40:0;;:::o;10376:408::-;9219:16;;9237:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9237:27:0;;;;-1:-1:-1;;;;;;;9219:16:0;9205:10;:30;9197:68;;;;-1:-1:-1;;;9197:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9197:68:0;-1:-1:-1;7142:16:0;;;;;;;;;;;;-1:-1:-1;;;7142:16:0;;;;10490:6;;-1:-1:-1;;;;;7120:20:0;;7112:47;;;;-1:-1:-1;;;7112:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7112:47:0;-1:-1:-1;10570:13:0;;-1:-1:-1;;;;;10560:23:0;;;10570:13;;10560:23;;;;:70;;-1:-1:-1;10614:16:0;;-1:-1:-1;;;;;10604:26:0;;;10614:16;;10604:26;;10560:70;:113;;;;-1:-1:-1;10661:12:0;;-1:-1:-1;;;;;10651:22:0;;;10661:12;;10651:22;;10560:113;10688:16;;;;;;;;;;;;;-1:-1:-1;;;10688:16:0;;;10538:177;;;;;-1:-1:-1;;;10538:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10538:177:0;-1:-1:-1;10726:19:0;:28;;-1:-1:-1;;;;;10726:28:0;;-1:-1:-1;;;;;;10726:28:0;;;;;;;;-1:-1:-1;9276:1:0;10376:408;;;:::o;11418:20::-;;;;;;;;;;;;;;;-1:-1:-1;;11418:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22018:169;21946:14;;21962:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;21962:27:0;;;;-1:-1:-1;;;;;;;21946:14:0;21932:10;:28;21924:66;;;;-1:-1:-1;;;21924:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;21924:66:0;;22153:26;22159:10;22171:7;22153:5;:26::i;16483:314::-;16613:10;16563:4;16605:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;16605:29:0;;;;;;;;;;16653:24;;;;16645:49;;;;;-1:-1:-1;;;16645:49:0;;;;;;;;;;;;-1:-1:-1;;;16645:49:0;;;;;;;;;;;;;;;16705:62;16714:10;16726:8;16736:30;16744:14;16759:6;16736:7;:30::i;24080:386::-;24221:10;24146:7;24212:20;;;:8;:20;;;;;;;;;24247:11;:23;;;;;;24146:7;;24190:91;;:7;:91::i;:::-;24166:115;;24317:6;24300:13;:23;;24292:58;;;;;-1:-1:-1;;;24292:58:0;;;;;;;;;;;;-1:-1:-1;;;24292:58:0;;;;;;;;;;;;;;;24369:36;24389:10;24401:3;24369:19;:36::i;:::-;24361:45;;;;;;24424:34;24434:10;24446:3;24451:6;24424:9;:34::i;:::-;24417:41;24080:386;-1:-1:-1;;;;24080:386:0:o;19660:267::-;9219:16;;9237:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9237:27:0;;;;-1:-1:-1;;;;;;;9219:16:0;9205:10;:30;9197:68;;;;-1:-1:-1;;;9197:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9197:68:0;-1:-1:-1;7142:16:0;;;;;;;;;;;;-1:-1:-1;;;7142:16:0;;;;19771:8;;-1:-1:-1;;;;;7120:20:0;;7112:47;;;;-1:-1:-1;;;7112:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7112:47:0;-1:-1:-1;19821:17:0;:47;;-1:-1:-1;;;;;;19821:47:0;-1:-1:-1;;;;;19821:47:0;;;;;19879:18;:16;:18::i;:::-;-1:-1:-1;19915:4:0;;19660:267;-1:-1:-1;;19660:267:0:o;19158:31::-;;;-1:-1:-1;;;;;19158:31:0;;:::o;7721:41::-;;;-1:-1:-1;;;;;7721:41:0;;:::o;19196:36::-;;;-1:-1:-1;;;;;19196:36:0;;:::o;19065:42::-;;;-1:-1:-1;;;;;19065:42:0;;:::o;17086:168::-;-1:-1:-1;;;;;17221:15:0;;;17189:7;17221:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;17086:168::o;20753:88::-;20798:4;20815:18;:16;:18::i;13727:208::-;7142:16;;;;;;;;;;;;-1:-1:-1;;;7142:16:0;;;;13817:7;;-1:-1:-1;;;;;7120:20:0;;7112:47;;;;-1:-1:-1;;;7112:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7112:47:0;-1:-1:-1;;;;;;13847:14:0;;;;;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;:32;;;13895;;;;;;;;;;;;;;;;;13727:208;;;;:::o;4913:151::-;4975:7;5007:5;;;5030:6;;;;5023:14;;;;5055:1;4913:151;-1:-1:-1;;;4913:151:0:o;4778:127::-;4840:7;4872:1;4867;:6;;4860:14;;;;-1:-1:-1;4892:5:0;;;4778:127::o;23699:373::-;23847:16;;23836:141;;;-1:-1:-1;;;23836:141:0;;23906:10;23836:141;;;;-1:-1:-1;;;;;23836:141:0;;;;;;;;;;;;;;;;23792:4;;23847:16;;;;;23836:51;;:141;;;;;;;;;;;;;;;23792:4;23847:16;23836:141;;;5:2:-1;;;;30:1;27;20:12;5:2;23836:141:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23836:141:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23836:141:0;23814:226;;;;-1:-1:-1;;;23814:226:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13210:505;7345:25;;;;;;;;;;;;-1:-1:-1;;;7345:25:0;;;;13371:4;;13319:3;;-1:-1:-1;;;;;7320:23:0;;7338:4;7320:23;;7312:59;;;;-1:-1:-1;;;7312:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7312:59:0;-1:-1:-1;7142:16:0;;;;;;;;;;;;-1:-1:-1;;;7142:16:0;;;;13348:3;;-1:-1:-1;;;;;7120:20:0;;7112:47;;;;-1:-1:-1;;;7112:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7112:47:0;-1:-1:-1;;;;;;13401:14:0;;;;;;:7;:14;;;;;;;;13416:10;13401:26;;;;;;;;:36;-1:-1:-1;13401:36:0;13393:71;;;;;-1:-1:-1;;;13393:71:0;;;;;;;;;;;;-1:-1:-1;;;13393:71:0;;;;;;;;;;;;;;;13483:29;13493:5;13500:3;13505:6;13483:9;:29::i;:::-;13475:38;;;;;;-1:-1:-1;;;;;13575:14:0;;;;;;:7;:14;;;;;;;;13590:10;13575:26;;;;;;;;13553:80;;13616:6;13553:7;:80::i;:::-;-1:-1:-1;;;;;13524:14:0;;;;;;;:7;:14;;;;;;;;13539:10;13524:26;;;;;;;;:109;;;;13649:36;;;;;;13524:14;;13649:36;;13524:14;13649:36;-1:-1:-1;13703:4:0;;13210:505;-1:-1:-1;;;;;13210:505:0:o;13947:457::-;-1:-1:-1;;;;;14052:15:0;;14011:4;14052:15;;;:8;:15;;;;;;14086:23;;;;14078:58;;;;;-1:-1:-1;;;14078:58:0;;;;;;;;;;;;-1:-1:-1;;;14078:58:0;;;;;;;;;;;;;;;14163:30;14171:13;14186:6;14163:7;:30::i;:::-;-1:-1:-1;;;;;14204:15:0;;;;;;:8;:15;;;;;:31;;;14268:11;;14147:46;;-1:-1:-1;14260:28:0;;14281:6;14260:7;:28::i;:::-;14246:11;:42;14304:19;;;;;;;;-1:-1:-1;;;;;14304:19:0;;;;;;;;;;;;;14339:35;;;;;;;;14363:1;;-1:-1:-1;;;;;14339:35:0;;;;;;;;;;;;-1:-1:-1;14392:4:0;;13947:457;-1:-1:-1;;;13947:457:0:o;14416:290::-;-1:-1:-1;;;;;14519:13:0;;14478:4;14519:13;;;:8;:13;;;;;;14511:30;;14534:6;14511:7;:30::i;:::-;-1:-1:-1;;;;;14495:13:0;;;;;;:8;:13;;;;;:46;14574:11;;14566:28;;14587:6;14566:7;:28::i;:::-;14552:11;:42;14610:17;;;;;;;;-1:-1:-1;;;;;14610:17:0;;;;;;;;;;;;;14643:33;;;;;;;;-1:-1:-1;;;;;14643:33:0;;;14660:1;;14643:33;;;;;;;;;-1:-1:-1;14694:4:0;14416:290;;;;:::o;12445:459::-;-1:-1:-1;;;;;12590:15:0;;12544:4;12590:15;;;:8;:15;;;;;;12624:23;;;;12616:58;;;;;-1:-1:-1;;;12616:58:0;;;;;;;;;;;;-1:-1:-1;;;12616:58:0;;;;;;;;;;;;;;;12701:30;12709:13;12724:6;12701:7;:30::i;:::-;-1:-1:-1;;;;;12742:15:0;;;;;;;:8;:15;;;;;;:31;;;12808:13;;;;;;;12685:46;;-1:-1:-1;12800:30:0;;12823:6;12800:7;:30::i;:::-;-1:-1:-1;;;;;12784:13:0;;;;;;;:8;:13;;;;;;;;;:46;;;;12846:28;;;;;;;12784:13;;12846:28;;;;;;;;;;;;;-1:-1:-1;12892:4:0;;12445:459;-1:-1:-1;;;;12445:459:0:o;20437:304::-;20504:24;-1:-1:-1;;;20504:12:0;:24::i;:::-;20485:16;:43;;-1:-1:-1;;;;;;20485:43:0;-1:-1:-1;;;;;20485:43:0;;;;;;;;;;20558:24;-1:-1:-1;;;20558:12:0;:24::i;:::-;20539:16;:43;;-1:-1:-1;;;;;;20539:43:0;-1:-1:-1;;;;;20539:43:0;;;;;;;;;;20617:22;-1:-1:-1;;;20617:12:0;:22::i;:::-;20593:21;:46;;-1:-1:-1;;;;;;20593:46:0;-1:-1:-1;;;;;20593:46:0;;;;;;;;;;20665:19;-1:-1:-1;;;20665:12:0;:19::i;:::-;20650:12;:34;;-1:-1:-1;;;;;;20650:34:0;-1:-1:-1;;;;;20650:34:0;;;;;;;;;;20712:21;-1:-1:-1;;;20712:12:0;:21::i;:::-;20695:14;:38;;-1:-1:-1;;;;;;20695:38:0;-1:-1:-1;;;;;20695:38:0;;;;;;;;;;20437:304::o;20087:180::-;20214:17;;:45;;;-1:-1:-1;;;20214:45:0;;;;;;;;;;20182:7;;-1:-1:-1;;;;;20214:17:0;;:30;;:45;;;;;;;;;;;;;;:17;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;20214:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20214:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20214:45:0;;20087:180;-1:-1:-1;;20087:180:0:o

Swarm Source

bzzr://a77d52f10f1634e8140210cc04885d08bd6296f461b6f8386594fe0b89d8ce37
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.