Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 18658 txns
Token Tracker: Skorch Token (SKO)
 Latest 25 txns From a total of 18658 Transactions

TxHash Age From To Value [TxFee]
0xc27f72be7347ed4c0fcb49172f830baa0363a7f5c86ccf05fd491f2f58e42c4859 days 6 hrs ago0x04f72aa695b65a54d79db635005077293d111635  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000948248
0x8c7d7404d981cfa61fb15c637236f1dcb6e8340340ab0e18304bec7cda33374294 days 3 hrs ago0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000051748
0xa94a0657c2cd22216c59afd5d07490fb932624c627c05e90bb0e192af4e550ae99 days 23 hrs ago0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00005162
0xdf1408874b91bb043d5c792cb6c45d6a9195310fab824f88199ea0a80c0e890c102 days 5 hrs ago0x25437b6a20021ea94d549ddd50403994e532e9d7  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00007743
0x030c3f8d6771c2bc22d36269089569a24aed71eb470eb1ca835a9b0572a67adb102 days 14 hrs ago0x5c4b4b03a28c91092a24f301637ab0b0b5b572ec  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00132073
0x930919d077dfb83c267b87207515066b007d100471455e6c452356e5b0ee8bcd107 days 2 hrs ago0xc0a2002e74b3b22e77098cb87232f446d813ce31  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.002690913
0xcd1e755888cd854223a00edd8fc9376771070177c21efe73a6b948bf610298ca107 days 9 hrs ago0x674194d05bfc9a176a5b84711c8687609ff3d17b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000565728
0xab059bed9623737e5a7b46c355ea988c21872af04b3222a60047af430210ff87110 days 3 hrs ago0x93da7b2830e3932d906749e67a7ce1fbf3a5366d  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000154476
0xc53fa21e59656eac55a9c841b851c6f086e15e24ac4278acd7cd76868a0af58f110 days 5 hrs ago0x9834977aa420b078b8fd47c73a9520f968d66a3a  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000906336
0x91b838d0260f29f0608491f73cd46e7a675cae887682bb0bbe8db90a1fa5d157110 days 7 hrs ago0x167e733de0861f0d61b179d3d1891e6b90587732  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00038586
0xa09864559a6312bad5431ba9144fd333545674c43dce120740767e0243125ccd110 days 20 hrs ago0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00005162
0x41b7f40ad971d6bec4d2f95d0922d9db44647cb5c308630a1adfc8cf5c4dfe1a110 days 20 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339876
0x1fc8d2b30d4c6c5af9154255f2f9b539a01f04f9b881b9a6d5bfffb4d35f6353110 days 20 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339684
0xf563312671f5a1e36a5e1bd4cd28c333743f09846e1115d6edfb2b10da3dd86c110 days 21 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000077238
0x5641c7d8ca893b0f68c4463da11c5ba33879270bfea0939b74559de557e66350110 days 21 hrs ago0x25437b6a20021ea94d549ddd50403994e532e9d7  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339876
0x3e513036f9bb4ba621061bc576f9cf8d9d8e312ba34b3e678ea5bcd244bb25a9110 days 21 hrs ago0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00005162
0x39d79a152d88af92508a52d6327853d8eac764504f7000700d34929ae443e40b110 days 21 hrs ago0x25437b6a20021ea94d549ddd50403994e532e9d7  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00007743
0x50fb7d3d65ad3e130b11ce9102e1384c7835fba812a44acf6e028faab3f0aa28110 days 21 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000340068
0x1aef57820f4628564ba06c6ed86d736aa35b2b8dfdbde34550d16b24427c8e2e110 days 21 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339876
0xfa31ab8a1915672184b51cf245bfe3a0f85e93400b804955f22168d1500cff16110 days 21 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000340068
0xc3e97fcfe5e0fd59992202135bf6ae26e66ab8cfead50b231dd5460257a628ac110 days 21 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339684
0x8a74d68647c24a5801f87a7a0ead60db06be4498c490213f573d2bb1aa28a63e110 days 21 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339876
0xff43047be8eae37fe1f3b2ac1822b4195bda1254b0922c97f3bf6e5eb9dfe80b110 days 21 hrs ago0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339684
0x5b9448fa4618c1b6bf6965d1af8c43d1e6a6d33720873926d0df034381eea28b110 days 21 hrs ago0x25437b6a20021ea94d549ddd50403994e532e9d7  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000340068
0x42c75b7ee95f6e6d9c5fb0e14c63ef0c531bbb8b0b68f064439a41448d08c8e2110 days 21 hrs ago0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00005162
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: AABitcoinToken
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

// To fix the original Skorch token contract a snapshot was taken at block 5772500. Snapshot is applied here 

library SafeMath {

    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }

    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }

    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }

    function div(uint a, uint b) internal pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
}

library ExtendedMath {
    //return the smaller of the two inputs (a or b)
    function limitLessThan(uint a, uint b) internal pure returns (uint c) {
        if(a > b) return b;
        return a;
    }
}

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}

contract Owned {

    address public owner;

    address public newOwner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }


    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }


    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }

    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

