Sponsored:   Ubex.com - Token sale will end in just 4 days. 98% hard cap already reached. Don't Miss Out!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 1521 txns
Token Tracker: PELO Coin (PELO)
 Latest 25 txns From a total of 1521 Transactions

TxHash Age From To Value [TxFee]
0xc3c83b94becf4784e03cef16ea2f600ea3946f558118933655449b647dd032d11 hr 43 mins ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00332154
0x4855ebd51a2b6f0383102fb6b4b0516c0ce6fefc42cde2c16748c8d0b2ce8edd17 hrs 36 mins ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.0003516801
0xf4ff0e8534ea0490edfe4c552eb268a939f899e683773a33e18b84962e1d182417 hrs 38 mins ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.0004821801
0x3546feb9f7704b051d3e8c76eda2e23fa00b372a9dd63489371410b328ce64d617 hrs 39 mins ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.0003516801
0x33844af75f732810313ef45db63bdbbebf99454b528ac0133129c8374e3fb70f17 hrs 40 mins ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.0003516801
0xfb7abc924f620c1d9407024172833c88d5420d42a677e7e366552f33c3360bf91 day 5 hrs ago0xbb0adb41b864a090d65d904eb4c2f1077d1a2cfe  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001657343
0x27ca8688a65a7003396aebc8f1c0e26addfedca9a247779b93b9a3dca4f3f97c2 days 19 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00332538
0xe2d293c45e55bf6618e8e2e0511e98fceb0753c7c1eb27098230eb5ff295bb6a2 days 19 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00242538
0x1a21432805b6bea5ccc7fe34755cde4c2f03dec714baee32e27662e2a92e99ad2 days 20 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000677718
0x3b7f501d83452871a5e7677e7ebc13629e05307f5b11bf7f7f98f09b5d0819505 days 7 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00242538
0x8afdd8990abf024f5ea0437b022b65fd1f9dad238cbad9f99a6d6508c87b57655 days 8 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00332154
0x1209084e73d9a607acb79350213f5a528152665f7788a3db1cf657fa1e364ceb6 days 7 hrs ago0xaf9c4a509679bb276d85916ec61b5d2e43c6474f  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001657343
0x8b4195c5a6bf4d1f11f048cd6da1da0fdf73af8757be154019faff9156a5f1046 days 22 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00242538
0x1735fdbb19c843470a43c76c28f55936697304a7a3dcb432ca2d6de88ca185169 days 20 hrs ago0x46dd2c2c294d6ff02f1be225288b0eb5db7c284b  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000076461
0x81a674204616b5e6b27e73b39c4ba5d36766348a49b06d602b8487dd0171592b10 days 17 mins ago0xfb9c52c689f24b5bdf72e153a18d1b29a94af049  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001165227
0xde24c2b1f49208b520af021f6492b5b354e383258ddea058aa91c8e07b4a0f9110 days 8 hrs ago0x2aa0cc509acf498b8032ea8eef756bf974c3719f  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001657343
0x10f2acf7be05ade1aa1ad4f02d6f3f63410fac077d353d17ea6dc5ecd206e6c211 days 15 hrs ago0x30a48ff7bd64a398b9853d966c3a4182272f2b4b  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001654719
0xd970ab250f733039955ac3c3fd9f6a0bd5e3ac5e08f0305ad1c359114638d39a15 days 3 hrs ago0x39fddf06ed1fe6cf626168fc435174b68bd5a1f2  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.0000866558
0x9ab93f873092ba5ba3c83b49603f42d6cc485b037f90abdf702181e78c2a966915 days 7 hrs ago0xc44761c1208ae7ddc9d9e6aef493cccbb363ce9a  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000121461
0x8e58aeffe43154aaf755ea76138c8aa8f7a222cdc62402d57070018e73be87cd16 days 3 hrs ago0x63a5733f625f3d5afccc8ae0a6c1dbf6c194011a  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001042343
0x06741f8ac188f717ed7b60026dad97cdd29345cc5dbf9323f9f94aa68858516416 days 17 hrs ago0xc01ce6fa425f51e510f58a04171c4bfc9780cf74  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00040423
0xd6b0791d800bbbfb92a6d00356609e456913c35c0ae9c8c5c94fc2ecfee55dde19 days 1 hr ago0x93943bca9c9951f68ea63cc015e2ee6b8a90e1fb  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00080846
0x5baec8536cf5b86a7d5a438ef9617c1b85586cf5daceba77fe069f0cb91b2cca19 days 1 hr ago0x93943bca9c9951f68ea63cc015e2ee6b8a90e1fb  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00110718
0x33edc35d97abe4d84598e8225c88fc82ff54b3c6c4bc90854f03fb7813261b9119 days 3 hrs ago0x68f3299f1d428cac1a8d15aca5ae6b0a14369788  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000101692
0xcd3f3cce3b2f0908e44e0748bfeadba4b3d820a1aac50d7a873a44b253c2e2f619 days 3 hrs ago0xf5a945f3f502431d304f1c538ad94563b823fb09  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000101436
[ 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), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: PELOCoinToken
Compiler Text: v0.4.19+commit.c4cbbb05
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.19;

