ETH Price: $3,683.10 (+1.47%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Freeze For Owner55411042018-05-02 2:35:122441 days ago1525228512IN
0x9BD8f473...aAFc01402
0 ETH0.000487285
Freeze For Owner55410892018-05-02 2:31:302441 days ago1525228290IN
0x9BD8f473...aAFc01402
0 ETH0.00048765
Release Supply55387932018-05-01 16:51:132442 days ago1525193473IN
0x9BD8f473...aAFc01402
0 ETH0.022237065
Freeze For Owner55353492018-05-01 2:11:032442 days ago1525140663IN
0x9BD8f473...aAFc01402
0 ETH0.00048765
Freeze For Owner55353202018-05-01 2:02:542442 days ago1525140174IN
0x9BD8f473...aAFc01402
0 ETH0.000487925
Freeze For Owner55294892018-04-30 1:26:592443 days ago1525051619IN
0x9BD8f473...aAFc01402
0 ETH0.000487285
Freeze For Owner55294722018-04-30 1:22:452443 days ago1525051365IN
0x9BD8f473...aAFc01402
0 ETH0.00048765
Freeze For Owner55237852018-04-29 1:52:312444 days ago1524966751IN
0x9BD8f473...aAFc01402
0 ETH0.00048765
Freeze For Owner55237612018-04-29 1:44:442444 days ago1524966284IN
0x9BD8f473...aAFc01402
0 ETH0.000487925
Freeze For Owner55186282018-04-28 4:18:332445 days ago1524889113IN
0x9BD8f473...aAFc01402
0 ETH0.00048765
Freeze For Owner55186032018-04-28 4:10:022445 days ago1524888602IN
0x9BD8f473...aAFc01402
0 ETH0.000487925
Transfer From55130652018-04-27 5:09:382446 days ago1524805778IN
0x9BD8f473...aAFc01402
0 ETH0.00012084
Approve55130572018-04-27 5:08:342446 days ago1524805714IN
0x9BD8f473...aAFc01402
0 ETH0.000190524
Transfer From55129402018-04-27 4:36:182446 days ago1524803778IN
0x9BD8f473...aAFc01402
0 ETH0.00126
Transfer From55129242018-04-27 4:32:372446 days ago1524803557IN
0x9BD8f473...aAFc01402
0 ETH0.000216723
Transfer55128652018-04-27 4:18:062446 days ago1524802686IN
0x9BD8f473...aAFc01402
0 ETH0.00018375
Transfer55127982018-04-27 3:58:442446 days ago1524801524IN
0x9BD8f473...aAFc01402
0 ETH0.00018375
Transfer55127152018-04-27 3:39:062446 days ago1524800346IN
0x9BD8f473...aAFc01402
0 ETH0.000258385
Transfer55127092018-04-27 3:38:022446 days ago1524800282IN
0x9BD8f473...aAFc01402
0 ETH0.00018375
Freeze For Owner55124662018-04-27 2:32:442446 days ago1524796364IN
0x9BD8f473...aAFc01402
0 ETH0.00048765
Freeze For Owner55124482018-04-27 2:27:402446 days ago1524796060IN
0x9BD8f473...aAFc01402
0 ETH0.000487925
Transfer From55086482018-04-26 10:39:412447 days ago1524739181IN
0x9BD8f473...aAFc01402
0 ETH0.000173485
Transfer55086032018-04-26 10:28:592447 days ago1524738539IN
0x9BD8f473...aAFc01402
0 ETH0.000218525
Transfer From55085832018-04-26 10:24:042447 days ago1524738244IN
0x9BD8f473...aAFc01402
0 ETH0.000151015
Approve55085552018-04-26 10:17:162447 days ago1524737836IN
0x9BD8f473...aAFc01402
0 ETH0.000238165
View all transactions

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DragonToken

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-11-23
*/

pragma solidity ^0.4.15;
/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) constant returns (uint256);
  function transfer(address to, uint256 value) returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;
  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }
  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }
  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner {
    require(newOwner != address(0));      
    owner = newOwner;
  }
}
library DateTime {
        /*
         *  Date and Time utilities for ethereum contracts
         *
         */
        struct MyDateTime {
                uint16 year;
                uint8 month;
                uint8 day;
                uint8 hour;
                uint8 minute;
                uint8 second;
                uint8 weekday;
        }
        uint constant DAY_IN_SECONDS = 86400;
        uint constant YEAR_IN_SECONDS = 31536000;
        uint constant LEAP_YEAR_IN_SECONDS = 31622400;
        uint constant HOUR_IN_SECONDS = 3600;
        uint constant MINUTE_IN_SECONDS = 60;
        uint16 constant ORIGIN_YEAR = 1970;
        function isLeapYear(uint16 year) constant returns (bool) {
                if (year % 4 != 0) {
                        return false;
                }
                if (year % 100 != 0) {
                        return true;
                }
                if (year % 400 != 0) {
                        return false;
                }
                return true;
        }
        function leapYearsBefore(uint year) constant returns (uint) {
                year -= 1;
                return year / 4 - year / 100 + year / 400;
        }
        function getDaysInMonth(uint8 month, uint16 year) constant returns (uint8) {
                if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
                        return 31;
                }
                else if (month == 4 || month == 6 || month == 9 || month == 11) {
                        return 30;
                }
                else if (isLeapYear(year)) {
                        return 29;
                }
                else {
                        return 28;
                }
        }
        function parseTimestamp(uint timestamp) internal returns (MyDateTime dt) {
                uint secondsAccountedFor = 0;
                uint buf;
                uint8 i;
                // Year
                dt.year = getYear(timestamp);
                buf = leapYearsBefore(dt.year) - leapYearsBefore(ORIGIN_YEAR);
                secondsAccountedFor += LEAP_YEAR_IN_SECONDS * buf;
                secondsAccountedFor += YEAR_IN_SECONDS * (dt.year - ORIGIN_YEAR - buf);
                // Month
                uint secondsInMonth;
                for (i = 1; i <= 12; i++) {
                        secondsInMonth = DAY_IN_SECONDS * getDaysInMonth(i, dt.year);
                        if (secondsInMonth + secondsAccountedFor > timestamp) {
                                dt.month = i;
                                break;
                        }
                        secondsAccountedFor += secondsInMonth;
                }
                // Day
                for (i = 1; i <= getDaysInMonth(dt.month, dt.year); i++) {
                        if (DAY_IN_SECONDS + secondsAccountedFor > timestamp) {
                                dt.day = i;
                                break;
                        }
                        secondsAccountedFor += DAY_IN_SECONDS;
                }
                // Hour
                dt.hour = 0;//getHour(timestamp);
                // Minute
                dt.minute = 0;//getMinute(timestamp);
                // Second
                dt.second = 0;//getSecond(timestamp);
                // Day of week.
                dt.weekday = 0;//getWeekday(timestamp);
        }
        function getYear(uint timestamp) constant returns (uint16) {
                uint secondsAccountedFor = 0;
                uint16 year;
                uint numLeapYears;
                // Year
                year = uint16(ORIGIN_YEAR + timestamp / YEAR_IN_SECONDS);
                numLeapYears = leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR);
                secondsAccountedFor += LEAP_YEAR_IN_SECONDS * numLeapYears;
                secondsAccountedFor += YEAR_IN_SECONDS * (year - ORIGIN_YEAR - numLeapYears);
                while (secondsAccountedFor > timestamp) {
                        if (isLeapYear(uint16(year - 1))) {
                                secondsAccountedFor -= LEAP_YEAR_IN_SECONDS;
                        }
                        else {
                                secondsAccountedFor -= YEAR_IN_SECONDS;
                        }
                        year -= 1;
                }
                return year;
        }
        function getMonth(uint timestamp) constant returns (uint8) {
                return parseTimestamp(timestamp).month;
        }
        function getDay(uint timestamp) constant returns (uint8) {
                return parseTimestamp(timestamp).day;
        }
        function getHour(uint timestamp) constant returns (uint8) {
                return uint8((timestamp / 60 / 60) % 24);
        }
        function getMinute(uint timestamp) constant returns (uint8) {
                return uint8((timestamp / 60) % 60);
        }
        function getSecond(uint timestamp) constant returns (uint8) {
                return uint8(timestamp % 60);
        }
        function toTimestamp(uint16 year, uint8 month, uint8 day) constant returns (uint timestamp) {
                return toTimestamp(year, month, day, 0, 0, 0);
        }
        function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute, uint8 second) constant returns (uint timestamp) {
                uint16 i;
                // Year
                for (i = ORIGIN_YEAR; i < year; i++) {
                        if (isLeapYear(i)) {
                                timestamp += LEAP_YEAR_IN_SECONDS;
                        }
                        else {
                                timestamp += YEAR_IN_SECONDS;
                        }
                }
                // Month
                uint8[12] memory monthDayCounts;
                monthDayCounts[0] = 31;
                if (isLeapYear(year)) {
                        monthDayCounts[1] = 29;
                }
                else {
                        monthDayCounts[1] = 28;
                }
                monthDayCounts[2] = 31;
                monthDayCounts[3] = 30;
                monthDayCounts[4] = 31;
                monthDayCounts[5] = 30;
                monthDayCounts[6] = 31;
                monthDayCounts[7] = 31;
                monthDayCounts[8] = 30;
                monthDayCounts[9] = 31;
                monthDayCounts[10] = 30;
                monthDayCounts[11] = 31;
                for (i = 1; i < month; i++) {
                        timestamp += DAY_IN_SECONDS * monthDayCounts[i - 1];
                }
                // Day
                timestamp += DAY_IN_SECONDS * (day - 1);
                // Hour
                timestamp += HOUR_IN_SECONDS * (hour);
                // Minute
                timestamp += MINUTE_IN_SECONDS * (minute);
                // Second
                timestamp += second;
                return timestamp;
        }
}
/**
 * @title Claimable
 * @dev Extension for the Ownable contract, where the ownership needs to be claimed.
 * This allows the new owner to accept the transfer.
 */
