Sponsored:   Color - Revolutionizing the Dapp Ecosystem, Bounty & Airdrop, Get 240,000 COL NOW!
Contract Overview
Balance: 14.145014143487025048 Ether
Ether Value: $4,108.14 (@ $290.43/ETH)
Transactions: 231 txns
Token Tracker: LastHero3D (Keys)
Misc
Address Watch: Add To Watch List
Contract Creator: 0xce82cf84558add0eff5ecfb3de63ff75df59ace0at txn 0x02216606aecce458fb4f5d22f59466f463ef88fa8c337ea3fb352622330a8c83
Token Balances:
 Latest 25 txns from a total Of 231 transactions
(+2 PendingTxns)

TxHash Age From To Value [TxFee]
0x55aa7d556d8914f47948c28c8ff44559fcee75c81e7bbc82465563b5f42053a3(pending)0xce82cf84558add0eff5ecfb3de63ff75df59ace0  IN  0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0.01 Ether(pending)
0x3cb3542d81581feffee5fa39f130752f85193c2c5e4ce2c0d36b3006f343fcfd(pending)0xce82cf84558add0eff5ecfb3de63ff75df59ace0  IN  0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0.01 Ether(pending)
0x55ef964d65ba9791baa3158c79374a9ef759aaff157becaed043f3c0bfc9546b5 hrs 53 mins ago0x60e31b8b79bd92302fe452242ea6f7672a77a80f  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000341046
0xcd95e30d56392c67d614b877d0155023e9831a2784cc749b54a53e810dfb1f975 hrs 56 mins ago0x60e31b8b79bd92302fe452242ea6f7672a77a80f  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000251046
0xd5e0a166b2d76b16ea163ad2b9838792df35beff939582c9baea5e2cc99999416 hrs ago0x60e31b8b79bd92302fe452242ea6f7672a77a80f  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000163608
0x8b31ce3ec6782ab8fd704e23451db6d14ed6cdffb764a18026a8fdf1b1c2e4ee6 hrs 1 min ago0x60e31b8b79bd92302fe452242ea6f7672a77a80f  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000163608
0xf3b624d6b034866f6bcdb08527ce2aeefce143317a99f5bff16e1d430c343a3b19 hrs ago0xddc7a8e844bc5635bd106b705c672c7dc7509808  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0.005 Ether0.001082664
0x34c116b860f8405c2c1a59197a8a57297977e60f035be2857aae516c8fe8c4612 days 6 hrs ago0xce82cf84558add0eff5ecfb3de63ff75df59ace0  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0.01 Ether0.000205272
0x0fe98b4711d3b47eb9b3d6072bb5f903e4cf4cd916434c212248c196b8837b982 days 8 hrs ago0xce82cf84558add0eff5ecfb3de63ff75df59ace0  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0.01 Ether0.000205272
0x4250db09233a38f35672583d54709779494d5422833ce3aca659d26812205c7b3 days 1 hr ago0x95e8713a5d2bf0ddaf8d0819e73907a8cee3d111  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000174016
0x34a66d5ebd1295c8a18afe8bb5d8ebef84abd4fb461289ebe477b14712fb404f3 days 8 hrs ago0x425cef5648f897dd87f6b80878498867f2e36930  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.00010876
0x4edb60febb9f8b9424fc54bdd0b1b286668f1169481694e235ad16687fdfec823 days 8 hrs ago0x445b660236c39f5bc98bc49dddc7cf1f246a40ab  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000248844
0xf87ac069acdb9023e18a40ecf2aa196262db1da20a5c2dac72a8cab58a6c088b3 days 8 hrs ago0xce82cf84558add0eff5ecfb3de63ff75df59ace0  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0.01 Ether0.0002121144
0xbd34c519feb47b43dd4c62bccc1e2e1ad7ad0b1e44ce95a1afb8b9812eac371d4 days 13 hrs ago0xa732e7665ff54ba63ae40e67fac9f23ecd0b1223  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000248844
0x72517f3dfc628e0041ad2d7fa684a57c503ad2cd71a96f161435672c73d73be85 days 8 hrs ago0xce82cf84558add0eff5ecfb3de63ff75df59ace0  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0.01 Ether0.000295272
0x28f54280a508698b7255525d24ceda3bb1aa3d8499d7411a6ddaa6343df463569 days 2 hrs ago0x6da78c81953a138a57e23fd435b6a322e0a3e7ec  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.00027342
0x917f5bbea896f588ac34179a79126609edf2abfd3642718448886fdfebae7dc99 days 3 hrs ago0x23c654314eadaae05857de5a61c1228c33282807  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000218736
0x31c711fe8e5bf60d83c730e7c4f818ad796c8c9a27eb923d1ce7a5a2b25f48c89 days 4 hrs ago0x23c654314eadaae05857de5a61c1228c33282807  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000087008
0xc18db25337b0d944d6b793f0ad3958db4666c0b5d5f973d5170246987a7beec89 days 4 hrs ago0x6da78c81953a138a57e23fd435b6a322e0a3e7ec  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000174016
0x6493c481eece1e17439b28352edcd7258bbfd7aea2a1eefa3945630fd9b55b2e9 days 7 hrs ago0xe42dabff56ceaae203b5e14a374021d405c5be59  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000348032
0x9393d37ea9d932f15a74aa63544aafa96de0b8047d5bc245f65d9832c4f78eee9 days 7 hrs ago0xe42dabff56ceaae203b5e14a374021d405c5be59  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.00038364
0xd760a03492fc8d5ab1cbde4b518c64d60c6b49b924fd44fbd35ebc275edfeb2a10 days 22 hrs ago0x1a0c7508c3213918ca92bfa7c4c2baa1b39614fe  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000174016
0xfd9fdc7fb8f99294c34f27640a97cbfefe63590e31f3af4d039df873c0d30bcc10 days 22 hrs ago0x1a0c7508c3213918ca92bfa7c4c2baa1b39614fe  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000239775
0x4aff0f01b7a505b2f2182672c267bd22ce7d17b62b88cb70b95af87c87b3526211 days 43 mins ago0x1a0c7508c3213918ca92bfa7c4c2baa1b39614fe  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.00021752
0xcb09ebed5dfef7f846f2fa4b2a0dabd6e640f6cd361a3680bd8f2cbec5bcaeaa11 days 45 mins ago0x1a0c7508c3213918ca92bfa7c4c2baa1b39614fe  IN   0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0 Ether0.000143865
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0x55ef964d65ba9791baa3158c79374a9ef759aaff157becaed043f3c0bfc9546b61553055 hrs 53 mins ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x60e31b8b79bd92302fe452242ea6f7672a77a80f0.000022391927829544 Ether
0xcd95e30d56392c67d614b877d0155023e9831a2784cc749b54a53e810dfb1f9761552935 hrs 56 mins ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x60e31b8b79bd92302fe452242ea6f7672a77a80f0.028925420720721385 Ether
0xd5e0a166b2d76b16ea163ad2b9838792df35beff939582c9baea5e2cc999994161552816 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x60e31b8b79bd92302fe452242ea6f7672a77a80f0.028925420720721385 Ether
0x8b31ce3ec6782ab8fd704e23451db6d14ed6cdffb764a18026a8fdf1b1c2e4ee61552786 hrs 1 min ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x60e31b8b79bd92302fe452242ea6f7672a77a80f0.028925420720721385 Ether
0x4250db09233a38f35672583d54709779494d5422833ce3aca659d26812205c7b61385553 days 1 hr ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x95e8713a5d2bf0ddaf8d0819e73907a8cee3d1110.217222297354937958 Ether
0x34a66d5ebd1295c8a18afe8bb5d8ebef84abd4fb461289ebe477b14712fb404f61370373 days 8 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x425cef5648f897dd87f6b80878498867f2e369300.000002518090261804 Ether
0x28f54280a508698b7255525d24ceda3bb1aa3d8499d7411a6ddaa6343df4635661028599 days 2 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x6da78c81953a138a57e23fd435b6a322e0a3e7ec0.052949243648407577 Ether
0x917f5bbea896f588ac34179a79126609edf2abfd3642718448886fdfebae7dc961026269 days 3 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x23c654314eadaae05857de5a61c1228c332828070.497803254249978937 Ether
0x31c711fe8e5bf60d83c730e7c4f818ad796c8c9a27eb923d1ce7a5a2b25f48c861024779 days 4 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x23c654314eadaae05857de5a61c1228c332828070.001759203955275085 Ether
0xc18db25337b0d944d6b793f0ad3958db4666c0b5d5f973d5170246987a7beec861024249 days 4 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x6da78c81953a138a57e23fd435b6a322e0a3e7ec0.006667488563607802 Ether
0x6493c481eece1e17439b28352edcd7258bbfd7aea2a1eefa3945630fd9b55b2e61018019 days 7 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0xe42dabff56ceaae203b5e14a374021d405c5be590.375525020183215643 Ether
0xd760a03492fc8d5ab1cbde4b518c64d60c6b49b924fd44fbd35ebc275edfeb2a609200210 days 22 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x1a0c7508c3213918ca92bfa7c4c2baa1b39614fe0.277637250997826789 Ether
0x4aff0f01b7a505b2f2182672c267bd22ce7d17b62b88cb70b95af87c87b35262609149911 days 43 mins ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x1a0c7508c3213918ca92bfa7c4c2baa1b39614fe0.180843816628014664 Ether
0x350dd17b7e282c05b70654c21e0510f3912d980fe19f4385b74eae7cb02f1fb9609037611 days 5 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x23c654314eadaae05857de5a61c1228c332828070.088734774998750665 Ether
0x693cc48a7520311ea5df03524bdb0512b6208134cf1728fa08beb69239edf0eb608463012 days 4 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x861cb1290be4ce7772f94946445d32e4b1d6b3cb0.687851812575646227 Ether
0x0ace6c741b769fff7877281bf38d4e3e01ae748d4ae027669db6106b9c05ed92608430112 days 5 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x689111bdcf94c44e23814bba772912dca0c217040.084516477974696638 Ether
0x03d86a181873d82ab455c3a43e6f3f06304d27bef75211d1e952cc5f5ad7d690608293312 days 10 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0xc7ca4b826c71b2093a244c225b0b44946f084bf20.002354894332366977 Ether
0xd5499ff43076b6c105ad3e7e2b7bc7eebcb6850770652f5012ddf38a83adc2f5608146712 days 17 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x6c4ff1459cc4d95b9a7a7b20a3bc09bc2404b9a70.95063492368339606 Ether
0x12757aaf1411b9ff3c89686f3df9daa986b99d252a7a98349228b802a1e3e19c607587213 days 15 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x861cb1290be4ce7772f94946445d32e4b1d6b3cb0.047329077680070192 Ether
0xe5d2f4bfd5f3c3560e6f4c3ad944323d03d56488d1c65068308de8fc5c5e4a2f607023714 days 14 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x23183dafd738fb876c363da7651a679fcb24b6570.001914225333209169 Ether
0x721d84644cf7369009972ecac7f5f03a63bd5dbfc4818baaa79b76164ca226f8606799415 days ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x327884444b8ef2f432737cb7cc87545e241612e60.081676117822189325 Ether
0x89f4c298b2e7557890d6cbb72c6f3158dd6ca606aff035927aadde4c0c4b15f0606746215 days 2 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x60e31b8b79bd92302fe452242ea6f7672a77a80f0.002413760259693704 Ether
0x3884f18f1eb904c5a3889372b50e720c02f1958c066ca91bffc8548496d5b8a1606453015 days 14 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x18065694a1c4b25fce11c60bdb0110a6ccab81610.022225455664827437 Ether
0x1de4371455ef82eb1874353770508c4d22931d29763033d0abcaab3c98884575606429415 days 15 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x46d59f5a3c9e7e98b1fb2b796e5ce3c2dcc8b1fe0.178549797115279844 Ether
0xb97af83cd8b38957801a68d157062c0227f0ccc7ab389dc984da44676893e1c5606423815 days 15 hrs ago0x812f8d75654ee5a342ecf98ddf166739eb9ed58f0x80b1b39e3faa3ae3ac608b8829cf191d316d347b0.007432564843571749 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity compiler bugs.

