Contract 0x0f71B8De197A1C84d31de0F1fA7926c365F052B3 7

Token Contract 
 
 
Txn Hash
Method
Block
From
To
Value
0xb86aa88d342c89a5c9120b2a3c7a62e56b857210393f9ac73b1a2093f01dd113Transfer(pending)2022-12-07 10:06:4953 mins ago0x5552d4bf6497e7e1891eecab9bbc1b06eb3bef31 IN Arcona Technology: ARCONA Token0 Ether(Pending)(Pending)
0xe42175847340e96244111af9d4715ad2a81452ad937c37ee4b7936398e99c849Transfer161316832022-12-07 8:34:592 hrs 25 mins ago0xcc52e4e272fdaa4863ade0aac23d8741ee4e2a07 IN  Arcona Technology: ARCONA Token0 Ether0.00073663 14.16219114
0x4f893b989c2cafd3ef30b50d4f13e9e4666909b5bd2bac4253c743ae2c84c676Transfer161288432022-12-06 22:49:1112 hrs 11 mins agoENS Name grownasskid.eth IN  Arcona Technology: ARCONA Token0 Ether0.00080912 15.55593322
0xf140434e75c7a3c26508abd9245c04254a2af95a22c656171394a7850b54d4f4Approve161281692022-12-06 20:33:4714 hrs 26 mins ago0x38151d6e85377960a62ce18b36f5f9d9fc8717fe IN  Arcona Technology: ARCONA Token0 Ether0.00063525 13.6884187
0x69214bf9a0117623bf4e9e449e99f8b7bd11257b350244adf671dac59dcd6b58Approve161247232022-12-06 9:01:471 day 1 hr ago0x95a9b7c36b2921f7f15a64746f24d0e211702671 IN  Arcona Technology: ARCONA Token0 Ether0.00066545 14.33930061
0x83be411e947545722a95525e49db2acd459353fda865e3bac2e286bdedf4088bApprove161244222022-12-06 8:01:231 day 2 hrs ago0xd0ce021bceff33ca74c7b26a108fbbef75bc060d IN  Arcona Technology: ARCONA Token0 Ether0.0007425216
0x823df1e8d064b56adb8bddeb16e480af91b71886b848236958d9a1d794cf5602Transfer161244072022-12-06 7:58:231 day 3 hrs ago0x72e5263ff33d2494692d7f94a758aa9f82062f73 IN  Arcona Technology: ARCONA Token0 Ether0.0010319426
0x7925ba67290cc3d4450bb67fb91cd2eb09d42cd58fd2cc3e6f759e5ff9b329d1Approve161218102022-12-05 23:17:111 day 11 hrs ago0xe8e480f590d2eaacdf1c249918fa4fea817a691a IN  Arcona Technology: ARCONA Token0 Ether0.00062941 13.56267823
0xa61d7c3cc11c6e55c25862d7277858dbc386405f2e2f045c1d06c3a126532bc7Approve161128622022-12-04 17:14:112 days 17 hrs ago0x6384e1c78cb09983acb49f99b7c35ca7656e93ee IN  Arcona Technology: ARCONA Token0 Ether0.00063442 13.67056098
0x99bce25cc99fa818ecf5ced53f03aba9edf97274a0d8d1e31277156ae713cec9Transfer161116372022-12-04 13:07:352 days 21 hrs ago0xeab84fd942d5ec5c7ee477d520ffcaef155bd7e3 IN  Arcona Technology: ARCONA Token0 Ether0.00074912 14.40232077
0xa0b1a929cfb9c332c47249855f059a292f6fd3e1664477d287688038260e66efTransfer161112422022-12-04 11:47:472 days 23 hrs ago0xe53505f284e842c2b0a266a036f2e5d6a18e9d76 IN  Arcona Technology: ARCONA Token0 Ether0.0006553712.6
0xcadabf67d727dde44e255a3469507e9d6412a32bcfb4343906f2b5797d11cf2aTransfer161070252022-12-03 21:39:233 days 13 hrs ago0x051967b87b94a92b7640a3df465cca99ae2fd38c IN  Arcona Technology: ARCONA Token0 Ether0.00040537 11.60665242
0x5ac9ab4358af1adb724f811414697db982ca3a61a0a75a72701e12cbe26cbe51Transfer161042952022-12-03 12:29:593 days 22 hrs ago0x8f7a01bb9e18821d13245e5c63a43a8aaf81ea03 IN  Arcona Technology: ARCONA Token0 Ether0.0006856 12.07255954
0x02f07f305d71b4436a186dbc880b116c2d54edf33c54754f0bda57144ff28348Approve161042092022-12-03 12:12:353 days 22 hrs ago0xa62bf1e1962758991a947f51bd618fc7e9b5e310 IN  Arcona Technology: ARCONA Token0 Ether0.00047415 10.21703428
0x0848b3cc83e5eb03d83a837fa69d8485a91bd5eaba7e1cec63d4b4db5059554aTransfer161041762022-12-03 12:05:593 days 22 hrs ago0x8f7a01bb9e18821d13245e5c63a43a8aaf81ea03 IN  Arcona Technology: ARCONA Token0 Ether0.00071358 12.56260362
0x6953b620e1e516ca96ae9cf2f2af301a3cb4ecfc1929e122c0df025533499966Transfer160983532022-12-02 16:35:354 days 18 hrs ago0x051967b87b94a92b7640a3df465cca99ae2fd38c IN  Arcona Technology: ARCONA Token0 Ether0.00052484 15.02742769
0x6ea9678d94e3c7100545faee3f3b26f3dc8dd5497e0f41c791963cb42ce9df02Approve160882002022-12-01 6:35:116 days 4 hrs ago0xdb8b95203485c9d09d88d314d5fdfd1eb1595b42 IN  Arcona Technology: ARCONA Token0 Ether0.0004986 10.74405131
0x9585dfe4bdfbd78c849998c225e05efc69ab299631f3a21a1813417c43a3cdacApprove160878172022-12-01 5:18:116 days 5 hrs ago0xbadffcb79efe57e954fd79621b29b0c2dc170171 IN  Arcona Technology: ARCONA Token0 Ether0.00057957 12.48864542
0xb232b095a1e5444f1298ce5beda4089b71605830012e2080efb54b1ef0271a30Transfer160863212022-12-01 0:17:476 days 10 hrs ago0x72e5263ff33d2494692d7f94a758aa9f82062f73 IN  Arcona Technology: ARCONA Token0 Ether0.0013635324
0x95e813ab98878517f885834d365b6417508ac0ea1af0a3dd18ac641887d7a007Transfer160862882022-12-01 0:11:116 days 10 hrs ago0xf71afe21cd32959113fc47ae2ef886b43a9413d5 IN  Arcona Technology: ARCONA Token0 Ether0.0009531324
0xa15430bedc6c04baf2aa898311b7d58e163dd81eeb92d72818e585ea414755cfApprove160731432022-11-29 4:04:478 days 6 hrs ago0x27ec447d57dd9c02a161d07e24e504e0c2d2bf82 IN  Arcona Technology: ARCONA Token0 Ether0.00051966 11.1976672
0x6b666394f6b25579e76ef80bb6ccb10d3c8f7a7dc8ab8dbd59080963f2be53f1Transfer160700322022-11-28 17:38:358 days 17 hrs agoENS Name menaskop.eth IN  Arcona Technology: ARCONA Token0 Ether0.00142534 25.0985084
0x36ae1353a9dff4908f328cfe3cc0bff6b4d1731ad3f82e2c0f116398c1edf586Transfer160700302022-11-28 17:38:118 days 17 hrs agoENS Name menaskop.eth IN  Arcona Technology: ARCONA Token0 Ether0.00144675 25.4755362
0x8e8e090a1ef06d86629fb10bff6023749fdf877bd6a8a942e9e345f6c65153e7Transfer160516732022-11-26 4:08:1111 days 6 hrs ago0x8b1cc055e6dbe8ecef12d7b86c7b04747a1270bd IN  Arcona Technology: ARCONA Token0 Ether0.00051972 9.9919606
0x5055de108450602a0e746d2c040872feac2e4715160021b6473623b4d4172d25Approve160442672022-11-25 3:18:2312 days 7 hrs ago0x1ac408aba5c13f641993562b951941d90b4ea3c3 IN  Arcona Technology: ARCONA Token0 Ether0.00050206 10.81849039
[ Download CSV Export 

OVERVIEW

Arcona - augmented reality layer that unites the virtual and real worlds. Digital Land is the main asset of Arcona ecosystem. You can buy, sell, rent it using ERC20 tokens

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x538c9a24777c2cef9e6fa15effc36396b62a0b7b750fbf8106aefc0d943e5c8c59674972018-07-15 7:42:491606 days 3 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0x603ed7676ad2ab8a3e1aca941daa14e12c34ed7c9df8b352a0759483d487beb559662432018-07-15 2:37:281606 days 8 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.1 Ether
0x9b6e6ae34e2d28e39443d7a48e1cbe2e2c8da5908d2e5ad8cd2377eddd2fbc8c59660722018-07-15 1:56:521606 days 9 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0x85bdbf3c85b8ba6aaa5a19c3a8f80d92196d34d613e40973d3666c397a343f9b59656812018-07-15 0:25:261606 days 10 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.8 Ether
0x6639b38c515146d582340426e466d17f643073f6cc69e345baabb3bba4f760be59650822018-07-14 21:50:041606 days 13 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad930 Ether
0xb23f184367f7504469191cd514fb45c8249008d048dcdd34a18ee2176f49372e59649242018-07-14 21:15:381606 days 13 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0xfeec3468a4772748fbef80585acd493060d958d827abc1465a85fbd92539095359641432018-07-14 18:06:161606 days 16 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0xf36d05738c42597ca690d26546fece195143464e0096b6673b6db6821add66e659639172018-07-14 17:06:091606 days 17 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.06 Ether
0x8e5c97ae3ef219e937c656c834ecdce9464fd32ec259664f74c28f292bc9c79359638482018-07-14 16:47:081606 days 18 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.09 Ether
0x6bd8c2d5b52f7d2711af6a3a99db1665c3024f97710158807bc4635f54e36fa759638282018-07-14 16:42:321606 days 18 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.37 Ether
0xbf8a31ed936c7d04795d7cafb678139b155f25346f5f9e5a8d4bac4e12f25e6859634412018-07-14 15:12:331606 days 19 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.1 Ether
0x645e4d78f8e6e80ae21c70514b41df85c19ba56146101b3d819f1fce72921bfc59617182018-07-14 8:23:091607 days 2 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad950 Ether
0x150754b5d6d179e3996617f74da556b8f2d3787934574913e5e15f0dab45a28459592572018-07-13 22:43:461607 days 12 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0x0a244c43af82bd234d04bab9c62f0910968a5a70738578361a3f5002e8362c6259582912018-07-13 18:51:271607 days 16 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.04 Ether
0x1f691c10556526e49f47428718c519a140bfc7c3904f145baf754d8c02adad1b59582522018-07-13 18:40:401607 days 16 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad919 Ether
0x788e7a813cddb93e70333b519729ed069ef5eac061880961bdfb84df48ddb1fc59576392018-07-13 16:14:331607 days 18 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad9131.31313131 Ether
0x43d71dc560bc5d377515652643cb147812c156c771acd96929b144fe0ecbf07e59573632018-07-13 15:04:571607 days 19 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0xa08d89376326ce81fe654fd8cc61b9d184c4f152d4e6dd0077b36cd45666e49c59573222018-07-13 14:51:591607 days 20 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.05 Ether
0xf87d6314d6b77b3d2b53bf15e5151a68033b7cdac68e83afa7a5f0a48eb02bd459565972018-07-13 11:57:201607 days 23 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0x147f83b274f979184834ef4d43ba6939d31596f47b88a1f64acf8913a93997b759558192018-07-13 8:50:311608 days 2 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0x23f4f544d51538329fbf062ad93edacde6094f89ee04d838be6ef674efec520559553702018-07-13 7:08:121608 days 3 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.03 Ether
0x4bf63de3216b03641d9576e1fa6abcf34e0b6760732c23e0fad72e8fab39c28259543202018-07-13 2:49:411608 days 8 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.075 Ether
0x68fc41095fd7a836b001e8fa0e37aa87d31593ef925e6cc0a62b97fc48af84cd59532162018-07-12 22:19:071608 days 12 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.06 Ether
0xd8f8b4de6a0703fdcef637f6e8c4ad537435206d6db719ad0382e5807d7ad07159527982018-07-12 20:42:131608 days 14 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
0x63ccc42965e9e68c9c0a8fe53125045018eae061257fc04e25aa21e3ae951d4859517432018-07-12 16:26:011608 days 18 hrs ago Arcona Technology: ARCONA Token0xfac6e76ed94ff2afa922124240fc696ebc518ad90.025 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ArconaToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-11
*/

pragma solidity ^0.4.21;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

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


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public constant returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, require mintingFinished before start transfers
 */
contract BasicToken is ERC20Basic {
    
  using SafeMath for uint256;

  mapping(address => uint256) balances;
  bool public mintingFinished = false;

  mapping(address => uint256) releaseTime;
  // Only after finishMinting and checks for bounty accounts time restrictions
  modifier timeAllowed() {
    require(mintingFinished);
    require(releaseTime[msg.sender] == 0 || now > releaseTime[msg.sender]); //finishSale + releasedays * 1 days
    _;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public timeAllowed returns (bool) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of. 
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public constant returns (uint256 balance) {
    return balances[_owner];
  }

  // release time of freezed account
  function checkReleaseAt(address _owner) public constant returns (uint256 date) {
    return releaseTime[_owner];
  }

  // change restricted releaseXX account
  function changeReleaseAccount(address _owner, address _newowner) internal returns (bool) {
    require(balances[_newowner] == 0);
    require(releaseTime[_owner] != 0 );
    require(releaseTime[_newowner] == 0 );
    balances[_newowner] = balances[_owner];
    releaseTime[_newowner] = releaseTime[_owner];
    balances[_owner] = 0;
    releaseTime[_owner] = 0;
    return true;
  }

  // release Customer's account after KYC
  function releaseAccount(address _owner) internal returns (bool) {
    releaseTime[_owner] = now;
    return true;
  }

}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal allowed;


  /**
   * @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 to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(mintingFinished);
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * 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
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}
/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    
  address public owner;

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    owner = newOwner;
  }

}

/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120
 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */

contract MintableToken is StandardToken, Ownable {

  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will recieve the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @param _releaseTime The (optional) freeze time - KYC & bounty accounts.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount, uint256 _releaseTime) internal canMint returns (bool) {
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    if ( _releaseTime > 0 ) {
        releaseTime[_to] = _releaseTime;
    }
    emit Transfer(0x0, _to, _amount);
    return true;
  }

  // drain tokens
  function unMint(address _from) internal returns (bool) {
    totalSupply = totalSupply.sub(balances[_from]);
    emit Transfer(_from, 0x0, balances[_from]);
    balances[_from] = 0;
    return true;
  }
 
}
  
   
contract ArconaToken is MintableToken {

    string public constant name = "Arcona Distribution Contract";
    string public constant symbol = "ARCONA";
    uint8 public constant decimals = 18;
   
    using SafeMath for uint;
    
    address public multisig;
    address public restricted;
    address public registerbot;
    address public certbot;
    address public release6m;
    address public release12m;
    address public release18m;

    mapping (address => bool) registered;
    mapping (address => address) referral;
    mapping (string => address) certificate;

    uint restrictedPercent = 40;
    uint refererPercent = 55; // 5.5%
    uint first24Percent = 50; // 50%
    uint auctionPercent = 5; // 5%
    uint bonusPeriod = 21; // 21 days (20 + 1st day whitelist sale)

    uint public startSale;
    uint public finishSale;
    bool public isGlobalPause=false;
    uint public minTokenSale = 10*10**18; // min 10 tokens
    uint public totalWeiSale = 2746*10**18; // softcap reached on preICO:  0x516130856e743090af9d7fd95d6fc94c8743a4e1
    bool public isFinished=false;

    uint public startAuction;
    uint public finishAuction;
    uint public hardcap = 25*10**6; // USD
    uint public rateSale = 400*10**18; // 1ETH = 400 ARN
    uint public rateUSD = 500; // ETH Course in USD

    // constructor
    function ArconaToken(uint256 _startSale,uint256 _finishSale,address _multisig,address _restricted,address _registerbot,address _certbot, address _release6m, address _release12m, address _release18m) public  {
        multisig = _multisig;
        restricted = _restricted;
        registerbot = _registerbot;
        certbot = _certbot;
        release6m = _release6m;
        release12m = _release12m;
        release18m = _release18m;
        startSale = _startSale;
        finishSale = _finishSale;
    }

    modifier isRegistered() {
        require (registered[msg.sender]);
        _;
    }

    modifier anySaleIsOn() {
        require(now > startSale && now < finishSale && !isGlobalPause);
        _;
    }

    modifier isUnderHardCap() {
        uint totalUsdSale = rateUSD.mul(totalWeiSale).div(1 ether);
        require(totalUsdSale <= hardcap);
        _;
    }

    function changefirst24Percent(uint _percent) public onlyOwner {
        first24Percent = _percent;
    }

    function changeCourse(uint _usd) public onlyOwner {
        rateUSD = _usd;
    }

    function changeMultisig(address _new) public onlyOwner {
        multisig = _new;
    }

    function changeRegisterBot(address _new) public onlyOwner {
        registerbot = _new;
    }

    function changeCertBot(address _new) public onlyOwner {
        certbot = _new;
    }

    function changeRestricted(address _new) public onlyOwner {
        if (isFinished) {
            changeReleaseAccount(restricted,_new);
        }
        restricted = _new;
    }

    function proceedKYC(address _customer) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_customer != address(0));
       releaseAccount(_customer);
    }

    function changeRelease6m(address _new) public onlyOwner {
        if (isFinished) {
            changeReleaseAccount(release6m,_new);
        }
        release6m = _new;
    }

    function changeRelease12m(address _new) public onlyOwner {
        if (isFinished) {
            changeReleaseAccount(release12m,_new);
        }
        release12m = _new;
    }

    function changeRelease18m(address _new) public onlyOwner {
        if (isFinished) {
            changeReleaseAccount(release18m,_new);
        }
        release18m = _new;
    }

    function addCertificate(string _id,  address _owner) public {
        require(msg.sender == certbot || msg.sender == owner);
        require(certificate[_id] == address(0));
        if (_owner != address(0)) {
            certificate[_id] = _owner;
        } else {
            certificate[_id] = owner;
        }    
    }

    function editCertificate(string _id,  address _newowner) public {
        require(certificate[_id] != address(0));
        require(msg.sender == certificate[_id] || msg.sender == certbot || msg.sender == owner );
        certificate[_id] = _newowner;
    }

    function checkCertificate(string _id) public view returns (address) {
        return certificate[_id];
    }

    function deleteCertificate(string _id) public  {
        require(msg.sender == certbot || msg.sender == owner);
        delete certificate[_id];
    }

    function registerCustomer(address _customer, address _referral) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_customer != address(0));
        registered[_customer] = true;
        if (_referral != address(0) && _referral != _customer) {
            referral[_customer] = _referral;
        }
    }

    function checkCustomer(address _customer) public view returns (bool, address) {
        return ( registered[_customer], referral[_customer]);
    }

    // import preICO customers from 0x516130856e743090af9d7fd95d6fc94c8743a4e1
    function importCustomer(address _customer, address _referral, uint _tokenAmount) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_customer != address(0));
        require(now < startSale); // before ICO starts
        registered[_customer] = true;
        if (_referral != address(0) && _referral != _customer) {
            referral[_customer] = _referral;
        }
        mint(_customer, _tokenAmount, now + 99 * 1 years); // till KYC is completed
    }

    function deleteCustomer(address _customer) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_customer!= address(0));
        delete registered[_customer];
        delete referral[_customer];
        // Drain tokens
        unMint(_customer);
    }

    function globalPause(bool _state) public onlyOwner {
        isGlobalPause = _state;
    }

    function changeRateSale(uint _tokenAmount) public onlyOwner {
        require(isGlobalPause || (now > startSale && now < finishSale));
        rateSale = _tokenAmount;
    }

    function changeStartSale(uint256 _ts) public onlyOwner {
        startSale = _ts;
    }

    function changeMinTokenSale(uint256 _ts) public onlyOwner {
        minTokenSale = _ts;
    }

    function changeFinishSale(uint256 _ts) public onlyOwner {
        finishSale = _ts;
    }

    function setAuction(uint256 _startAuction, uint256 _finishAuction, uint256 _auctionPercent) public onlyOwner {
        require(_startAuction < _finishAuction);
        require(_auctionPercent > 0);
        require(_startAuction > startSale);
        require(_finishAuction <= finishSale);
        finishAuction = _finishAuction;
        startAuction = _startAuction;
        auctionPercent = _auctionPercent;
    }

    function finishMinting() public onlyOwner {
        require(!isFinished);
        isFinished=true;
        uint issuedTokenSupply = totalSupply;
        // 40% restricted + 60% issuedTokenSupply = 100%
        uint restrictedTokens = issuedTokenSupply.mul(restrictedPercent).div(100 - restrictedPercent);
        issuedTokenSupply = issuedTokenSupply.add(restrictedTokens);
        // 13% - 11% for any purpose and 2% bounty
        mint(restricted, issuedTokenSupply.mul(13).div(100), now);
        // 27% - freezed founds to team & adwisers
        mint(release6m, issuedTokenSupply.mul(85).div(1000), now + 180 * 1 days); // 8.5 %
        mint(release12m, issuedTokenSupply.mul(85).div(1000), now + 365 * 1 days); // 8.5 %
        mint(release18m, issuedTokenSupply.mul(10).div(100), now + 545 * 1 days); // 10 %
        mintingFinished=true;
    }

    function foreignBuyTest(uint256 _weiAmount, uint256 _rate) public pure returns (uint tokenAmount) {
        require(_weiAmount > 0);
        require(_rate > 0);
        return _rate.mul(_weiAmount).div(1 ether);
    }
    
    // BTC external payments
    function foreignBuy(address _holder, uint256 _weiAmount, uint256 _rate) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_weiAmount > 0);
        require(_rate > 0);
        registered[_holder] = true;
        uint tokens = _rate.mul(_weiAmount).div(1 ether);
        mint(_holder, tokens, now + 99 * 1 years); // till KYC is completed
        totalWeiSale = totalWeiSale.add(_weiAmount);
    }

    function createTokens() public isRegistered anySaleIsOn isUnderHardCap payable {
        uint tokens = rateSale.mul(msg.value).div(1 ether);
        require(tokens >= minTokenSale); // min 10 tokens
        multisig.transfer(msg.value);
        uint percent = 0;
        uint bonusTokens = 0;
        uint finishBonus = startSale + (bonusPeriod * 1 days);
        if ( now < finishBonus ) {
            if ( now <= startSale + 1 days ) {
                percent = first24Percent;   // 1st day: 50% (for registered whitelist only)
           } else {        // 25% total:
               percent = (finishBonus - now).div(1 days); // last 15days -1% every day
               if ( percent >= 15 ) {  //  first 5days, -1% every 12h
                  percent = 27 - (now - startSale).div(1 hours).div(12);
               } else {
                  percent = percent.add(1);
               }				
          }
        } else {
            if ( now >= startAuction && now < finishAuction ) {
                percent = auctionPercent;
            }
        }
        if ( percent > 0 ) {
            bonusTokens = tokens.mul(percent).div(100);
            tokens = tokens.add(bonusTokens);
        }

        totalWeiSale = totalWeiSale.add(msg.value);
        mint(msg.sender, tokens, now + 99 * 1 years); // till KYC is completed

        if ( referral[msg.sender] != address(0) ) {
            uint refererTokens = tokens.mul(refererPercent).div(1000);
            mint(referral[msg.sender], refererTokens, now + 99 * 1 years);
        }
    }

    function() external isRegistered anySaleIsOn isUnderHardCap payable {
        createTokens();
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_usd","type":"uint256"}],"name":"changeCourse","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_customer","type":"address"},{"name":"_referral","type":"address"},{"name":"_tokenAmount","type":"uint256"}],"name":"importCustomer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"string"},{"name":"_owner","type":"address"}],"name":"addCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_customer","type":"address"}],"name":"deleteCustomer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"release18m","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeMultisig","outputs":[],"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":"release12m","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"finishAuction","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ts","type":"uint256"}],"name":"changeMinTokenSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"multisig","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ts","type":"uint256"}],"name":"changeStartSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"},{"name":"_weiAmount","type":"uint256"},{"name":"_rate","type":"uint256"}],"name":"foreignBuy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minTokenSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ts","type":"uint256"}],"name":"changeFinishSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rateSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"release6m","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startAuction","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_startAuction","type":"uint256"},{"name":"_finishAuction","type":"uint256"},{"name":"_auctionPercent","type":"uint256"}],"name":"setAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"restricted","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAmount","type":"uint256"}],"name":"changeRateSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_customer","type":"address"}],"name":"proceedKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"string"},{"name":"_newowner","type":"address"}],"name":"editCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRelease12m","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_weiAmount","type":"uint256"},{"name":"_rate","type":"uint256"}],"name":"foreignBuyTest","outputs":[{"name":"tokenAmount","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"string"}],"name":"deleteCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_state","type":"bool"}],"name":"globalPause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"checkReleaseAt","outputs":[{"name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"registerbot","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"finishSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customer","type":"address"}],"name":"checkCustomer","outputs":[{"name":"","type":"bool"},{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"certbot","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRegisterBot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRelease18m","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardcap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"createTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"startSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_customer","type":"address"},{"name":"_referral","type":"address"}],"name":"registerCustomer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalWeiSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_percent","type":"uint256"}],"name":"changefirst24Percent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeCertBot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[],"name":"isGlobalPause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rateUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRelease6m","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRestricted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"string"}],"name":"checkCertificate","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_startSale","type":"uint256"},{"name":"_finishSale","type":"uint256"},{"name":"_multisig","type":"address"},{"name":"_restricted","type":"address"},{"name":"_registerbot","type":"address"},{"name":"_certbot","type":"address"},{"name":"_release6m","type":"address"},{"name":"_release12m","type":"address"},{"name":"_release18m","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"},{"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"}]