contract Claimable is Ownable {
  address public pendingOwner;
  /**
   * @dev Modifier throws if called by any account other than the pendingOwner.
   */
  modifier onlyPendingOwner() {
    require(msg.sender == pendingOwner);
    _;
  }
  /**
   * @dev Allows the current owner to set the pendingOwner address.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner {
    pendingOwner = newOwner;
  }
  /**
   * @dev Allows the pendingOwner address to finalize the transfer.
   */
  function claimOwnership() onlyPendingOwner {
    owner = pendingOwner;
    pendingOwner = 0x0;
  }
}
contract Operational is Claimable {
    address public operator;
    function Operational(address _operator) {
      operator = _operator;
    }
    modifier onlyOperator() {
      require(msg.sender == operator);
      _;
    }
    function transferOperator(address newOperator) onlyOwner {
      require(newOperator != address(0));
      operator = newOperator;
    }
}
/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }
  function div(uint256 a, uint256 b) internal constant returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }
  function sub(uint256 a, uint256 b) internal constant returns (uint256) {
    assert(b <= a);
    return a - b;
  }
  function add(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}
/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances. 
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;
  mapping(address => uint256) balances;
  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) returns (bool) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }
  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of. 
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) constant returns (uint256 balance) {
    return balances[_owner];
  }
}
/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) returns (bool);
  function approve(address spender, uint256 value) returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}