Contract Source Code Verified (Exact match)
Contract Name: Hourglass
Compiler Version: v0.4.20+commit.3155dd80
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.20;

/*
* LastHero团队.
* -> 这是什么?
* 改进的自主金字塔资金模型:
* [x] 该合约是目前最稳定的智能合约,经受过所有的攻击测试!
* [x] 由ARC等多名安全专家审核测试。
* [X] 新功能:可部分卖出,而不必将你的所有资产全部卖出!
* [x] 新功能:可以在钱包之间传输代币。可以在智能合约中进行交易!
* [x] 新特性:世界首创POS节点以太坊职能合约,让V神疯狂的新功能。
* [x] 主节点:持有100个代币即可拥有自己的主节点,主节点是唯一的智能合约入口!
* [x] 主节点:所有通过你的主节点进入合约的玩家,你可以获得10%的分红!
*
* -> 关于项目?
* 我们的团队成员拥有超强的创建安全智能合约的能力。
* 新的开发团队由经验丰富的专业开发人员组成,并由资深合约安全专家审核。
* 另外,我们公开进行过数百次的模拟攻击,该合约从来没有被攻破过。
* 
* -> 这个项目的成员有哪些?
* - PonziBot (math/memes/main site/master)数学
* - Mantso (lead solidity dev/lead web3 dev)主程
* - swagg (concept design/feedback/management)概念设计/反馈/管理
* - Anonymous#1 (main site/web3/test cases)网站/web3/测试
* - Anonymous#2 (math formulae/whitepaper)数学推导/白皮书
*
* -> 该项目的安全审核人员:
* - Arc
* - tocisck
* - sumpunk
*/