60606040526000600260006101000a81548160ff021916908315150217905550602860105560376011556032601255600560135560156014556000601760006101000a81548160ff021916908315150217905550678ac7230489e800006018556894dc67c31186a800006019556000601a60006101000a81548160ff02191690831515021790555063017d7840601d556815af1d78b58c400000601e556101f4601f5534156100ad57600080fd5b60405161012080614e788339810160405280805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508860158190555087601681905550505050505050505050614b38806103406000396000f3006060604052600436106102d5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063011b29e3146103b457806305d2035b146103d757806306fdde0314610404578063095ea7b3146104925780630d78bc17146104ec5780630fe8c7881461054d57806311c9ccf6146105c957806318160ddd146106025780631b7d5f8c1461062b5780632268a3581461068057806323b872dd146106b95780632f0989ec14610732578063313ce56714610787578063430ca46f146107b65780634386fe0d146107df5780634783c35b146108025780634a58c409146108575780634d23aaa81461087a5780634d3b915e146108c557806356216916146108ee5780636585501014610911578063661884631461093a5780636b475df7146109945780636b64c769146109e95780636d56d9f414610a125780637072c6b114610a4757806370a0823114610a9c57806372fd1a7c14610ae95780637470312314610b0c578063776b37e214610b455780637b35296214610bc15780637b424c0d14610bee5780637d64bcb414610c275780637e4a82b114610c3c57806381f6bf7d14610c7c57806387c1be6e14610cd95780638c8ee49014610cfe5780638da5cb5b14610d4b5780638f7ba0a114610da05780638f86f5ea14610df557806395d89b4114610e1e578063a197c04214610eac578063a75261f214610f30578063a9059cbb14610f85578063ac7cda5314610fdf578063accfa48b14611018578063b071cbe614611051578063b44272631461107a578063b66a0e5d14611084578063b763150d146110ad578063b83a4da914611105578063bf30d9431461112e578063d346feb814611151578063d73dd6231461118a578063dd62ed3e146111e4578063e056c1eb14611250578063f2fde38b1461127d578063f853ee49146112b6578063fc385d51146112df578063fd93bdb114611318578063ffbd4dd514611351575b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561032d57600080fd5b6015544211801561033f575060165442105b80156103585750601760009054906101000a900460ff16155b151561036357600080fd5b6000610396670de0b6b3a7640000610388601954601f546113ee90919063ffffffff16565b61142190919063ffffffff16565b9050601d5481111515156103a957600080fd5b6103b161143c565b50005b34156103bf57600080fd5b6103d56004808035906020019091905050611838565b005b34156103e257600080fd5b6103ea61189e565b604051808215151515815260200191505060405180910390f35b341561040f57600080fd5b6104176118b1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561045757808201518184015260208101905061043c565b50505050905090810190601f1680156104845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049d57600080fd5b6104d2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506118ea565b604051808215151515815260200191505060405180910390f35b34156104f757600080fd5b61054b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119dc565b005b341561055857600080fd5b6105c7600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c38565b005b34156105d457600080fd5b610600600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f68565b005b341561060d57600080fd5b610615612116565b6040518082815260200191505060405180910390f35b341561063657600080fd5b61063e61211c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561068b57600080fd5b6106b7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612142565b005b34156106c457600080fd5b610718600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121e2565b604051808215151515815260200191505060405180910390f35b341561073d57600080fd5b6107456125bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561079257600080fd5b61079a6125e3565b604051808260ff1660ff16815260200191505060405180910390f35b34156107c157600080fd5b6107c96125e8565b6040518082815260200191505060405180910390f35b34156107ea57600080fd5b61080060048080359060200190919050506125ee565b005b341561080d57600080fd5b610815612654565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561086257600080fd5b610878600480803590602001909190505061267a565b005b341561088557600080fd5b6108c3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190919050506126e0565b005b34156108d057600080fd5b6108d861286e565b6040518082815260200191505060405180910390f35b34156108f957600080fd5b61090f6004808035906020019091905050612874565b005b341561091c57600080fd5b6109246128da565b6040518082815260200191505060405180910390f35b341561094557600080fd5b61097a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506128e0565b604051808215151515815260200191505060405180910390f35b341561099f57600080fd5b6109a7612b71565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109f457600080fd5b6109fc612b97565b6040518082815260200191505060405180910390f35b3415610a1d57600080fd5b610a456004808035906020019091908035906020019091908035906020019091905050612b9d565b005b3415610a5257600080fd5b610a5a612c51565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610aa757600080fd5b610ad3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612c77565b6040518082815260200191505060405180910390f35b3415610af457600080fd5b610b0a6004808035906020019091905050612cc0565b005b3415610b1757600080fd5b610b43600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612d5a565b005b3415610b5057600080fd5b610bbf600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612e57565b005b3415610bcc57600080fd5b610bd4613141565b604051808215151515815260200191505060405180910390f35b3415610bf957600080fd5b610c25600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613154565b005b3415610c3257600080fd5b610c3a613237565b005b3415610c4757600080fd5b610c666004808035906020019091908035906020019091905050613497565b6040518082815260200191505060405180910390f35b3415610c8757600080fd5b610cd7600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506134eb565b005b3415610ce457600080fd5b610cfc60048080351515906020019091905050613630565b005b3415610d0957600080fd5b610d35600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506136a9565b6040518082815260200191505060405180910390f35b3415610d5657600080fd5b610d5e6136f2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610dab57600080fd5b610db3613718565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610e0057600080fd5b610e0861373e565b6040518082815260200191505060405180910390f35b3415610e2957600080fd5b610e31613744565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e71578082015181840152602081019050610e56565b50505050905090810190601f168015610e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610eb757600080fd5b610ee3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061377d565b60405180831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b3415610f3b57600080fd5b610f43613836565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610f9057600080fd5b610fc5600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061385c565b604051808215151515815260200191505060405180910390f35b3415610fea57600080fd5b611016600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613aa9565b005b341561102357600080fd5b61104f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613b49565b005b341561105c57600080fd5b611064613c2c565b6040518082815260200191505060405180910390f35b61108261143c565b005b341561108f57600080fd5b611097613c32565b6040518082815260200191505060405180910390f35b34156110b857600080fd5b611103600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613c38565b005b341561111057600080fd5b611118613e71565b6040518082815260200191505060405180910390f35b341561113957600080fd5b61114f6004808035906020019091905050613e77565b005b341561115c57600080fd5b611188600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613edd565b005b341561119557600080fd5b6111ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613f7d565b604051808215151515815260200191505060405180910390f35b34156111ef57600080fd5b61123a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614179565b6040518082815260200191505060405180910390f35b341561125b57600080fd5b611263614200565b604051808215151515815260200191505060405180910390f35b341561128857600080fd5b6112b4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614213565b005b34156112c157600080fd5b6112c96142ef565b6040518082815260200191505060405180910390f35b34156112ea57600080fd5b611316600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506142f5565b005b341561132357600080fd5b61134f600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506143d8565b005b341561135c57600080fd5b6113ac600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506144bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000808284029050600084148061140f575082848281151561140c57fe5b04145b151561141757fe5b8091505092915050565b600080828481151561142f57fe5b0490508091505092915050565b6000806000806000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561149c57600080fd5b601554421180156114ae575060165442105b80156114c75750601760009054906101000a900460ff16155b15156114d257600080fd5b6000611505670de0b6b3a76400006114f7601954601f546113ee90919063ffffffff16565b61142190919063ffffffff16565b9050601d54811115151561151857600080fd5b611547670de0b6b3a764000061153934601e546113ee90919063ffffffff16565b61142190919063ffffffff16565b9550601854861015151561155a57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156115bc57600080fd5b600094506000935062015180601454026015540192508242101561166b576201518060155401421115156115f4576012549450611666565b61160c6201518042850361142190919063ffffffff16565b9450600f8510151561164e57611644600c611636610e10601554420361142190919063ffffffff16565b61142190919063ffffffff16565b601b039450611665565b61166260018661455090919063ffffffff16565b94505b5b61168a565b601b54421015801561167e5750601c5442105b156116895760135494505b5b60008511156116d1576116b960646116ab87896113ee90919063ffffffff16565b61142190919063ffffffff16565b93506116ce848761455090919063ffffffff16565b95505b6116e63460195461455090919063ffffffff16565b6019819055506116fd338763ba16ea80420161456e565b50600073ffffffffffffffffffffffffffffffffffffffff16600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611830576117bc6103e86117ae601154896113ee90919063ffffffff16565b61142190919063ffffffff16565b915061182e600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168363ba16ea80420161456e565b505b505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189457600080fd5b80601f8190555050565b600260009054906101000a900460ff1681565b6040805190810160405280601c81526020017f4172636f6e6120446973747269627574696f6e20436f6e74726163740000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a855750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611a9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611acc57600080fd5b60155442101515611adc57600080fd5b6001600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611b9d57508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c215781600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b611c32838263ba16ea80420161456e565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ce15750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611cec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600f836040518082805190602001908083835b602083101515611d3c5780518252602082019150602081019050602083039250611d17565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611db257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611e975780600f836040518082805190602001908083835b602083101515611e215780518252602082019150602081019050602083039250611dfc565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f64565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f836040518082805190602001908083835b602083101515611ef25780518252602082019150602081019050602083039250611ecd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120115750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561201c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561205857600080fd5b600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055612112816146e5565b5050565b60005481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561219e57600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900460ff1615156121ff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561223b57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561228957600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561231457600080fd5b61236682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461481e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123fb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461455090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124cd82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461481e90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b601c5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561264a57600080fd5b8060188190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126d657600080fd5b8060158190555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061278b5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561279657600080fd5b6000831115156127a557600080fd5b6000821115156127b457600080fd5b6001600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612839670de0b6b3a764000061282b85856113ee90919063ffffffff16565b61142190919063ffffffff16565b905061284c848263ba16ea80420161456e565b506128628360195461455090919063ffffffff16565b60198190555050505050565b60185481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128d057600080fd5b8060168190555050565b601e5481565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156129f1576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a85565b612a04838261481e90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bf957600080fd5b8183101515612c0757600080fd5b600081111515612c1657600080fd5b60155483111515612c2657600080fd5b6016548211151515612c3757600080fd5b81601c8190555082601b8190555080601381905550505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612d1c57600080fd5b601760009054906101000a900460ff1680612d45575060155442118015612d44575060165442105b5b1515612d5057600080fd5b80601e8190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612e035750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612e0e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612e4a57600080fd5b612e5381614837565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600f836040518082805190602001908083835b602083101515612ea75780518252602082019150602081019050602083039250612e82565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515612f1e57600080fd5b600f826040518082805190602001908083835b602083101515612f565780518252602082019150602081019050602083039250612f31565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806130305750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806130885750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561309357600080fd5b80600f836040518082805190602001908083835b6020831015156130cc57805182526020820191506020810190506020830392506130a7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601a60009054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131b057600080fd5b601a60009054906101000a900460ff16156131f3576131f1600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682614886565b505b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561329657600080fd5b601a60009054906101000a900460ff161515156132b257600080fd5b6001601a60006101000a81548160ff02191690831515021790555060005491506132fe6010546064036132f0601054856113ee90919063ffffffff16565b61142190919063ffffffff16565b9050613313818361455090919063ffffffff16565b9150613368600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166133626064613354600d876113ee90919063ffffffff16565b61142190919063ffffffff16565b4261456e565b506133c2600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166133b76103e86133a96055876113ee90919063ffffffff16565b61142190919063ffffffff16565b62ed4e00420161456e565b5061341d600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166134116103e86134036055876113ee90919063ffffffff16565b61142190919063ffffffff16565b6301e13380420161456e565b50613477600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661346b606461345d600a876113ee90919063ffffffff16565b61142190919063ffffffff16565b6302ce8180420161456e565b506001600260006101000a81548160ff0219169083151502179055505050565b600080831115156134a757600080fd5b6000821115156134b657600080fd5b6134e3670de0b6b3a76400006134d585856113ee90919063ffffffff16565b61142190919063ffffffff16565b905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806135945750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561359f57600080fd5b600f816040518082805190602001908083835b6020831015156135d757805182526020820191506020810190506020830392506135b2565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561368c57600080fd5b80601760006101000a81548160ff02191690831515021790555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60165481565b6040805190810160405280600681526020017f4152434f4e41000000000000000000000000000000000000000000000000000081525081565b600080600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509150915091565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900460ff16151561387957600080fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414806139055750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442115b151561391057600080fd5b61396282600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461481e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139f782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461455090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613b0557600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613ba557600080fd5b601a60009054906101000a900460ff1615613be857613be6600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682614886565b505b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601d5481565b60155481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613ce15750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613cec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613d2857600080fd5b6001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613de957508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15613e6d5780600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b60195481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613ed357600080fd5b8060128190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613f3957600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061400e82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461455090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601760009054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561426f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156142ab57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601f5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561435157600080fd5b601a60009054906101000a900460ff161561439457614392600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682614886565b505b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561443457600080fd5b601a60009054906101000a900460ff161561447757614475600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682614886565b505b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600f826040518082805190602001908083835b6020831015156144f557805182526020820191506020810190506020830392506144d0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080828401905083811015151561456457fe5b8091505092915050565b6000600260009054906101000a900460ff1615151561458c57600080fd5b6145a18360005461455090919063ffffffff16565b6000819055506145f983600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461455090919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082111561468a5781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b600061473b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460005461481e90919063ffffffff16565b60008190555060008273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600082821115151561482c57fe5b818303905092915050565b600042600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156148d557600080fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415151561492457600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414151561497257600080fd5b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050929150505600a165627a7a7230582033bdba5ca54cf481290957ae04c9c23d43b4b2af638b3f908bc3af10616547220029000000000000000000000000000000000000000000000000000000005ad1c310000000000000000000000000000000000000000000000000000000005afaa190000000000000000000000000fac6e76ed94ff2afa922124240fc696ebc518ad90000000000000000000000000afc517f9c629fb4c8082876d7e17b68da35859300000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb94000000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb9400000000000000000000000004d7cc6b188231ab3a76ac0d7a9db02ad40bb15370000000000000000000000000c8e784c46b299a6d196a24a5035e4e37a9655e9000000000000000000000000de0b45e898ac123b8667cd497e58095808af1ef3

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