contract AABitcoinToken is ERC20Interface, Owned {

    using SafeMath for uint;
    using ExtendedMath for uint;

    string public symbol;

    string public  name;

    uint8 public decimals;

    uint public _totalSupply;
    uint public latestDifficultyPeriodStarted;
    uint public epochCount;
    uint public _BLOCKS_PER_READJUSTMENT = 1024;

    uint public  _MINIMUM_TARGET = 2**16;

    uint public  _MAXIMUM_TARGET = 2**234;

    uint public miningTarget;

    bytes32 public challengeNumber;   //generate a new one when a new reward is minted

    uint public rewardEra;
    uint public maxSupplyForEra;

    address public lastRewardTo;
    uint public lastRewardAmount;
    uint public lastRewardEthBlockNumber;

    bool locked = false;

    mapping(bytes32 => bytes32) solutionForChallenge;

    uint public tokensMinted;
    
    uint internal GLOBAL_START_TIMER;

    mapping(address => uint) balances;

    mapping(address => mapping(address => uint)) allowed;
    
    mapping(address => uint256) timer; // timer to check PoS 
    
    // how to calculate doubleUnit: 
    // specify how much percent increase you want per year 
    // e.g. 130% -> 2.3 multiplier every year 
    // now divide (1 years) by LOG(2.3) where LOG is the natural logarithm (not LOG10)
    // in this case LOG(2.3) is 0.83290912293
    // hence multiplying by 1/0.83290912293 is the same 
    // 31536000 = 1 years (to prevent deprecated warning in solc)
    uint256 doubleUnit = (31536000) * 3.811;

    event Mint(address indexed from, uint reward_amount, uint epochCount, bytes32 newChallengeNumber);
    event PoS(address indexed from, uint reward_amount);

    constructor()
        public 
        onlyOwner()
    {
        symbol = "SKO";
        name = "Skorch Token";
        decimals = 8;
        // uncomment this to test 
        //balances[msg.sender] = (20000) * (10 ** uint(decimals)); // change 20000 to some lower number than 20000 
        //to see you will not get PoS tokens if you have less than 20000 tokens 
        //timer[msg.sender] = now - (1 years);
        _totalSupply = 21000000 * 10**uint(decimals);
        if(locked) revert();
        locked = true;
        tokensMinted = 0;
        rewardEra = 0;
        maxSupplyForEra = _totalSupply.div(2);
        miningTarget = _MAXIMUM_TARGET;
        latestDifficultyPeriodStarted = block.number;
        //_startNewMiningEpoch(); all relevant vars are set below
        GLOBAL_START_TIMER = now;
        challengeNumber = 0x85d676fa25011d060e3c7405f6e55de1921372c788bfaaed75c00b63a63c510d;
        epochCount = 6231;
        rewardEra = 0;
        maxSupplyForEra = _totalSupply - _totalSupply.div( 2**(rewardEra + 1));
        miningTarget = 431359146674410236714672241392314090778194310760649159697657763988184;
        
        // token balances as of block 5772500
balances[0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b7] = 2000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b7, 2000 * 10 ** uint(decimals));
balances[0xb38094d492af4fffff760707f36869713bfb2250] = 20050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xb38094d492af4fffff760707f36869713bfb2250, 20050 * 10 ** uint(decimals));
balances[0x8f3dd21c9334980030ba95c37565ba25df9574cd] = 200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x8f3dd21c9334980030ba95c37565ba25df9574cd, 200 * 10 ** uint(decimals));
balances[0xaa7a7c2decb180f68f11e975e6d92b5dc06083a6] = 1150 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xaa7a7c2decb180f68f11e975e6d92b5dc06083a6, 1150 * 10 ** uint(decimals));
balances[0x07a68bd44a526e09b8dbfc7085b265450362b61a] = 1000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x07a68bd44a526e09b8dbfc7085b265450362b61a, 1000 * 10 ** uint(decimals));
balances[0x4e27a678c8dc883035c542c83124e7e3f39842b0] = 350 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x4e27a678c8dc883035c542c83124e7e3f39842b0, 350 * 10 ** uint(decimals));
balances[0x0102f6ca7278e7d96a6d649da30bfe07e87155a3] = 2800 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x0102f6ca7278e7d96a6d649da30bfe07e87155a3, 2800 * 10 ** uint(decimals));
balances[0xfc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d] = 1900 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d, 1900 * 10 ** uint(decimals));
balances[0xfec55e783595682141c4b5e6ad9ea605f1683844] = 100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfec55e783595682141c4b5e6ad9ea605f1683844, 100 * 10 ** uint(decimals));
balances[0x167e733de0861f0d61b179d3d1891e6b90587732] = 20200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x167e733de0861f0d61b179d3d1891e6b90587732, 20200 * 10 ** uint(decimals));
balances[0x22dd964193df4de2e6954a2a9d9cbbd6f44f0b28] = 7650 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x22dd964193df4de2e6954a2a9d9cbbd6f44f0b28, 7650 * 10 ** uint(decimals));
balances[0xd2b752bec2fe5c7e5cc600eb5ce465a210cb857a] = 3750 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xd2b752bec2fe5c7e5cc600eb5ce465a210cb857a, 3750 * 10 ** uint(decimals));
balances[0xe14cffadb6bbad8de69bd5ba214441a9582ec548] = 700 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe14cffadb6bbad8de69bd5ba214441a9582ec548, 700 * 10 ** uint(decimals));
balances[0xfe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae] = 20000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae, 20000 * 10 ** uint(decimals));
balances[0xae7c95f2192c739edfb16412a6112a54f8965305] = 550 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xae7c95f2192c739edfb16412a6112a54f8965305, 550 * 10 ** uint(decimals));
balances[0x30385a99e66469a8c0bf172896758dd4595704a9] = 50 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x30385a99e66469a8c0bf172896758dd4595704a9, 50 * 10 ** uint(decimals));
balances[0x219fdb55ea364fcaf29aaa87fb1c45ba7db8128e] = 200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x219fdb55ea364fcaf29aaa87fb1c45ba7db8128e, 200 * 10 ** uint(decimals));
balances[0xab4485ca338b91087a09ae8bc141648bb1c6e967] = 1100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xab4485ca338b91087a09ae8bc141648bb1c6e967, 1100 * 10 ** uint(decimals));
balances[0xafaf9a165408737e11191393fe695c1ebc7a5429] = 35500 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xafaf9a165408737e11191393fe695c1ebc7a5429, 35500 * 10 ** uint(decimals));
balances[0xebd76aa221968b8ba9cdd6e6b4dbb889140088a3] = 3050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xebd76aa221968b8ba9cdd6e6b4dbb889140088a3, 3050 * 10 ** uint(decimals));
balances[0x26b8c7606e828a509bbb208a0322cf960c17b225] = 4300 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x26b8c7606e828a509bbb208a0322cf960c17b225, 4300 * 10 ** uint(decimals));
balances[0x9b8957d1ac592bd388dcde346933ac1269b7c314] = 1050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x9b8957d1ac592bd388dcde346933ac1269b7c314, 1050 * 10 ** uint(decimals));
balances[0xad9f11d1dd6d202243473a0cdae606308ab243b4] = 1000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xad9f11d1dd6d202243473a0cdae606308ab243b4, 1000 * 10 ** uint(decimals));
balances[0x2f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f] = 200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x2f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f, 200 * 10 ** uint(decimals));
balances[0xfbc2b315ac1fba765597a92ff100222425ce66fd] = 6000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfbc2b315ac1fba765597a92ff100222425ce66fd, 6000 * 10 ** uint(decimals));
balances[0x0a26d9674c2a1581ada4316e3f5960bb70fb0fb2] = 5100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x0a26d9674c2a1581ada4316e3f5960bb70fb0fb2, 5100 * 10 ** uint(decimals));
balances[0xdc680cc11a535e45329f49566850668fef34054f] = 9750 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xdc680cc11a535e45329f49566850668fef34054f, 9750 * 10 ** uint(decimals));
balances[0x9fc5b0edc0309745c6974f1a6718029ea41a4d6e] = 400 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x9fc5b0edc0309745c6974f1a6718029ea41a4d6e, 400 * 10 ** uint(decimals));
balances[0xe0c059faabce16dd5ddb4817f427f5cf3b40f4c4] = 1800 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe0c059faabce16dd5ddb4817f427f5cf3b40f4c4, 1800 * 10 ** uint(decimals));
balances[0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e] = 13200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e, 13200 * 10 ** uint(decimals));
balances[0xa5b3725e37431dc6a103961749cb9c98954202cd] = 4400 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xa5b3725e37431dc6a103961749cb9c98954202cd, 4400 * 10 ** uint(decimals));
balances[0xf3552d4018fad9fcc390f5684a243f7318d8b570] = 2500 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xf3552d4018fad9fcc390f5684a243f7318d8b570, 2500 * 10 ** uint(decimals));
balances[0x1fca39ed4f19edd12eb274dc467c099eb5106a13] = 2750 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x1fca39ed4f19edd12eb274dc467c099eb5106a13, 2750 * 10 ** uint(decimals));
balances[0xf95f528d7c25904f15d4154e45eab8e5d4b6c160] = 350 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xf95f528d7c25904f15d4154e45eab8e5d4b6c160, 350 * 10 ** uint(decimals));
balances[0xa62178f120cccba370d2d2d12ec6fb1ff276d706] = 20250 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xa62178f120cccba370d2d2d12ec6fb1ff276d706, 20250 * 10 ** uint(decimals));
balances[0xc446073e0c00a1138812b3a99a19df3cb8ace70d] = 20050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xc446073e0c00a1138812b3a99a19df3cb8ace70d, 20050 * 10 ** uint(decimals));
balances[0xfcc6bf3369077e22a90e05ad567744bf5109e4d4] = 300 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfcc6bf3369077e22a90e05ad567744bf5109e4d4, 300 * 10 ** uint(decimals));
balances[0x25e5c43d5f53ee1a7dd5ad7560348e29baea3048] = 50 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x25e5c43d5f53ee1a7dd5ad7560348e29baea3048, 50 * 10 ** uint(decimals));
balances[0x4d01d11697f00097064d7e05114ecd3843e82867] = 6050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x4d01d11697f00097064d7e05114ecd3843e82867, 6050 * 10 ** uint(decimals));
balances[0xe585ba86b84283f0f1118041837b06d03b96885e] = 1350 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe585ba86b84283f0f1118041837b06d03b96885e, 1350 * 10 ** uint(decimals));
balances[0x21a6043877a0ac376b7ca91195521de88d440eba] = 1600 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x21a6043877a0ac376b7ca91195521de88d440eba, 1600 * 10 ** uint(decimals));
balances[0xe8a01b61f80130aefda985ee2e9c6899a57a17c8] = 1750 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe8a01b61f80130aefda985ee2e9c6899a57a17c8, 1750 * 10 ** uint(decimals));
balances[0x8d12a197cb00d4747a1fe03395095ce2a5cc6819] = 46800 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x8d12a197cb00d4747a1fe03395095ce2a5cc6819, 46800 * 10 ** uint(decimals));
balances[0xa1a3e2fcc1e7c805994ca7309f9a829908a18b4c] = 4100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xa1a3e2fcc1e7c805994ca7309f9a829908a18b4c, 4100 * 10 ** uint(decimals));
balances[0x51138ab5497b2c3d85be94d23905f5ead9e533a7] = 50 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x51138ab5497b2c3d85be94d23905f5ead9e533a7, 50 * 10 ** uint(decimals));
balances[0x559a922941f84ebe6b9f0ed58e3b96530614237e] = 650 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x559a922941f84ebe6b9f0ed58e3b96530614237e, 650 * 10 ** uint(decimals));
balances[0xe539a7645d2f33103c89b5b03abb422a163b7c73] = 600 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe539a7645d2f33103c89b5b03abb422a163b7c73, 600 * 10 ** uint(decimals));
balances[0x4ffe17a2a72bc7422cb176bc71c04ee6d87ce329] = 4300 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x4ffe17a2a72bc7422cb176bc71c04ee6d87ce329, 4300 * 10 ** uint(decimals));
balances[0x88058d4d90cc9d9471509e5be819b2be361b51c6] = 9450 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x88058d4d90cc9d9471509e5be819b2be361b51c6, 9450 * 10 ** uint(decimals));
balances[0x0000bb50ee5f5df06be902d1f9cb774949c337ed] = 1150 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x0000bb50ee5f5df06be902d1f9cb774949c337ed, 1150 * 10 ** uint(decimals));
balances[0xd7dd80404d3d923c8a40c47c1f61aacbccb4191e] = 6450 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xd7dd80404d3d923c8a40c47c1f61aacbccb4191e, 6450 * 10 ** uint(decimals));
balances[0xf2119e50578b3dfa248652c4fbec76b9e415acb2] = 100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xf2119e50578b3dfa248652c4fbec76b9e415acb2, 100 * 10 ** uint(decimals));
balances[0xd2470aacd96242207f06111819111d17ca055dfb] = 9450 * 10 ** uint(decimals); 
emit Transfer(address(0x0), 0xd2470aacd96242207f06111819111d17ca055dfb, 9450 * 10 ** uint(decimals));

