ETH Price: $3,141.22 (+2.06%)
Gas: 8 Gwei

Contract

0xbB902569a997D657e8D10B82Ce0ec5A5983C8c7C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Enter54239362018-04-11 23:12:462200 days ago1523488366IN
0xbB902569...5983C8c7C
0 ETH0.000006730.275
Enter54239342018-04-11 23:11:572200 days ago1523488317IN
0xbB902569...5983C8c7C
0 ETH0.00009794
Enter54238982018-04-11 23:02:472200 days ago1523487767IN
0xbB902569...5983C8c7C
0 ETH0.000006480.26508607
0x6060604053751772018-04-03 21:10:092208 days ago1522789809IN
 Create: theCyberGatekeeperTwo
0 ETH0.023304363

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
theCyberGatekeeperTwo

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-04-03
*/

pragma solidity ^0.4.19;


contract theCyberInterface {
  // The contract may call a few methods on theCyber once it is itself a member.
  function newMember(uint8 _memberId, bytes32 _memberName, address _memberAddress) public;
  function getMembershipStatus(address _memberAddress) public view returns (bool member, uint8 memberId);
  function getMemberInformation(uint8 _memberId) public view returns (bytes32 memberName, string memberKey, uint64 memberSince, uint64 inactiveSince, address memberAddress);
}