/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {
  mapping (address => mapping (address => uint256)) allowed;
  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
    var _allowance = allowed[_from][msg.sender];
    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // require (_value <= _allowance);
    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }
  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) returns (bool) {
    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    require((_value == 0) || (allowed[msg.sender][_spender] == 0));
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }
  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifing the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }
}
/**
 * @title Helps contracts guard agains rentrancy attacks.
 * @author Remco Bloemen <remco@2π.com>
 * @notice If you mark a function `nonReentrant`, you should also
 * mark it `external`.
 */
contract ReentrancyGuard {
  /**
   * @dev We use a single lock for the whole contract.
   */
  bool private rentrancy_lock = false;
  /**
   * @dev Prevents a contract from calling itself, directly or indirectly.
   * @notice If you mark a function `nonReentrant`, you should also
   * mark it `external`. Calling one nonReentrant function from
   * another is not supported. Instead, you can implement a
   * `private` function doing the actual work, and a `external`
   * wrapper marked as `nonReentrant`.
   */
  modifier nonReentrant() {
    require(!rentrancy_lock);
    rentrancy_lock = true;
    _;
    rentrancy_lock = false;
  }
}
/**
 * @title Burnable Token
 * @dev Token that can be irreversibly burned (destroyed).
 */
contract BurnableToken is StandardToken {
    event Burn(address indexed burner, uint256 value);
    /**
     * @dev Burns a specific amount of tokens.
     * @param _value The amount of token to be burned.
     */
    function burn(uint256 _value) public returns (bool) {
        require(_value > 0);
        require(_value <= balances[msg.sender]);
        // no need to require value <= totalSupply, since that would imply the
        // sender's balance is greater than the totalSupply, which *should* be an assertion failure
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(burner, _value);
        return true;
    }
}
contract FrozenableToken is Operational, BurnableToken, ReentrancyGuard {
    uint256 public createTime;
    struct FrozenBalance {
        address owner;
        uint256 value;
        uint256 unFrozenTime;
    }
    mapping (uint => FrozenBalance) public frozenBalances;
    uint public frozenBalanceCount;
    event Freeze(address indexed owner, uint256 value, uint256 releaseTime);
    event FreezeForOwner(address indexed owner, uint256 value, uint256 releaseTime);
    event Unfreeze(address indexed owner, uint256 value, uint256 releaseTime);
    // freeze _value token to _unFrozenTime
    function freeze(uint256 _value, uint256 _unFrozenTime) nonReentrant returns (bool) {
        require(balances[msg.sender] >= _value);
        require(_unFrozenTime > createTime);
        require(_unFrozenTime > now);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        frozenBalances[frozenBalanceCount] = FrozenBalance({owner: msg.sender, value: _value, unFrozenTime: _unFrozenTime});
        frozenBalanceCount++;
        Freeze(msg.sender, _value, _unFrozenTime);
        return true;
    }
    function freezeForOwner(uint256 _value, uint256 _unFrozenTime) onlyOperator returns(bool) {
        require(balances[owner] >= _value);
        require(_unFrozenTime > createTime);
        require(_unFrozenTime > now);
        balances[owner] = balances[owner].sub(_value);
        frozenBalances[frozenBalanceCount] = FrozenBalance({owner: owner, value: _value, unFrozenTime: _unFrozenTime});
        frozenBalanceCount++;
        FreezeForOwner(owner, _value, _unFrozenTime);
        return true;
    }
    // get frozen balance
    function frozenBalanceOf(address _owner) constant returns (uint256 value) {
        for (uint i = 0; i < frozenBalanceCount; i++) {
            FrozenBalance storage frozenBalance = frozenBalances[i];
            if (_owner == frozenBalance.owner) {
                value = value.add(frozenBalance.value);
            }
        }
        return value;
    }
    // unfreeze frozen amount
    function unfreeze() returns (uint256 releaseAmount) {
        uint index = 0;
        while (index < frozenBalanceCount) {
            if (now >= frozenBalances[index].unFrozenTime) {
                releaseAmount += frozenBalances[index].value;
                unFrozenBalanceByIndex(index);
            } else {
                index++;
            }
        }
        return releaseAmount;
    }
    function unFrozenBalanceByIndex(uint index) internal {
        FrozenBalance storage frozenBalance = frozenBalances[index];
        balances[frozenBalance.owner] = balances[frozenBalance.owner].add(frozenBalance.value);
        Unfreeze(frozenBalance.owner, frozenBalance.value, frozenBalance.unFrozenTime);
        frozenBalances[index] = frozenBalances[frozenBalanceCount - 1];
        delete frozenBalances[frozenBalanceCount - 1];
        frozenBalanceCount--;
    }
}
contract DragonReleaseableToken is FrozenableToken {
    using SafeMath for uint;
    using DateTime for uint256;
    uint256 standardDecimals = 100000000; // match decimals
    uint256 public award = standardDecimals.mul(51200); // award per day
    event ReleaseSupply(address indexed receiver, uint256 value, uint256 releaseTime);
    struct ReleaseRecord {
        uint256 amount; // release amount
        uint256 releasedTime; // release time
    }
    mapping (uint => ReleaseRecord) public releasedRecords;
    uint public releasedRecordsCount = 0;
    function DragonReleaseableToken(
                    address operator
                ) Operational(operator) {
        createTime = 1509580800;
    }
    function releaseSupply(uint256 timestamp) onlyOperator returns(uint256 _actualRelease) {
        require(timestamp >= createTime && timestamp <= now);
        require(!judgeReleaseRecordExist(timestamp));
        updateAward(timestamp);
        balances[owner] = balances[owner].add(award);
        totalSupply = totalSupply.add(award);
        releasedRecords[releasedRecordsCount] = ReleaseRecord(award, timestamp);
        releasedRecordsCount++;
        ReleaseSupply(owner, award, timestamp);
        return award;
    }
    function judgeReleaseRecordExist(uint256 timestamp) internal returns(bool _exist) {
        bool exist = false;
        if (releasedRecordsCount > 0) {
            for (uint index = 0; index < releasedRecordsCount; index++) {
                if ((releasedRecords[index].releasedTime.parseTimestamp().year == timestamp.parseTimestamp().year)
                    && (releasedRecords[index].releasedTime.parseTimestamp().month == timestamp.parseTimestamp().month)
                    && (releasedRecords[index].releasedTime.parseTimestamp().day == timestamp.parseTimestamp().day)) {
                    exist = true;
                }
            }
        }
        return exist;
    }
    function updateAward(uint256 timestamp) internal {
        if (timestamp < createTime.add(1 years)) {
            award = standardDecimals.mul(51200);
        } else if (timestamp < createTime.add(2 years)) {
            award = standardDecimals.mul(25600);
        } else if (timestamp < createTime.add(3 years)) {
            award = standardDecimals.mul(12800);
        } else if (timestamp < createTime.add(4 years)) {
            award = standardDecimals.mul(6400);
        } else if (timestamp < createTime.add(5 years)) {
            award = standardDecimals.mul(3200);
        } else if (timestamp < createTime.add(6 years)) {
            award = standardDecimals.mul(1600);
        } else if (timestamp < createTime.add(7 years)) {
            award = standardDecimals.mul(800);
        } else if (timestamp < createTime.add(8 years)) {
            award = standardDecimals.mul(400);
        } else if (timestamp < createTime.add(9 years)) {
            award = standardDecimals.mul(200);
        } else if (timestamp < createTime.add(10 years)) {
            award = standardDecimals.mul(100);
        } else {
            award = 0;
        }
    }
}
contract DragonToken is DragonReleaseableToken {
    string public standard = '2017111504';
    string public name = 'DragonToken';
    string public symbol = 'DT';
    uint8 public decimals = 8;
    function DragonToken(
                     address operator
                     ) DragonReleaseableToken(operator) {}
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"releasedRecordsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_unFrozenTime","type":"uint256"}],"name":"freezeForOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOperator","type":"address"}],"name":"transferOperator","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_unFrozenTime","type":"uint256"}],"name":"freeze","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"award","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"operator","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"createTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[{"name":"releaseAmount","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"frozenBalances","outputs":[{"name":"owner","type":"address"},{"name":"value","type":"uint256"},{"name":"unFrozenTime","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"releasedRecords","outputs":[{"name":"amount","type":"uint256"},{"name":"releasedTime","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"frozenBalanceCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"timestamp","type":"uint256"}],"name":"releaseSupply","outputs":[{"name":"_actualRelease","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"frozenBalanceOf","outputs":[{"name":"value","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"operator","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"ReleaseSupply","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"FreezeForOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60606040526000600660006101000a81548160ff0219169083151502179055506305f5e100600a556200004e61c800600a5462000224640100000000026200282a179091906401000000009004565b600b556000600d556040805190810160405280600a81526020017f3230313731313135303400000000000000000000000000000000000000000000815250600e9080519060200190620000a39291906200025b565b506040805190810160405280600b81526020017f447261676f6e546f6b656e000000000000000000000000000000000000000000815250600f9080519060200190620000f19291906200025b565b506040805190810160405280600281526020017f4454000000000000000000000000000000000000000000000000000000000000815250601090805190602001906200013f9291906200025b565b506008601160006101000a81548160ff021916908360ff16021790555034156200016857600080fd5b60405160208062002e32833981016040528080519060200190919050505b805b805b5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b506359fa60006007819055505b505b506200030a565b600080828402905060008414806200024757508284828115156200024457fe5b04145b15156200025057fe5b8091505b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029e57805160ff1916838001178555620002cf565b82800160010185558215620002cf579182015b82811115620002ce578251825591602001919060010190620002b1565b5b509050620002de9190620002e2565b5090565b6200030791905b8082111562000303576000816000905550600101620002e9565b5090565b90565b612b18806200031a6000396000f30060606040523615610168576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461016d5780630897bf6f146101fc578063095ea7b31461022557806318160ddd1461027f57806319216e8d146102a857806323b872dd146102ec57806329605e7714610365578063313ce5671461039e57806335d7a052146103cd57806341a494c51461041157806342966c681461043a5780634e71e0c814610475578063570ca7351461048a5780635a3b7e42146104df57806361dcd7ab1461056e5780636a28f0001461059757806370a08231146105c05780637c2107081461060d5780637ed1f2671461067e5780638da5cb5b146106bc57806391f5637a1461071157806395d89b411461073a5780639fc3587a146107c9578063a9059cbb14610800578063be91de531461085a578063dd62ed3e146108a7578063e30c397814610913578063f2fde38b14610968575b600080fd5b341561017857600080fd5b6101806109a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c15780820151818401525b6020810190506101a5565b50505050905090810190601f1680156101ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020757600080fd5b61020f610a3f565b6040518082815260200191505060405180910390f35b341561023057600080fd5b610265600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a45565b604051808215151515815260200191505060405180910390f35b341561028a57600080fd5b610292610bcd565b6040518082815260200191505060405180910390f35b34156102b357600080fd5b6102d26004808035906020019091908035906020019091905050610bd3565b604051808215151515815260200191505060405180910390f35b34156102f757600080fd5b61034b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ef0565b604051808215151515815260200191505060405180910390f35b341561037057600080fd5b61039c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111a1565b005b34156103a957600080fd5b6103b161127e565b604051808260ff1660ff16815260200191505060405180910390f35b34156103d857600080fd5b6103f76004808035906020019091908035906020019091905050611291565b604051808215151515815260200191505060405180910390f35b341561041c57600080fd5b6104246114ff565b6040518082815260200191505060405180910390f35b341561044557600080fd5b61045b6004808035906020019091905050611505565b604051808215151515815260200191505060405180910390f35b341561048057600080fd5b610488611671565b005b341561049557600080fd5b61049d611775565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ea57600080fd5b6104f261179b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105335780820151818401525b602081019050610517565b50505050905090810190601f1680156105605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057957600080fd5b610581611839565b6040518082815260200191505060405180910390f35b34156105a257600080fd5b6105aa61183f565b6040518082815260200191505060405180910390f35b34156105cb57600080fd5b6105f7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118af565b6040518082815260200191505060405180910390f35b341561061857600080fd5b61062e60048080359060200190919050506118f9565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b341561068957600080fd5b61069f6004808035906020019091905050611943565b604051808381526020018281526020019250505060405180910390f35b34156106c757600080fd5b6106cf611967565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561071c57600080fd5b61072461198c565b6040518082815260200191505060405180910390f35b341561074557600080fd5b61074d611992565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561078e5780820151818401525b602081019050610772565b50505050905090810190601f1680156107bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107d457600080fd5b6107ea6004808035906020019091905050611a30565b6040518082815260200191505060405180910390f35b341561080b57600080fd5b610840600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611c99565b604051808215151515815260200191505060405180910390f35b341561086557600080fd5b610891600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e35565b6040518082815260200191505060405180910390f35b34156108b257600080fd5b6108fd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ee8565b6040518082815260200191505060405180910390f35b341561091e57600080fd5b610926611f70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561097357600080fd5b61099f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f96565b005b600f8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a375780601f10610a0c57610100808354040283529160200191610a37565b820191906000526020600020905b815481529060010190602001808311610a1a57829003601f168201915b505050505081565b600d5481565b600080821480610ad157506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610adc57600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60035481565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3157600080fd5b82600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610ca057600080fd5b60075482111515610cb057600080fd5b4282111515610cbe57600080fd5b610d3183600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506060604051908101604052806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381525060086000600954815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506009600081548092919060010191905055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fac9167f433f5e47fbe8c8fb53cb2a94ad3b606a1325351fcdffc02371a459f258484604051808381526020018281526020019250505060405180910390a2600190505b5b92915050565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610fc483600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061105983600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110af838261203790919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505b509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111fc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561123857600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b601160009054906101000a900460ff1681565b6000600660009054906101000a900460ff161515156112af57600080fd5b6001600660006101000a81548160ff02191690831515021790555082600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561131857600080fd5b6007548211151561132857600080fd5b428211151561133657600080fd5b61138883600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506060604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381525060086000600954815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506009600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167f029d06ff78b8c68fca5225af637c626c0176c9fcaa163beec8e558d4c3ae65b68484604051808381526020018281526020019250505060405180910390a2600190505b6000600660006101000a81548160ff0219169083151502179055505b92915050565b600b5481565b60008060008311151561151757600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561156557600080fd5b3390506115ba83600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116128360035461203790919063ffffffff16565b6003819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5846040518082815260200191505060405180910390a2600191505b50919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116cd57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118315780601f1061180657610100808354040283529160200191611831565b820191906000526020600020905b81548152906001019060200180831161181457829003601f168201915b505050505081565b60075481565b600080600090505b6009548110156118a7576008600082815260200190815260200160002060020154421015156118995760086000828152602001908152602001600020600101548201915061189481612070565b6118a2565b80806001019150505b611847565b8191505b5090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b600c6020528060005260406000206000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60108054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a285780601f106119fd57610100808354040283529160200191611a28565b820191906000526020600020905b815481529060010190602001808311611a0b57829003601f168201915b505050505081565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a8e57600080fd5b6007548210158015611aa05750428211155b1515611aab57600080fd5b611ab4826122fd565b151515611ac057600080fd5b611ac9826123fa565b611b3e600b54600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bb9600b5460035461205190919063ffffffff16565b6003819055506040805190810160405280600b54815260200183815250600c6000600d5481526020019081526020016000206000820151816000015560208201518160010155905050600d600081548092919060010191905055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f3f9e3494cddacfc8ffad423303d89b42edd68c349155fc54854d5d6dbe0a5e39600b5484604051808381526020018281526020019250505060405180910390a2600b5490505b5b919050565b6000611ced82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b92915050565b60008060008091505b600954821015611edd576008600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611ecf57611ecc81600101548461205190919063ffffffff16565b92505b5b8180600101925050611e3e565b8292505b5050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ff157600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600082821115151561204557fe5b81830390505b92915050565b600080828401905083811015151561206557fe5b8091505b5092915050565b60006008600083815260200190815260200160002090506121018160010154600460008460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600460008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7ed75eaf82098257819f0bd6dd7f79062e49152905980263c73ee48565a656a582600101548360020154604051808381526020018281526020019250505060405180910390a2600860006001600954038152602001908152602001600020600860008481526020019081526020016000206000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001820154816001015560028201548160020155905050600860006001600954038152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090555050600960008154809291906001900391905055505b5050565b60008060008091506000600d5411156123ef57600090505b600d548110156123ee57612328846126a2565b6000015161ffff1661234f600c6000848152602001908152602001600020600101546126a2565b6000015161ffff161480156123975750612368846126a2565b6020015160ff1661238e600c6000848152602001908152602001600020600101546126a2565b6020015160ff16145b80156123d657506123a7846126a2565b6040015160ff166123cd600c6000848152602001908152602001600020600101546126a2565b6040015160ff16145b156123e057600191505b5b8080600101915050612315565b5b8192505b5050919050565b6124136301e1338060075461205190919063ffffffff16565b81101561243c5761243161c800600a5461282a90919063ffffffff16565b600b8190555061269e565b6124556303c2670060075461205190919063ffffffff16565b81101561247e57612473616400600a5461282a90919063ffffffff16565b600b8190555061269d565b6124976305a39a8060075461205190919063ffffffff16565b8110156124c0576124b5613200600a5461282a90919063ffffffff16565b600b8190555061269c565b6124d9630784ce0060075461205190919063ffffffff16565b811015612502576124f7611900600a5461282a90919063ffffffff16565b600b8190555061269b565b61251b630966018060075461205190919063ffffffff16565b81101561254457612539610c80600a5461282a90919063ffffffff16565b600b8190555061269a565b61255d630b47350060075461205190919063ffffffff16565b8110156125865761257b610640600a5461282a90919063ffffffff16565b600b81905550612699565b61259f630d28688060075461205190919063ffffffff16565b8110156125c8576125bd610320600a5461282a90919063ffffffff16565b600b81905550612698565b6125e1630f099c0060075461205190919063ffffffff16565b81101561260a576125ff610190600a5461282a90919063ffffffff16565b600b81905550612697565b6126236310eacf8060075461205190919063ffffffff16565b81101561264b5761264060c8600a5461282a90919063ffffffff16565b600b81905550612696565b6126646312cc030060075461205190919063ffffffff16565b81101561268c576126816064600a5461282a90919063ffffffff16565b600b81905550612695565b6000600b819055505b5b5b5b5b5b5b5b5b5b5b50565b6126aa612a98565b600080600080600093506126bd8661285e565b856000019061ffff16908161ffff16815250506126df6107b261ffff1661290a565b6126f0866000015161ffff1661290a565b039250826301e285000284019350826107b286600001510361ffff16036301e133800284019350600191505b600c8260ff1611151561277557612737828660000151612944565b60ff16620151800290508584820111156127625781856020019060ff16908160ff1681525050612775565b80840193505b818060010192505061271c565b600191505b61278c85602001518660000151612944565b60ff168260ff161115156127d4578584620151800111156127be5781856040019060ff16908160ff16815250506127d4565b62015180840193505b818060010192505061277a565b6000856060019060ff16908160ff16815250506000856080019060ff16908160ff168152505060008560a0019060ff16908160ff168152505060008560c0019060ff16908160ff16815250505b50505050919050565b6000808284029050600084148061284b575082848281151561284857fe5b04145b151561285357fe5b8091505b5092915050565b600080600080600092506301e133808581151561287757fe5b046107b261ffff160191506128916107b261ffff1661290a565b61289e8361ffff1661290a565b039050806301e285000283019250806107b2830361ffff16036301e1338002830192505b848311156128fe576128d660018303612a17565b156128e9576301e28500830392506128f3565b6301e13380830392505b6001820391506128c2565b8193505b505050919050565b60006001820391506101908281151561291f57fe5b0460648381151561292c57fe5b0460048481151561293957fe5b04030190505b919050565b600060018360ff16148061295b575060038360ff16145b80612969575060058360ff16145b80612977575060078360ff16145b80612985575060088360ff16145b806129935750600a8360ff16145b806129a15750600c8360ff16145b156129af57601f9050612a11565b60048360ff1614806129c4575060068360ff16145b806129d2575060098360ff16145b806129e05750600b8360ff16145b156129ee57601e9050612a11565b6129f782612a17565b15612a0557601d9050612a11565b601c9050612a11565b5b5b5b92915050565b60008060048361ffff16811515612a2a57fe5b0661ffff16141515612a3f5760009050612a93565b600060648361ffff16811515612a5157fe5b0661ffff16141515612a665760019050612a93565b60006101908361ffff16811515612a7957fe5b0661ffff16141515612a8e5760009050612a93565b600190505b919050565b60e060405190810160405280600061ffff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff16815250905600a165627a7a72305820f29b213e0003a53fb5696b1c9825d83d57e0756277a0eab389fc7a53457ebc4400290000000000000000000000000038d7baee8781ff02ad7e74fc80c91cac31d740

Deployed Bytecode

0x60606040523615610168576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461016d5780630897bf6f146101fc578063095ea7b31461022557806318160ddd1461027f57806319216e8d146102a857806323b872dd146102ec57806329605e7714610365578063313ce5671461039e57806335d7a052146103cd57806341a494c51461041157806342966c681461043a5780634e71e0c814610475578063570ca7351461048a5780635a3b7e42146104df57806361dcd7ab1461056e5780636a28f0001461059757806370a08231146105c05780637c2107081461060d5780637ed1f2671461067e5780638da5cb5b146106bc57806391f5637a1461071157806395d89b411461073a5780639fc3587a146107c9578063a9059cbb14610800578063be91de531461085a578063dd62ed3e146108a7578063e30c397814610913578063f2fde38b14610968575b600080fd5b341561017857600080fd5b6101806109a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c15780820151818401525b6020810190506101a5565b50505050905090810190601f1680156101ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020757600080fd5b61020f610a3f565b6040518082815260200191505060405180910390f35b341561023057600080fd5b610265600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a45565b604051808215151515815260200191505060405180910390f35b341561028a57600080fd5b610292610bcd565b6040518082815260200191505060405180910390f35b34156102b357600080fd5b6102d26004808035906020019091908035906020019091905050610bd3565b604051808215151515815260200191505060405180910390f35b34156102f757600080fd5b61034b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ef0565b604051808215151515815260200191505060405180910390f35b341561037057600080fd5b61039c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111a1565b005b34156103a957600080fd5b6103b161127e565b604051808260ff1660ff16815260200191505060405180910390f35b34156103d857600080fd5b6103f76004808035906020019091908035906020019091905050611291565b604051808215151515815260200191505060405180910390f35b341561041c57600080fd5b6104246114ff565b6040518082815260200191505060405180910390f35b341561044557600080fd5b61045b6004808035906020019091905050611505565b604051808215151515815260200191505060405180910390f35b341561048057600080fd5b610488611671565b005b341561049557600080fd5b61049d611775565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ea57600080fd5b6104f261179b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105335780820151818401525b602081019050610517565b50505050905090810190601f1680156105605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057957600080fd5b610581611839565b6040518082815260200191505060405180910390f35b34156105a257600080fd5b6105aa61183f565b6040518082815260200191505060405180910390f35b34156105cb57600080fd5b6105f7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118af565b6040518082815260200191505060405180910390f35b341561061857600080fd5b61062e60048080359060200190919050506118f9565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b341561068957600080fd5b61069f6004808035906020019091905050611943565b604051808381526020018281526020019250505060405180910390f35b34156106c757600080fd5b6106cf611967565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561071c57600080fd5b61072461198c565b6040518082815260200191505060405180910390f35b341561074557600080fd5b61074d611992565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561078e5780820151818401525b602081019050610772565b50505050905090810190601f1680156107bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107d457600080fd5b6107ea6004808035906020019091905050611a30565b6040518082815260200191505060405180910390f35b341561080b57600080fd5b610840600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611c99565b604051808215151515815260200191505060405180910390f35b341561086557600080fd5b610891600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e35565b6040518082815260200191505060405180910390f35b34156108b257600080fd5b6108fd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ee8565b6040518082815260200191505060405180910390f35b341561091e57600080fd5b610926611f70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561097357600080fd5b61099f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f96565b005b600f8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a375780601f10610a0c57610100808354040283529160200191610a37565b820191906000526020600020905b815481529060010190602001808311610a1a57829003601f168201915b505050505081565b600d5481565b600080821480610ad157506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610adc57600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60035481565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3157600080fd5b82600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610ca057600080fd5b60075482111515610cb057600080fd5b4282111515610cbe57600080fd5b610d3183600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506060604051908101604052806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381525060086000600954815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506009600081548092919060010191905055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fac9167f433f5e47fbe8c8fb53cb2a94ad3b606a1325351fcdffc02371a459f258484604051808381526020018281526020019250505060405180910390a2600190505b5b92915050565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610fc483600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061105983600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110af838261203790919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505b509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111fc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561123857600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b601160009054906101000a900460ff1681565b6000600660009054906101000a900460ff161515156112af57600080fd5b6001600660006101000a81548160ff02191690831515021790555082600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561131857600080fd5b6007548211151561132857600080fd5b428211151561133657600080fd5b61138883600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506060604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381525060086000600954815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506009600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167f029d06ff78b8c68fca5225af637c626c0176c9fcaa163beec8e558d4c3ae65b68484604051808381526020018281526020019250505060405180910390a2600190505b6000600660006101000a81548160ff0219169083151502179055505b92915050565b600b5481565b60008060008311151561151757600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561156557600080fd5b3390506115ba83600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116128360035461203790919063ffffffff16565b6003819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5846040518082815260200191505060405180910390a2600191505b50919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116cd57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118315780601f1061180657610100808354040283529160200191611831565b820191906000526020600020905b81548152906001019060200180831161181457829003601f168201915b505050505081565b60075481565b600080600090505b6009548110156118a7576008600082815260200190815260200160002060020154421015156118995760086000828152602001908152602001600020600101548201915061189481612070565b6118a2565b80806001019150505b611847565b8191505b5090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b600c6020528060005260406000206000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60108054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a285780601f106119fd57610100808354040283529160200191611a28565b820191906000526020600020905b815481529060010190602001808311611a0b57829003601f168201915b505050505081565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a8e57600080fd5b6007548210158015611aa05750428211155b1515611aab57600080fd5b611ab4826122fd565b151515611ac057600080fd5b611ac9826123fa565b611b3e600b54600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bb9600b5460035461205190919063ffffffff16565b6003819055506040805190810160405280600b54815260200183815250600c6000600d5481526020019081526020016000206000820151816000015560208201518160010155905050600d600081548092919060010191905055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f3f9e3494cddacfc8ffad423303d89b42edd68c349155fc54854d5d6dbe0a5e39600b5484604051808381526020018281526020019250505060405180910390a2600b5490505b5b919050565b6000611ced82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b92915050565b60008060008091505b600954821015611edd576008600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611ecf57611ecc81600101548461205190919063ffffffff16565b92505b5b8180600101925050611e3e565b8292505b5050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ff157600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600082821115151561204557fe5b81830390505b92915050565b600080828401905083811015151561206557fe5b8091505b5092915050565b60006008600083815260200190815260200160002090506121018160010154600460008460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600460008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7ed75eaf82098257819f0bd6dd7f79062e49152905980263c73ee48565a656a582600101548360020154604051808381526020018281526020019250505060405180910390a2600860006001600954038152602001908152602001600020600860008481526020019081526020016000206000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001820154816001015560028201548160020155905050600860006001600954038152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090555050600960008154809291906001900391905055505b5050565b60008060008091506000600d5411156123ef57600090505b600d548110156123ee57612328846126a2565b6000015161ffff1661234f600c6000848152602001908152602001600020600101546126a2565b6000015161ffff161480156123975750612368846126a2565b6020015160ff1661238e600c6000848152602001908152602001600020600101546126a2565b6020015160ff16145b80156123d657506123a7846126a2565b6040015160ff166123cd600c6000848152602001908152602001600020600101546126a2565b6040015160ff16145b156123e057600191505b5b8080600101915050612315565b5b8192505b5050919050565b6124136301e1338060075461205190919063ffffffff16565b81101561243c5761243161c800600a5461282a90919063ffffffff16565b600b8190555061269e565b6124556303c2670060075461205190919063ffffffff16565b81101561247e57612473616400600a5461282a90919063ffffffff16565b600b8190555061269d565b6124976305a39a8060075461205190919063ffffffff16565b8110156124c0576124b5613200600a5461282a90919063ffffffff16565b600b8190555061269c565b6124d9630784ce0060075461205190919063ffffffff16565b811015612502576124f7611900600a5461282a90919063ffffffff16565b600b8190555061269b565b61251b630966018060075461205190919063ffffffff16565b81101561254457612539610c80600a5461282a90919063ffffffff16565b600b8190555061269a565b61255d630b47350060075461205190919063ffffffff16565b8110156125865761257b610640600a5461282a90919063ffffffff16565b600b81905550612699565b61259f630d28688060075461205190919063ffffffff16565b8110156125c8576125bd610320600a5461282a90919063ffffffff16565b600b81905550612698565b6125e1630f099c0060075461205190919063ffffffff16565b81101561260a576125ff610190600a5461282a90919063ffffffff16565b600b81905550612697565b6126236310eacf8060075461205190919063ffffffff16565b81101561264b5761264060c8600a5461282a90919063ffffffff16565b600b81905550612696565b6126646312cc030060075461205190919063ffffffff16565b81101561268c576126816064600a5461282a90919063ffffffff16565b600b81905550612695565b6000600b819055505b5b5b5b5b5b5b5b5b5b5b50565b6126aa612a98565b600080600080600093506126bd8661285e565b856000019061ffff16908161ffff16815250506126df6107b261ffff1661290a565b6126f0866000015161ffff1661290a565b039250826301e285000284019350826107b286600001510361ffff16036301e133800284019350600191505b600c8260ff1611151561277557612737828660000151612944565b60ff16620151800290508584820111156127625781856020019060ff16908160ff1681525050612775565b80840193505b818060010192505061271c565b600191505b61278c85602001518660000151612944565b60ff168260ff161115156127d4578584620151800111156127be5781856040019060ff16908160ff16815250506127d4565b62015180840193505b818060010192505061277a565b6000856060019060ff16908160ff16815250506000856080019060ff16908160ff168152505060008560a0019060ff16908160ff168152505060008560c0019060ff16908160ff16815250505b50505050919050565b6000808284029050600084148061284b575082848281151561284857fe5b04145b151561285357fe5b8091505b5092915050565b600080600080600092506301e133808581151561287757fe5b046107b261ffff160191506128916107b261ffff1661290a565b61289e8361ffff1661290a565b039050806301e285000283019250806107b2830361ffff16036301e1338002830192505b848311156128fe576128d660018303612a17565b156128e9576301e28500830392506128f3565b6301e13380830392505b6001820391506128c2565b8193505b505050919050565b60006001820391506101908281151561291f57fe5b0460648381151561292c57fe5b0460048481151561293957fe5b04030190505b919050565b600060018360ff16148061295b575060038360ff16145b80612969575060058360ff16145b80612977575060078360ff16145b80612985575060088360ff16145b806129935750600a8360ff16145b806129a15750600c8360ff16145b156129af57601f9050612a11565b60048360ff1614806129c4575060068360ff16145b806129d2575060098360ff16145b806129e05750600b8360ff16145b156129ee57601e9050612a11565b6129f782612a17565b15612a0557601d9050612a11565b601c9050612a11565b5b5b5b92915050565b60008060048361ffff16811515612a2a57fe5b0661ffff16141515612a3f5760009050612a93565b600060648361ffff16811515612a5157fe5b0661ffff16141515612a665760019050612a93565b60006101908361ffff16811515612a7957fe5b0661ffff16141515612a8e5760009050612a93565b600190505b919050565b60e060405190810160405280600061ffff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff16815250905600a165627a7a72305820f29b213e0003a53fb5696b1c9825d83d57e0756277a0eab389fc7a53457ebc440029

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

0000000000000000000000000038d7baee8781ff02ad7e74fc80c91cac31d740

-----Decoded View---------------
Arg [0] : operator (address): 0x0038d7baee8781fF02aD7e74fC80C91Cac31D740

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000038d7baee8781ff02ad7e74fc80c91cac31d740


Swarm Source

bzzr://f29b213e0003a53fb5696b1c9825d83d57e0756277a0eab389fc7a53457ebc44

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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