// test lines 
//balances[msg.sender] = 1000 * 10 ** uint(decimals);
//timer[msg.sender ] = ( now - ( 1 years));

    }


        function mint(uint256 nonce, bytes32 challenge_digest) public returns (bool success) {
            bytes32 digest =  keccak256(challengeNumber, msg.sender, nonce );
            if (digest != challenge_digest) revert();
            if(uint256(digest) > miningTarget) revert();
             bytes32 solution = solutionForChallenge[challengeNumber];
             solutionForChallenge[challengeNumber] = digest;
             if(solution != 0x0) revert();  //prevent the same answer from awarding twice
             _claimTokens(msg.sender);
             timer[msg.sender]=now;
            uint reward_amount = getMiningReward();
            balances[msg.sender] = balances[msg.sender].add(reward_amount);
            tokensMinted = tokensMinted.add(reward_amount);
            assert(tokensMinted <= maxSupplyForEra);
            lastRewardTo = msg.sender;
            lastRewardAmount = reward_amount;
            lastRewardEthBlockNumber = block.number;
             _startNewMiningEpoch();
              emit Mint(msg.sender, reward_amount, epochCount, challengeNumber );
              emit Transfer(address(0x0), msg.sender, reward_amount);
           return true;
        }

    function _startNewMiningEpoch() internal {
      if( tokensMinted.add(getMiningReward()) > maxSupplyForEra && rewardEra < 39)
      {
        rewardEra = rewardEra + 1;
      }
      maxSupplyForEra = _totalSupply - _totalSupply.div( 2**(rewardEra + 1));
      epochCount = epochCount.add(1);
      if(epochCount % _BLOCKS_PER_READJUSTMENT == 0)
      {
        _reAdjustDifficulty();
      }
      challengeNumber = block.blockhash(block.number - 1);
    }

    function _reAdjustDifficulty() internal {
        uint ethBlocksSinceLastDifficultyPeriod = block.number - latestDifficultyPeriodStarted;
        uint epochsMined = _BLOCKS_PER_READJUSTMENT; 
        uint targetEthBlocksPerDiffPeriod = epochsMined * 60; //should be 60 times slower than ethereum
        if( ethBlocksSinceLastDifficultyPeriod < targetEthBlocksPerDiffPeriod )
        {
          uint excess_block_pct = (targetEthBlocksPerDiffPeriod.mul(100)).div( ethBlocksSinceLastDifficultyPeriod );
          uint excess_block_pct_extra = excess_block_pct.sub(100).limitLessThan(1000);
          miningTarget = miningTarget.sub(miningTarget.div(2000).mul(excess_block_pct_extra));   //by up to 50 %
        }else{
          uint shortage_block_pct = (ethBlocksSinceLastDifficultyPeriod.mul(100)).div( targetEthBlocksPerDiffPeriod );
          uint shortage_block_pct_extra = shortage_block_pct.sub(100).limitLessThan(1000); //always between 0 and 1000
          miningTarget = miningTarget.add(miningTarget.div(2000).mul(shortage_block_pct_extra));   //by up to 50 %
        }
        latestDifficultyPeriodStarted = block.number;
        if(miningTarget < _MINIMUM_TARGET) //very difficult
        {
          miningTarget = _MINIMUM_TARGET;
        }
        if(miningTarget > _MAXIMUM_TARGET) //very easy
        {
          miningTarget = _MAXIMUM_TARGET;
        }
    }

    function getChallengeNumber() public constant returns (bytes32) {
        return challengeNumber;
    }

    function getMiningDifficulty() public constant returns (uint) {
        return _MAXIMUM_TARGET.div(miningTarget);
    }

    function getMiningTarget() public constant returns (uint) {
       return miningTarget;
   }

    function getMiningReward() public constant returns (uint) {
         return (50 * 10**uint(decimals) ).div( 2**rewardEra ) ;
    }

    function getMintDigest(uint256 nonce, bytes32 challenge_digest, bytes32 challenge_number) public view returns (bytes32 digesttest) {
        bytes32 digest = keccak256(challenge_number,msg.sender,nonce);
        return digest;
      }
      
      function checkMintSolution(uint256 nonce, bytes32 challenge_digest, bytes32 challenge_number, uint testTarget) public view returns (bool success) {
          bytes32 digest = keccak256(challenge_number,msg.sender,nonce);
          if(uint256(digest) > testTarget) revert();
          return (digest == challenge_digest);
        }

    function totalSupply() public constant returns (uint) {
        return _totalSupply;
    }

    function balanceOf(address tokenOwner) public constant returns (uint balance) {
        return balances[tokenOwner] + _getPoS(tokenOwner); // add unclaimed pos tokens 
    }

    function transfer(address to, uint tokens) public returns (bool success) {
        _claimTokens(msg.sender);
        _claimTokens(to);
        timer[msg.sender] = now;
        timer[to] = now;
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }

    function approve(address spender, uint tokens) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }

    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
        _claimTokens(from);
        _claimTokens(to);
        timer[from] = now;
        timer[to] = now;
        balances[from] = balances[from].sub(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(from, to, tokens);
        return true;
    }

    function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
        return true;
    }

    function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }

    function () public payable {
        revert();
    } 
    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
        return ERC20Interface(tokenAddress).transfer(owner, tokens);
    }
    
    function claimTokens() public {
        _claimTokens(msg.sender);        
        timer[msg.sender] = now;
    }
    
    function _claimTokens(address target) internal{
        if (timer[target] == 0){
            // russian hackers BTFO

            if (balances[target] > 0){
                // timer is handled in _getPoS 
            }
            else{
                return;
            }
        }
        if (timer[target] == now){
            // 0 seconds passed, 0 tokens gotten via PoS 
            // return so no gas waste 
            return;
        }
        
        uint256 totalTkn = _getPoS(target);
        if (totalTkn > 0){
            balances[target] = balances[target].add(totalTkn);
            _totalSupply.add(totalTkn);
            emit PoS(target, totalTkn);
        }

        //timer[target] = now; every time you claim tokens this timer is set. this is to prevent people claiming 0 tokens and then setting their timer
        emit Transfer(address(0x0), target, totalTkn);
    }
    
    function _getPoS(address target) internal view returns (uint256){
        int ONE_SECOND = 0x10000000000000000;
        uint TIME = timer[target];
        if (TIME == 0){
            TIME = GLOBAL_START_TIMER;
        }
        int PORTION_SCALED = (int(now - TIME) * ONE_SECOND) / int(doubleUnit); 
        uint256 exp = fixedExp(PORTION_SCALED);
        
        return ((balances[target].mul(exp)) / uint(one)).sub(balances[target]); 
    }
    
    
    
    int256 constant ln2       = 0x0b17217f7d1cf79ac;
    int256 constant ln2_64dot5= 0x2cb53f09f05cc627c8;
    int256 constant one       = 0x10000000000000000;
    int256 constant c2 =  0x02aaaaaaaaa015db0;
    int256 constant c4 = -0x000b60b60808399d1;
    int256 constant c6 =  0x0000455956bccdd06;
    int256 constant c8 = -0x000001b893ad04b3a;
    function fixedExp(int256 a) public pure returns (uint256 exp) {
        int256 scale = (a + (ln2_64dot5)) / ln2 - 64;
        a -= scale*ln2;
        // The polynomial R = 2 + c2*x^2 + c4*x^4 + ...
        // approximates the function x*(exp(x)+1)/(exp(x)-1)
        // Hence exp(x) = (R(x)+x)/(R(x)-x)
        int256 z = (a*a) / one;
        int256 R = ((int256)(2) * one) +
            (z*(c2 + (z*(c4 + (z*(c6 + (z*c8/one))/one))/one))/one);
        exp = (uint256) (((R + a) * one) / (R - a));
        if (scale >= 0)
            exp <<= scale;
        else
            exp >>= -scale;
        return exp;
    }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardEthBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMiningDifficulty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"}],"name":"mint","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardEra","outputs":[{"name":"","type":"uint256"}],"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":"getMiningTarget","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMiningReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getChallengeNumber","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxSupplyForEra","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensMinted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardTo","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"},{"name":"challenge_number","type":"bytes32"},{"name":"testTarget","type":"uint256"}],"name":"checkMintSolution","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"epochCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_MAXIMUM_TARGET","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"miningTarget","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"challengeNumber","outputs":[{"name":"","type":"bytes32"}],"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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"},{"name":"challenge_number","type":"bytes32"}],"name":"getMintDigest","outputs":[{"name":"digesttest","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_BLOCKS_PER_READJUSTMENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"latestDifficultyPeriodStarted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_MINIMUM_TARGET","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"int256"}],"name":"fixedExp","outputs":[{"name":"exp","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"reward_amount","type":"uint256"},{"indexed":false,"name":"epochCount","type":"uint256"},{"indexed":false,"name":"newChallengeNumber","type":"bytes32"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"reward_amount","type":"uint256"}],"name":"PoS","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6080604052610400600855620100006009557d040000000000000000000000000000000000000000000000000000000000600a556000601260006101000a81548160ff021916908315150217905550630729db906019553480156200006357600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156200010057600080fd5b6040805190810160405280600381526020017f534b4f0000000000000000000000000000000000000000000000000000000000815250600290805190602001906200014d92919062002fcd565b506040805190810160405280600c81526020017f536b6f72636820546f6b656e0000000000000000000000000000000000000000815250600390805190602001906200019b92919062002fcd565b506008600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a6301406f4002600581905550601260009054906101000a900460ff1615620001f557600080fd5b6001601260006101000a81548160ff02191690831515021790555060006014819055506000600d8190555062000246600260055462002fa76401000000000262002205179091906401000000009004565b600e81905550600a54600b8190555043600681905550426015819055507f85d676fa25011d060e3c7405f6e55de1921372c788bfaaed75c00b63a63c510d600102600c81600019169055506118576007819055506000600d81905550620002cf6001600d540160020a60055462002fa76401000000000262002205179091906401000000009004565b60055403600e819055507c10000000000000000000000000000000000000000000000000000002d8600b81905550600460009054906101000a900460ff1660ff16600a0a6107d0026016600073bf45f4280cfbe7c2d2515a7d984b8c71c15e82b773ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073bf45f4280cfbe7c2d2515a7d984b8c71c15e82b7600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6107d0026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614e52026016600073b38094d492af4fffff760707f36869713bfb225073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073b38094d492af4fffff760707f36869713bfb2250600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614e52026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a60c80260166000738f3dd21c9334980030ba95c37565ba25df9574cd73ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550738f3dd21c9334980030ba95c37565ba25df9574cd600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a60c8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61047e026016600073aa7a7c2decb180f68f11e975e6d92b5dc06083a673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073aa7a7c2decb180f68f11e975e6d92b5dc06083a6600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61047e026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6103e802601660007307a68bd44a526e09b8dbfc7085b265450362b61a73ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507307a68bd44a526e09b8dbfc7085b265450362b61a600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6103e8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61015e0260166000734e27a678c8dc883035c542c83124e7e3f39842b073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550734e27a678c8dc883035c542c83124e7e3f39842b0600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61015e026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610af00260166000730102f6ca7278e7d96a6d649da30bfe07e87155a373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550730102f6ca7278e7d96a6d649da30bfe07e87155a3600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610af0026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61076c026016600073fc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61076c026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6064026016600073fec55e783595682141c4b5e6ad9ea605f168384473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fec55e783595682141c4b5e6ad9ea605f1683844600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6064026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614ee8026016600073167e733de0861f0d61b179d3d1891e6b9058773273ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073167e733de0861f0d61b179d3d1891e6b90587732600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614ee8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611de202601660007322dd964193df4de2e6954a2a9d9cbbd6f44f0b2873ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507322dd964193df4de2e6954a2a9d9cbbd6f44f0b28600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611de2026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610ea6026016600073d2b752bec2fe5c7e5cc600eb5ce465a210cb857a73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073d2b752bec2fe5c7e5cc600eb5ce465a210cb857a600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610ea6026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6102bc026016600073e14cffadb6bbad8de69bd5ba214441a9582ec54873ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e14cffadb6bbad8de69bd5ba214441a9582ec548600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6102bc026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614e20026016600073fe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614e20026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610226026016600073ae7c95f2192c739edfb16412a6112a54f896530573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ae7c95f2192c739edfb16412a6112a54f8965305600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610226026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a603202601660007330385a99e66469a8c0bf172896758dd4595704a973ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507330385a99e66469a8c0bf172896758dd4595704a9600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6032026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a60c8026016600073219fdb55ea364fcaf29aaa87fb1c45ba7db8128e73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073219fdb55ea364fcaf29aaa87fb1c45ba7db8128e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a60c8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61044c026016600073ab4485ca338b91087a09ae8bc141648bb1c6e96773ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ab4485ca338b91087a09ae8bc141648bb1c6e967600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61044c026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a618aac026016600073afaf9a165408737e11191393fe695c1ebc7a542973ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073afaf9a165408737e11191393fe695c1ebc7a5429600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a618aac026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610bea026016600073ebd76aa221968b8ba9cdd6e6b4dbb889140088a373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ebd76aa221968b8ba9cdd6e6b4dbb889140088a3600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610bea026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6110cc02601660007326b8c7606e828a509bbb208a0322cf960c17b22573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507326b8c7606e828a509bbb208a0322cf960c17b225600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6110cc026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61041a0260166000739b8957d1ac592bd388dcde346933ac1269b7c31473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550739b8957d1ac592bd388dcde346933ac1269b7c314600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61041a026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6103e8026016600073ad9f11d1dd6d202243473a0cdae606308ab243b473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ad9f11d1dd6d202243473a0cdae606308ab243b4600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6103e8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a60c80260166000732f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f73ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550732f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a60c8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611770026016600073fbc2b315ac1fba765597a92ff100222425ce66fd73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fbc2b315ac1fba765597a92ff100222425ce66fd600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611770026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6113ec0260166000730a26d9674c2a1581ada4316e3f5960bb70fb0fb273ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550730a26d9674c2a1581ada4316e3f5960bb70fb0fb2600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6113ec026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a612616026016600073dc680cc11a535e45329f49566850668fef34054f73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073dc680cc11a535e45329f49566850668fef34054f600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a612616026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6101900260166000739fc5b0edc0309745c6974f1a6718029ea41a4d6e73ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550739fc5b0edc0309745c6974f1a6718029ea41a4d6e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610190026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610708026016600073e0c059faabce16dd5ddb4817f427f5cf3b40f4c473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e0c059faabce16dd5ddb4817f427f5cf3b40f4c4600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610708026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61339002601660007385d66f3a8da35f47e03d6bb51f51c2d70a61e12e73ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507385d66f3a8da35f47e03d6bb51f51c2d70a61e12e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a613390026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611130026016600073a5b3725e37431dc6a103961749cb9c98954202cd73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073a5b3725e37431dc6a103961749cb9c98954202cd600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611130026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6109c4026016600073f3552d4018fad9fcc390f5684a243f7318d8b57073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073f3552d4018fad9fcc390f5684a243f7318d8b570600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6109c4026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610abe0260166000731fca39ed4f19edd12eb274dc467c099eb5106a1373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550731fca39ed4f19edd12eb274dc467c099eb5106a13600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610abe026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61015e026016600073f95f528d7c25904f15d4154e45eab8e5d4b6c16073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073f95f528d7c25904f15d4154e45eab8e5d4b6c160600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61015e026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614f1a026016600073a62178f120cccba370d2d2d12ec6fb1ff276d70673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073a62178f120cccba370d2d2d12ec6fb1ff276d706600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614f1a026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614e52026016600073c446073e0c00a1138812b3a99a19df3cb8ace70d73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073c446073e0c00a1138812b3a99a19df3cb8ace70d600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614e52026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61012c026016600073fcc6bf3369077e22a90e05ad567744bf5109e4d473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fcc6bf3369077e22a90e05ad567744bf5109e4d4600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61012c026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a603202601660007325e5c43d5f53ee1a7dd5ad7560348e29baea304873ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507325e5c43d5f53ee1a7dd5ad7560348e29baea3048600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6032026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6117a20260166000734d01d11697f00097064d7e05114ecd3843e8286773ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550734d01d11697f00097064d7e05114ecd3843e82867600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6117a2026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610546026016600073e585ba86b84283f0f1118041837b06d03b96885e73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e585ba86b84283f0f1118041837b06d03b96885e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610546026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61064002601660007321a6043877a0ac376b7ca91195521de88d440eba73ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507321a6043877a0ac376b7ca91195521de88d440eba600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610640026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6106d6026016600073e8a01b61f80130aefda985ee2e9c6899a57a17c873ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e8a01b61f80130aefda985ee2e9c6899a57a17c8600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6106d6026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61b6d00260166000738d12a197cb00d4747a1fe03395095ce2a5cc681973ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550738d12a197cb00d4747a1fe03395095ce2a5cc6819600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61b6d0026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611004026016600073a1a3e2fcc1e7c805994ca7309f9a829908a18b4c73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073a1a3e2fcc1e7c805994ca7309f9a829908a18b4c600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611004026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a603202601660007351138ab5497b2c3d85be94d23905f5ead9e533a773ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507351138ab5497b2c3d85be94d23905f5ead9e533a7600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6032026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61028a026016600073559a922941f84ebe6b9f0ed58e3b96530614237e73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073559a922941f84ebe6b9f0ed58e3b96530614237e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61028a026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610258026016600073e539a7645d2f33103c89b5b03abb422a163b7c7373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e539a7645d2f33103c89b5b03abb422a163b7c73600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610258026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6110cc0260166000734ffe17a2a72bc7422cb176bc71c04ee6d87ce32973ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550734ffe17a2a72bc7422cb176bc71c04ee6d87ce329600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6110cc026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6124ea02601660007388058d4d90cc9d9471509e5be819b2be361b51c673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507388058d4d90cc9d9471509e5be819b2be361b51c6600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6124ea026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61047e026016600071bb50ee5f5df06be902d1f9cb774949c337ed73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555071bb50ee5f5df06be902d1f9cb774949c337ed600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61047e026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611932026016600073d7dd80404d3d923c8a40c47c1f61aacbccb4191e73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073d7dd80404d3d923c8a40c47c1f61aacbccb4191e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611932026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6064026016600073f2119e50578b3dfa248652c4fbec76b9e415acb273ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073f2119e50578b3dfa248652c4fbec76b9e415acb2600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6064026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6124ea026016600073d2470aacd96242207f06111819111d17ca055dfb73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073d2470aacd96242207f06111819111d17ca055dfb600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6124ea026040518082815260200191505060405180910390a36200307c565b6000808211151562002fb857600080fd5b818381151562002fc457fe5b04905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200301057805160ff191683800117855562003041565b8280016001018555821562003041579182015b828111156200304057825182559160200191906001019062003023565b5b50905062003050919062003054565b5090565b6200307991905b80821115620030755760008160009055506001016200305b565b5090565b90565b6128c7806200308c6000396000f3006080604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101dd578063095ea7b31461026d578063163aa00d146102d257806317da485f146102fd5780631801fbe51461032857806318160ddd1461037b57806323b872dd146103a65780632d38bf7a1461042b578063313ce5671461045657806332e99708146104875780633eaaf86b146104b257806348c54b9d146104dd578063490203a7146104f45780634ef376281461051f5780634fa972e1146105525780636de9f32b1461057d5780636fd396d6146105a857806370a08231146105ff57806379ba50971461065657806381269a561461066d578063829965cc146106d857806387a2a9d6146107035780638a769d351461072e5780638ae0368b146107595780638da5cb5b1461078c57806395d89b41146107e357806397566aa014610873578063a9059cbb146108d8578063b5ade81b1461093d578063bafedcaa14610968578063cae9ca5114610993578063cb9ae70714610a3e578063d4ee1d9014610a69578063dc39d06d14610ac0578063dc6e9cf914610b25578063dd62ed3e14610b50578063de43844b14610bc7578063f2fde38b14610c08575b600080fd5b3480156101e957600080fd5b506101f2610c4b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610232578082015181840152602081019050610217565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027957600080fd5b506102b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce9565b604051808215151515815260200191505060405180910390f35b3480156102de57600080fd5b506102e7610ddb565b6040518082815260200191505060405180910390f35b34801561030957600080fd5b50610312610de1565b6040518082815260200191505060405180910390f35b34801561033457600080fd5b50610361600480360381019080803590602001909291908035600019169060200190929190505050610dff565b604051808215151515815260200191505060405180910390f35b34801561038757600080fd5b50610390611142565b6040518082815260200191505060405180910390f35b3480156103b257600080fd5b50610411600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061114c565b604051808215151515815260200191505060405180910390f35b34801561043757600080fd5b50610440611491565b6040518082815260200191505060405180910390f35b34801561046257600080fd5b5061046b611497565b604051808260ff1660ff16815260200191505060405180910390f35b34801561049357600080fd5b5061049c6114aa565b6040518082815260200191505060405180910390f35b3480156104be57600080fd5b506104c76114b4565b6040518082815260200191505060405180910390f35b3480156104e957600080fd5b506104f26114ba565b005b34801561050057600080fd5b50610509611509565b6040518082815260200191505060405180910390f35b34801561052b57600080fd5b50610534611540565b60405180826000191660001916815260200191505060405180910390f35b34801561055e57600080fd5b5061056761154a565b6040518082815260200191505060405180910390f35b34801561058957600080fd5b50610592611550565b6040518082815260200191505060405180910390f35b3480156105b457600080fd5b506105bd611556565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060b57600080fd5b50610640600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061157c565b6040518082815260200191505060405180910390f35b34801561066257600080fd5b5061066b6115cf565b005b34801561067957600080fd5b506106be60048036038101908080359060200190929190803560001916906020019092919080356000191690602001909291908035906020019092919050505061176e565b604051808215151515815260200191505060405180910390f35b3480156106e457600080fd5b506106ed611803565b6040518082815260200191505060405180910390f35b34801561070f57600080fd5b50610718611809565b6040518082815260200191505060405180910390f35b34801561073a57600080fd5b5061074361180f565b6040518082815260200191505060405180910390f35b34801561076557600080fd5b5061076e611815565b60405180826000191660001916815260200191505060405180910390f35b34801561079857600080fd5b506107a161181b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ef57600080fd5b506107f8611840565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083857808201518184015260208101905061081d565b50505050905090810190601f1680156108655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087f57600080fd5b506108ba60048036038101908080359060200190929190803560001916906020019092919080356000191690602001909291905050506118de565b60405180826000191660001916815260200191505060405180910390f35b3480156108e457600080fd5b50610923600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611957565b604051808215151515815260200191505060405180910390f35b34801561094957600080fd5b50610952611b8c565b6040518082815260200191505060405180910390f35b34801561097457600080fd5b5061097d611b92565b6040518082815260200191505060405180910390f35b34801561099f57600080fd5b50610a24600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611b98565b604051808215151515815260200191505060405180910390f35b348015610a4a57600080fd5b50610a53611de7565b6040518082815260200191505060405180910390f35b348015610a7557600080fd5b50610a7e611ded565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610acc57600080fd5b50610b0b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e13565b604051808215151515815260200191505060405180910390f35b348015610b3157600080fd5b50610b3a611f77565b6040518082815260200191505060405180910390f35b348015610b5c57600080fd5b50610bb1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f7d565b6040518082815260200191505060405180910390f35b348015610bd357600080fd5b50610bf260048036038101908080359060200190929190505050612004565b6040518082815260200191505060405180910390f35b348015610c1457600080fd5b50610c49600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612166565b005b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ce15780601f10610cb657610100808354040283529160200191610ce1565b820191906000526020600020905b815481529060010190602001808311610cc457829003601f168201915b505050505081565b600081601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60115481565b6000610dfa600b54600a5461220590919063ffffffff16565b905090565b600080600080600c5433876040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200193505050506040518091039020925084600019168360001916141515610e8857600080fd5b600b5483600190041115610e9b57600080fd5b60136000600c54600019166000191681526020019081526020016000205491508260136000600c5460001916600019168152602001908152602001600020816000191690555060006001028260001916141515610ef757600080fd5b610f0033612229565b42601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f4c611509565b9050610fa081601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248a90919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ff88160145461248a90919063ffffffff16565b601481905550600e546014541115151561100e57fe5b33600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601081905550436011819055506110656124a6565b3373ffffffffffffffffffffffffffffffffffffffff167fcf6fbb9dcea7d07263ab4f5c3a92f53af33dffc421d9d121e1c74b307e68189d82600754600c54604051808481526020018381526020018260001916600019168152602001935050505060405180910390a23373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36001935050505092915050565b6000600554905090565b600061115784612229565b61116083612229565b42601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061123a82601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255b90919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061130c82601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255b90919063ffffffff16565b601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113de82601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248a90919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600d5481565b600460009054906101000a900460ff1681565b6000600b54905090565b60055481565b6114c333612229565b42601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600061153b600d5460020a600460009054906101000a900460ff1660ff16600a0a60320261220590919063ffffffff16565b905090565b6000600c54905090565b600e5481565b60145481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061158782612577565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561162b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000808333876040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200193505050506040518091039020905082816001900411156117ed57600080fd5b8460001916816000191614915050949350505050565b60075481565b600a5481565b600b5481565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118d65780601f106118ab576101008083540402835291602001916118d6565b820191906000526020600020905b8154815290600101906020018083116118b957829003601f168201915b505050505081565b6000808233866040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001935050505060405180910390209050809150509392505050565b600061196233612229565b61196b83612229565b42601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a4582601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255b90919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ada82601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248a90919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60085481565b60105481565b600082601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d75578082015181840152602081019050611d5a565b50505050905090810190601f168015611da25780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611dc457600080fd5b505af1158015611dd8573d6000803e3d6000fd5b50505050600190509392505050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e7057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f3457600080fd5b505af1158015611f48573d6000803e3d6000fd5b505050506040513d6020811015611f5e57600080fd5b8101908080519060200190929190505050905092915050565b60095481565b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600080604067b17217f7d1cf79ac682cb53f09f05cc627c8870181151561202a57fe5b0503925067b17217f7d1cf79ac8302850394506801000000000000000085860281151561205357fe5b059150680100000000000000008068010000000000000000807fffffffffffffffffffffffffffffffffffffffffffffffffffffe476c52fb4c6860281151561209857fe5b05660455956bccdd060185028115156120ad57fe5b057fffffffffffffffffffffffffffffffffffffffffffffffffff49f49f7f7c662f0184028115156120db57fe5b05672aaaaaaaaa015db00183028115156120f157fe5b0568010000000000000000600202019050848103680100000000000000008683010281151561211c57fe5b059350600083121515612142578284600082121561213657fe5b9060020a02935061215b565b8260000384600082121561215257fe5b9060020a900493505b839350505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121c157600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808211151561221557600080fd5b818381151561222057fe5b04905092915050565b600080601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156122c5576000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156122bf576122c4565b612486565b5b42601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561231157612486565b61231a82612577565b9050600081111561241f5761237781601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248a90919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123cf8160055461248a90919063ffffffff16565b508173ffffffffffffffffffffffffffffffffffffffff167fb6ca79c9847e64c21032ebeea3266417e6a012de32b21df76a8ab204edcb9533826040518082815260200191505060405180910390a25b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b5050565b600081830190508281101515156124a057600080fd5b92915050565b600e546124c56124b4611509565b60145461248a90919063ffffffff16565b1180156124d457506027600d54105b156124e6576001600d5401600d819055505b6125036001600d540160020a60055461220590919063ffffffff16565b60055403600e81905550612523600160075461248a90919063ffffffff16565b600781905550600060085460075481151561253a57fe5b06141561254a576125496126bd565b5b6001430340600c8160001916905550565b600082821115151561256c57600080fd5b818303905092915050565b6000806000806000680100000000000000009350601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054925060008314156125dc5760155492505b60195484844203028115156125ed57fe5b0591506125f982612004565b90506126b2601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546801000000000000000061269a84601660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284e90919063ffffffff16565b8115156126a357fe5b0461255b90919063ffffffff16565b945050505050919050565b6000806000806000806000600654430396506008549550603c860294508487101561277c57612708876126fa60648861284e90919063ffffffff16565b61220590919063ffffffff16565b93506127326103e861272460648761255b90919063ffffffff16565b61287f90919063ffffffff16565b9250612771612760846127526107d0600b5461220590919063ffffffff16565b61284e90919063ffffffff16565b600b5461255b90919063ffffffff16565b600b81905550612812565b6127a28561279460648a61284e90919063ffffffff16565b61220590919063ffffffff16565b91506127cc6103e86127be60648561255b90919063ffffffff16565b61287f90919063ffffffff16565b905061280b6127fa826127ec6107d0600b5461220590919063ffffffff16565b61284e90919063ffffffff16565b600b5461248a90919063ffffffff16565b600b819055505b43600681905550600954600b54101561282f57600954600b819055505b600a54600b54111561284557600a54600b819055505b50505050505050565b60008183029050600083148061286e575081838281151561286b57fe5b04145b151561287957600080fd5b92915050565b60008183111561289157819050612895565b8290505b929150505600a165627a7a7230582004052a799504bd38a742bd399e5180a1fdfbe62e01b6c5dbc40464d7c1a2198d0029

   Swarm Source:
bzzr://04052a799504bd38a742bd399e5180a1fdfbe62e01b6c5dbc40464d7c1a2198d

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.