000000000000000000000000000000000000000000000000000000005ad1c310000000000000000000000000000000000000000000000000000000005afaa190000000000000000000000000fac6e76ed94ff2afa922124240fc696ebc518ad90000000000000000000000000afc517f9c629fb4c8082876d7e17b68da35859300000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb94000000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb9400000000000000000000000004d7cc6b188231ab3a76ac0d7a9db02ad40bb15370000000000000000000000000c8e784c46b299a6d196a24a5035e4e37a9655e9000000000000000000000000de0b45e898ac123b8667cd497e58095808af1ef3

-----Decoded View---------------
Arg [0] : _startSale (uint256): 1523696400
Arg [1] : _finishSale (uint256): 1526374800
Arg [2] : _multisig (address): 0xFaC6e76ED94Ff2AfA922124240FC696EbC518ad9
Arg [3] : _restricted (address): 0x0aFC517F9C629FB4c8082876D7e17b68Da358593
Arg [4] : _registerbot (address): 0x22599536e962e7Cb54728F2E2d8b774872cDb940
Arg [5] : _certbot (address): 0x22599536e962e7Cb54728F2E2d8b774872cDb940
Arg [6] : _release6m (address): 0x4D7cc6B188231Ab3a76aC0D7A9Db02AD40Bb1537
Arg [7] : _release12m (address): 0x0C8E784c46B299A6D196A24a5035e4E37a9655E9
Arg [8] : _release18m (address): 0xde0b45E898Ac123b8667CD497e58095808aF1ef3

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005ad1c310
Arg [1] : 000000000000000000000000000000000000000000000000000000005afaa190
Arg [2] : 000000000000000000000000fac6e76ed94ff2afa922124240fc696ebc518ad9
Arg [3] : 0000000000000000000000000afc517f9c629fb4c8082876d7e17b68da358593
Arg [4] : 00000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb940
Arg [5] : 00000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb940
Arg [6] : 0000000000000000000000004d7cc6b188231ab3a76ac0d7a9db02ad40bb1537
Arg [7] : 0000000000000000000000000c8e784c46b299a6d196a24a5035e4e37a9655e9
Arg [8] : 000000000000000000000000de0b45e898ac123b8667cd497e58095808af1ef3


Swarm Source

bzzr://33bdba5ca54cf481290957ae04c9c23d43b4b2af638b3f908bc3af1061654722
Block Transaction Difficulty Gas Used Reward
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.

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.