contract Hourglass {
    /*=================================
    =            MODIFIERS  全局       =
    =================================*/
    // 只限持币用户
    modifier onlyBagholders() {
        require(myTokens() > 0);
        _;
    }
    
    // 只限收益用户
    modifier onlyStronghands() {
        require(myDividends(true) > 0);
        _;
    }
    
    // 管理员权限:
    // -> 更改合约名称
    // -> 更改代币名称
    // -> 改变POS的难度(确保维持一个主节点需要多少代币,以避免滥发)
    // 管理员没有权限做以下事宜:
    // -> 动用资金
    // -> 禁止用户取款
    // -> 自毁合约
    // -> 改变代币价格
    modifier onlyAdministrator(){ // 用来确定是管理员
        address _customerAddress = msg.sender;
        require(administrators[keccak256(_customerAddress)]); // 在管理员列表中存在
        _; // 表示在modifier的函数执行完后,开始执行其它函数
    }
    
    
    // 确保合约中第一批代币均等的分配
    // 这意味着,不公平的优势成本是不可能存在的
    // 这将为基金的健康成长打下坚实的基础。
    modifier antiEarlyWhale(uint256 _amountOfEthereum){ // 判断状态
        address _customerAddress = msg.sender;
        
        // 我们还是处于不利的投资地位吗?
        // 既然如此,我们将禁止早期的大额投资 
        if( onlyAmbassadors && ((totalEthereumBalance() - _amountOfEthereum) <= ambassadorQuota_ )){
            require(
                // 这个用户在代表名单吗?
                ambassadors_[_customerAddress] == true &&
                
                // 用户购买量是否超过代表的最大配额?
                (ambassadorAccumulatedQuota_[_customerAddress] + _amountOfEthereum) <= ambassadorMaxPurchase_
                
            );
            
            // 更新累计配额  
            ambassadorAccumulatedQuota_[_customerAddress] = SafeMath.add(ambassadorAccumulatedQuota_[_customerAddress], _amountOfEthereum);
        
            // 执行
            _;
        } else {
            // 如果基金中以太币数量下降到创世值,代表阶段也不会重新启动。
            onlyAmbassadors = false;
            _;    
        }
        
    }
    
    
    /*==============================
    =            EVENTS  事件      =
    ==============================*/
    event onTokenPurchase( // 购买代币
        address indexed customerAddress,
        uint256 incomingEthereum,
        uint256 tokensMinted,
        address indexed referredBy
    );
    
    event onTokenSell( // 出售代币
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 ethereumEarned
    );
    
    event onReinvestment( // 再投资
        address indexed customerAddress,
        uint256 ethereumReinvested,
        uint256 tokensMinted
    );
    
    event onWithdraw( // 提取资金
        address indexed customerAddress,
        uint256 ethereumWithdrawn
    );
    
    // ERC20标准
    event Transfer( // 一次交易
        address indexed from,
        address indexed to,
        uint256 tokens
    );
    
    
    /*=====================================
    =            CONFIGURABLES  配置       =
    =====================================*/
    string public name = "LastHero3D"; // 名字
    string public symbol = "Keys"; // 符号
    uint8 constant public decimals = 18; // 小数位
    uint8 constant internal dividendFee_ = 10; // 交易分红比例
    uint256 constant internal tokenPriceInitial_ = 0.0000001 ether; // 代币初始价格
    uint256 constant internal tokenPriceIncremental_ = 0.00000001 ether; // 代币递增价格
    uint256 constant internal magnitude = 2**64;
    
    // 股份证明(默认值为100代币)
    uint256 public stakingRequirement = 100e18;
    
    // 代表计划
    mapping(address => bool) internal ambassadors_; // 代表集合
    uint256 constant internal ambassadorMaxPurchase_ = 1 ether; // 最大购买
    uint256 constant internal ambassadorQuota_ = 20 ether; // 购买限额
    
    
    
   /*================================
    =            DATASETS   数据     =
    ================================*/
    // 每个地址的股份数量(按比例编号)
    mapping(address => uint256) internal tokenBalanceLedger_; // 保存地址的代币数量
    mapping(address => uint256) internal referralBalance_; // 保存地址的推荐分红
    mapping(address => int256) internal payoutsTo_;
    mapping(address => uint256) internal ambassadorAccumulatedQuota_;
    uint256 internal tokenSupply_ = 0;
    uint256 internal profitPerShare_;
    
    // 管理员列表(管理员权限见上述)
    mapping(bytes32 => bool) public administrators; // 管理者地址列表
    
    // 当代表制度成立,只有代表可以购买代币(这确保了完美的金字塔分布,以防持币比例不均)
    bool public onlyAmbassadors = true; // 限制只有代表能够购买代币
    


    /*=======================================
    =            PUBLIC FUNCTIONS 公开函数   =
    =======================================*/
    /*
    * -- 应用入口 --  
    */
    function Hourglass()
        public
    {
        // 在这里添加管理员
        administrators[0xdacb12a29ec52e618a1dbe39a3317833066e94371856cc2013565dab2ae6fa62] = true;
        
        // 在这里添加代表。
        // mantso - lead solidity dev & lead web dev. 
        ambassadors_[0x24257cF6fEBC8aAaE2dC20906d4Db1C619d40329] = true;
        
        // ponzibot - mathematics & website, and undisputed meme god.
        ambassadors_[0xEa01f6203bD55BA694594FDb5575f2936dB7f698] = true;
        
        // swagg - concept design, feedback, management.
        ambassadors_[0x22caa6670991D67bf0EA033156114F07de4aa20b] = true;
        
        // k-dawgz - shilling machine, meme maestro, bizman.
        ambassadors_[0xf9d7f59E5d0711f5482968D69B5aEe251945D1c5] = true;
        
        // elmojo - all those pretty .GIFs & memes you see? you can thank this man for that.
        ambassadors_[0x4d82B6839Fd64eF7D3Af64080167A42bF9B9E332] = true;
        
        // capex - community moderator.
        ambassadors_[0x1f50451b941d163837623E25E22033C11626491C] = true;
        
        // jörmungandr - pentests & twitter trendsetter.
        ambassadors_[0xC68538d6971D1B0AC8829f8B14e6a9B2AF614119] = true;
        
        // inventor - the source behind the non-intrusive referral model.
        ambassadors_[0x23183DaFd738FB876c363dA7651A679fcb24b657] = true;
        
        // tocsick - pentesting, contract auditing.
        ambassadors_[0x95E8713a5D2bf0DDAf8D0819e73907a8CEE3D111] = true;
        
        // arc - pentesting, contract auditing.
        ambassadors_[0x976f6397ae155239289D6cb7904E6730BeBa7c79] = true;
        
        // sumpunk - contract auditing.
        ambassadors_[0xC26BB52D97BA7e4c6DA8E7b07D1B8B78Be178FBd] = true;
        
        // randall - charts & sheets, data dissector, advisor.
        ambassadors_[0x23C654314EaDAaE05857dE5a61c1228c33282807] = true;
        
        // ambius - 3d chart visualization.
        ambassadors_[0xA732E7665fF54Ba63AE40E67Fac9f23EcD0b1223] = true;
        
        // contributors that need to remain private out of security concerns.
        ambassadors_[0x445b660236c39F5bc98bc49ddDc7CF1F246a40aB] = true; //dp
        ambassadors_[0x60e31B8b79bd92302FE452242Ea6F7672a77a80f] = true; //tc
        ambassadors_[0xbbefE89eBb2a0e15921F07F041BE5691d834a287] = true; //ja
        ambassadors_[0x5ad183E481cF0477C024A96c5d678a88249295b8] = true; //sf
        ambassadors_[0x10C5423A46a09D6c5794Cdd507ee9DA7E406F095] = true; //tb
        ambassadors_[0x9E191643D643AA5908C5B9d3b10c27Ad9fb4AcBE] = true; //sm
        ambassadors_[0x2c389a382003E9467a84932E68a35cea27A34B8D] = true; //mc
        ambassadors_[0x4af87534cb13B473D8c1199093a8052b5Ad6661B] = true; //et
        

    }
    
     
    /**
     * 将所有以太坊网络传入转换为代币调用,并向下传递(如果有下层拓扑)
     */
    function buy(address _referredBy)
        public
        payable
        returns(uint256)
    {
        purchaseTokens(msg.value, _referredBy);
    }
    
    /**
     * 回调函数来处理直接发送到合约的以太坊参数。
     * 我们不能通过这种方式来指定一个地址。
     */
    function()
        payable
        public
    {
        purchaseTokens(msg.value, 0x0);
    }
    
    /**
     * 将所有的分红请求转换为代币。
     */
    function reinvest()
        onlyStronghands()
        public
    {
        // 提取股息
        uint256 _dividends = myDividends(false); // retrieve ref. bonus later in the code
        
        // 实际支付的股息
        address _customerAddress = msg.sender;
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);
        
        // 检索参考奖金
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        
        // 发送一个购买订单通过虚拟化的“撤回股息”
        uint256 _tokens = purchaseTokens(_dividends, 0x0);
        
        // 重大事件
        onReinvestment(_customerAddress, _dividends, _tokens);
    }
    
    /**
     * 退出流程,卖掉并且提取资金
     */
    function exit()
        public
    {
        // 通过调用获取代币数量并将其全部出售
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if(_tokens > 0) sell(_tokens);
        
        // 取款服务
        withdraw();
    }

    /**
     * 取走请求者的所有收益。
     */
    function withdraw()
        onlyStronghands()
        public
    {
        // 设置数据
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false); // 从代码中获得参考奖金
        
        // 更新股息系统
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);
        
        // 添加参考奖金
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        
        // 获取服务
        _customerAddress.transfer(_dividends);
        
        // 重大事件
        onWithdraw(_customerAddress, _dividends);
    }
    
    /**
     * 以太坊代币。
     */
    function sell(uint256 _amountOfTokens)
        onlyBagholders()
        public
    {
        // 设置数据
        address _customerAddress = msg.sender;
        // 来自俄罗斯的BTFO
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _ethereum = tokensToEthereum_(_tokens);
        uint256 _dividends = SafeMath.div(_ethereum, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
        
        // 销毁已出售的代币
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);
        
        // 更新股息系统
        int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_taxedEthereum * magnitude));
        payoutsTo_[_customerAddress] -= _updatedPayouts;       
        
        // 禁止除以0
        if (tokenSupply_ > 0) {
            // 更新代币的股息金额
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }
        
        // 重大事件
        onTokenSell(_customerAddress, _tokens, _taxedEthereum);
    }
    
    
    /**
     * 从请求者账户转移代币新持有者账户。
     * 记住,这里还有10%的费用。
     */
    function transfer(address _toAddress, uint256 _amountOfTokens)
        onlyBagholders()
        public
        returns(bool)
    {
        // 设置
        address _customerAddress = msg.sender;
        
        // 取保拥有足够的代币
        // 代币禁止转移,直到代表阶段结束。
        // (我们不想捕鲸)
        require(!onlyAmbassadors && _amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        
        // 取走所有未付的股息
        if(myDividends(true) > 0) withdraw();
        
        // 被转移代币的十分之一
        // 这些都将平分给个股东
        uint256 _tokenFee = SafeMath.div(_amountOfTokens, dividendFee_);
        uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
        uint256 _dividends = tokensToEthereum_(_tokenFee);
  
        // 销毁费用代币
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);

        // 代币交换
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);
        
        // 更新股息系统
        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _taxedTokens);
        
        // 分发股息给持有者
        profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        
        // 重大事件
        Transfer(_customerAddress, _toAddress, _taxedTokens);
        
        // ERC20标准
        return true;
       
    }
    
    /*----------  管理员功能  ----------*/
    /**
     * 如果没有满足配额,管理员可以提前结束代表阶段。
     */
    function disableInitialStage()
        onlyAdministrator()
        public
    {
        onlyAmbassadors = false;
    }
    
    /**
     * 在特殊情况,可以更换管理员账户。
     */
    function setAdministrator(bytes32 _identifier, bool _status)
        onlyAdministrator()
        public
    {
        administrators[_identifier] = _status;
    }
    
    /**
     * 作为预防措施,管理员可以调整主节点的费率。
     */
    function setStakingRequirement(uint256 _amountOfTokens)
        onlyAdministrator()
        public
    {
        stakingRequirement = _amountOfTokens;
    }
    
    /**
     * 管理员可以重新定义品牌(代币名称)。
     */
    function setName(string _name)
        onlyAdministrator()
        public
    {
        name = _name;
    }
    
    /**
     * 管理员可以重新定义品牌(代币符号)。
     */
    function setSymbol(string _symbol)
        onlyAdministrator()
        public
    {
        symbol = _symbol;
    }

    
    /*----------  帮助者和计数器  ----------*/
    /**
     * 在合约中查看当前以太坊状态的方法
     * 例如 totalEthereumBalance()
     */
    function totalEthereumBalance() // 查看余额
        public
        view
        returns(uint)
    {
        return this.balance;
    }
    
    /**
     * 检索代币供应总量。
     */
    function totalSupply()
        public
        view
        returns(uint256)
    {
        return tokenSupply_;
    }
    
    /**
     * 检索请求者的代币余额。
     */
    function myTokens()
        public
        view
        returns(uint256)
    {
        address _customerAddress = msg.sender; // 获得发送者的地址
        return balanceOf(_customerAddress);
    }
    
    /**
     * 取回请求者拥有的股息。
     * 如果`_includeReferralBonus` 的值为1,那么推荐奖金将被计算在内。
     * 其原因是,在网页的前端,我们希望得到全局汇总。
     * 但在内部计算中,我们希望分开计算。
     */ 
    function myDividends(bool _includeReferralBonus) // 返回分红数,传入的参数用来指示是否考虑推荐分红
        public 
        view 
        returns(uint256)
    {
        address _customerAddress = msg.sender;
        return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ;
    }
    
    /**
     * 检索任意地址的代币余额。
     */
    function balanceOf(address _customerAddress)
        view
        public
        returns(uint256)
    {
        return tokenBalanceLedger_[_customerAddress];
    }
    
    /**
     * 检索任意地址的股息余额。
     */
    function dividendsOf(address _customerAddress)
        view
        public
        returns(uint256)
    {
        return (uint256) ((int256)(profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }
    
    /**
     * 返回代币买入的价格。
     */
    function sellPrice() 
        public 
        view 
        returns(uint256)
    {
        // 我们的计算依赖于代币供应,所以我们需要知道供应量。
        if(tokenSupply_ == 0){
            return tokenPriceInitial_ - tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(1e18);
            uint256 _dividends = SafeMath.div(_ethereum, dividendFee_  );
            uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
            return _taxedEthereum;
        }
    }
    
    /**
     * 返回代币卖出的价格。
     */
    function buyPrice() 
        public 
        view 
        returns(uint256)
    {
        // 我们的计算依赖于代币供应,所以我们需要知道供应量。
        if(tokenSupply_ == 0){
            return tokenPriceInitial_ + tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(1e18);
            uint256 _dividends = SafeMath.div(_ethereum, dividendFee_  );
            uint256 _taxedEthereum = SafeMath.add(_ethereum, _dividends);
            return _taxedEthereum;
        }
    }
    
    /**
     * 前端功能,动态获取买入订单价格。
     */
    function calculateTokensReceived(uint256 _ethereumToSpend) 
        public 
        view 
        returns(uint256)
    {
        uint256 _dividends = SafeMath.div(_ethereumToSpend, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
        
        return _amountOfTokens;
    }
    
    /**
     * 前端功能,动态获取卖出订单价格。
     */
    function calculateEthereumReceived(uint256 _tokensToSell) 
        public 
        view 
        returns(uint256)
    {
        require(_tokensToSell <= tokenSupply_);
        uint256 _ethereum = tokensToEthereum_(_tokensToSell);
        uint256 _dividends = SafeMath.div(_ethereum, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
        return _taxedEthereum;
    }
    
    
    /*==========================================
    =            INTERNAL FUNCTIONS  内部函数   =
    ==========================================*/
    function purchaseTokens(uint256 _incomingEthereum, address _referredBy)
        antiEarlyWhale(_incomingEthereum)
        internal
        returns(uint256)
    {
        // 数据设置
        address _customerAddress = msg.sender;
        uint256 _undividedDividends = SafeMath.div(_incomingEthereum, dividendFee_);
        uint256 _referralBonus = SafeMath.div(_undividedDividends, 3);
        uint256 _dividends = SafeMath.sub(_undividedDividends, _referralBonus);
        uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _undividedDividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
        uint256 _fee = _dividends * magnitude;
 
        // 禁止恶意执行
        // 防止溢出
        // (防止黑客入侵)
        // 定义SAFEMATH保证数据安全。
        require(_amountOfTokens > 0 && (SafeMath.add(_amountOfTokens,tokenSupply_) > tokenSupply_));
        
        // 用户是否被主节点引用?
        if(
            // 是否有推荐者?
            _referredBy != 0x0000000000000000000000000000000000000000 &&

            // 禁止作弊!
            _referredBy != _customerAddress && // 不能自己推荐自己
            
            // 推荐人是否有足够的代币?
            // 确保推荐人是诚实的主节点
            tokenBalanceLedger_[_referredBy] >= stakingRequirement
        ){
            // 财富再分配
            referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
        } else {
            // 无需购买
            // 添加推荐奖励到全局分红
            _dividends = SafeMath.add(_dividends, _referralBonus); // 把推荐奖励还给分红
            _fee = _dividends * magnitude;
        }
        
        // 我们不能给予无尽的以太坊
        if(tokenSupply_ > 0){
            
            // 添加代币到代币池
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
 
            // 获取这笔交易所获得的股息,并将平均分配给所有股东
            profitPerShare_ += (_dividends * magnitude / (tokenSupply_));
            
            // 计算用户通过购买获得的代币数量。 
            _fee = _fee - (_fee-(_amountOfTokens * (_dividends * magnitude / (tokenSupply_))));
        
        } else {
            // 添加代币到代币池
            tokenSupply_ = _amountOfTokens;
        }
        
        // 更新代币供应总量及用户地址
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        
        // 告诉买卖双方在拥有代币前不会获得分红;
        // 我知道你认为你做了,但是你没有做。
        int256 _updatedPayouts = (int256) ((profitPerShare_ * _amountOfTokens) - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;
        
        // 重大事件
        onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy);
        
        return _amountOfTokens;
    }

    /**
     * 通过以太坊传入数量计算代币价格;
     * 这是一个算法,在白皮书中能找到它的科学算法;
     * 做了一些修改,以防止十进制错误和代码的上下溢出。
     */
    function ethereumToTokens_(uint256 _ethereum) // 计算ETH兑换代币的汇率
        internal
        view
        returns(uint256)
    {
        uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18;
        uint256 _tokensReceived = 
         (
            (
                // 向下溢出尝试
                SafeMath.sub(
                    (sqrt
                        (
                            (_tokenPriceInitial**2)
                            +
                            (2*(tokenPriceIncremental_ * 1e18)*(_ethereum * 1e18))
                            +
                            (((tokenPriceIncremental_)**2)*(tokenSupply_**2))
                            +
                            (2*(tokenPriceIncremental_)*_tokenPriceInitial*tokenSupply_)
                        )
                    ), _tokenPriceInitial
                )
            )/(tokenPriceIncremental_)
        )-(tokenSupply_)
        ;
  
        return _tokensReceived;
    }
    
    /**
     * 计算代币出售的价格。
     * 这是一个算法,在白皮书中能找到它的科学算法;
     * 做了一些修改,以防止十进制错误和代码的上下溢出。
     */
     function tokensToEthereum_(uint256 _tokens)
        internal
        view
        returns(uint256)
    {

        uint256 tokens_ = (_tokens + 1e18);
        uint256 _tokenSupply = (tokenSupply_ + 1e18);
        uint256 _etherReceived =
        (
            // underflow attempts BTFO
            SafeMath.sub(
                (
                    (
                        (
                            tokenPriceInitial_ +(tokenPriceIncremental_ * (_tokenSupply/1e18))
                        )-tokenPriceIncremental_
                    )*(tokens_ - 1e18)
                ),(tokenPriceIncremental_*((tokens_**2-tokens_)/1e18))/2
            )
        /1e18);
        return _etherReceived;
    }
    
    
    //这里会消耗Gas
    //你大概会多消耗1gwei
    function sqrt(uint x) internal pure returns (uint y) {
        uint z = (x + 1) / 2;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
}

/**
 * @title SafeMath函数
 * @dev 安全的数学运算
 */
library SafeMath {

    /**
    * @dev 两个数字乘法,抛出溢出。
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev 两个数字的整数除法。
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // 值为0时自动抛出
        uint256 c = a / b;
        // assert(a == b * c + a % b); // 否则不成立
        return c;
    }

    /**
    * @dev 两个数字的减法,如果减数大于被减数,则溢出抛出。
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev 两个数字的加法,向上溢出抛出
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ethereumToSpend","type":"uint256"}],"name":"calculateTokensReceived","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":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"onlyAmbassadors","outputs":[{"name":"","type":"bool"}],"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":"","type":"bytes32"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakingRequirement","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"setStakingRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_identifier","type":"bytes32"},{"name":"_status","type":"bool"}],"name":"setAdministrator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","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":false,"inputs":[],"name":"disableInitialStage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","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":"customerAddress","type":"address"},{"indexed":false,"name":"incomingEthereum","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":true,"name":"referredBy","type":"address"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethereumEarned","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","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"}]

  Contract Creation Code Switch To Opcodes View
60606040526040805190810160405280600a81526020017f4c6173744865726f334400000000000000000000000000000000000000000000815250600090805190602001906200005192919062000a0e565b506040805190810160405280600481526020017f4b65797300000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000a0e565b5068056bc75e2d6310000060025560006008556001600b60006101000a81548160ff0219169083151502179055503415620000d957600080fd5b6001600a60007fdacb12a29ec52e618a1dbe39a3317833066e94371856cc2013565dab2ae6fa6260010260001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007324257cf6febc8aaae2dc20906d4db1c619d4032973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073ea01f6203bd55ba694594fdb5575f2936db7f69873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007322caa6670991d67bf0ea033156114f07de4aa20b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073f9d7f59e5d0711f5482968d69b5aee251945d1c573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000734d82b6839fd64ef7d3af64080167a42bf9b9e33273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000731f50451b941d163837623e25e22033c11626491c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073c68538d6971d1b0ac8829f8b14e6a9b2af61411973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007323183dafd738fb876c363da7651a679fcb24b65773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007395e8713a5d2bf0ddaf8d0819e73907a8cee3d11173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073976f6397ae155239289d6cb7904e6730beba7c7973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073c26bb52d97ba7e4c6da8e7b07d1b8b78be178fbd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007323c654314eadaae05857de5a61c1228c3328280773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073a732e7665ff54ba63ae40e67fac9f23ecd0b122373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073445b660236c39f5bc98bc49dddc7cf1f246a40ab73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007360e31b8b79bd92302fe452242ea6f7672a77a80f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073bbefe89ebb2a0e15921f07f041be5691d834a28773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000735ad183e481cf0477c024a96c5d678a88249295b873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007310c5423a46a09d6c5794cdd507ee9da7e406f09573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000739e191643d643aa5908c5b9d3b10c27ad9fb4acbe73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000732c389a382003e9467a84932e68a35cea27a34b8d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000734af87534cb13b473d8c1199093a8052b5ad6661b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000abd565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000a5157805160ff191683800117855562000a82565b8280016001018555821562000a82579182015b8281111562000a8157825182559160200191906001019062000a64565b5b50905062000a91919062000a95565b5090565b62000aba91905b8082111562000ab657600081600090555060010162000a9c565b5090565b90565b61239c8062000acd6000396000f30060606040526004361061015e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461016c57806306fdde03146101b957806310d0ffdd1461024757806318160ddd1461027e57806322609373146102a757806327defa1f146102de578063313ce5671461030b578063392efb521461033a5780633ccfd60b146103795780634b7503341461038e57806356d399e8146103b7578063688abbf7146103e05780636b2f46321461041957806370a08231146104425780638328b6101461048f5780638620410b146104b257806389135ae9146104db578063949e8acd1461050d57806395d89b4114610536578063a8e04f34146105c4578063a9059cbb146105d9578063b84c824614610633578063c47f002714610690578063e4849b32146106ed578063e9fad8ee14610710578063f088d54714610725578063fdb5a03e14610767575b61016934600061077c565b50005b341561017757600080fd5b6101a3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061107c565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101cc61111e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561020c5780820151818401526020810190506101f1565b50505050905090810190601f1680156102395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025257600080fd5b61026860048080359060200190919050506111bc565b6040518082815260200191505060405180910390f35b341561028957600080fd5b6102916111f4565b6040518082815260200191505060405180910390f35b34156102b257600080fd5b6102c860048080359060200190919050506111fe565b6040518082815260200191505060405180910390f35b34156102e957600080fd5b6102f1611247565b604051808215151515815260200191505060405180910390f35b341561031657600080fd5b61031e61125a565b604051808260ff1660ff16815260200191505060405180910390f35b341561034557600080fd5b61035f60048080356000191690602001909190505061125f565b604051808215151515815260200191505060405180910390f35b341561038457600080fd5b61038c61127f565b005b341561039957600080fd5b6103a161141c565b6040518082815260200191505060405180910390f35b34156103c257600080fd5b6103ca61147a565b6040518082815260200191505060405180910390f35b34156103eb57600080fd5b61040360048080351515906020019091905050611480565b6040518082815260200191505060405180910390f35b341561042457600080fd5b61042c6114ec565b6040518082815260200191505060405180910390f35b341561044d57600080fd5b610479600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061150b565b6040518082815260200191505060405180910390f35b341561049a57600080fd5b6104b06004808035906020019091905050611554565b005b34156104bd57600080fd5b6104c56115e8565b6040518082815260200191505060405180910390f35b34156104e657600080fd5b61050b6004808035600019169060200190919080351515906020019091905050611646565b005b341561051857600080fd5b610520611707565b6040518082815260200191505060405180910390f35b341561054157600080fd5b61054961171c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058957808201518184015260208101905061056e565b50505050905090810190601f1680156105b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105cf57600080fd5b6105d76117ba565b005b34156105e457600080fd5b610619600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611861565b604051808215151515815260200191505060405180910390f35b341561063e57600080fd5b61068e600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611b93565b005b341561069b57600080fd5b6106eb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611c37565b005b34156106f857600080fd5b61070e6004808035906020019091905050611cdb565b005b341561071b57600080fd5b610723611f09565b005b610751600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f70565b6040518082815260200191505060405180910390f35b341561077257600080fd5b61077a611f82565b005b60008060008060008060008060008a6000339050600b60009054906101000a900460ff1680156107be57506801158e460913d00000826107ba6114ec565b0311155b15610cac5760011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801561086c5750670de0b6b3a764000082600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b151561087757600080fd5b6108c0600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836120f6565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503399506109148d600a60ff16612114565b9850610921896003612114565b975061092d898961212f565b96506109398d8a61212f565b955061094486612148565b94506801000000000000000087029350600085118015610970575060085461096e866008546120f6565b115b151561097b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16141580156109e457508973ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015610a315750600254600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610ac757610a7f600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054896120f6565b600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ae2565b610ad187896120f6565b965068010000000000000000870293505b60006008541115610b4d57610af9600854866120f6565b600881905550600854680100000000000000008802811515610b1757fe5b04600960008282540192505081905550600854680100000000000000008802811515610b3f57fe5b048502840384039350610b55565b846008819055505b610b9e600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866120f6565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856009540203925082600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58f88604051808381526020018281526020019250505060405180910390a3849a5061106c565b6000600b60006101000a81548160ff021916908315150217905550339950610cd88d600a60ff16612114565b9850610ce5896003612114565b9750610cf1898961212f565b9650610cfd8d8a61212f565b9550610d0886612148565b94506801000000000000000087029350600085118015610d345750600854610d32866008546120f6565b115b1515610d3f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614158015610da857508973ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015610df55750600254600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610e8b57610e43600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054896120f6565b600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ea6565b610e9587896120f6565b965068010000000000000000870293505b60006008541115610f1157610ebd600854866120f6565b600881905550600854680100000000000000008802811515610edb57fe5b04600960008282540192505081905550600854680100000000000000008802811515610f0357fe5b048502840384039350610f19565b846008819055505b610f62600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866120f6565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856009540203925082600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58f88604051808381526020018281526020019250505060405180910390a3849a505b5050505050505050505092915050565b600068010000000000000000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600954020381151561111657fe5b049050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111b45780601f10611189576101008083540402835291602001916111b4565b820191906000526020600020905b81548152906001019060200180831161119757829003601f168201915b505050505081565b6000806000806111d085600a60ff16612114565b92506111dc858461212f565b91506111e782612148565b9050809350505050919050565b6000600854905090565b600080600080600854851115151561121557600080fd5b61121e856121d5565b925061122e83600a60ff16612114565b915061123a838361212f565b9050809350505050919050565b600b60009054906101000a900460ff1681565b601281565b600a6020528060005260406000206000915054906101000a900460ff1681565b600080600061128e6001611480565b11151561129a57600080fd5b3391506112a76000611480565b9050680100000000000000008102600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156113ca57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b60008060008060006008541415611441576402540be40064174876e800039350611474565b611452670de0b6b3a76400006121d5565b925061146283600a60ff16612114565b915061146e838361212f565b90508093505b50505090565b60025481565b60008033905082611499576114948161107c565b6114e4565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e28261107c565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156115dd57600080fd5b816002819055505050565b6000806000806000600854141561160d576402540be40064174876e800019350611640565b61161e670de0b6b3a76400006121d5565b925061162e83600a60ff16612114565b915061163a83836120f6565b90508093505b50505090565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156116cf57600080fd5b81600a6000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000803390506117168161150b565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117b25780601f10611787576101008083540402835291602001916117b2565b820191906000526020600020905b81548152906001019060200180831161179557829003601f168201915b505050505081565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561184357600080fd5b6000600b60006101000a81548160ff02191690831515021790555050565b600080600080600080611872611707565b11151561187e57600080fd5b339350600b60009054906101000a900460ff161580156118dd5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611155b15156118e857600080fd5b60006118f46001611480565b11156119035761190261127f565b5b61191186600a60ff16612114565b925061191d868461212f565b9150611928836121d5565b90506119366008548461212f565b600881905550611985600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548761212f565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a11600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836120f6565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560095402600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160095402600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611b1a600954600854680100000000000000008402811515611b1457fe5b046120f6565b6009819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611c1c57600080fd5b8160019080519060200190611c329291906122cb565b505050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611cc057600080fd5b8160009080519060200190611cd69291906122cb565b505050565b6000806000806000806000611cee611707565b111515611cfa57600080fd5b339550600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548711151515611d4b57600080fd5b869450611d57856121d5565b9350611d6784600a60ff16612114565b9250611d73848461212f565b9150611d816008548661212f565b600881905550611dd0600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661212f565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680100000000000000008202856009540201905080600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060006008541115611eaa57611ea3600954600854680100000000000000008602811515611e9d57fe5b046120f6565b6009819055505b8573ffffffffffffffffffffffffffffffffffffffff167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a311398684604051808381526020018281526020019250505060405180910390a250505050505050565b600080339150600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611f6457611f6381611cdb565b5b611f6c61127f565b5050565b6000611f7c348361077c565b50919050565b600080600080611f926001611480565b111515611f9e57600080fd5b611fa86000611480565b9250339150680100000000000000008302600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054830192506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061209983600061077c565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b600080828401905083811015151561210a57fe5b8091505092915050565b600080828481151561212257fe5b0490508091505092915050565b600082821115151561213d57fe5b818303905092915050565b6000806000670de0b6b3a764000064174876e8000291506008546402540be4006121be6121b8600854866402540be400600202020260026008540a60026402540be4000a02670de0b6b3a76400008a02670de0b6b3a76400006402540be40002600202026002890a010101612280565b8561212f565b8115156121c757fe5b040390508092505050919050565b600080600080670de0b6b3a764000085019250670de0b6b3a7640000600854019150670de0b6b3a7640000612269670de0b6b3a764000085036402540be400670de0b6b3a76400008681151561222757fe5b046402540be4000264174876e8000103026002670de0b6b3a7640000876002890a0381151561225257fe5b046402540be4000281151561226357fe5b0461212f565b81151561227257fe5b049050809350505050919050565b60008060026001840181151561229257fe5b0490508291505b818110156122c55780915060028182858115156122b257fe5b04018115156122bd57fe5b049050612299565b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061230c57805160ff191683800117855561233a565b8280016001018555821561233a579182015b8281111561233957825182559160200191906001019061231e565b5b509050612347919061234b565b5090565b61236d91905b80821115612369576000816000905550600101612351565b5090565b905600a165627a7a7230582004882a55a5e970fc37fa5a538ac0f127486a8a69695e2993ed42248dbae6e9050029

   Swarm Source:
bzzr://04882a55a5e970fc37fa5a538ac0f127486a8a69695e2993ed42248dbae6e905

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.