contract Multiownable {

    // VARIABLES

    uint256 public howManyOwnersDecide;
    address[] public owners;
    bytes32[] public allOperations;
    address insideOnlyManyOwners;
    
    // Reverse lookup tables for owners and allOperations
    mapping(address => uint) ownersIndices; // Starts from 1
    mapping(bytes32 => uint) allOperationsIndicies;
    
    // Owners voting mask per operations
    mapping(bytes32 => uint256) public votesMaskByOperation;
    mapping(bytes32 => uint256) public votesCountByOperation;
    
    // EVENTS

    event OwnershipTransferred(address[] previousOwners, address[] newOwners);

    // ACCESSORS

    function isOwner(address wallet) public constant returns(bool) {
        return ownersIndices[wallet] > 0;
    }

    function ownersCount() public constant returns(uint) {
        return owners.length;
    }

    function allOperationsCount() public constant returns(uint) {
        return allOperations.length;
    }

    // MODIFIERS

    /**
    * @dev Allows to perform method by any of the owners
    */
    modifier onlyAnyOwner {
        require(isOwner(msg.sender));
        _;
    }

    /**
    * @dev Allows to perform method only after all owners call it with the same arguments
    */
    modifier onlyManyOwners {
        if (insideOnlyManyOwners == msg.sender) {
            _;
            return;
        }
        require(isOwner(msg.sender));

        uint ownerIndex = ownersIndices[msg.sender] - 1;
        bytes32 operation = keccak256(msg.data);
        
        if (votesMaskByOperation[operation] == 0) {
            allOperationsIndicies[operation] = allOperations.length;
            allOperations.push(operation);
        }
        require((votesMaskByOperation[operation] & (2 ** ownerIndex)) == 0);
        votesMaskByOperation[operation] |= (2 ** ownerIndex);
        votesCountByOperation[operation] += 1;

        // If all owners confirm same operation
        if (votesCountByOperation[operation] == howManyOwnersDecide) {
            deleteOperation(operation);
            insideOnlyManyOwners = msg.sender;
            _;
            insideOnlyManyOwners = address(0);
        }
    }

    // CONSTRUCTOR

    function Multiownable() public {
        owners.push(msg.sender);
        ownersIndices[msg.sender] = 1;
        howManyOwnersDecide = 1;
    }

    // INTERNAL METHODS

    /**
    * @dev Used to delete cancelled or performed operation
    * @param operation defines which operation to delete
    */
    function deleteOperation(bytes32 operation) internal {
        uint index = allOperationsIndicies[operation];
        if (allOperations.length > 1) {
            allOperations[index] = allOperations[allOperations.length - 1];
            allOperationsIndicies[allOperations[index]] = index;
        }
        allOperations.length--;
        
        delete votesMaskByOperation[operation];
        delete votesCountByOperation[operation];
        delete allOperationsIndicies[operation];
    }

    // PUBLIC METHODS

    /**
    * @dev Allows owners to change their mind by cacnelling votesMaskByOperation operations
    * @param operation defines which operation to delete
    */
    function cancelPending(bytes32 operation) public onlyAnyOwner {
        uint ownerIndex = ownersIndices[msg.sender] - 1;
        require((votesMaskByOperation[operation] & (2 ** ownerIndex)) != 0);
        
        votesMaskByOperation[operation] &= ~(2 ** ownerIndex);
        votesCountByOperation[operation]--;
        if (votesCountByOperation[operation] == 0) {
            deleteOperation(operation);
        }
    }

    /**
    * @dev Allows owners to change ownership
    * @param newOwners defines array of addresses of new owners
    */
    function transferOwnership(address[] newOwners) public {
        transferOwnershipWithHowMany(newOwners, newOwners.length);
    }

    /**
    * @dev Allows owners to change ownership
    * @param newOwners defines array of addresses of new owners
    * @param newHowManyOwnersDecide defines how many owners can decide
    */
    function transferOwnershipWithHowMany(address[] newOwners, uint256 newHowManyOwnersDecide) public onlyManyOwners {
        require(newOwners.length > 0);
        require(newOwners.length <= 256);
        require(newHowManyOwnersDecide > 0);
        require(newHowManyOwnersDecide <= newOwners.length);
        for (uint i = 0; i < newOwners.length; i++) {
            require(newOwners[i] != address(0));
        }

        OwnershipTransferred(owners, newOwners);

        // Reset owners array and index reverse lookup table
        for (i = 0; i < owners.length; i++) {
            delete ownersIndices[owners[i]];
        }
        for (i = 0; i < newOwners.length; i++) {
            require(ownersIndices[newOwners[i]] == 0);
            ownersIndices[newOwners[i]] = i + 1;
        }
        owners = newOwners;
        howManyOwnersDecide = newHowManyOwnersDecide;

        // Discard all pendign operations
        for (i = 0; i < allOperations.length; i++) {
            delete votesMaskByOperation[allOperations[i]];
            delete votesCountByOperation[allOperations[i]];
            delete allOperationsIndicies[allOperations[i]];
        }
        allOperations.length = 0;
    }

}

contract owned {
    address public owner;

    function owned() public {
        owner = msg.sender;
    }

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

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


contract PELOExtensionInterface is owned {

    event ExtensionCalled(bytes32[8] params);

    address public ownerContract;

    function PELOExtensionInterface(address _ownerContract) public {
        ownerContract = _ownerContract;
    }
    
    function ChangeOwnerContract(address _ownerContract) onlyOwner public {
        ownerContract = _ownerContract;
    }
    
    function Operation(uint8 opCode, bytes32[8] params) public returns (bytes32[8] result) {}
}

contract PELOExtension1 is PELOExtensionInterface {

    function PELOExtension1(address _ownerContract) PELOExtensionInterface(_ownerContract) public {} 
    
    function Operation(uint8 opCode, bytes32[8] params) public returns (bytes32[8] result) {
        if(opCode == 1) {
            ExtensionCalled(params);
            return result;
        }
        else if(opCode == 2) {
            ExtensionCalled(params);
            return result;
        }
        else {
            return result;
        }
    }
}


interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }

contract TokenERC20 {
    // Public variables of the token
    string public name;
    string public symbol;
    uint8 public decimals = 18;
    // 18 decimals is the strongly suggested default, avoid changing it
    uint256 public totalSupply;

    // This creates an array with all balances
    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    // This generates a public event on the blockchain that will notify clients
    event Transfer(address indexed from, address indexed to, uint256 value);

    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value);

    /**
     * Constrctor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
    function TokenERC20(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
    ) public {
        totalSupply = initialSupply * 10 ** uint256(decimals);  // Update total supply with the decimal amount
        balanceOf[msg.sender] = totalSupply;                // Give the creator all initial tokens
        name = tokenName;                                   // Set the name for display purposes
        symbol = tokenSymbol;                               // Set the symbol for display purposes
    }

    /**
     * Internal transfer, only can be called by this contract
     */
    function _transfer(address _from, address _to, uint _value) internal {
        // Prevent transfer to 0x0 address. Use burn() instead
        require(_to != 0x0);
        // Check if the sender has enough
        require(balanceOf[_from] >= _value);
        // Check for overflows
        require(balanceOf[_to] + _value > balanceOf[_to]);
        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        // Subtract from the sender
        balanceOf[_from] -= _value;
        // Add the same to the recipient
        balanceOf[_to] += _value;
        Transfer(_from, _to, _value);
        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
    }

    /**
     * Transfer tokens
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transfer(address _to, uint256 _value) public {
        _transfer(msg.sender, _to, _value);
    }

    /**
     * Transfer tokens from other address
     *
     * Send `_value` tokens to `_to` in behalf of `_from`
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= allowance[_from][msg.sender]);     // Check allowance
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true;
    }

    /**
     * Set allowance for other address
     *
     * Allows `_spender` to spend no more than `_value` tokens in your behalf
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     */
    function approve(address _spender, uint256 _value) public
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        return true;
    }

    /**
     * Set allowance for other address and notify
     *
     * Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     * @param _extraData some extra information to send to the approved contract
     */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        public
        returns (bool success) {
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    /**
     * Destroy tokens
     *
     * Remove `_value` tokens from the system irreversibly
     *
     * @param _value the amount of money to burn
     */
    function burn(uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
        balanceOf[msg.sender] -= _value;            // Subtract from the sender
        totalSupply -= _value;                      // Updates totalSupply
        Burn(msg.sender, _value);
        return true;
    }

    /**
     * Destroy tokens from other account
     *
     * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
     *
     * @param _from the address of the sender
     * @param _value the amount of money to burn
     */
    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
        require(_value <= allowance[_from][msg.sender]);    // Check allowance
        balanceOf[_from] -= _value;                         // Subtract from the targeted balance
        allowance[_from][msg.sender] -= _value;             // Subtract from the sender's allowance
        totalSupply -= _value;                              // Update totalSupply
        Burn(_from, _value);
        return true;
    }
}