contract theCyberGatekeeperTwo {
  // This contract replaces the original gatekeeper contract at the address
  // 0x44919b8026f38D70437A8eB3BE47B06aB1c3E4Bf. It begins by adding members
  // that registered with the original gatekeeper, then collects addresses of 
  // new initial members of theCyber. In order to register, an entrant must 
  // provide a passphrase that will hash to a sequence known to the gatekeeper.
  // They must also find a way to get around a few barriers to entry (which have
  // changed since the original contract) before they can successfully register.
  // Once 128 addresses have been submitted, the assignAll method may be called,
  // which (assuming theCyberGatekeeperTwo is itself a member of theCyber), will
  // assign 128 new members, each owned by one of the submitted addresses.

  // The gatekeeper will interact with theCyber contract at the given address.
  address private constant THECYBERADDRESS_ = 0x97A99C819544AD0617F48379840941eFbe1bfAE1;

  // There can only be 128 entrant submissions.
  uint8 private constant MAXENTRANTS_ = 128;

  // The contract remains active until all entrants have been assigned.
  bool private active_ = true;

  // Entrants are stored as a list of addresses.
  address[] public entrants;

  // Entrants are assigned memberships based on an incrementing member id.
  uint8 private nextAssigneeIndex_;

  // Addresses / passcodes must be unique; passcodes must hash to a known value.
  mapping (address => bool) private interactions_;
  mapping (bytes32 => bool) private knownHashes_;
  mapping (bytes32 => bool) public acceptedPasscodes_;

  modifier checkOne() {
    // The number of entrant submissions cannot exceed the maximum. Credit goes
    // to benjaminion for spotting the prior vulnerability in this method where
    // the number of entrants could be made to exceed MAXENTRANTS_ by 1.
    require(entrants.length < MAXENTRANTS_);
    _;
  }

  modifier checkTwo() {
    // Each entrant's interaction with the gatekeeper must be unique.
    require(interactions_[msg.sender] == false);
    require(interactions_[tx.origin] == false);
    _;
  }  

  modifier checkThree(bytes32 _passcode) {
    // The provided passcode must hash to one of the initialized hashes.
    require(knownHashes_[keccak256(_passcode)] == true);
    _;
  }

  modifier checkFour(bytes32 _passcode) {
    // The provided passcode may not be reused.
    require(acceptedPasscodes_[_passcode] == false);
    _;
  }

  modifier gateOne() {
    require(msg.sender != tx.origin);
    _;
  }

  modifier gateTwo() {
    uint x;
    assembly { x := extcodesize(caller) }
    require(x == 0);
    _;
  }

  modifier gateThree(bytes32 _passcode, bytes8 _gateKey) {
    require(uint64(keccak256(_passcode, msg.sender)) ^ uint64(_gateKey) == uint64(0) - 1);
    _;
  }

  function theCyberGatekeeperTwo() public {
    // Initialize the new gatekeeper by providing all 39 prior entrants.
    entrants.push(0xa4c5A62A8e652b90691c0289557937b4E832180F);  // gnidan
    entrants.push(0x0fDF6C80Ed447a4b0692Af53a1acBB7Df7Bf983D);  // LefterisJP
    entrants.push(0x70AD465E0BAB6504002ad58C744eD89C7DA38524);
    entrants.push(0x55e2780588aa5000F464f700D2676fD0a22Ee160);
    entrants.push(0xE9EA893D74493738D296EE1ca6FC9de4B63872B7);
    entrants.push(0xaC4361f56c82Ed59D533d45129F407015D84702a);
    entrants.push(0xE6A39d977301A57a8a77E7F33a187E259aDc81b3);
    entrants.push(0x00Aa972319ddF819140Ffe2a991C49A1bFF54bAd);
    entrants.push(0x54488AD9f88Cf00397de235d343C421dcb4d5245);
    entrants.push(0x008f82676a606A6783716037c256a7Df23746145);
    entrants.push(0xef9CB67A53b563Cd6E8C4E3996834cC212323977);
    entrants.push(0x376D5C3a16E9d015e8C584bB2d278E25F0ccb27B);
    entrants.push(0x7ed4eDAD4715eE58dFEDb07CbeCf09397c4B9619);
    entrants.push(0x950d3586401EcF817bfd3f0916081965Bb61ea0f);
    entrants.push(0x3e067EB75D1aEf4D229e1798ec210480928baCD5);
    entrants.push(0xd046B3C521c0F5513C8A47eB3C2011684eA80B27);
    entrants.push(0x921CA244901a565cE8423CdFD2E4534C8281d0DE);
    entrants.push(0xA4caDe6ecbed8f75F6fD50B8be92feb144400CC4);
    entrants.push(0x5E0C902b5dd10183ed237303aD9c702763b9e92c);
    entrants.push(0xEB21Cab164F9F77aA2AE0B31bc2df3118DBf6bc2);
    entrants.push(0xd3CdA913deB6f67967B99D67aCDFa1712C293601);
    entrants.push(0xFeC2079e80465cc8C687fFF9EE6386ca447aFec4);
    entrants.push(0xE37B8fC78E1c553E1288164830e3681cB42e030e);
    entrants.push(0x3020C29E94197Aea5CC16503eE40B6567C3D25Df);
    entrants.push(0xD262d146E869915444d0f34EcDAAbAB5aB43007e);
    entrants.push(0x2efab4D9810c37c83733f1B12F85d351E818f808);
    entrants.push(0x03d47ECA8D1D4c29A73318C3B1373614B3fE14bc);
    entrants.push(0x775A0dd22AD687A38F10Fc985fCE44a0DdDBC248);
    entrants.push(0x4e70812b550687692e18F53445C601458228aFfD);
    entrants.push(0x41997060113Af630A591e6Cb23E1bC15fc90dc73);
    entrants.push(0xbfCDF2d7743b23bbCb6DF0055a95Dc10F406CE2A);
    entrants.push(0xD41F77997357A42C4262d975326bfCd2e29145a3);
    entrants.push(0x047F57b4Fe5f5F8F536f48D7eE464893B4411e92);
    entrants.push(0x543F770BE6Fb294782a5DE77Af01bb43Af39bf20);
    entrants.push(0x9c9a3e919b20d419faF416139bdA1aBc0601100D);
    entrants.push(0xa52793EeB055b126aa872862172B14F5418CdeA2);
    entrants.push(0x7B2E7d9787E14CC906602721C636B50cABD08Fe0);
    entrants.push(0x6d7f9E3d821f89335ca8c0fa0c0bE6E26c4b703C);
    entrants.push(0xBc5f177D64Db860E03fAe472BE9AfD87F056de2C);
    assert(entrants.length == 39);

    // Next, provide all permissible passcode hashes (prior hashes are removed).
    knownHashes_[0x1f9da07c66fd136e4cfd1dc893ae9f0966341b0bb5f157dd65aed00dc3264f7b] = true;
    knownHashes_[0xb791069990a7ac90177cd90c455e4bac307d66a5740e42a14d6722c5cccd496e] = true;
    knownHashes_[0xf1b5ecc2e10c5b41b54f96213d1ee932d580cfffe0ec07cae58160ce5c097158] = true;
    knownHashes_[0xd5175b77b10e25fc855a5d7bd733345ba91169a60613ba9d862e80de56778b3a] = true;
    knownHashes_[0xf34dcd7da457ab40a72eac7bcef81df228516accd299e45f957d3427da041993] = true;
    knownHashes_[0x5de22f4ee9f2a052ec2d74368c18abc926dfa6d3b3dd354d37f5984234a5a3b9] = true;
    knownHashes_[0xce2a155eb4425417b7e6c730d6d8f28bc5a488f3ae991b8658df67c668936b25] = true;
    knownHashes_[0x7c7d029792140de3231b5d0e423bcf2db32b645102481ff98cb3fbc596e7bec3] = true;
    knownHashes_[0xbba66841434f000b3b5dad2fee2018222234708b4452188b0409fb87c96057da] = true;
    knownHashes_[0xd8093508edc481156076857e1a3e06ff5851db83f93e2d0e7385d8095ddd91f1] = true;
    knownHashes_[0x7fc987227e8bd30d90fd7009d4f4e87cbe08449f364eb7ea8cc1e0e8963a8bb9] = true;
    knownHashes_[0x7d488c3c67541f75695f3b85e9e03cabf09776a834cae3bd78deff5a61a79d84] = true;
    knownHashes_[0xfe8e1d9cfd511f648f7b2399b5e1b64fae0146b17d1887dd7d31cc62785af5a1] = true;
    knownHashes_[0xbc29c06b1854055fa0eb833b5380702154b25706e91be59ece70949133e0b100] = true;
    knownHashes_[0xd1b524312fe1faa9afd4c6e436ac5b7ffc25508915ced29b6a3a5a51c3f64edb] = true;
    knownHashes_[0x2214001a578b2f4d84832f0fcea5fc9c330788cc124be6568f000e7a237e7bc2] = true;
    knownHashes_[0xbe8f2f005c4eab111c5038c1facf9f34cdb74cc223e62da1afb6e9a68b34ca4e] = true;
    knownHashes_[0xe47770d9ad427c0662f8a4160529bd061efc5b06289245a4f15314e01ac45a3e] = true;
    knownHashes_[0xd9047ca158ff3d944db319ba900e195c790f10e9f733a26b959dda2d77f3269c] = true;
    knownHashes_[0x337c6fd80459dd8a43819956a3efcc21321ea61b03df6d22c08a855a2fa21d11] = true;
    knownHashes_[0x0f52968d0e726c5abea60a16fd8e54b35bdf84f2f00e60b85e51dd1da01eac7f] = true;
    knownHashes_[0x73a6ef9b3a23b3a024ce61190cd9e25646fea63e07b7a108a4069becd17592e1] = true;
    knownHashes_[0xf4553c021ac8627fb248332a94b4cfdda11fa730a5fd9d3104c6a5ae42d801f4] = true;
    knownHashes_[0x020bea449c109c63f9f2916ae45efedb68582b53ecf5bc1976c2f227ddbcea92] = true;
    knownHashes_[0x389cbc4a0968b13b251e9749a09f065f7455c8e32c51ab9e70d0cfe88f19f0d3] = true;
    knownHashes_[0x56a1df9bf60a6537bd66813412c4dab60948ad50d589d16fbcc803ff7e1d8d0e] = true;
    knownHashes_[0xce32119e262e9efefddcefc72360f9bc264ed352f37e88ad5dbc8563a1f5dee4] = true;
    knownHashes_[0x3d0836543f5fa63cf9a33cf89c5d6d58fa1f4a7ef6176f4aa0c9af50a5bc537b] = true;
    knownHashes_[0x0a63047da6dc9766ee02d6966d1aa3314a7809d62eb1718107f48506f9f9457c] = true;
    knownHashes_[0xc53397f780d9bbd2a6f0f0c8bf49ac08ed4cdf64930106be00721ac4d4511164] = true;
    knownHashes_[0xe81581a9c2c27417ba4f3c81e0fced1d0f79d358ed920a22ae00115487f228c5] = true;
    knownHashes_[0xe77056c319963c193dea91cb38d431eff8ab57c3ab170010356b4eebc22d7e97] = true;
    knownHashes_[0xa1fb6fdf27ba9b5544e3f12fbd9132492357cb7e55380021f25208888e3630f7] = true;
    knownHashes_[0xb90ab683410780e5a3d0f4ae869a04895db390b4a7ef7da54978cb7276249f06] = true;
    knownHashes_[0xaed50db7524cf03c1b00786985d114bac77e4efc94ca8de1d5f38c1abf4f2fd7] = true;
    knownHashes_[0xb8e02c5490299d4213b7aa5e73b81ca81b064b0d9136a81151e462b4e25f9874] = true;
    knownHashes_[0x20f107570ff7f5b87bf5f2e3562cd5724c93bede48a295c0eb2bde13dc6a29b0] = true;
    knownHashes_[0xb716c58f7969bbabf290500b49cbd47d27127c8273d92400ae986459a25c0fac] = true;
    knownHashes_[0xe2e53269c9a713aea39f3cd5bc1d843d2333671f001e9370d8d0af7fd538da94] = true;
    knownHashes_[0x0bbb7d412d6b31f9a09dc1b0c907b460b1b537213e26ee81f9807f29adf4fd15] = true;
    knownHashes_[0x7ab04d4c5b09c1447723b60fbdca4b3413b6f98da157bacfb434e41e2b058528] = true;
    knownHashes_[0x825593380f76d0636b54113c15cc60af3fd5c084662fd29aec5b73adfa126497] = true;
    knownHashes_[0xfe997c3e94789f21f04c14663073b6aa991ac2a844128501c12e6ef600c06588] = true;
    knownHashes_[0x3971dc6245d6ac485f674d04c92b9405aad2a99c550f1bc0db4bbb90bf95adac] = true;
    knownHashes_[0x7bd7049df9d6d237d4d140e15d442bbc36d854f11dd3f29d95431fbf588fc595] = true;
    knownHashes_[0x41a03b78069100aee2080531046c5225723682709011dfaf73584efddb0d721b] = true;
    knownHashes_[0x1e28fd49fa726dce14c54fd0e795d504cb331c8b093d08480e2c141e7133afd7] = true;
    knownHashes_[0xbbfac7d658b3afa5e3f31b427d1c6337c09385f68d8a5c7391344048a9933dcc] = true;
    knownHashes_[0xabce501357182c6bc33f57f0358ffd0df3593ab84b560eaafe4e491e1a57161d] = true;
    knownHashes_[0x5f210994b6ab28175f582caea9ca3d8a60bd95f9143d296963ff0fe15824541f] = true;
    knownHashes_[0xbaab52c2bbb7cd02a520d2b6bfec5a9551e3e6defa60a3032873e8416ee4467c] = true;
    knownHashes_[0x6ae2961dfef7f3e0aa12c15e7a681ca18f2950d2657565bf15131912ea8da7dc] = true;
    knownHashes_[0xf031e143e1803147f958dd4c6665e8719058d5caae195b70087f9b5271762df4] = true;
    knownHashes_[0x28d76ea4ef99de0fec59ed37a9fd26773973b3fe154e22c90417d321558122a2] = true;
    knownHashes_[0x537ac9bd7ee6bf9da81eb33526e6b276470fc054ec02970009d8619f71f9721f] = true;
    knownHashes_[0x8fa26dab73b295def62cfe7f5c43d14582d2b3618420ad5a5b268cc379198e13] = true;
    knownHashes_[0x7b84ca8a1ab1da42a485a6fee17b4d566f3381a7e7e45093f1b31dd0733e35bb] = true;
    knownHashes_[0xabb230a36f2e2b45edf713e502c17177764fe97fa723396345faa9c176ba1726] = true;
    knownHashes_[0x202f9f673d28dbcd395bdcb5947e473d0ac8db873531bd421f1554b2b20ff9c9] = true;
    knownHashes_[0xe212ec4baaa718fc89304b32b3824049830056aba2217e5dda7ab19a38674dd7] = true;
    knownHashes_[0x797fb4e70019a12d858f7ec6e36e0e094c5491595458c071731cf74d910ca93c] = true;
    knownHashes_[0x746f5fe170aee652feecbe538b3ad0379a5a55c0642ff09d51d67f96e547e1b9] = true;
    knownHashes_[0x808dbf279f6ebaf867dba8f57e7e0985c0af3514e12bbd9179b76305873aa62d] = true;
    knownHashes_[0x73aa239023dd8d73a9f9fb28824419078c3f714ab4486efd84781c683d71a839] = true;
    knownHashes_[0x691e364238f0b50f5aa51ea1d4433bf2efa59fea0be8b9c496554cb39498467a] = true;
    knownHashes_[0x46b4a5160c82b53114bfcc1474f38f7c43b6492bc3b9596d613defeaf8b89e97] = true;
    knownHashes_[0x8f88f909ffa924d4e3c2a606afd35c63d2a428a79a85576ff4930fac15de9fae] = true;
    knownHashes_[0x64958df63263f0829b0c0581bd29c3ba2c98303c4d1a5f498e1fbd9334b987e7] = true;
    knownHashes_[0x34a80f3e9802bdff7e72af17a101ff9f66a318fdab40aed5d1809fc5f2cc1c9a] = true;
    knownHashes_[0x10028a06bc48264ae4c6a600ee386fa468b2aaa6e5b5645a1a6e31253228b8ad] = true;
    knownHashes_[0xde8d4db07409be3619916cbc1879b26c7e11b5b5a70e7d881af0c2fef29d7318] = true;
    knownHashes_[0xa5eef6d39384b151fdafb99544cf084e6c7a066fde1bb0b9ceae0821e9e2cd10] = true;
    knownHashes_[0xe3ca8dc2d344788fe4481650673ec321808a3997c8909fccd45b233ec758a393] = true;
    knownHashes_[0x9e6b8ef37fe278d3e8786e3c690e8d210b028e02cbd3de1cb7e4f195d07b8110] = true;
    knownHashes_[0x2688230319ac3209d60a958ecc1c6f9b7bcdc8f0b3b205593abfaf3e3cbdf77b] = true;
    knownHashes_[0x7b9bdcab954cec08267474edd4efd3f9404a9cb01d4daaa601a20bf983431904] = true;
    knownHashes_[0xac0266245ff71cc4a17bb0f63bc04d9666ddf71dd71643f24cf37e36bc4f155a] = true;
    knownHashes_[0xfc15e3c5983cc9cc686b66d89c99e63f4882e3d0058b552b67bfe2f766b56950] = true;
    knownHashes_[0xe804e62dd75bbe482087ab2837502f73007e1a73eea27623885dfbfe1e2fb0ef] = true;
    knownHashes_[0x13c7f7862f84b2c7a3954173f9c1d8effa93645c00bbd91913545541d2849b39] = true;
    knownHashes_[0xa873f8ffa13ce844fcaa237f5e8668d04e7b0ffc62a07b6954fd99dd2ec4c954] = true;
    knownHashes_[0xeb6f877cc66492cf069da186402edaab2fec618959323c05ecd27d6363200774] = true;
    knownHashes_[0x6c11b3fedeba28d1d9ecc01fa6b97e1a6b2cca5ccbb3cfcd25cfaf2555fd4621] = true;
    knownHashes_[0xee891d79c71c93c9c8dc67d551303fb6b578e69673207be5d93f9db8bfc65443] = true;
    knownHashes_[0x31c193092d0122b4bba4ff0b15502ccd81424d9d1faf6eb76dabe160d38ab86c] = true;
    knownHashes_[0x30437582c6835f6855ea08e4e6c9eb22b03445b3c9fdbf8520fb07b122db22a1] = true;
    knownHashes_[0x72be9f48790e00f9e4c3a12e3b76fe33ffa9f0e8fff75b711ad1158a2d96161d] = true;
    knownHashes_[0x19d429dde2aba4c05a71858f6c770dbf2007982a45514109089b135401ba97ab] = true;
    knownHashes_[0xd3f357697501c25321843787edc511fe9c4580fcd386617524fd71372a987f9e] = true;
    knownHashes_[0xfaefd15cd398d7f18a62f2b2b9282ec8706fc024fc95dbf35d44beb1e2e9b317] = true;
    knownHashes_[0xe499335f5a14d69d72b210691255ba1a849fc5b358ceca4e737ae99896aaffde] = true;
    knownHashes_[0xafeb5f1c9298777e8b9501cb812afbdbc551a7e03e4e2de437fef3eef0d89e3e] = true;
    knownHashes_[0xae48b79855ef93cc35d5776322242fabdb4a53fb7ff84916a3f7d3f665914e1d] = true;
    knownHashes_[0x5a6160a4fc39e66e69129aff6942405d07a3d3e81242bdc40b3af6aab7ae3642] = true;
    knownHashes_[0x9c76da2121f984e4c7bca901f474215dbce10c989894d927e6db17c0831fde30] = true;
    knownHashes_[0x5ecb6ccb02c15de47ddabb85571f48ae8413e48dd7e1f4f52a09a3db24acb2c5] = true;
    knownHashes_[0xc97f43a2a7aa7a7582dd81a8fc6c50d9c37c0b3359f087f7b15fb845fe18817a] = true;
    knownHashes_[0x2a567f38f252bd625fe9bc0224ba611e93e556f6d9fad0fc9929276120616f2f] = true;
    knownHashes_[0x86032752da8b70e1a3fece66bb42c2e51d5c1d7db7383490beb8707b544c713e] = true;
    knownHashes_[0x2bc1f494fade6a385893a9065a7b97d2aac775dc815639baafa7926de4f582df] = true;
    knownHashes_[0x3967c9d876382dda4dd223423d96d08fb3d9ee378a88ab63171543ac3a6f1a4f] = true;
    knownHashes_[0x9ac8fc599ce21b560d819005a1b22a6e4729de05557d5b3383cd41e3b13530ef] = true;
    knownHashes_[0x83b4b01d4238485529f01e4b7a0b2a18c783c4f06a6690488a08ad35723f46d6] = true;
    knownHashes_[0xe16362fabfbfab3bc5b52441e6f51b1bd6ed176357f177e06c22ea31a4e0490a] = true;
    knownHashes_[0x2bbec2393184e20e04df7f7ebf3e0a40f18f858ef24219e3e6a4cad732d2a996] = true;
    knownHashes_[0x26b9f114b862dd1fb217952b30f0243560c0014af62f1c6a569a93263da2ed87] = true;
    knownHashes_[0x8f50db6ad0f6b20a542c6ce2ce2ca88a5e28040499ad82050c5add5b671fbebb] = true;
    knownHashes_[0x31853fd02bb4be8eef98b6bb8910aacbaabdb6e7bb389c15e7ffa7cc877a2916] = true;
    knownHashes_[0xda6d55fafdbd62c3224f3c2a309732c141186846e72fbc1ba358e3005b0c0192] = true;
    knownHashes_[0xede6c624b4d83d690b628296696008e32afb731951b0785964557716ee17938f] = true;
    knownHashes_[0xf92e82d93f432af59aa615fcc1f320bfc881f8edb6c815ef249ffe1d581c118e] = true;
    knownHashes_[0xfd3465d044cfe45ed2b337a88c73de693aaf15e2089ec342b606053742c2d3d8] = true;
    knownHashes_[0xe67d0e588eda9b581e65b38196917b7f156c33b63a7b85faf9477161d80c3fa0] = true;
    knownHashes_[0x17ec4ff7ca53560624d20a4907a03db514e54167a07c470a78e8be670569eb1e] = true;
    knownHashes_[0x801f7c51809e14a63befb90bdd672eea429009ba0fb38265f96c5d74f61d648e] = true;
    knownHashes_[0x030b09c9fc307c524f015349267a9c887a785add273463962174f9a0bca8eade] = true;
    knownHashes_[0x32c740329e294cf199b574f5a129eb087105d407fe065c9e82d77d0e7f38c6df] = true;
    knownHashes_[0x4f5d91e1926a0abfc33cbbb1fe090755b3fa6f6878b16ddb1f4d51c0bb273626] = true;
    knownHashes_[0x1c347666ca233e998ccad5e58d499db78693a2880e76efef3f39ea75928aa3a7] = true;
    knownHashes_[0x86983f6f4376ef7fc0e1766ffce4b7bea3e34e023e941a7b7f82638ac72c660e] = true;
    knownHashes_[0x208d1fd0ad5b8f5d2d5239f9317b95cf11beac22780734caf8571ab4b0520d0d] = true;
    knownHashes_[0x9bdaa1a0d2f8e41777bc117b01bd1c75d7ef6233c204b3285a47e4fedb319e69] = true;
    knownHashes_[0xfb473f02109ef92a443b981b604a8991757eb0bb808ea5bc78e7e870f2354e62] = true;
    knownHashes_[0xe8a6cfdc3e580f2eab183acb79e5b86a3e9da4f249f74616046d6d29fcd4fed2] = true;
    knownHashes_[0x32abc540ef3bc5de09a23af1f982af2559fc2186036c599b3433d016b1a540a8] = true;
    knownHashes_[0x659a7368d541323bd45fc1877f7f1f30336ef11752e74114bd266ef54f7af614] = true;
    knownHashes_[0xc47854c4eafcf5d12b54b1eb0f4054029ee2a621f8a3e466512f989f9f3766b8] = true;
    knownHashes_[0xd231100d8c758c8b96008206667beb0da75c8bdf5ef6372973f188a2f8479638] = true;
    knownHashes_[0xf2667981d338ea900cb94ee9b1e8734f402c6f97a5c26e025000c24495b5848a] = true;
    knownHashes_[0xd1bfe76a924b0f7375b5cfb70f9a9a38bbc4b0e0e954b4fd79c6a8249c8024eb] = true;
    knownHashes_[0xaba9866a1182958298cd085e0852293a8a9a0b32e3566a8fc4e0d818e6fc9d1f] = true;
    knownHashes_[0x0fa820195b7911118b04f51a330222881e05b872bb6523c625ba0e44d783e089] = true;
    knownHashes_[0xf7fae749c6d9236a1e5c4c9f17d5f47e03c5b794c7d0838593a59c766b409fb1] = true;
    knownHashes_[0xd452a19b707816f98350c94bedef9a39d2a8387e6662fbf4ce1df2d08b9bbfce] = true;
    knownHashes_[0x88c601f5dbc07046d3100ba59d1d8259a2252494fe3d44df2493154f81cc6e83] = true;
    knownHashes_[0xd63bad678338c2efcc352bc52dc6d746ff7ad69fa3024a4c066242a5e017223e] = true;
    knownHashes_[0xbdafe5b7f2fb13e7a9d15fde4c20946aa9cf503d87c13d5e2b1f91cba24d6d02] = true;
    knownHashes_[0xe5d663f995b932d671a4239595c3e21bdf5eed4f387abf490064e110f815e13a] = true;
    knownHashes_[0x56e513d0909163ceb5c909f0a4f4996041e6f7dce868bea19e455160c73e0087] = true;
    knownHashes_[0x85dadba5e967d35663a2edc0a2854f2176140f2c5362199a7c1aeef92a23965f] = true;
    knownHashes_[0x31a6ee0d2173eb805ea73e2505ace7958a9b6b79f017eabe73dd20449202cc73] = true;
    knownHashes_[0x750caffb2fc2e58326276d6626d58fffb7016fc2ca9f32db568c2b02d1a7e2e4] = true;
    knownHashes_[0xf3b4aea050789d0ce0c09becf833057f37a512b19c09258bf27912c69748f81e] = true;
    knownHashes_[0x7a624c215ebf005e463dfd033a36daf69490c0ebf65a9bdf3cb64421e39290ea] = true;
    knownHashes_[0x1a83e43e04aeb7d6cd4e3af4b7c0761dacbd47a806c52eea0b90e26b8cc4d52c] = true;
    knownHashes_[0x0f7dd58c9f0617e197b0255ea9eedbb2cb1055e9762821bdfb6ebc89bf2cbc69] = true;
    knownHashes_[0x91110c6797d18867583e4bb971e8753c75a35e0bac534070c49102db7acfffe1] = true;
    knownHashes_[0x7487dc4230fdb71b3ca871b146d85331393b6830c3db03e961301e98b2f0ed83] = true;
    knownHashes_[0xe947fa9a35038f665c8eba2ed92e1a6c90dc08d463e378718be7e0939ccd2634] = true;
    knownHashes_[0xdcb1d082b5e889cb192fe66a0e4fef8664bbd63b4f5469bb6f41b28cbaaa2f08] = true;
    knownHashes_[0xe79a4da1c0dfd3183d0b4409faf9e5a267ada85a188cf26b37b4ffe1846d6f9f] = true;
    knownHashes_[0xbd63b716bd0133ab86e7781876c07ac130ba64c60628f81735b2ca760a6450c0] = true;
    knownHashes_[0x5d36315425c7e9699328e3f4c0962d40709c0cb78a7b72a015aa31caba784450] = true;
    knownHashes_[0x745367e8d87e841c203ccacbffc361affe39a16e69b348f99cf5fc04c00d6b7e] = true;
    knownHashes_[0x026d05c886b8530bef15e25ce3f915306624915a2edd7309d7c063c8baadd80b] = true;
    knownHashes_[0x0bbaf4ad40972b1d9aec644660790c7707976757305e4e2a0085af9adf444b31] = true;
    knownHashes_[0x13b72741563ee1d9e3e0df5cedca9d185b29dc0adc3d08a1c26fff4cb61b70c7] = true;
    knownHashes_[0x556c98600314be469b3d68e6909b68f32fbd7d2b8804bde2362b4f79148fcfde] = true;
    knownHashes_[0x0ea220fdd96c8a55b3b1feee9a67075dc162c3c6354347d4191cc614e463aa96] = true;
    knownHashes_[0x5388e66877be80f1599716f76d563dc4fd7f7dd6f18fd5aa173722c30df66283] = true;
    knownHashes_[0x9cdd8250621aeb3c88e919a8784f3d12828e10bd00403dc4c9e6881c55231a71] = true;
    knownHashes_[0xf502cb4dcbffc203db27df091b916ee616cdad39f662027ef3c9054d91c86c32] = true;
    knownHashes_[0x40c6b9be0005aac01c0d89d7e666168a83e17d5164b3fdb5bdf7cbb3e4770144] = true;
    knownHashes_[0xbff7468379d3a8a18637f24ceeada25214b74e91761d4950732aa037efaf46a6] = true;
    knownHashes_[0xebd7bd878a40ef58bee78d9ed873553b6af1ad4536fefd34e23dfca3d50206d8] = true;
    knownHashes_[0x08e442e4dbae4c612654576a3b687d09b00a95ca4181ca937c82d395f833ae1a] = true;
    knownHashes_[0xd37e725b67a1003febdbae5e8a400af1d8e314e446dfcde2f921ac5769cd4fed] = true;
    knownHashes_[0xc199f1e49e8167a1684cd9ac5def4c71666bf5d6942ff63661486e139dee13df] = true;
    knownHashes_[0xc2af103fccfbf2a714f4e9a61d7e126996174a57050efcabe9e7e9d17f7ac36c] = true;
    knownHashes_[0x192240627f8356ea1caa66f75a4f2d4a4c9f328e76ce7c6d4afbd0645cf6998e] = true;
    knownHashes_[0x649a262b9674ef27f69a67a495feb49ec699657e250fe0e7a70a7e2091b86ff0] = true;
    knownHashes_[0x754178f9c0b70450f40416ca301354b39c5551f369b0057e84e877c0b59229b4] = true;
    knownHashes_[0xa3183cb641d72735e222815990343ee2f64a8ea1f3f3614c674987cdae454468] = true;
    knownHashes_[0x2581e9080a7c9695cb4a956144ff6478a5ff9005575c17fd8837299e1c3598c6] = true;
    knownHashes_[0xe7bdcc139d0f937bd1ef258a4b17b76daf58729eaed4ef5d8181842be119086e] = true;
    knownHashes_[0x5fa0b5b4ee49a272223effa7789dac1d0c97f5476a405968b06bdcf7e6f70c8c] = true;
    knownHashes_[0x5e5423c6d508ab391aabd4d842edc839bc54742df2bd62ec4a36370b9744bbeb] = true;
    knownHashes_[0xbb53ab62aa4fad4bcf86f6757e8fef8b022eab4bc17965c4a84842d54083b479] = true;
    knownHashes_[0xda6a6e12dfc7105a144bb0091ae1d419bd79a926fb3783ec13cb9658bd8b5bc2] = true;
    knownHashes_[0x0028cc8aa613b3f53cde95a59e5f3d78b1a5d370909836889920e818578b95ee] = true;
    knownHashes_[0x1056ee80df6c3c776f662138689c96107fd4fb0c71d784a85c4639c0f30a6acd] = true;
    knownHashes_[0xc9b5d332e96f7b6a5bb2d44ca3d847a5fca5ef4b2cde5f87c76e839d70ac95e0] = true;
    knownHashes_[0xed3515ab11fab92d1114b7e1f0736ecff17794ad1a5f76003838971c17373b39] = true;
    knownHashes_[0xb15bc9952eae5559a85c14abefd0bf23c0066e5c63807fd83f6ca8e07cf8ac0f] = true;
    knownHashes_[0xc77584eb3625f35588eebc89277d71dcb53454aebb9176c9232b77071e7b5bd7] = true;
    knownHashes_[0x1e6a469a9820448aa5fbcf146eb65fa54256f0d0d38d9a5db9598170ed4e5159] = true;
    knownHashes_[0x56e8db690925fd8fec603795b72187c727ed019772bb11e92015bd4227ea0de6] = true;
    knownHashes_[0x30df18b198d8006fcee31c5ab03c21599003902c38a0d46f89c83e0a50cdc722] = true;
    knownHashes_[0xc7ec2f5603c2664505cc16b9eca68a3a34cf0ef7caff5d9099c01f1facffcee6] = true;
    knownHashes_[0x37862b072052fc1b88afd2c8869b9a78a5bda139beba1c986717ec1fd526d61d] = true;
    knownHashes_[0xa41d986a203c53f553f63aa5f893146f25fb23754a37cc32d95f1312b0d1f58b] = true;
    knownHashes_[0x8d643ca159260bc55434f0f40552e88520c4d0217497eb540803b59f37f4120b] = true;
    knownHashes_[0xdd1a85c09957e8ad22907f83736ab3fd54742b1dce5ca22a0132970fdd4df6e0] = true;
    knownHashes_[0xec78a0437bca2a714d146b10ad6a5ae370794ff0c7f4ff077eea7b302e9ce1db] = true;
    knownHashes_[0xa20dd3512ca71ac2d44d9e45b2aec2b010a430c38a6c22bfb6f2f0ba401658f5] = true;
    knownHashes_[0x258297a15ed3175983a05f7bb59dcc89fab5bb74ebfa7aa84cef74e7a35cefd3] = true;
    knownHashes_[0xd4e325fae344777ddbfa91c405f431bec4419417245ab92bb04612d18c939309] = true;
    knownHashes_[0x08014c3be305fc7daafd910e3e286a1161ac5ccddbb1f553ae1fe67924bfb2f1] = true;
    knownHashes_[0xcc025016f45b21cca83d50d6b4e94b548869bb8de5c5a710091c9d64bd37332b] = true;
    knownHashes_[0x1cdb6bbc3a17c535d44cbe575669436ee7028e475e5fe47f7f98489439783f33] = true;
    knownHashes_[0x2cc94faaab298fbdf4af4d2fb86f6450bb708f18d3c3ebaa9c23e240c6f22325] = true;
    knownHashes_[0x5ea72f0a677eb4bc6dcb8343786fdee6f278ebd1b4d740f8cdc212bc451b6eef] = true;
    knownHashes_[0x1f40acf6a57ce9982c2b1135499b6c893b37a1df1bdf84275cf137cabd53ce50] = true;
    knownHashes_[0x049b381e7b45aba6dfd343331c4b56407b2a157dc878736ada0e9debecb68852] = true;
    knownHashes_[0x3981aab8ca4b4d2565b5079437d6ed0e10bc60c3016c5fd67241970f36d28f5e] = true;
    knownHashes_[0xe3674f344f52839b210a40d41a363ef8b1a2c049afe9b109c56af4d991fb86f4] = true;
    knownHashes_[0xe4b502345d6eb2938a811063515590368ec108bb434b0b39e9a42d776ad5fd64] = true;
    knownHashes_[0x68d678bbcbb4519bc266cf4bb8f54a65c8dcab63d6fbeca7a1c1b58ce55f7d1a] = true;
    knownHashes_[0x8a2eb9517a8ca7e31a58a80880977f3b29b5649e09de0d10e2d40ce3d4a87bbd] = true;
    knownHashes_[0x49fd5256632a2565ec250854981f5ea3c1668e0cdf4979231111a464643d571d] = true;
    knownHashes_[0xa5e851c89ca2925f18e9eefa4855faa4c69d2c12b875bd1bbc233d0c81baf4a3] = true;
    knownHashes_[0x5d42e9a67094bb8cb3c2f078d1e02e722e9b44e6931dea3fc361b0c6b71a6424] = true;
    knownHashes_[0xd17c550587cc064af20dfb16f8b9e7ce07163cc4902cf67c94e09e94781ab45b] = true;
    knownHashes_[0x2ac1bbd505a0382f5b79f65aa5e768b6f956120e1e9adab1700e882aa2b435e9] = true;
    knownHashes_[0xd820d64bdcd12ec6c4ccb6eb857afd4f3e3fba039c60482d8eb17ac518e60ae4] = true;
    knownHashes_[0xb77c2f467217103baa4742a68f663b09bf01785653871eb9997f082378694e50] = true;
    knownHashes_[0x1e441e30ec1bd4475f9fd50008e80c36956219a76b98516115391b6a60a6e2e9] = true;
    knownHashes_[0x7d4d2f49945d4b0a6bdbcdd40feee2b6b76f4b5d34ddfd6a3e9d7fc93794a89b] = true;
    knownHashes_[0xd6e6ebee9bb19de629e56750211c2ac5bc018ccf00cc0d023cdcdc3f7de0258d] = true;
    knownHashes_[0x51198dd5ad4ca7ccb0112193f76e8d8325e66c0872da68e1e0a063363e0d28f7] = true;
    knownHashes_[0xa3f29b1ff1f4e8136b9b2f669494490704d13606b73aac04def08d95488d79c1] = true;
    knownHashes_[0xea3f1165ce868ab19978dcd32d7fe78fdc8dd26162057b54dc1c8f688332f0fb] = true;
    knownHashes_[0x7a2c8e589c3570c9dd8d3a4031a65b2b164c5b0f3cba0d610228351134b87d24] = true;
    knownHashes_[0x3e8d8eae37904d8a467efa882b1559a15bcbab3c02ceceaa34c1366855b31a4d] = true;
    knownHashes_[0x9266948ade2d86ef12bc0d38d4a98ebd1ff3d2046b2cd3150f47e6b41eb6c9d0] = true;
    knownHashes_[0x0ac0867e5d3c943115e715a3b7d129e63fd65c29fc3b2a0c75e245e8cc8e3cbc] = true;
    knownHashes_[0xc79ed203ef26b7e228dc957ee3581e87f76a03773756729f9a6e17953d78258d] = true;
    knownHashes_[0xd144249c42697104457147d9774e937cd9ff668da8133b4e9c7b14ba0d9c3745] = true;
    knownHashes_[0x984aabaf91e006bb4176e31dfe2e969f4c012936cd30cc1b0fdcca5173a4f96c] = true;
    knownHashes_[0x251a654a0a08c10ff2f1ee8d287f867c1dab7e1e2b7e1e76efd07e8c57e415de] = true;
    knownHashes_[0x887b4b89c813bbcea7ec00143867511bdbc5ef37042d9fb0a2fff2e7ac367a0e] = true;
    knownHashes_[0x76544c577c6549c6f3918fa0682388917cd893afbb957123cbfb898fe1518556] = true;
    knownHashes_[0xa19ac2a03c0c89cae8ee0c2db1d52b21386b710a83f810689ecb47c864fb2a55] = true;
    knownHashes_[0x11b2accc5b3d1d6af103f4048b62aed897f9a5e2d74669f8b389c706633b952c] = true;
    knownHashes_[0x1d8110d1e28a617a3d438aa479212ac8cb629c850286a7bd2d37ce1b3c73a6c0] = true;
    knownHashes_[0x8fa2a550db50cba22e90916d6decd9b4077b99eb4502e9ebee196f8c4b6fd41d] = true;
    knownHashes_[0x1c95cfe3e934357573c4fc494b14a934b664178d2658af1d95a249b4747e623f] = true;
    knownHashes_[0x4a7fdd5ecb85fefbd134037c54563b106883cf88d13d991e1315920b0e5c8a6d] = true;
    knownHashes_[0x168471be8819a5430ed54c076cdce0da303e00b88db692f9fe1e663f46afc2ab] = true;
    knownHashes_[0x4b8c86ceecef46755965c3b795bb3247cf90f524f201d532fbecd2be655dc908] = true;
    knownHashes_[0x61378c6396fa218e2d3df700d2dc02fba667df7a5072c805cbb2fad2fe9d00d3] = true;
    knownHashes_[0xad1b8c3ed94e252cb3671a2d3d404ef8844d3130e3a3ff87e0914a797bbbaa73] = true;
    knownHashes_[0x6c8af6c4484fca40444f51f9798915f19fd0a0dcedff06ade434d7ccc6cbf404] = true;
    knownHashes_[0x10d43739be9d4a2db0c9355129b3e1af634b049a2c6eae9cf915ee3ef27cccb5] = true;
    knownHashes_[0xebf68de80643eee9b471aa39a7f366a076fb305f0a1adeb726206ed0cd5a2bc9] = true;
    knownHashes_[0x506ded3d65c3a41b9ad502a8c0e685786058861e0c292c9fe075822d987d357e] = true;
    knownHashes_[0x051e531490eb2ad5a160fbc5b7b371ea6e20102635e3c612116f1eb117c6dd2d] = true;
    knownHashes_[0xf6009b990598b0ef14854eb38c49bc22c3a21606f84df02ac85b1e118bb90e77] = true;
    knownHashes_[0xf44e63fc8a12ca3d0d393ed67b84a6e8d857f4084e2959316c31a5c6bd6ae174] = true;
    knownHashes_[0x6d0cef3b24af04cd7666950e8950ec8da04900ed7cc01b8dc42737ddd810facb] = true;
    knownHashes_[0x9c766cb211e0036d3b11f70de1c960354d85c6e713b735c094e0040b4f61ca3b] = true;
    knownHashes_[0x50f41f1f7773962333b3260e70182962b13552a3e525085063ffa5bd26a960ac] = true;
    knownHashes_[0xe3b258e4c6c90d97f647586e1e53ea268cc851f13e69e835977b6b8399fc2cbd] = true;
    knownHashes_[0xe341f1ffe620d9de97b15169d1fa16d885fef299d52f6a0a7989dc0eafa76743] = true;
    knownHashes_[0xe7dfb8186f30e5d7844c72314448cfd059b070a41322d5ddd76cbf3e588b9dcd] = true;
    knownHashes_[0x07aa797be1bd3b701056405361160c2f62de1e5a452d9f0fb8a5c98ddf4bb255] = true;
    knownHashes_[0x92f8937ed2c57779a3697d9223ab17f598396f9802028bd3a34ec852413c60f4] = true;
    knownHashes_[0xbdf0a9d32af5ea64ef0d553b8b3fc0a4fd3101bc71b3cd57a165608efa7cf7f6] = true;
    knownHashes_[0x25ac304efba4df87b0d420c8eb8311b9d3314776176536e1d2245c38da938c13] = true;
    knownHashes_[0x417e5ab8e8e090d6cf05a551f629eac9c7fbc73b30a3ed8a2a2d4f4bba37e165] = true;
    knownHashes_[0x104a2b6fbaeb34315c8da0c6ced20f05f4702ffd81a31516813b9f771f3454b9] = true;
    knownHashes_[0x9e62e0694ed13bc54810ccaaa2dbb67ad1eb75d94dc53cd66ebc45a9cce9635d] = true;
    knownHashes_[0xd7b83539794844e00f1cba1d3b05297e9b262d1bb2fc91ba458d3c75d44ea6ca] = true;
  }

  function enter(bytes32 _passcode, bytes8 _gateKey) public gateOne gateTwo gateThree(_passcode, _gateKey) checkOne checkTwo checkThree(_passcode) checkFour(_passcode) returns (bool) {
    // Register that the contract has been interacted with.
    interactions_[tx.origin] = true;
    interactions_[msg.sender] = true;

    // Register that a given passcode has been used.
    acceptedPasscodes_[_passcode] = true;

    // Register the entrant with the gatekeeper.
    entrants.push(tx.origin);

    return true;
  }

  function assignAll() public returns (bool) {
    // The contract must still be active in order to assign new members.
    require(active_);

    // Require a large transaction so that members are added in bulk.
    require(msg.gas > 7000000);
    
    // All entrants must be registered in order to assign new members.
    require(entrants.length >= MAXENTRANTS_);

    // Initialize variables for checking membership statuses.
    bool member;
    address memberAddress;

    // The contract must be a member of theCyber in order to assign new members.
    (member,) = theCyberInterface(THECYBERADDRESS_).getMembershipStatus(this);
    require(member);
    
    // Pick up where the function last left off in assigning new members.
    uint8 i = nextAssigneeIndex_;

    // Loop through entrants as long as sufficient gas remains.
    while (i < MAXENTRANTS_ && msg.gas > 175000) {
      // Make sure that the target membership isn't already owned.
      (,,,,memberAddress) = theCyberInterface(THECYBERADDRESS_).getMemberInformation(i + 1);
      if (memberAddress == address(0)) {
        // If it is not owned, add the entrant as a new member of theCyber.
        theCyberInterface(THECYBERADDRESS_).newMember(i + 1, bytes32(""), entrants[i]);
      }
      // Move on to the next entrant / member id.
      i++;
    }

    // Set the index where the function left off; set as inactive if finished.
    nextAssigneeIndex_ = i;
    if (nextAssigneeIndex_ >= MAXENTRANTS_) {
      active_ = false;
    }

    return true;
  }

  function totalEntrants() public view returns(uint8) {
    // Return the total number of entrants registered with the gatekeeper.
    return uint8(entrants.length);
  }

  function maxEntrants() public pure returns(uint8) {
    // Return the total number of entrants allowed by the gatekeeper.
    return MAXENTRANTS_;
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_passcode","type":"bytes32"},{"name":"_gateKey","type":"bytes8"}],"name":"enter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"acceptedPasscodes_","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxEntrants","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"totalEntrants","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"assignAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"entrants","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

60606040526000805460ff1916600117905534156200001d57600080fd5b60018054808201620000308382620034b3565b5060009182526020909120018054600160a060020a03191673a4c5a62a8e652b90691c0289557937b4e832180f17905560018054808201620000738382620034b3565b5060009182526020909120018054600160a060020a031916730fdf6c80ed447a4b0692af53a1acbb7df7bf983d17905560018054808201620000b68382620034b3565b5060009182526020909120018054600160a060020a0319167370ad465e0bab6504002ad58c744ed89c7da3852417905560018054808201620000f98382620034b3565b5060009182526020909120018054600160a060020a0319167355e2780588aa5000f464f700d2676fd0a22ee160179055600180548082016200013c8382620034b3565b5060009182526020909120018054600160a060020a03191673e9ea893d74493738d296ee1ca6fc9de4b63872b7179055600180548082016200017f8382620034b3565b5060009182526020909120018054600160a060020a03191673ac4361f56c82ed59d533d45129f407015d84702a17905560018054808201620001c28382620034b3565b5060009182526020909120018054600160a060020a03191673e6a39d977301a57a8a77e7f33a187e259adc81b317905560018054808201620002058382620034b3565b5060009182526020909120018054600160a060020a03191672aa972319ddf819140ffe2a991c49a1bff54bad17905560018054808201620002478382620034b3565b5060009182526020909120018054600160a060020a0319167354488ad9f88cf00397de235d343c421dcb4d5245179055600180548082016200028a8382620034b3565b5060009182526020909120018054600160a060020a031916728f82676a606a6783716037c256a7df2374614517905560018054808201620002cc8382620034b3565b5060009182526020909120018054600160a060020a03191673ef9cb67a53b563cd6e8c4e3996834cc212323977179055600180548082016200030f8382620034b3565b5060009182526020909120018054600160a060020a03191673376d5c3a16e9d015e8c584bb2d278e25f0ccb27b17905560018054808201620003528382620034b3565b5060009182526020909120018054600160a060020a031916737ed4edad4715ee58dfedb07cbecf09397c4b961917905560018054808201620003958382620034b3565b5060009182526020909120018054600160a060020a03191673950d3586401ecf817bfd3f0916081965bb61ea0f17905560018054808201620003d88382620034b3565b5060009182526020909120018054600160a060020a031916733e067eb75d1aef4d229e1798ec210480928bacd5179055600180548082016200041b8382620034b3565b5060009182526020909120018054600160a060020a03191673d046b3c521c0f5513c8a47eb3c2011684ea80b27179055600180548082016200045e8382620034b3565b5060009182526020909120018054600160a060020a03191673921ca244901a565ce8423cdfd2e4534c8281d0de17905560018054808201620004a18382620034b3565b5060009182526020909120018054600160a060020a03191673a4cade6ecbed8f75f6fd50b8be92feb144400cc417905560018054808201620004e48382620034b3565b5060009182526020909120018054600160a060020a031916735e0c902b5dd10183ed237303ad9c702763b9e92c17905560018054808201620005278382620034b3565b5060009182526020909120018054600160a060020a03191673eb21cab164f9f77aa2ae0b31bc2df3118dbf6bc2179055600180548082016200056a8382620034b3565b5060009182526020909120018054600160a060020a03191673d3cda913deb6f67967b99d67acdfa1712c29360117905560018054808201620005ad8382620034b3565b5060009182526020909120018054600160a060020a03191673fec2079e80465cc8c687fff9ee6386ca447afec417905560018054808201620005f08382620034b3565b5060009182526020909120018054600160a060020a03191673e37b8fc78e1c553e1288164830e3681cb42e030e17905560018054808201620006338382620034b3565b5060009182526020909120018054600160a060020a031916733020c29e94197aea5cc16503ee40b6567c3d25df17905560018054808201620006768382620034b3565b5060009182526020909120018054600160a060020a03191673d262d146e869915444d0f34ecdaabab5ab43007e17905560018054808201620006b98382620034b3565b5060009182526020909120018054600160a060020a031916732efab4d9810c37c83733f1b12f85d351e818f80817905560018054808201620006fc8382620034b3565b5060009182526020909120018054600160a060020a0319167303d47eca8d1d4c29a73318c3b1373614b3fe14bc179055600180548082016200073f8382620034b3565b5060009182526020909120018054600160a060020a03191673775a0dd22ad687a38f10fc985fce44a0dddbc24817905560018054808201620007828382620034b3565b5060009182526020909120018054600160a060020a031916734e70812b550687692e18f53445c601458228affd17905560018054808201620007c58382620034b3565b5060009182526020909120018054600160a060020a0319167341997060113af630a591e6cb23e1bc15fc90dc7317905560018054808201620008088382620034b3565b5060009182526020909120018054600160a060020a03191673bfcdf2d7743b23bbcb6df0055a95dc10f406ce2a179055600180548082016200084b8382620034b3565b5060009182526020909120018054600160a060020a03191673d41f77997357a42c4262d975326bfcd2e29145a3179055600180548082016200088e8382620034b3565b5060009182526020909120018054600160a060020a03191673047f57b4fe5f5f8f536f48d7ee464893b4411e9217905560018054808201620008d18382620034b3565b5060009182526020909120018054600160a060020a03191673543f770be6fb294782a5de77af01bb43af39bf2017905560018054808201620009148382620034b3565b5060009182526020909120018054600160a060020a031916739c9a3e919b20d419faf416139bda1abc0601100d17905560018054808201620009578382620034b3565b5060009182526020909120018054600160a060020a03191673a52793eeb055b126aa872862172b14f5418cdea2179055600180548082016200099a8382620034b3565b5060009182526020909120018054600160a060020a031916737b2e7d9787e14cc906602721c636b50cabd08fe017905560018054808201620009dd8382620034b3565b5060009182526020909120018054600160a060020a031916736d7f9e3d821f89335ca8c0fa0c0be6e26c4b703c1790556001805480820162000a208382620034b3565b5060009182526020909120018054600160a060020a03191673bc5f177d64db860e03fae472be9afd87f056de2c17905560015460271462000a5d57fe5b60046020527fe6a4e496d3f09699f36a517339942390d5510e552fc738854a8e935f86dab9588054600160ff1991821681179092557fd9d15cb9850d2b9a8d101c031dc7f4f3b083780d4ddf163e6d91399b563c89c480548216831790557f022150dd8f906ed662730e9b5cec7574223539ce3c189b7c5145782cd4d6530480548216831790557f13984ec415fd26af81970e49fb43f43c12014e06a91bcfaac0a2b240d72b615c80548216831790557fc99af80c55c21c035e367c3f9389e673f06936b234658aec3e8402f9c3b94d4d80548216831790557fbca90e1916f6b2c862f3a4794b007b3cb95dced2a067c5da40a3594efaafa05e80548216831790557f84cd1f99f21797a9f0b20e998c0be2168ca5837b57208c08ee0124dee83a5d5e80548216831790557fdd716b4bdcf610c7cbc1ca47e8208fefbeaf1cf61976ca60e2f913ab78107d4080548216831790557fe882683a5803bcfaf7cdca3d93c2eb654a7b486edd0a257395a2eff05268f3c380548216831790557f8cf925293e50fac29ad18716b6c3dfff4b9acccb211db712c5e224bb50310e3a80548216831790557fd72ba6edcdc8503b9df2bf4e325b40eda7ece83bbed08ab0d89fcf63a92b2e7380548216831790557f25941e60972366e039d1d23f5f002382efbd60e66eba8b3e357bd9156645106680548216831790557f3fb3a396bbba3b3ba97705dbf167fbf82f5b3f45c0049b66abbd5e6a633687fa80548216831790557f23be7046fc909c199646cfb6e085606e4989bed0d8d22d288a031e93c155931a80548216831790557fe5da0fd88cb0e2a9be268a716fd1b204e5804928771c41f2941767856628e60680548216831790557fefec74136dc933d75100d8a4654f9922905fcfa114852890b2b084ea055901e280548216831790557fd18d500584d6a37e0b85d31b5a78f3e3f5a94f333d224db2cf2de17ed9f39b0980548216831790557ff6cbc04a2ad5ee895c9a63ba8ac5b6ee054f4b0469997fb11906cd0b00ea698280548216831790557fa883c3b697317481137e1eb2bb34f14e6a86cd787b4728620a8be780737daeed80548216831790557f5fb3176288aa44ee0be64c687fcdc63a7ed1531ba44fd7b67050604597f5b4a580548216831790557f68fe0c46a1bec26c788327a3751fd7eaca0c5074ccea18e38ff5822bbf8d9c9580548216831790557f39471120938019e7e499a4ffca6592c6a31368d3f03ce200d48467b6d10cab8280548216831790557f5d23ae3800fd11c039fb916470e4c5ee9873e254ed1b3fe140907af69b39204580548216831790557f13c8d9c234af1a6fa8abcb299437e22ef9fd330b0417737a8d5fef4a2bd1ac9e80548216831790557f4287c75437b7ec0400457df441277d88e7a8b09abf3cebfdf2a74a7f0eba789880548216831790557f32ed55f4ccbc9518fe265f57155559050a0599e4bc49f2fa9e9d61d8b109360080548216831790557f25c97fe5f36a881aeefaa0d73be44b0b472361695ea3e66e90b44eb80c2c7e3b80548216831790557ff017a6b3c21d834b13182357866656d9c51f988696f125a6d2c4c90a1b40639180548216831790557f88dc3ecc1647278eb1e346586feacb74d006ce6468b54e0683c53d57ef99a8a880548216831790557f720997014f06036cecced485bd73e7e433426af8cf68e660cfb8e2419bf452a480548216831790557f4feae639a251b64130051841f615f4938bb3cd4134e3a14f3ebc2c3ac27b313880548216831790557f0a7d5ef95c56ffdf9266b6cbe8d85142a6b596d3c20f937ff6034ec0b984b7a280548216831790557fcacb29b4aff359430b199fcdee6cf4313aa4385391b97f781bad829d67e9f63580548216831790557fca99763069b6cf8e19acd9de05bf7633170e695771d77a73a1164b1c7287f24b80548216831790557f7f3e9799ff92f4efaa71ba0b1897aa010e2b185810b4c4c17bd7d513b416f07180548216831790557ff3a5c2124045d5e2c388608af53870a4147c418ab498e5a1e52519e6a476e90c80548216831790557f20cb959ac676343260ff62a7bf43ad3682787f16ec68f01829469c1eb117088580548216831790557ff17513ff5d4e74968ad7e22b1d00f3fddfaffbe9d8405cb2b822f8348717625380548216831790557f65d6500bcc41a63156ade752a292e4ede53f3db8cf6e5974c8559fdceefd1d0480548216831790557fdc728ade16efc3ffb5511cefe830842dba815e92af4625e0d62fbbbf7e2fc80280548216831790557fdf7eaf8fb38aa1c499960b5fa889fc3b9e7586f810e0583c2dab537e25f4b4a380548216831790557ff22d52c12a1f4b9a0c63da061ba7ae16176af056215c7a7b686826f860f914c480548216831790557ffa7377c40e29c714007445d6d90fc04a87aead021df6346f07248a5d57e9a41b80548216831790557f4e462dd560ad37adfb30eeb9ea75d8b4c314d7a5c1898f12446de86733bc1e7980548216831790557fecd5d9cc015b6acf8d101ac391edfb27836ae6a23e2fc745a204bb30802f1bce80548216831790557ff9ecfd1f57dd7529292938f6e24e98d243591edbd65da786bccd8eb57756964e80548216831790557fb024550e483edb76f1805b7b0a14a8055e997dc53320b5d2759e204c5c938ce980548216831790557f6a7527975a04e80b5b463b8bc3f3eea0d19d8f0e4dc4d4128cf6ebd5f957a0bb80548216831790557fd4fad79aced0428e424381ecb15cc7bfc502a93ae2da2ce75879aa93e568fab080548216831790557f4c7ea0cf5cc78ff60f43090dd4fd994d7d35772dedcd08f9f4afe910d6c8dbb580548216831790557f17527b951dcb9ce8029b78c5f93f34f7110e8afec5cca627eff19b28a28cbbb980548216831790557f9e9282ab9886153632adeff096eef8cbd6056eac4102f9f6d17f8746e4022e9180548216831790557fa9505bb31f0931bd8546ec137fd0c8b7d550071d99ce2cab697bcd8ae0acbb6380548216831790557f80f2f8be787664d09bac39a8f376e583492438302356319cce84c9c3622998c980548216831790557f0d393baab7a833d12ad174465e24aa75eb20eac7b039a7915d76f01d755d6af880548216831790557f5ca13a58b2977c40176f319c832567036deb1883d90b58c96732ee7d1b17ac3080548216831790557f72f0cefa1832db1cea303f7f3ba13df283932e93b4372de8108bc0da4a17f5a080548216831790557fce95cf48c8b77102534275c8be6c1358ac1c875bffc8f831724d5f8d4accc51980548216831790557f68448c4dd2bd6f993210068c0aecc8e7c4f55f78acf4244fc5cc6fb2cc2be42080548216831790557f3812868cfe57542525d5658937d8b683a822da98cb7286122f424493a3a75ace80548216831790557f5985f9fe4cded94ec816492cedef555518ded29ec5036ac8be74225cecc1407980548216831790557f203170a8442820904882987632ed3b6f1ca6618500ba2379a3dcc7b115594ec980548216831790557fc8962278f435ea76aa590d70cc4807689e7bf7eb334e72e4c204b99bbe81318780548216831790557fc0ae52280b28ea2e3f033133b3313ecfd7da55438b27dcde61494001f0c74b9780548216831790557f7887828ffd2ebb3564ccc166f75435b496934a51130f14893d3c919e6b08e50580548216831790557f7a5c819d711597823505c09b6d2e8ab77dec4ac28e766816046eb5357500ae4880548216831790557f5395a92fa9ee1dc7d8e07f610ab13efb67c32ce66ecd4f48b39bbd31bc97a3ec80548216831790557fe8392ce26434b4b72294f431a1945ee2bb8292bc254d55d01b5bdc12530a110080548216831790557fd51a3b447e10e59402e01a1299faeae5171033c395c93693b77a22e54b9df1e480548216831790557fd42fd18b7f2063feacc176e736af9077231acf5c9a0681d41cb6f388145b2f3880548216831790557ff82cd07c7d89bdeb79aa008187eb3eb543b7da7c1c7167d5f4a26ebee0a0b78a80548216831790557fe0a1e378f7e5e8cec10eacf538f5bf646cf5c8ddf4ee7d11ab13b4bcd4233d2680548216831790557f13bc987bae4037903d75a7652c36748fc9efde29cfe8508c2622a62713e730fc80548216831790557f460f3a11716a37426fa223f882864deb36dd389088fc92cca91fe0766cbee94a80548216831790557f8748a392dff91e34428c542f389808b3d5487d1adae703555f0f836b3566e89a80548216831790557f9b695ad0b22df4b68d58a37188fce382ae6df6f0651d4b2c1778fda50a3d455080548216831790557f1a259e1f857b9f6ca12d4c395f31fbc3419df131d652d81c7782332ffa0d3d3880548216831790557f43a4abfc0d54e812074c70b261b923afd67260100c732037737b0111b9c6213080548216831790557fe08390d723ae7b15ec222721976f3d399da4666023ada8006d567a214842b4e980548216831790557f23025c0373016c768937110a0b5815be1a9cdd4dfc2ffd0b53c5e268ea3b785c80548216831790557fc7ebef2b030378e2dcf9df9be0e3321b589c3a41aa922c226350d0d05eb8bb7180548216831790557f7cb74aad42f042d5c0d8c41dcd3e1bbdf9970618f00f1f0ec45ce28f0878eccc80548216831790557fd68a225c2423e999c6fad75ba697a4a5dc580d1556d9bdf75850f64c57424a8c80548216831790557fae9d6e38f421cae90708670faf0265cb8ec0155ee1e2ffbd8884825d0783270a80548216831790557f2bb845c1c9344a74477113ac909928ac331585a3aa6555f1fc06301a50a55bf980548216831790557ffe0925b71bcc646beda8d76db099c23ba2d9ee466c2a5d14d623a2f2846459b580548216831790557fd5ea5269156eb2fbee722a840598697dfbb20a5754bf5cb9b6d45962bf8f5f0280548216831790557f1f7bf6d79831905194f99e6cf23f11758e11b88211c2a8d970487ede26058e8180548216831790557fdb846052f505559db47a2ac32afc940484f9ff55c9e919b608d63598de268a6180548216831790557fdf9184525cda5d02218fee9a9acda9e5ca7bf4b941d002e3a826042a91d1d6bc80548216831790557fac8270b467b3a9132c2ce3281ad1a6166ccb512ec2f0095f1a8e239d9304578880548216831790557fe0c949c84cbb28776014a4c34e03b51e90164cba84f2bb1d549a332ed994e85680548216831790557f80dfabede580a1238920fd372c6c74ff4a7887093957cbce411860890042e1ed80548216831790557fcd16d82433948f8416674bbfda33b1045dd5b5fbd1233f58844b12b2453b493e80548216831790557fdc83964319f412c0646c45fac0ef49ddce53d6273252bf393962c17931ca4e4d80548216831790557f7932f3ba3705985d4ebf02ae881fa37e4362679a8bd5baae7524e777e124abdc80548216831790557f6d5397663985d0d9447ef4dc2c7af6b38dcd18601420a53bc11f6085c88a5d1a80548216831790557f43fc0e07325fa9dde97ca42d7b8b79dabd6182dc69c6ab11830e62e2905c92c880548216831790557f6ff6d4a56ce2fea318332060cce8e910f32d07bf4fe9695ec7304b98c2897a8080548216831790557f584178a7b83f35a73aef0f8337694442664b5b3f75f221f762087650b9fad30580548216831790557ffc9babd391a1c43a6d2143030163e10eb758c78a0a68f58c1fa77abf318f75b880548216831790557f1c8a080609a0a0c24262fca6981ba3b481cb82ea7b16afeedb770dfaf244f79680548216831790557f89b5fa34c0efb18ed2143e97be9d34b448744e0efa88c3d968b347a8eb56ee8f80548216831790557f22f5aeb028a56eb4cd775362d0d601bb6fe2005ac14742ef56ab68887869f5fb80548216831790557f98a484587f91377cd8707115069bc53b0f937ebef5a7d84c44fd2254f20c529680548216831790557f143e971baeee1d5c90cfd6d67bbbe22411f06df9233db7713f12e2a64aeac06680548216831790557fdd327bb7434971c99f2bbdafc527298419722c4339506c5681835fe15005e22480548216831790557f5e0ff4c8599e1766af068b1644be5e9e1c98aef728985d19b5c025322fdd353380548216831790557fc73c8f5135a58c2e6250ea2ec017afb33f12b826178c10cdba8486ec57283db680548216831790557f1dd930c3cf21cd83d2d74d9db8754446b4f871c62f48954906f32d0aef170b6f80548216831790557fc0aea121f664b229f5dabaf88d5b5aae44de3fb38a79d2bea528e57ada15af7380548216831790557f030a3e5a061332247e4929628e5c66ce6f0b8bdad9779cc46a4f9f9ddf9c892880548216831790557fc9fa62341f0348b8ac1546d355bce0c70d25ec9759dbb444795441b09e34b06a80548216831790557f544d57cb8bce638e76358ab5a6d94608fd9d3b6cfde94cff9979dc8478983a5980548216831790557fb8fc950a15b731431a26e227df9b1f50497f32432a073fd669e4f62d326f39ab80548216831790557f2aa1dcd6a703f6565f9e7efa8c642eeec0aad4550b2d9790ff24c5269575d13080548216831790557fb19c1916082ccbd5f91df89315481f4e8a59b2704f9fab1aefa556e5a0a848fc80548216831790557fafca1e922b8b6f0cef73cf1b4f9f90d6fee2f14dd090b6ad221faeb2ebd87f7180548216831790557fa5cd1760de656cb402f2a536d9e0864da3fead7b485ada7e5df8fb08a757a03480548216831790557f385bd03e6507a3e0054f4a5e185c69a2649d8db01497378d9004ac900e3c6c5680548216831790557f29152726ac3b56bc6d5d436c5c8ee20ada90bff4fa4887d2a73d55b5c8bc596680548216831790557f2601197ab75600ce21a54e6ea5646ddaf58f0fcf8fc0810109e01d9e047470c280548216831790557f4418b565533cc3839c2ac6a7ea9ef4dd57444d67311631903952f6e989a392e880548216831790557f01e05f973e10e5005aa0755da7809c4ae2b20d804bd0056759e368ce8dec479880548216831790557fb518713e4e16bd98f3601b19378361a4d4f3b816bf6d1f1bc56fd5027965582580548216831790557f4a6caa91ea42e8d4b042fdeb13789b0775d339fb47f7d2daef22be3be061437280548216831790557fe255a6f1bd4eb44813c24612f18057c5d4d2bfdba5f7933f7a3b21a2b94ae90880548216831790557fce37df0d7361016807902e15e0cf8d0f116ac351495172ab98f4700bd197da3980548216831790557f1188a17a68780b007f43833ba9b360aa870d39dd7c2a1ccbde6fd1807df6612680548216831790557f1687015daa4de71196c5bcd531611e653ab67b44711e922de64da6136ee920dc80548216831790557f0369c3c8cad59995672b488c35c779f3916fdefd99432488281d2f1b0b511c8a80548216831790557f22f6185710e8753396db1b48865e7582e199a4ec5721ee9070b7040c2073339280548216831790557fbf95d714b000ad6576591edc7b14c4ee3433a141a0925ab360bf4a71226a7b2c80548216831790557f48b685198f16fc94ae9600f888e9e61076498ea4f353a3c931b727c6745f487d80548216831790557f08743de1e106c37b46fdba85b22f8b8f814da8762c5009c2994b0c58b1015b7d80548216831790557fdaf32b229109b73b11cc54de0a022ed81c04f829b43ae173021f90c8ea06dd8580548216831790557fd3beb61365e630a9b14c46a28b588256ff35fdf0d626ff0c6335e6bbc645d32d80548216831790557f962650993cad5e1517faafd1b9271ea54a1f0d23f6d279da033a60831745b6e280548216831790557f37488680a8e29c2c34821ea210e524f19aaf46f75f82dc6f005a4a96a388a09a80548216831790557f7693224e2cc181eb05b420711fd9c214c0ec51b29cb4f9bd2470cee127e6c76980548216831790557f853aee6575460f4171b9729f839120903c5048aeb45ef9d44cedb30c5a66c89680548216831790557f22b06b487c01ece0b24e9ba10f776f19d0e3e54ab5ad62e4fe79e5f1673b083c80548216831790557f705393249101360953bdf81b6a185bc6a0cc6ee9c37d4846a05217b0d2f97b6980548216831790557f960850b6bf2d2ea969dc2ddd3e21db2c062b74103562b007d0b85086aec38d5880548216831790557f185205e8e21621719caebd8a8295a5d24851aa9559a6e52ba5034ed016a43a1a80548216831790557f6beacb7807524be2577b571b22acc1fbf779f2f28369725e8eb6f9e5677fd38b80548216831790557f159046f83274de2a35878cd9e3142a234005f489cb394b6a0d01a6f4cea44f1d80548216831790557f4e116a147197fdeac6530ba00f34c9e3005728ecc4c77543d2ffcb30981d8d3880548216831790557fcc6cb42b09ade7ca883f71930d989f01299391c375b11ee121e25226aab210c280548216831790557f83e266d8fab9cb6077b1dc0cfa927f96c0ac5ca467c418c1da73cbcf9cdd83c080548216831790557f1a13cbd953b27f98f6b73c8eff070f9492e7044b0812ae75770e1483e12bc48180548216831790557f847f6c5754f1e478060958a3fb5fdce81a0da3a3f33493c0b686cae23d47cb5080548216831790557ff623bd22016a0a9356e61368ef963eb2500a98147ec31ce7cc45401d89fb3e2280548216831790557f1d1f2d97d51ff29fdac741c3e7bdee86014f9913e553127c977754a98ee0cfde80548216831790557f0627b59500d68cc3e25fa6b788a9e239dbd5f9517353c5797e47e4abd9fe97e680548216831790557f4a8aa5079b8ec7aede47762484f89e9eb82699a93e112d208a7ebede756e15c780548216831790557f4ba82b96ae8da36019d04543a15001edbbc564c9f8084fddf6b8efe1a72898c880548216831790557f597d4f4eb7d764d684fb8453a8e37eb221486673f106d0e3c0d209e252f2e94980548216831790557f50a99e5be8a515c4161e4fb485220d8226ffd478a9017ca9895854baf095683680548216831790557f7e7bd6adb0a481653a1427153bc8d3f6e1e8e989fc5a4d593ab654b60a22282e80548216831790557f14124b5ea65244031b49c99e445c59ca1e77198a8a6903932f9614c49064003380548216831790557fb32207b21ca55b8aa105f5d94043ac3f81faed37343e46b27f881f5cd8d3b1ef80548216831790557fc919f08cea28acd717584aef8545afa93189a2411a8f83a4edd8cdb2f4e8ead180548216831790557f1738a25cc440a4de04e376179fa0b1daaa8bad544cee18cfa5b0c6291af7c5c780548216831790557fd098b752a4ea8c91cd6cb4d7450bf83049929105b2dce03611d26b660f59117180548216831790557fea32b1f39752e141235978a2b855072d1d00f426be6b39d44d770c8b42e155bc80548216831790557f7786abf569dc1da7d9be559380f430ebde0373a91e5d55d1fdf4acb5d1724f7a80548216831790557f4469b2cf2fb22294937cc7b84d5d27e800ab4a4a1eeb4f310b81343f2c1c855a80548216831790557f146edf020200f95dc6a768cf78329bad443484ccf7c44a8e07be9411f1185f5e80548216831790557f89bac606d4ebe48c29df75af09e6c891c371ed8500599c6529365704d327a39c80548216831790557fbdbe69fa48f6ca8186757682be6de87769311e08c4eeb9235281a5c4b6a8ab2080548216831790557f30d4ad28961bfa64aa913bebdaf97641a6a08e4806079e3bc7ae9c39c02e4bf780548216831790557f8c111e1182b2ed4e586cea6cb5ce92447538281de8713eecb2f7041bd013424d80548216831790557fbb691f941c6b6ae41089a0c0192e3bd50d9cbc1bf8f63f1e28f53f48e0f1358180548216831790557fd164f6d98022ff8cbfc5166755b57ca64a323c4eea92a5a851bcf50b3906dde580548216831790557f232e5fc29d358b6f593092345ed8598e05180c409885d94ec7b5c3e8a0d7c20d80548216831790557f74c42e9f2c288989eb2373347f2be45084056e28a5bf84125d75f87e1705f05180548216831790557fdcd431f158a6000c2dfd84bdc78c1202ba8d1ebe07d80499134349b9aa97e52c80548216831790557f093e6a18429973a6479987b3fa2955d035619efab2bf9ef95411f96cd9c02f0580548216831790557f01fc535e01043edd371d1288cc213df4a23ec53aaaa15edaf3e5a6d6afebd20e80548216831790557f53dab6b705e7aa3f5c25633a153cde54dd737ec5490de81106ff992fb384bd9680548216831790557fbd2e7cea837400920e016105c458c2778711afe96539caa657c1e182d69d44b380548216831790557fae7d9d3dbe3dced096b04600c2cc5e5dec1424df1e2600b4e30dd43ad508205280548216831790557f3ce0da948ddc70d976dadfb0455996cb43fce4cb6f9b9ce56f37e7030fd402d980548216831790557f5775d70ef4c608ccc84e575ea57833ece05d36f932cd47d9b06f24c32f79ec1080548216831790557f771a2b7b70fe208fb80d13699b7571b24b1fb080060042f868afd2c1d3044fb780548216831790557f19e9b3790b347e243cb8260bd277c390e4a5f3d8c2da7606dc3533d73be3541780548216831790557ff31e767ac75559693ad2366df3b529b1debb72cb8fa741cb632733db67e0c0e080548216831790557f49640f8a0e7bca2da0192879109d17d646f99e92302990a72913ed585dcf54b680548216831790557f9380a97ef8c90bb5ce84062af68afb4a044c6e88c57538ee7cddfe8c7e52809b80548216831790557ff20ab427d7c7766b185920272192b4f6845e03b58a4c6cadb4507a5d86de8aa980548216831790557f6eda4a62ba0dd346ffde6a1d4b8f385b7c6ecd59365cf57e4aea30d587df645d80548216831790557f2cf84f17a25a1a77009214bfdfd7e39c9165c6865d40f2fd565f16287304f55c80548216831790557f131f13975256326c6382dc242fe66e09efa163fc597f9e88e2627df26623631180548216831790557f322ba5e78f2baef5750f2ac4718d62153bebb837a5de3bb1e11ed9da3e3a406c80548216831790557f71647e6c5732d35e380ca611d16edadca51a3e4e8944e401551e093deda5ab0c80548216831790557ff873a4f1febf0c26157f5ff5c82c1c85a5078f773fd4e24a3908d871933e9c2280548216831790557f5dc3f28c2dced2e55f25f5f23cf3461001ca1449d5f5d4a2d6b2e52132f4410780548216831790557fc078f49bf09a91e5062b1da7f8fb6a0cbcd61709dc6904faedd30469be1199b080548216831790557f10a9de3ed301e4a563f48e00cbf38eaf880991cbf65ad73057b6ad71b4417a0480548216831790557f68b2a673d81de4ee054649f966e90322356e6947f23ff41c182f3428588a1c4580548216831790557fc10738345d0becc96a2516faf61fca7c07ceba957591a284fa0f6ce38bf3763380548216831790557fc5eb28954af147fd97e4c27f2ced94cad600806ff5d6271ab90884aea06a497280548216831790557f4ca4971ec65679336e314e61bf5895e6eac432e764b3b2c51bd7d133e1579e8c80548216831790557fbf7afc395dc389460b513a4a09d86789513de8db1c52fe4741e556b64be66c6080548216831790557f7eaff8e5194f9da5e618e870be12a0acd97b2aac4de02f879dbe09bf32adc27180548216831790557f0ed07b31c11563ba6545502d58c6140c742884299cd69fc97246de29051b612480548216831790557faa51448d1ffddf2e84888bc67e8253ee450d29c470f1f59071c502b30ee6603280548216831790557f62304a850517f868ef4bf659a9921253818ef3e98c1c8ffea2149fb521557b2280548216831790557fc3d4aab347108998abe04dd2b1a081d39d891c23ff3edd4d51e2e8c6a7066fc380548216831790557fbe8fc26e65dc02e85fdd5b35dcdb1f591dd7c8e8d78a673b1daaeff7201c1c5580548216831790557f75d2daa5f59db9cdb4828d0474306a0ccf95dbf48f8a95f6479d97e520e262ef80548216831790557fc347f19274121ad2a671209f37a6fc128c3498d04634f7f57c9ddc72dfec67f980548216831790557faad6b65b738ae71197e12baf4b65b3df1e2c06a03f4c4845ee9f3bd91759782d80548216831790557f74739789c29110df9c91ea0a866043d79b5ad0d67ed2af5918a8cc5ca1a7395280548216831790557fab9df4555e168f086f48281805bfa9c70822581eaefa1f96d572114b0e99604c80548216831790557f8deda4c4cef9692e98b65a89947c94357fb0cf4b34211742e338e3e13989824e80548216831790557f8c4ef735a9f38d2fb2cf28e3eda57dda20f7bfc19aab985bc1ec4c0aa0360fc880548216831790557f0664c87806cc1d9ccb738ba5fb678bd085e74cc5cb5487cbb01bf61f4aee8e8280548216831790557f74bfb7ec53e109c7734dc2b76cd73799bdfa0c4923cb84e87b2a77216138c5ff80548216831790557f42d6c777b8132bd9b511b110c150d218ee04f61512d8dd9d8c53245ab4a8cb8980548216831790557fedad64607cdee0fbaa23167c5b5e1540e9dc2ef62f7b87a4bca7547cbba8a82e80548216831790557f0988d1d0b769828c3764f5c56208c8fa6854f1308988e7f1e1fd3f88f246457a80548216831790557ff3479eaaa57bc3872adc3b0cab8d9beae3687147d1932964fee395bf0a515e1e80548216831790557f7ae6940e5090b35019830b072170962d340c83f99e96a24b987e26f8fb882ea180548216831790557f46fee2c8029b62bf3356e6289182153a6101020281b1e773cc6e9076fb02a1bc80548216831790557f9d01bede27cfc19241b7abfa33187c01c4c928844ee4f5880a75ac1e02120a6780548216831790557fa07c69d769f9e06732fa1d94fdc821003d31ceb1f7471de99e1978bea62ecc5f80548216831790557fa4cee660a76805a7875513d40f61aa228a024f4cd0e32d297be25b094999bb3480548216831790557fce45107d5778b0d1813fbe06c78464c39e65fd601e9940c4e03379a4e72831bb80548216831790557f6d89ecea390fc736f17bea87da0282b8a661c040b45b3222d0a4b70288da047c80548216831790557f76b1730c0f1b345a15bea3ade2687dea754556085bade5e64a119063fa1b600d80548216831790557f8948bfc582f10527259b1fb26c88d385013db9c2c6aa8eb39c1e2a094fdedfa780548216831790557fcacf4e6ae9c1551d7362dcf46b832c21849b6601b1d121991f6061033082e96f80548216831790557fe7146a5a7988828ede30be821c7e1d5813f56ab47c149272ce6fc9ed5cc207c280548216831790557feffaf6279bdeff27b6842e26768cbc269a375432cc422b27cab55859fcf43bbd80548216831790557f88ce8e65a9055bb457416f8e7009f65400bc29e0ce764b84a66879225981ce1e80548216831790557f9228b9e893a1ea60a89594c7e8660fc614a1c11bfb4cb12818326719be09d7dd80548216831790557f651357320bba87c43f49acf470089d00f6b224d013359bb042046b2cd1865d6880548216831790557f0c3976447f83e82429fbc239101563a4239d914c83816f6035c262d658b41a5f80548216831790557f42f4249a04d522339bd2eb0523553432a02131d5bd5ca96f551553338ee3bd0a80548216831790557f322d47f1df6ff0c0fe0608778597350e6e5ee86cd861807e8c60098faef4f43580548216831790557f4a1c434eb829844f9d68ece2ff9c36f380a6a6311f5b747a92ff2d76a2d637b480548216831790557f8c1bcef60fc6ba0149a5a51b20ad3b9fbba76c1923cf41f062e3c3ccf9ee4ea180548216831790557f5417674167df38740ee4cb64dfa125cb9080dbafeb3788cdebfbfaf136e16b7880548216831790557f8d09b361ec1a2f7315a10a049367a821154110fab26cd10515040315004ba1f580548216831790557f6d737eb432926608c0d1eb3c27d0a61cc621cfaa5f38764222ced371fc0c20e680548216831790557faf46f4bf3d805461f9205c3d03644d91cf44e4b306cdfba46928759250bee66880548216831790557fdf819d993f4862c973e02a7b5c56d7da050bdf4ee459bac640d27dcae06d91ce80548216831790557f2695a2684a95d01e50237eb78072f779774cad1e6659d0f88f49505610c64d1880548216831790557fc4e3ed5f26413c2ea99fc45d96283010b54f200a627baeb061a44b23b58863e180548216831790557fc8a2a1971886ce82673f17d6cddb5c9a685bc4117692fbb55ea450e44e3621ea80548216831790557e87af97fcb69f8ffcb1a137396bc2067f677cb473b9e92664e33f388954818280548216831790557f76cac818c8f8a485958f054d732586e82302af8d4343fe034d2111b1d7af54e680548216831790557ffd24348da3640a58d6638dd0f24c0daccec26dea10eac969ecc8a7db061ff62480548216831790557f6bbf02d28f95f3c11d1c8206780ac326973489edb08ef40d436bf3f30f37537080548216831790557f8bf2a08599e65d45402a24563df01578286a3150bb97549cae5a9118915ed79f80548216831790557f0d34d881f82d5ae47cfba5b9c21b38d04b80e886923e43f2909ecd6d8d9de0cf80548216831790557f872826454fe63b8110fc750333d63d443aefcd5de094c6542b6fb9f16801466280548216831790557fd2731fa57a753b5f1b99010ee920e9ccc69b3c636d086ee8da1728a59680715d80548216831790557f609b3e41a1bc112981851deb1aea7b1aa4d0204e12f2a566357c51ad6d45128280548216831790557f23c21745768ef9bab110d26690ee46d47b42a12310a0e6c16cd2ed311ee46ce080548216831790557fd7b83539794844e00f1cba1d3b05297e9b262d1bb2fc91ba458d3c75d44ea6ca6000527f3e4df947243bd9feb7418ac35d84718d51ef4ddedcb17d0d448f5c5da2c0f83f8054909116909117905562003503565b815481835581811511620034da57600083815260209020620034da918101908301620034df565b505050565b6200350091905b80821115620034fc5760008155600101620034e6565b5090565b90565b61067280620035136000396000f30060606040526004361061005e5763ffffffff60e060020a600035041663124c32a181146100635780631baeee85146100ab57806360643652146100c1578063694463a2146100ea57806390ae631d146100fd578063e7b4e5ab14610110575b600080fd5b341561006e57600080fd5b61009760043577ffffffffffffffffffffffffffffffffffffffffffffffff1960243516610142565b604051901515815260200160405180910390f35b34156100b657600080fd5b610097600435610334565b34156100cc57600080fd5b6100d4610349565b60405160ff909116815260200160405180910390f35b34156100f557600080fd5b6100d461034f565b341561010857600080fd5b610097610355565b341561011b57600080fd5b6101266004356105d7565b604051600160a060020a03909116815260200160405180910390f35b600032600160a060020a031633600160a060020a03161415151561016557600080fd5b333b801561017257600080fd5b838367ffffffffffffffff780100000000000000000000000000000000000000000000000082048333604051918252600160a060020a03166c010000000000000000000000000260208201526034016040519081900390201867ffffffffffffffff16146101df57600080fd5b600154608090106101ef57600080fd5b600160a060020a03331660009081526003602052604090205460ff161561021557600080fd5b600160a060020a03321660009081526003602052604090205460ff161561023b57600080fd5b856004600082604051908152602001604051908190039020815260208101919091526040016000205460ff16151560011461027557600080fd5b600087815260056020526040902054879060ff161561029357600080fd5b600160a060020a033281166000908152600360209081526040808320805460ff19908116600190811790925533909516845281842080548616821790558c845260059092529091208054909216811790915580548082016102f483826105ff565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191632600160a060020a0316179055506001979650505050505050565b60056020526000908152604090205460ff1681565b60805b90565b60015490565b6000805481908190819060ff16151561036d57600080fd5b626acfc05a1161037c57600080fd5b600154608090101561038d57600080fd5b7397a99c819544ad0617f48379840941efbe1bfae163a7f2f4e23060006040516040015260405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156103ee57600080fd5b6102c65a03f115156103ff57600080fd5b5050506040518051906020018051509093505082151561041e57600080fd5b5060025460ff165b608060ff821610801561043b57506202ab985a115b156105a4577397a99c819544ad0617f48379840941efbe1bfae163aef3bc1760018301600060405160a0015260405160e060020a63ffffffff841602815260ff909116600482015260240160a060405180830381600087803b151561049f57600080fd5b6102c65a03f115156104b057600080fd5b50505060405180519060200180519060200180519060200180519060200180519650505050600160a060020a0384161515915061059c9050577397a99c819544ad0617f48379840941efbe1bfae1600160a060020a0316638c9c297782600101600060018560ff1681548110151561052457fe5b600091825260209091200154600160a060020a031660405160e060020a63ffffffff861602815260ff90931660048401526024830191909152600160a060020a03166044820152606401600060405180830381600087803b151561058757600080fd5b6102c65a03f1151561059857600080fd5b5050505b600101610426565b6002805460ff191660ff838116919091179182905560809116106105cd576000805460ff191690555b6001935050505090565b60018054829081106105e557fe5b600091825260209091200154600160a060020a0316905081565b81548183558181151161062357600083815260209020610623918101908301610628565b505050565b61034c91905b80821115610642576000815560010161062e565b50905600a165627a7a72305820cd67ec0c9810641a6ddf1847f15e7870651bd8f52c8b74cccdc39fe4525bdccc0029

Deployed Bytecode

0x60606040526004361061005e5763ffffffff60e060020a600035041663124c32a181146100635780631baeee85146100ab57806360643652146100c1578063694463a2146100ea57806390ae631d146100fd578063e7b4e5ab14610110575b600080fd5b341561006e57600080fd5b61009760043577ffffffffffffffffffffffffffffffffffffffffffffffff1960243516610142565b604051901515815260200160405180910390f35b34156100b657600080fd5b610097600435610334565b34156100cc57600080fd5b6100d4610349565b60405160ff909116815260200160405180910390f35b34156100f557600080fd5b6100d461034f565b341561010857600080fd5b610097610355565b341561011b57600080fd5b6101266004356105d7565b604051600160a060020a03909116815260200160405180910390f35b600032600160a060020a031633600160a060020a03161415151561016557600080fd5b333b801561017257600080fd5b838367ffffffffffffffff780100000000000000000000000000000000000000000000000082048333604051918252600160a060020a03166c010000000000000000000000000260208201526034016040519081900390201867ffffffffffffffff16146101df57600080fd5b600154608090106101ef57600080fd5b600160a060020a03331660009081526003602052604090205460ff161561021557600080fd5b600160a060020a03321660009081526003602052604090205460ff161561023b57600080fd5b856004600082604051908152602001604051908190039020815260208101919091526040016000205460ff16151560011461027557600080fd5b600087815260056020526040902054879060ff161561029357600080fd5b600160a060020a033281166000908152600360209081526040808320805460ff19908116600190811790925533909516845281842080548616821790558c845260059092529091208054909216811790915580548082016102f483826105ff565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191632600160a060020a0316179055506001979650505050505050565b60056020526000908152604090205460ff1681565b60805b90565b60015490565b6000805481908190819060ff16151561036d57600080fd5b626acfc05a1161037c57600080fd5b600154608090101561038d57600080fd5b7397a99c819544ad0617f48379840941efbe1bfae163a7f2f4e23060006040516040015260405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156103ee57600080fd5b6102c65a03f115156103ff57600080fd5b5050506040518051906020018051509093505082151561041e57600080fd5b5060025460ff165b608060ff821610801561043b57506202ab985a115b156105a4577397a99c819544ad0617f48379840941efbe1bfae163aef3bc1760018301600060405160a0015260405160e060020a63ffffffff841602815260ff909116600482015260240160a060405180830381600087803b151561049f57600080fd5b6102c65a03f115156104b057600080fd5b50505060405180519060200180519060200180519060200180519060200180519650505050600160a060020a0384161515915061059c9050577397a99c819544ad0617f48379840941efbe1bfae1600160a060020a0316638c9c297782600101600060018560ff1681548110151561052457fe5b600091825260209091200154600160a060020a031660405160e060020a63ffffffff861602815260ff90931660048401526024830191909152600160a060020a03166044820152606401600060405180830381600087803b151561058757600080fd5b6102c65a03f1151561059857600080fd5b5050505b600101610426565b6002805460ff191660ff838116919091179182905560809116106105cd576000805460ff191690555b6001935050505090565b60018054829081106105e557fe5b600091825260209091200154600160a060020a0316905081565b81548183558181151161062357600083815260209020610623918101908301610628565b505050565b61034c91905b80821115610642576000815560010161062e565b50905600a165627a7a72305820cd67ec0c9810641a6ddf1847f15e7870651bd8f52c8b74cccdc39fe4525bdccc0029

Swarm Source

bzzr://cd67ec0c9810641a6ddf1847f15e7870651bd8f52c8b74cccdc39fe4525bdccc

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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