/******************************************/
/*       ADVANCED TOKEN STARTS HERE       */
/******************************************/

contract PELOCoinToken is Multiownable, TokenERC20 {

    uint256 public sellPrice;
    uint256 public buyPrice;
    
    bool public userInitialized = false;
    
    PELOExtensionInterface public peloExtenstion;
    
    struct PELOMember {
        uint32 id;
        bytes32 nickname;
        address ethAddr;

        /* peloAmount should be specified without decimals. ex: 10000PELO should be specified as 10000 not 10000 * 10^18 */
        uint peloAmount;

        /* peloBonus should be specified without decimals. ex: 10000PELO should be specified as 10000 not 10000 * 10^18 */
        uint peloBonus;

        /* 1: infinite members, 2: limited member(has expairation date), 4: xxx, 8: xxx, 16: xxx, 32 ... 65536 ... 2^255 */
        uint bitFlag;

        uint32 expire;
        bytes32 extraData1;
        bytes32 extraData2;
        bytes32 extraData3;
    }
    
    uint8 public numMembers;

    mapping (address => bool) public frozenAccount;

    mapping (address => PELOMember) public PELOMemberMap;
    mapping (uint32 => address) public PELOMemberIDMap;

    /* This generates a public event on the blockchain that will notify clients */
    event FrozenFunds(address target, bool frozen);

    /* Initializes contract with initial supply tokens to the creator of the contract */
    function PELOCoinToken(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
    ) TokenERC20(initialSupply, tokenName, tokenSymbol) public {}

    function GetUserNickName(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.nickname;
    }

    function GetUserID(address _addr) constant public returns(uint32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.id;
    }

    function GetUserPELOAmount(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.peloAmount;
    }

    function GetUserPELOBonus(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.peloBonus;
    }

    function GetUserBitFlag(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.bitFlag;
    }

    function TestUserBitFlag(address _addr, uint _flag) constant public returns(bool) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return (data.bitFlag & _flag) == _flag;
    }
    
    function GetUserExpire(address _addr) constant public returns(uint32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.expire;
    }
    
    function GetUserExtraData1(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData1;
    }
    
    function GetUserExtraData2(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData2;
    }
    
    function GetUserExtraData3(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData3;
    }

    function UpdateUserNickName(address _addr, bytes32 _newNickName) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.nickname = _newNickName;
    }

    function UpdateUserPELOAmount(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.peloAmount = _newValue;
    }

    function UpdateUserPELOBonus(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.peloBonus = _newValue;
    }

    function UpdateUserBitFlag(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.bitFlag = _newValue;
    }

    function UpdateUserExpire(address _addr, uint32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.expire = _newValue;
    }

    function UpdateUserExtraData1(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData1 = _newValue;
    }

    function UpdateUserExtraData2(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData2 = _newValue;
    }

    function UpdateUserExtraData3(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData3 = _newValue;
    }

    function DeleteUserByAddr(address _addr) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);

        delete PELOMemberIDMap[PELOMemberMap[_addr].id];
        delete PELOMemberMap[_addr];

        numMembers--;
        assert(numMembers >= 0);
    }

    function DeleteUserByID(uint32 _id) onlyManyOwners public {
        require(PELOMemberIDMap[_id] != 0x0);
        address addr = PELOMemberIDMap[_id];
        require(PELOMemberMap[addr].id > 0);

        delete PELOMemberMap[addr];
        delete PELOMemberIDMap[_id];
        
        numMembers--;
        assert(numMembers >= 0);
    }

    function initializeUsers() onlyManyOwners public {
        if(!userInitialized) {

            userInitialized = true;
        }
    }
            
    function insertNewUser(uint32 _id, bytes32 _nickname, address _ethAddr, uint _peloAmount, uint _peloBonus, uint _bitFlag, uint32 _expire, bool fWithTransfer) onlyManyOwners public {

        PELOMember memory data; 

        require(_id > 0);
        require(PELOMemberMap[_ethAddr].id == 0);
        require(PELOMemberIDMap[_id] == 0x0);

        data.id = _id;
        data.nickname = _nickname;
        data.ethAddr = _ethAddr;
        data.peloAmount = _peloAmount;
        data.peloBonus = _peloBonus;
        data.bitFlag = _bitFlag;
        data.expire = _expire;

        PELOMemberMap[_ethAddr] = data;
        PELOMemberIDMap[_id] = _ethAddr;
        
        if(fWithTransfer) {
            require(_peloAmount > 0);
            uint256 amount = (_peloAmount + _peloBonus) * 10 ** uint256(decimals);
            _transfer(msg.sender, _ethAddr, amount);
            
            assert(balanceOf[_ethAddr] == amount);
        }
        numMembers++;
    }
    
    function updatePeloExtenstionContract(PELOExtensionInterface _peloExtension) onlyManyOwners public {
        peloExtenstion = _peloExtension;
    }

    /* Internal transfer, only can be called by this contract */
    function _transfer(address _from, address _to, uint _value) internal {
        require (_to != 0x0);                               // Prevent transfer to 0x0 address. Use burn() instead
        require (balanceOf[_from] >= _value);                // Check if the sender has enough
        require (balanceOf[_to] + _value > balanceOf[_to]); // Check for overflows
        require(!frozenAccount[_from]);                     // Check if sender is frozen
        require(!frozenAccount[_to]);                       // Check if recipient is frozen

        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to];

        if(peloExtenstion != PELOExtensionInterface(0x0))
            peloExtenstion.Operation(1, [bytes32(_from), bytes32(_to), bytes32(_value), bytes32(balanceOf[_from]), bytes32(balanceOf[_to]), bytes32(0), bytes32(0), bytes32(0)]);
        
        balanceOf[_from] -= _value;                         // Subtract from the sender
        balanceOf[_to] += _value;                           // Add the same to the recipient
        Transfer(_from, _to, _value);

        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
        
        if(peloExtenstion != PELOExtensionInterface(0x0))
            peloExtenstion.Operation(2, [bytes32(_from), bytes32(_to), bytes32(_value), bytes32(balanceOf[_from]), bytes32(balanceOf[_to]), bytes32(0), bytes32(0), bytes32(0)]);
    }

    /// @notice Create `mintedAmount` tokens and send it to `target`
    /// @param target Address to receive the tokens
    /// @param mintedAmount the amount of tokens it will receive
    function mintToken(address target, uint256 mintedAmount) onlyManyOwners public {
        balanceOf[target] += mintedAmount;
        totalSupply += mintedAmount;
        Transfer(0, this, mintedAmount);
        Transfer(this, target, mintedAmount);
    }

    /// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens
    /// @param target Address to be frozen
    /// @param freeze either to freeze it or not
    function freezeAccount(address target, bool freeze) onlyManyOwners public {
        frozenAccount[target] = freeze;
        FrozenFunds(target, freeze);
    }
    
    /**
     * Transfer tokens from other address forcibly(for dealing with illegal usage, etc)
     *
     * Send `_value` tokens to `_to` in behalf of `_from`
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferFromForcibly(address _from, address _to, uint256 _value) onlyManyOwners public returns (bool success) {

        if(allowance[_from][msg.sender] > _value)
            allowance[_from][msg.sender] -= _value;
        else 
            allowance[_from][msg.sender] = 0;

        assert(allowance[_from][msg.sender] >= 0);

        _transfer(_from, _to, _value);
        
        return true;
    }
    
    /**
     * Transfer all the tokens from other address forcibly(for dealing with illegal usage, etc)
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     */
    function transferAllFromForcibly(address _from, address _to) onlyManyOwners public returns (bool success) {

        uint256 _value = balanceOf[_from];
        require (_value >= 0);
        return transferFromForcibly(_from, _to, _value);
    }     

    /// @notice Allow users to buy tokens for `newBuyPrice` eth and sell tokens for `newSellPrice` eth
    /// @param newSellPrice Price the users can sell to the contract
    /// @param newBuyPrice Price users can buy from the contract
    function setPrices(uint256 newSellPrice, uint256 newBuyPrice) onlyManyOwners public {
        sellPrice = newSellPrice;
        buyPrice = newBuyPrice;
    }

    /// @notice Buy tokens from contract by sending ether
    function buy() payable public {
        uint amount = msg.value / buyPrice;               // calculates the amount
        _transfer(this, msg.sender, amount);              // makes the transfers
    }

    /// @notice Sell `amount` tokens to contract
    /// @param amount amount of tokens to be sold
    function sell(uint256 amount) public {
        require(this.balance >= amount * sellPrice);      // checks if the contract has enough ether to buy
        _transfer(msg.sender, this, amount);              // makes the transfers
        msg.sender.transfer(amount * sellPrice);          // sends ether to the seller. It's important to do this last to avoid recursion attacks
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newSellPrice","type":"uint256"},{"name":"newBuyPrice","type":"uint256"}],"name":"setPrices","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"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":"newOwners","type":"address[]"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allOperationsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"PELOMemberMap","outputs":[{"name":"id","type":"uint32"},{"name":"nickname","type":"bytes32"},{"name":"ethAddr","type":"address"},{"name":"peloAmount","type":"uint256"},{"name":"peloBonus","type":"uint256"},{"name":"bitFlag","type":"uint256"},{"name":"expire","type":"uint32"},{"name":"extraData1","type":"bytes32"},{"name":"extraData2","type":"bytes32"},{"name":"extraData3","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"howManyOwnersDecide","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"wallet","type":"address"}],"name":"isOwner","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":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"transferAllFromForcibly","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExpire","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allOperations","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initializeUsers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numMembers","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesMaskByOperation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserBitFlag","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint32"}],"name":"DeleteUserByID","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserNickName","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData2","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"DeleteUserByAddr","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newNickName","type":"bytes32"}],"name":"UpdateUserNickName","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":"operation","type":"bytes32"}],"name":"cancelPending","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesCountByOperation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData3","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint32"}],"name":"UpdateUserExpire","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint32"},{"name":"_nickname","type":"bytes32"},{"name":"_ethAddr","type":"address"},{"name":"_peloAmount","type":"uint256"},{"name":"_peloBonus","type":"uint256"},{"name":"_bitFlag","type":"uint256"},{"name":"_expire","type":"uint32"},{"name":"fWithTransfer","type":"bool"}],"name":"insertNewUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"PELOMemberIDMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserBitFlag","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"userInitialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserPELOBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromForcibly","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserPELOAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserID","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"},{"name":"_flag","type":"uint256"}],"name":"TestUserBitFlag","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData1","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserPELOAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwners","type":"address[]"},{"name":"newHowManyOwnersDecide","type":"uint256"}],"name":"transferOwnershipWithHowMany","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_peloExtension","type":"address"}],"name":"updatePeloExtenstionContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserPELOBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"peloExtenstion","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousOwners","type":"address[]"},{"indexed":false,"name":"newOwners","type":"address[]"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052600a805460ff1990811660121790915560108054909116905534156200002957600080fd5b6040516200529f3803806200529f833981016040528080519190602001805182019190602001805182019190505082828260018054806001018281620000709190620000ff565b5060009182526020808320919091018054600160a060020a03191633600160a060020a031690811790915582526004815260408083206001908190558355600a805460ff16900a8602600b819055600c909252909120556008828051620000dc9291602001906200012b565b506009818051620000f29291602001906200012b565b50505050505050620001d0565b815481835581811511620001265760008381526020902062000126918101908301620001b0565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016e57805160ff19168380011785556200019e565b828001600101855582156200019e579182015b828111156200019e57825182559160200191906001019062000181565b50620001ac929150620001b0565b5090565b620001cd91905b80821115620001ac5760008155600101620001b7565b90565b6150bf80620001e06000396000f3006060604052600436106102bb5763ffffffff60e060020a600035041663025e7c2781146102c057806305fefda7146102f257806306cc63731461030d57806306fdde031461032f578063095ea7b3146103b957806318160ddd146103ef57806318bcd3d01461041457806319e3897a1461046357806322f2f89a1461048557806323b872dd1461049857806324a779ca146104c05780632f4a81df1461054b5780632f54bf6e1461055e578063313ce5671461057d5780633766baba146105a65780633f8ae6d9146105cb57806342966c6814610603578063431ab23314610619578063457bb6131461062f5780634698d110146106425780634b75033414610655578063568b59151461066857806356ae89a31461067e57806358d9e758146106a05780636ba2482d146106bc57806370a08231146106db57806379c65068146106fa57806379cc67901461071c5780637d03e6031461073e5780637fa0c10f1461075d57806384ff435f1461077c5780638620410b1461079e578063893372ca146107b157806390a53085146107c7578063918e2c3d146107dd57806393736419146107fc57806393ff3e4a1461082457806395d89b41146108685780639ad10d791461087b578063a5e57fcf14610897578063a6f2ae3a146108b6578063a9059cbb146108be578063af79ffde146108e0578063b2189d5a146108f3578063b414d4b614610912578063b948854614610931578063c9bc088314610944578063cae9ca511461096c578063cfec8d83146109d1578063d7c0da4a146109f0578063d7febcb914610a0f578063dd62ed3e14610a31578063de7b89bd14610a56578063e4849b3214610a75578063e68a555d14610a8b578063e724529c14610aad578063e851834114610ad1578063f1c53a3a14610b22578063f7a0b2da14610b44578063fd4649ae14610b63578063fdee60e914610b85575b600080fd5b34156102cb57600080fd5b6102d6600435610b98565b604051600160a060020a03909116815260200160405180910390f35b34156102fd57600080fd5b61030b600435602435610bc0565b005b341561031857600080fd5b61030b600160a060020a0360043516602435610d10565b341561033a57600080fd5b610342610eee565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561037e578082015183820152602001610366565b50505050905090810190601f1680156103ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103c457600080fd5b6103db600160a060020a0360043516602435610f8c565b604051901515815260200160405180910390f35b34156103fa57600080fd5b610402610fbc565b60405190815260200160405180910390f35b341561041f57600080fd5b61030b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610fc295505050505050565b341561046e57600080fd5b61030b600160a060020a0360043516602435610fd0565b341561049057600080fd5b6104026111a8565b34156104a357600080fd5b6103db600160a060020a03600435811690602435166044356111af565b34156104cb57600080fd5b6104df600160a060020a0360043516611226565b60405163ffffffff9a8b1681526020810199909952600160a060020a039097166040808a01919091526060890196909652608088019490945260a087019290925290951660c085015260e084019490945261010083019390935261012082015261014001905180910390f35b341561055657600080fd5b61040261128a565b341561056957600080fd5b6103db600160a060020a0360043516611290565b341561058857600080fd5b6105906112ac565b60405160ff909116815260200160405180910390f35b34156105b157600080fd5b6103db600160a060020a03600435811690602435166112b5565b34156105d657600080fd5b6105ea600160a060020a036004351661146b565b60405163ffffffff909116815260200160405180910390f35b341561060e57600080fd5b6103db600435611547565b341561062457600080fd5b6104026004356115d2565b341561063a57600080fd5b61030b6115f1565b341561064d57600080fd5b61059061176c565b341561066057600080fd5b61040261177c565b341561067357600080fd5b610402600435611782565b341561068957600080fd5b61030b600160a060020a0360043516602435611794565b34156106ab57600080fd5b61030b63ffffffff6004351661196c565b34156106c757600080fd5b610402600160a060020a0360043516611d16565b34156106e657600080fd5b610402600160a060020a0360043516611df2565b341561070557600080fd5b61030b600160a060020a0360043516602435611e04565b341561072757600080fd5b6103db600160a060020a0360043516602435612050565b341561074957600080fd5b610402600160a060020a036004351661212c565b341561076857600080fd5b61030b600160a060020a0360043516612208565b341561078757600080fd5b61030b600160a060020a0360043516602435612542565b34156107a957600080fd5b61040261271a565b34156107bc57600080fd5b61030b600435612720565b34156107d257600080fd5b6104026004356127b3565b34156107e857600080fd5b610402600160a060020a03600435166127c5565b341561080757600080fd5b61030b600160a060020a036004351663ffffffff602435166128a2565b341561082f57600080fd5b61030b63ffffffff60043581169060243590600160a060020a036044351690606435906084359060a4359060c4351660e4351515612aa1565b341561087357600080fd5b610342612ffc565b341561088657600080fd5b6102d663ffffffff60043516613067565b34156108a257600080fd5b610402600160a060020a0360043516613082565b61030b613160565b34156108c957600080fd5b61030b600160a060020a036004351660243561317d565b34156108eb57600080fd5b6103db613188565b34156108fe57600080fd5b610402600160a060020a0360043516613191565b341561091d57600080fd5b6103db600160a060020a036004351661326f565b341561093c57600080fd5b610402613284565b341561094f57600080fd5b6103db600160a060020a036004358116906024351660443561328a565b341561097757600080fd5b6103db60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061356895505050505050565b34156109dc57600080fd5b610402600160a060020a0360043516613681565b34156109fb57600080fd5b6105ea600160a060020a036004351661375f565b3415610a1a57600080fd5b6103db600160a060020a036004351660243561383a565b3415610a3c57600080fd5b610402600160a060020a036004358116906024351661391f565b3415610a6157600080fd5b610402600160a060020a036004351661393c565b3415610a8057600080fd5b61030b600435613a18565b3415610a9657600080fd5b61030b600160a060020a0360043516602435613a75565b3415610ab857600080fd5b61030b600160a060020a03600435166024351515613c50565b3415610adc57600080fd5b61030b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350613e7092505050565b3415610b2d57600080fd5b61030b600160a060020a03600435166024356145a7565b3415610b4f57600080fd5b61030b600160a060020a036004351661477f565b3415610b6e57600080fd5b61030b600160a060020a0360043516602435614912565b3415610b9057600080fd5b6102d6614aea565b6001805482908110610ba657fe5b600091825260209091200154600160a060020a0316905081565b600354600090819033600160a060020a0390811691161415610beb57600e849055600f839055610d0a565b610bf433611290565b1515610bff57600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515610c865760028054600083815260056020526040902081905560018101610c768382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615610ca557600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57610ce181614afe565b60038054600e869055600f859055600160a060020a033316600160a060020a0319918216171690555b50505050565b6003546000908190819033600160a060020a0390811691161415610d7d57600160a060020a03851660009081526012602052604081205463ffffffff1611610d5757600080fd5b600160a060020a0385166000908152601260205260409020600981018590559250610ee7565b610d8633611290565b1515610d9157600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515610e185760028054600083815260056020526040902081905560018101610e088382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615610e3757600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757610e7381614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611610eb557600080fd5b600160a060020a03851660009081526012602052604090206009810185905560038054600160a060020a031916905592505b5050505050565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f845780601f10610f5957610100808354040283529160200191610f84565b820191906000526020600020905b815481529060010190602001808311610f6757829003601f168201915b505050505081565b600160a060020a033381166000908152600d60209081526040808320938616835292905220819055600192915050565b600b5481565b610fcd818251613e70565b50565b6003546000908190819033600160a060020a039081169116141561103d57600160a060020a03851660009081526012602052604081205463ffffffff161161101757600080fd5b600160a060020a0385166000908152601260205260409020600881018590559250610ee7565b61104633611290565b151561105157600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156110d857600280546000838152600560205260409020819055600181016110c88382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156110f757600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761113381614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161117557600080fd5b505050600160a060020a039190911660009081526012602052604090206008015560038054600160a060020a0319169055565b6002545b90565b600160a060020a038084166000908152600d60209081526040808320339094168352929052908120548211156111e457600080fd5b600160a060020a038085166000908152600d60209081526040808320339094168352929052208054839003905561121c848484614bc3565b5060019392505050565b601260205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460099099015463ffffffff988916999798600160a060020a03909716979596949593949092169290918a565b60005481565b600160a060020a03166000908152600460205260408120541190565b600a5460ff1681565b60035460009081908190819033600160a060020a039081169116141561130e57600160a060020a0386166000908152600c602052604081205493508310156112fc57600080fd5b61130786868561328a565b9350611462565b61131733611290565b151561132257600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156113a957600280546000838152600560205260409020819055600181016113998382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156113c857600080fd5b60008181526006602090815260408083208054600287900a17905560079091528120805460010190819055905414156114625761140481614afe565b60038054600160a060020a03191633600160a060020a039081169190911790915586166000908152600c6020526040812054935083101561144457600080fd5b61144f86868561328a565b935060038054600160a060020a03191690555b50505092915050565b6000611475614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161149e57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c08201908152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b600160a060020a0333166000908152600c60205260408120548290101561156d57600080fd5b600160a060020a0333166000818152600c60205260409081902080548590039055600b805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a2506001919050565b60028054829081106115e057fe5b600091825260209091200154905081565b600354600090819033600160a060020a039081169116141561162c5760105460ff161515611627576010805460ff191660011790555b611768565b61163533611290565b151561164057600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156116c757600280546000838152600560205260409020819055600181016116b78382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156116e657600080fd5b60008181526006602090815260408083208054600287900a17905560079091528120805460010190819055905414156117685761172281614afe565b60038054600160a060020a03191633600160a060020a031617905560105460ff161515611757576010805460ff191660011790555b60038054600160a060020a03191690555b5050565b60105460a860020a900460ff1681565b600e5481565b60066020526000908152604090205481565b6003546000908190819033600160a060020a039081169116141561180157600160a060020a03851660009081526012602052604081205463ffffffff16116117db57600080fd5b600160a060020a0385166000908152601260205260409020600581018590559250610ee7565b61180a33611290565b151561181557600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561189c576002805460008381526005602052604090208190556001810161188c8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156118bb57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee7576118f781614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161193957600080fd5b505050600160a060020a039190911660009081526012602052604090206005015560038054600160a060020a0319169055565b6003546000908190819033600160a060020a0390811691161415611ac05763ffffffff8416600090815260136020526040902054600160a060020a031615156119b457600080fd5b63ffffffff808516600090815260136020908152604080832054600160a060020a03168084526012909252822054909550909116116119f257600080fd5b600160a060020a0383166000908152601260209081526040808320805463ffffffff19908116825560018201859055600282018054600160a060020a03199081169091556003830186905560048301869055600583018690556006830180549092169091556007820185905560088201859055600990910184905563ffffffff8816845260139092528220805490911690556010805460ff60a860020a8083048216600019018216810260a860020a60ff021990931692909217928390559104161015611abb57fe5b610d0a565b611ac933611290565b1515611ad457600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515611b5b5760028054600083815260056020526040902081905560018101611b4b8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615611b7a57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57611bb681614afe565b60038054600160a060020a03191633600160a060020a039081169190911790915563ffffffff8516600090815260136020526040902054161515611bf957600080fd5b63ffffffff808516600090815260136020908152604080832054600160a060020a0316808452601290925282205490955090911611611c3757600080fd5b600160a060020a0383166000908152601260209081526040808320805463ffffffff19908116825560018201859055600282018054600160a060020a03199081169091556003830186905560048301869055600583018690556006830180549092169091556007820185905560088201859055600990910184905563ffffffff8816845260139092528220805490911690556010805460ff60a860020a8083048216600019018216810260a860020a60ff021990931692909217928390559104161015611d0057fe5b60038054600160a060020a031916905550505050565b6000611d20614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff1611611d4957600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff90811683526001840154602084019081526002850154600160a060020a0316928401929092526003840154606084015260048401546080840152600584015460a084015260068401541660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b600c6020526000908152604090205481565b600354600090819033600160a060020a0390811691161415611ea857600160a060020a038085166000908152600c6020526040808220805487019055600b80548701905530909216916000805160206150748339815191529086905190815260200160405180910390a383600160a060020a031630600160a060020a03166000805160206150748339815191528560405190815260200160405180910390a3610d0a565b611eb133611290565b1515611ebc57600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515611f435760028054600083815260056020526040902081905560018101611f338382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615611f6257600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57611f9e81614afe565b60038054600160a060020a03191633600160a060020a03908116919091179091558481166000908152600c6020526040808220805487019055600b80548701905530909216916000805160206150748339815191529086905190815260200160405180910390a383600160a060020a031630600160a060020a03166000805160206150748339815191528560405190815260200160405180910390a360038054600160a060020a031916905550505050565b600160a060020a0382166000908152600c60205260408120548290101561207657600080fd5b600160a060020a038084166000908152600d6020908152604080832033909416835292905220548211156120a957600080fd5b600160a060020a038084166000818152600c6020908152604080832080548890039055600d825280832033909516835293905282902080548590039055600b80548590039055907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b6000612136614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161215f57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e0820152600882015461010082019081526009909201546101208201529150519392505050565b600354600090819033600160a060020a039081169116141561232357600160a060020a03831660009081526012602052604081205463ffffffff161161224d57600080fd5b600160a060020a0383166000818152601260208181526040808420805463ffffffff168552601383529084208054600160a060020a0319908116909155948452919052805463ffffffff19908116825560018201839055600282018054909416909355600381018290556004810182905560058101829055600681018054909316909255600782018190556008820181905560099091018190556010805460ff60a860020a8083048216600019018216810260a860020a60ff02199093169290921792839055910416101561231e57fe5b61253d565b61232c33611290565b151561233757600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156123be57600280546000838152600560205260409020819055600181016123ae8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156123dd57600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561253d5761241981614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155831660009081526012602052604081205463ffffffff161161245b57600080fd5b600160a060020a0383166000818152601260208181526040808420805463ffffffff168552601383529084208054600160a060020a0319908116909155948452919052805463ffffffff19908116825560018201839055600282018054909416909355600381018290556004810182905560058101829055600681018054909316909255600782018190556008820181905560099091018190556010805460ff60a860020a8083048216600019018216810260a860020a60ff02199093169290921792839055910416101561252c57fe5b60038054600160a060020a03191690555b505050565b6003546000908190819033600160a060020a03908116911614156125af57600160a060020a03851660009081526012602052604081205463ffffffff161161258957600080fd5b600160a060020a0385166000908152601260205260409020600181018590559250610ee7565b6125b833611290565b15156125c357600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561264a576002805460008381526005602052604090208190556001810161263a8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561266957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee7576126a581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff16116126e757600080fd5b505050600160a060020a039190911660009081526012602052604090206001015560038054600160a060020a0319169055565b600f5481565b600061272b33611290565b151561273657600080fd5b50600160a060020a03331660009081526004602090815260408083205484845260069092529091205460001990910190600282900a16151561277757600080fd5b60008281526006602090815260408083208054600286900a19169055600790915290208054600019019081905515156117685761176882614afe565b60076020526000908152604090205481565b60006127cf614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116127f857600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e082015260088201546101008201526009909101546101208201908152909150519392505050565b6003546000908190819033600160a060020a039081169116141561291f57600160a060020a03851660009081526012602052604081205463ffffffff16116128e957600080fd5b600160a060020a038516600090815260126020526040902060068101805463ffffffff191663ffffffff87161790559250610ee7565b61292833611290565b151561293357600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156129ba57600280546000838152600560205260409020819055600181016129aa8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156129d957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757612a1581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611612a5757600080fd5b600160a060020a038516600090815260126020526040902060068101805463ffffffff871663ffffffff1990911617905560038054600160a060020a031916905592505050505050565b612aa9614f7a565b6003546000908190819033600160a060020a0390811691161415612ccc57600063ffffffff8d1611612ada57600080fd5b600160a060020a038a1660009081526012602052604090205463ffffffff1615612b0357600080fd5b63ffffffff8c16600090815260136020526040902054600160a060020a031615612b2c57600080fd5b63ffffffff808d16855260208086018d9052600160a060020a038c166040808801829052606088018d9052608088018c905260a088018b905292891660c0880152600090815260129091522084908151815463ffffffff191663ffffffff91909116178155602082015160018201556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c082015160068201805463ffffffff191663ffffffff9290921691909117905560e082015160078201556101008201516008820155610120820151600991909101555063ffffffff8c1660009081526013602052604090208054600160a060020a031916600160a060020a038c161790558415612ca05760008911612c6557600080fd5b600a805460ff16900a888a01029250612c7f338b85614bc3565b600160a060020a038a166000908152600c60205260409020548314612ca057fe5b60108054600160ff60a860020a808404821692909201160260a860020a60ff0219909116179055612fee565b612cd533611290565b1515612ce057600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515612d675760028054600083815260056020526040902081905560018101612d578382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615612d8657600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415612fee57612dc281614afe565b60038054600160a060020a03191633600160a060020a0316179055600063ffffffff8d1611612df057600080fd5b600160a060020a038a1660009081526012602052604090205463ffffffff1615612e1957600080fd5b63ffffffff8c16600090815260136020526040902054600160a060020a031615612e4257600080fd5b63ffffffff808d16855260208086018d9052600160a060020a038c166040808801829052606088018d9052608088018c905260a088018b905292891660c0880152600090815260129091522084908151815463ffffffff191663ffffffff91909116178155602082015160018201556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c082015160068201805463ffffffff191663ffffffff9290921691909117905560e082015160078201556101008201516008820155610120820151600991909101555063ffffffff8c1660009081526013602052604090208054600160a060020a031916600160a060020a038c161790558415612fb65760008911612f7b57600080fd5b600a805460ff16900a888a01029250612f95338b85614bc3565b600160a060020a038a166000908152600c60205260409020548314612fb657fe5b60108054600160ff60a860020a808404821692909201160260a860020a60ff021990911617905560038054600160a060020a03191690555b505050505050505050505050565b60098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f845780601f10610f5957610100808354040283529160200191610f84565b601360205260009081526040902054600160a060020a031681565b600061308c614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116130b557600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a08301908152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b6000600f543481151561316f57fe5b049050610fcd303383614bc3565b611768338383614bc3565b60105460ff1681565b600061319b614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116131c457600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a03169183019190915260038301546060830152600483015460808301908152600584015460a0840152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b60116020526000908152604090205460ff1681565b60015490565b6003546000908190819033600160a060020a039081169116141561337857600160a060020a038087166000908152600d6020908152604080832033909416835292905220548490111561330957600160a060020a038087166000908152600d602090815260408083203390941683529290522080548590039055613333565b600160a060020a038087166000908152600d60209081526040808320339094168352929052908120555b600160a060020a038087166000908152600d6020908152604080832033909416835292905290812054101561336457fe5b61336f868686614bc3565b6001925061355f565b61338133611290565b151561338c57600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561341357600280546000838152600560205260409020819055600181016134038382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561343257600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561355f5761346e81614afe565b60038054600160a060020a03338116600160a060020a031990921682179092559087166000908152600d602090815260408083209383529290522054849011156134e457600160a060020a038087166000908152600d60209081526040808320339094168352929052208054859003905561350e565b600160a060020a038087166000908152600d60209081526040808320339094168352929052908120555b600160a060020a038087166000908152600d6020908152604080832033909416835292905290812054101561353f57fe5b61354a868686614bc3565b6001925060038054600160a060020a03191690555b50509392505050565b6000836135758185610f8c565b156136795780600160a060020a0316638f4ffcb1338630876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156136125780820151838201526020016135fa565b50505050905090810190601f16801561363f5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561366057600080fd5b6102c65a03f1151561367157600080fd5b505050600191505b509392505050565b600061368b614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116136b457600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a03169183019190915260038301546060830190815260048401546080840152600584015460a0840152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b6000613769614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161379257600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e08201526008820154610100820152600990910154610120820152905080519392505050565b6000613844614f7a565b600160a060020a03841660009081526012602052604081205463ffffffff161161386d57600080fd5b600160a060020a038416600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a08301908152600684015490911660c0830152600783015460e08301526008830154610100830152600990920154610120820152915083908190511614949350505050565b600d60209081526000928352604080842090915290825290205481565b6000613946614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161396f57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e0820190815260088301546101008301526009909201546101208201529150519392505050565b600e548102600160a060020a033016311015613a3357600080fd5b613a3e333083614bc3565b33600160a060020a03166108fc600e5483029081150290604051600060405180830381858888f193505050501515610fcd57600080fd5b6003546000908190819033600160a060020a0390811691161415613ae257600160a060020a03851660009081526012602052604081205463ffffffff1611613abc57600080fd5b600160a060020a0385166000908152601260205260409020600381018590559250610ee7565b613aeb33611290565b1515613af657600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515613b7d5760028054600083815260056020526040902081905560018101613b6d8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615613b9c57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757613bd881614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611613c1a57600080fd5b505050600160a060020a039190911660009081526012602052604090206003908101919091558054600160a060020a0319169055565b600354600090819033600160a060020a0390811691161415613cde57600160a060020a03841660009081526011602052604090819020805460ff19168515151790557f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5908590859051600160a060020a039092168252151560208201526040908101905180910390a1610d0a565b613ce733611290565b1515613cf257600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515613d795760028054600083815260056020526040902081905560018101613d698382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615613d9857600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57613dd481614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155841660009081526011602052604090819020805460ff19168515151790557f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5908590859051600160a060020a039092168252151560208201526040908101905180910390a160038054600160a060020a031916905550505050565b6003546000908190819033600160a060020a0390811691161415614189576000855111613e9c57600080fd5b61010085511115613eac57600080fd5b60008411613eb957600080fd5b8451841115613ec757600080fd5b600092505b8451831015613f0c576000858481518110613ee357fe5b90602001906020020151600160a060020a03161415613f0157600080fd5b600190920191613ecc565b7fe62c04bb3499d4f432a50e07318d42861c4865afb22ee4cfe403d4f9455070906001866040518080602001806020018381038352858181548152602001915080548015613f8357602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311613f65575b5050838103825284818151815260200191508051906020019060200280838360005b83811015613fbd578082015183820152602001613fa5565b5050505090500194505050505060405180910390a1600092505b6001548310156140255760046000600185815481101515613ff457fe5b6000918252602080832090910154600160a060020a0316835282019290925260400181205560019290920191613fd7565b600092505b84518310156140b4576004600086858151811061404357fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541561407157600080fd5b826001016004600087868151811061408557fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205560019092019161402a565b60018580516140c7929160200190614fce565b50600084815592505b60025483101561417657600660006002858154811015156140ed57fe5b6000918252602080832090910154835282019290925260400181208190556002805460079291908690811061411e57fe5b6000918252602080832090910154835282019290925260400181208190556002805460059291908690811061414f57fe5b600091825260208083209091015483528201929092526040018120556001909201916140d0565b6000614183600282614f56565b50610ee7565b61419233611290565b151561419d57600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561422457600280546000838152600560205260409020819055600181016142148382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561424357600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761427f81614afe565b60038054600160a060020a03191633600160a060020a031617905560008551116142a857600080fd5b610100855111156142b857600080fd5b600084116142c557600080fd5b84518411156142d357600080fd5b600092505b84518310156143185760008584815181106142ef57fe5b90602001906020020151600160a060020a0316141561430d57600080fd5b6001909201916142d8565b7fe62c04bb3499d4f432a50e07318d42861c4865afb22ee4cfe403d4f945507090600186604051808060200180602001838103835285818154815260200191508054801561438f57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311614371575b5050838103825284818151815260200191508051906020019060200280838360005b838110156143c95780820151838201526020016143b1565b5050505090500194505050505060405180910390a1600092505b600154831015614431576004600060018581548110151561440057fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812055600192909201916143e3565b600092505b84518310156144c0576004600086858151811061444f57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541561447d57600080fd5b826001016004600087868151811061449157fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055600190920191614436565b60018580516144d3929160200190614fce565b50600084815592505b60025483101561458257600660006002858154811015156144f957fe5b6000918252602080832090910154835282019290925260400181208190556002805460079291908690811061452a57fe5b6000918252602080832090910154835282019290925260400181208190556002805460059291908690811061455b57fe5b600091825260208083209091015483528201929092526040018120556001909201916144dc565b600061458f600282614f56565b5060038054600160a060020a03191690555050505050565b6003546000908190819033600160a060020a039081169116141561461457600160a060020a03851660009081526012602052604081205463ffffffff16116145ee57600080fd5b600160a060020a0385166000908152601260205260409020600781018590559250610ee7565b61461d33611290565b151561462857600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156146af576002805460008381526005602052604090208190556001810161469f8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156146ce57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761470a81614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161474c57600080fd5b505050600160a060020a039190911660009081526012602052604090206007015560038054600160a060020a0319169055565b600354600090819033600160a060020a03908116911614156147cd576010805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0386160217905561253d565b6147d633611290565b15156147e157600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561486857600280546000838152600560205260409020819055600181016148588382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561488757600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561253d576148c381614afe565b6003805460108054600160a060020a038781166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179091553316600160a060020a031991821617169055505050565b6003546000908190819033600160a060020a039081169116141561497f57600160a060020a03851660009081526012602052604081205463ffffffff161161495957600080fd5b600160a060020a0385166000908152601260205260409020600481018590559250610ee7565b61498833611290565b151561499357600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515614a1a5760028054600083815260056020526040902081905560018101614a0a8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615614a3957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757614a7581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611614ab757600080fd5b505050600160a060020a039190911660009081526012602052604090206004015560038054600160a060020a0319169055565b6010546101009004600160a060020a031681565b6000818152600560205260409020546002546001901115614b8657600280546000198101908110614b2b57fe5b906000526020600020900154600282815481101515614b4657fe5b6000918252602082200191909155600280548392600592909184908110614b6957fe5b600091825260208083209091015483528201929092526040019020555b6002805490614b99906000198301614f56565b50506000908152600660209081526040808320839055600782528083208390556005909152812055565b6000600160a060020a0383161515614bda57600080fd5b600160a060020a0384166000908152600c602052604090205482901015614c0057600080fd5b600160a060020a0383166000908152600c602052604090205482810111614c2657600080fd5b600160a060020a03841660009081526011602052604090205460ff1615614c4c57600080fd5b600160a060020a03831660009081526011602052604090205460ff1615614c7257600080fd5b50600160a060020a038083166000908152600c60205260408082205486841683529120546010549101916101009091041615614db257601054600160a060020a03610100918290041690637a4fb678906001906040519081016040908152600160a060020a03808a1680845290891660208085018290528385018a90526000928352600c8082528484205460608701529183525281812054608084015260a0830181905260c0830181905260e08301819052905161010001526040518363ffffffff1660e060020a028152600401808360ff16815260200182600860200280838360005b83811015614d6e578082015183820152602001614d56565b505050509050019250505061010060405180830381600087803b1515614d9357600080fd5b6102c65a03f11515614da457600080fd5b505050604051610100016040525b600160a060020a038085166000818152600c60205260408082208054879003905592861680825290839020805486019055916000805160206150748339815191529085905190815260200160405180910390a3600160a060020a038084166000908152600c6020526040808220549287168252902054018114614e3157fe5b6010546101009004600160a060020a031615610d0a57601054600160a060020a03610100918290041690637a4fb678906002906040519081016040908152600160a060020a03808a1680845290891660208085018290528385018a90526000928352600c8082528484205460608701529183525281812054608084015260a0830181905260c0830181905260e08301819052905161010001526040518363ffffffff1660e060020a028152600401808360ff16815260200182600860200280838360005b83811015614f0d578082015183820152602001614ef5565b505050509050019250505061010060405180830381600087803b1515614f3257600080fd5b6102c65a03f11515614f4357600080fd5b5050506040516101000160405250505050565b81548183558181151161253d5760008381526020902061253d918101908301615035565b6101406040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820181905261012082015290565b828054828255906000526020600020908101928215615025579160200282015b828111156150255782518254600160a060020a031916600160a060020a039190911617825560209290920191600190910190614fee565b5061503192915061504f565b5090565b6111ac91905b80821115615031576000815560010161503b565b6111ac91905b80821115615031578054600160a060020a03191681556001016150555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582062fbd8c381bb81890396f0aebea60d11cbad9fc9f87f6600d6590023a3129c560029000000000000000000000000000000000000000000000000000000000c845880000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000950454c4f20436f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000450454c4f00000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000c845880
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 50454c4f20436f696e0000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 50454c4f00000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://62fbd8c381bb81890396f0aebea60d11cbad9fc9f87f6600d6590023a3129c56

 

View All
Block Age transaction Difficulty 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.