ETH Price: $3,415.32 (-1.14%)
Gas: 11 Gwei

Token

LUXBIO CELL (LBXC)
 

Overview

Max Total Supply

9,674,560,934.17021303 LBXC

Holders

15,097 (0.00%)

Market

Price

$0.00 @ 0.000000 ETH (+0.09%)

Onchain Market Cap

$40,826.65

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 LBXC

Value
$0.00
0x51d000eee9bed640f324d84bef280673680e9283
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Convergence of Blockchain and Stem Cell Technology

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
LBXC

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-01-31
*/

pragma solidity >0.4.99 <0.6.0;

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

    function transferFrom(address from, address to, uint256 value)
        public returns (bool);

    function approve(address spender, uint256 value) public returns (bool);
    
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeERC20 {
    function safeTransfer(
        ERC20Basic _token,
        address _to,
        uint256 _value
    ) internal
    {
        require(_token.transfer(_to, _value));
    }

    function safeTransferFrom(
        ERC20 _token,
        address _from,
        address _to,
        uint256 _value
    ) internal
    {
        require(_token.transferFrom(_from, _to, _value));
    }

    function safeApprove(
        ERC20 _token,
        address _spender,
        uint256 _value
    ) internal
    {
        require(_token.approve(_spender, _value));
    }
}

library SafeMath {
	/**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
		// Gas optimization: this is cheaper than asserting 'a' not being zero, but the
		// benefit is lost if 'b' is also tested.
		// See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if(a == 0) {
            return 0;
		}
        c = a * b;
        assert(c / a == b);
        return c;
    }

	/**
	* @dev Integer division of two numbers, truncating the quotient.
	*/
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
		// assert(b > 0); // Solidity automatically throws when dividing by 0
		// uint256 c = a / b;
		// assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return a / b;
    }

	/**
	* @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
	*/
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }
	/**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        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;
    
    uint256 totalSupply_;

    /**
    * @dev Total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }
    /**
    * @dev Transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        
        emit Transfer(msg.sender, _to, _value);
        
        return true;
    }

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


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

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


    /**
    * @dev Transfer tokens from one address to another
    * @param _from address The address which you want to send tokens from
    * @param _to address The address which you want to transfer to
    * @param _value uint256 the amount of tokens to be transferred
    */
    function transferFrom (
        address _from,
        address _to,
        uint256 _value
    ) public returns (bool)
    {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        
        emit Transfer(_from, _to, _value);
        
        return true;
    }

    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * Beware that changing an allowance with this method brings the risk that someone may use both the old
    * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
    * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
    * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    * @param _spender The address which will spend the funds.
    * @param _value The amount of tokens to be spent.
    */
    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        
        emit Approval(msg.sender, _spender, _value);
        
        return true;
    }

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

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

	/**
    * @dev Decrease the amount of tokens that an owner allowed to a spender.
    * approve should be called when allowed[_spender] == 0. To decrement
    * allowed value is better to use this function to avoid 2 calls (and wait until
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    * @param _spender The address which will spend the funds.
    * @param _subtractedValue The amount of tokens to decrease the allowance by.
    */
    function decreaseApproval(
        address _spender,
        uint256 _subtractedValue
	) public returns (bool)
	{
        uint256 oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
		} else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
		}
        
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        
        return true;
    }
}
/**
 * @title MultiOwnable
 *
 * @dev LBXC의 MultiOwnable은 히든오너, 수퍼오너, 버너, 오너, 리클레이머를 설정한다. 권한을 여러명에게 부여할 수 있는 경우
 * 리스트에 그 값을 넣어 불특정 다수가 확인 할 수 있게 한다.
 *
 * LBXC的MultiOwnable可设置HIDDENOWNER,SUPEROWNER,BURNER,OWNER及RECLAIMER。
 * 其权限可同时赋予多人的情况,在列表中放入该值后可确认其非特定的多人名单。
 *
 * MulitOwnable of LBXC sets HIDDENOWNER, SUPEROWNER, BURNER, OWNER, and RECLAIMER. 
 * If many can be authorized, the value is entered to the list so that it is accessible to unspecified many.
 *
 */
contract MultiOwnable {
    uint8 constant MAX_BURN = 3;
    uint8 constant MAX_OWNER = 15;
    address payable public hiddenOwner;
    address payable public superOwner;
    address payable public reclaimer;

    address[MAX_BURN] public chkBurnerList;
    address[MAX_OWNER] public chkOwnerList;
    
    mapping(address => bool) public burners;
    mapping (address => bool) public owners;
    
    event AddedBurner(address indexed newBurner);
    event AddedOwner(address indexed newOwner);
    event DeletedOwner(address indexed toDeleteOwner);
    event DeletedBurner(address indexed toDeleteBurner);
    event ChangedReclaimer(address indexed newReclaimer);
    event ChangedSuperOwner(address indexed newSuperOwner);
    event ChangedHiddenOwner(address indexed newHiddenOwner);

    constructor() public {
        hiddenOwner = msg.sender;
        superOwner = msg.sender;
        reclaimer = msg.sender;
        owners[msg.sender] = true;
        chkOwnerList[0] = msg.sender;
    }

    modifier onlySuperOwner() {
        require(superOwner == msg.sender);
        _;
    }
    modifier onlyReclaimer() {
        require(reclaimer == msg.sender);
        _;
    }
    modifier onlyHiddenOwner() {
        require(hiddenOwner == msg.sender);
        _;
    }
    modifier onlyOwner() {
        require(owners[msg.sender]);
        _;
    }
    modifier onlyBurner(){
        require(burners[msg.sender]);
        _;
    }

    function changeSuperOwnership(address payable newSuperOwner) public onlyHiddenOwner returns(bool) {
        require(newSuperOwner != address(0));
        superOwner = newSuperOwner;
        
        emit ChangedSuperOwner(superOwner);
        
        return true;
    }
    
    function changeHiddenOwnership(address payable newHiddenOwner) public onlyHiddenOwner returns(bool) {
        require(newHiddenOwner != address(0));
        hiddenOwner = newHiddenOwner;
        
        emit ChangedHiddenOwner(hiddenOwner);
        
        return true;
    }
    function changeReclaimer(address payable newReclaimer) public onlySuperOwner returns(bool) {
        require(newReclaimer != address(0));
        reclaimer = newReclaimer;
        
        emit ChangedReclaimer(reclaimer);
        
        return true;
    }
    function addBurner(address burner, uint8 num) public onlySuperOwner returns (bool) {
        require(num < MAX_BURN);
        require(burner != address(0));
        require(chkBurnerList[num] == address(0));
        require(burners[burner] == false);

        burners[burner] = true;
        chkBurnerList[num] = burner;
        
        emit AddedBurner(burner);
        
        return true;
    }

    function deleteBurner(address burner, uint8 num) public onlySuperOwner returns (bool){
        require(num < MAX_BURN);
        require(burner != address(0));
        require(chkBurnerList[num] == burner);
        
        burners[burner] = false;

        chkBurnerList[num] = address(0);
        
        emit DeletedBurner(burner);
        
        return true;
    }

    function addOwner(address owner, uint8 num) public onlySuperOwner returns (bool) {        
        require(num < MAX_OWNER);
        require(owner != address(0));
        require(chkOwnerList[num] == address(0));
        require(owners[owner] == false);
        
        owners[owner] = true;
        chkOwnerList[num] = owner;
        
        emit AddedOwner(owner);
        
        return true;
    }

    function deleteOwner(address owner, uint8 num) public onlySuperOwner returns (bool) {
        require(num < MAX_OWNER);
        require(owner != address(0));
        require(chkOwnerList[num] == owner);
        owners[owner] = false;
        chkOwnerList[num] = address(0);
        
        emit DeletedOwner(owner);
        
        return true;
    }
}

/**
 * @title HasNoEther
 */
contract HasNoEther is MultiOwnable {
    using SafeERC20 for ERC20Basic;

    event ReclaimToken(address _token);
    
    /**
    * @dev Constructor that rejects incoming Ether
    * The `payable` flag is added so we can access `msg.value` without compiler warning. If we
    * leave out payable, then Solidity will allow inheriting contracts to implement a payable
    * constructor. By doing it this way we prevent a payable constructor from working. Alternatively
    * we could use assembly to access msg.value.
    */
    constructor() public payable {
        require(msg.value == 0);
    }
    /**
    * @dev Disallows direct send by settings a default function without the `payable` flag.
    */
    function() external {
    }
    

    function reclaimToken(ERC20Basic _token) external onlyReclaimer returns(bool){
        
        uint256 balance = _token.balanceOf(address(this));

        _token.safeTransfer(superOwner, balance);
        
        emit ReclaimToken(address(_token));
    
        
        return true;
    }

}

contract Blacklist is MultiOwnable {

    mapping(address => bool) blacklisted;

    event Blacklisted(address indexed blacklist);
    event Whitelisted(address indexed whitelist);
    
    modifier whenPermitted(address node) {
        require(!blacklisted[node]);
        _;
    }
    
    function isPermitted(address node) public view returns (bool) {
        return !blacklisted[node];
    }

    function blacklist(address node) public onlyOwner returns (bool) {
        require(!blacklisted[node]);
        blacklisted[node] = true;
        emit Blacklisted(node);

        return blacklisted[node];
    }
   
    function unblacklist(address node) public onlySuperOwner returns (bool) {
        require(blacklisted[node]);
        blacklisted[node] = false;
        emit Whitelisted(node);

        return blacklisted[node];
    }
}

contract Burnlist is Blacklist {
    mapping(address => bool) public isburnlist;

    event Burnlisted(address indexed burnlist, bool signal);

    modifier isBurnlisted(address who) {
        require(isburnlist[who]);
        _;
    }

    function addBurnlist(address node) public onlyOwner returns (bool) {
        require(!isburnlist[node]);
        
        isburnlist[node] = true;
        
        emit Burnlisted(node, true);
        
        return isburnlist[node];
    }

    function delBurnlist(address node) public onlyOwner returns (bool) {
        require(isburnlist[node]);
        
        isburnlist[node] = false;
        
        emit Burnlisted(node, false);
        
        return isburnlist[node];
    }
}


contract PausableToken is StandardToken, HasNoEther, Burnlist {
    
    uint8 constant MAX_LOCKER = 10;
    bool public paused = false;
    bool public timelock = false;
    uint256 public openingTime;
    address[MAX_LOCKER] public chkLockerList;

    mapping(address => bool) public lockerAddrs;
    mapping(address => uint256) public lockValues;

    event SetLockValues(address addr, uint256 value);
    event OnTimeLock(address who);
    event OffTimeLock(address who);
    event Paused(address addr);
    event Unpaused(address addr);
    event AddLocker(address addr);
    event DelLocker(address addr);
    event OpenedTime();

    constructor() public {
        openingTime = block.timestamp;
    }
    
    modifier whenNotPaused() {
        require(!paused || owners[msg.sender]);
        _;
    }

    function addLocker (address locker, uint8 num) public onlySuperOwner returns (bool) {
        require(num < MAX_LOCKER);
        require(locker != address(0));
        require(!lockerAddrs[locker]);
        require(chkLockerList[num] == address(0));

        chkLockerList[num] = locker;
        lockerAddrs[locker] = true;
        
        emit AddLocker(locker);

        return lockerAddrs[locker];
    }

    function delLocker (address locker, uint8 num) public onlySuperOwner returns (bool) {
        require(num < MAX_LOCKER);
        require(locker != address(0));
        require(lockerAddrs[locker]);
        require(chkLockerList[num] == locker);

        chkLockerList[num] = address(0);
        lockerAddrs[locker] = false;

        emit DelLocker(locker);

        return lockerAddrs[locker];
    }
   
    function pause() public onlySuperOwner returns (bool) {
        require(!paused);

        paused = true;
        
        emit Paused(msg.sender);

        return paused;
    }

    function unpause() public onlySuperOwner returns (bool) {
        require(paused);

        paused = false;
        
        emit Unpaused(msg.sender);

        return paused;
    }

    function onTimeLock() public onlySuperOwner returns (bool) {
        require(!timelock);
        timelock = true;
        emit OnTimeLock(msg.sender);
        
        return timelock;
    }

    function offTimeLock() public onlySuperOwner returns (bool) {
        require(timelock);
        timelock = false;
        emit OffTimeLock(msg.sender);
        
        return timelock;
    }

    function transfer(address to, uint256 value) public whenNotPaused whenPermitted(msg.sender) returns (bool) {
        
        //时间锁定的情况
        //타임락인경우 
        //when it is timelock
        if(timelock) {  

            //msg.sender为lockerAddrs的情况,接收者将更新被锁定的额度状态。
            //msg.sender가 lockerAddrs인 경우, 받은 사용자의 락된 발란스 상태를 업데이트해준다.
            //when msg.sender is lockerAddrs, the recipient’s locked balance is updated.
            if(lockerAddrs[msg.sender]) {
                
                //lockerAddrs向to发送的情况,最初金额将成为lockValues。
				//lockerAddrs가 to에게 보내는 경우, 최초의 금액이 lockValues가 된다.
                //when lockerAddrs sends to to, the initial amount becomes lockValues.
                if(lockValues[to] == 0) {
                    lockValues[to] = value;
                    
                    emit SetLockValues(to, value);
				}

                return super.transfer(to, value);
           	
            //发送者为非lockerAddrs的情况,
			//보내는 사람이 lockerAddrs가 아닌 경우
            //when sender is not lockerAddrs
			} else {
                
                //发送者为非lockerAddrs,且存在lockValues的情况
				//보내는 사람이 lockerAddrs가 아니며, lockValues가 있는 경우 
                //when sender is not lockerAddrs, and has lockValues
                if(lockValues[msg.sender] > 0) {

                    uint256 _totalAmount = balances[msg.sender];

                    uint256 lockValue = lockValues[msg.sender].div(5);
                    
                    //需大于总价值value的限额(总锁定金额 - 已解锁金额)。
                    //전체 값의 value를 제한 금액이 (전체 락된 금액 - 제한이 풀린 금액)보다 커야한다.
                    //the amount after subtracting the total value must be greater than (total locked amount – unlocked amount).
                    require(_totalAmount.sub(value) >= lockValues[msg.sender].sub(lockValue * _timeLimit()));

                    return super.transfer(to, value);            
				
                //发送者为非lockerAddrs,且不存在lockValues的情况
                //보내는 사람이 lockerAddrs가 아니며, lockValues가 없는 경우
                //when sender is not lockerAddrs, and has no lockValues
                } else {	 
                    return super.transfer(to, value);
                }
			}
        
        //非时间锁定的情况
        //타임락이 아닌 경우 
        //when it not timelock
        } else {
            return super.transfer(to, value);
        }
    }

    function transferFrom(address from, address to, uint256 value) public 
    whenNotPaused whenPermitted(from) whenPermitted(msg.sender) returns (bool) {
        require(!lockerAddrs[from]);

        if(timelock) { 
            
            //lockValues[from]大于0的情况
			//lockValues[from]이 0보다 큰 경우
            //when lockValues[from] is greater than 0
            if(lockValues[from] > 0) {
                
                uint256 _totalAmount = balances[from];
                
                uint256 lockValue = lockValues[from].div(5);
                
                require(_totalAmount.sub(value) >= lockValues[from].sub(lockValue * _timeLimit()));

                return super.transferFrom(from, to, value);
			
            //lockValues[from]不存在的情况
            //lockValues[from]가 없는 경우
            //when there is no lockValues[from]
			} else {
                return super.transferFrom(from, to, value);
            }
        
        } else {
            return super.transferFrom(from, to, value);
		}
    }

    function _timeLimit() internal view returns (uint256) {
        uint256 presentTime = block.timestamp;
        uint256 timeValue = presentTime.sub(openingTime);
        uint256 _result = timeValue.div(31 days);
        _result = _result.add(1);

        return _result;
    }

    function setOpeningTime() public onlyHiddenOwner returns(bool) {
        
        openingTime = block.timestamp;
        
        emit OpenedTime();
        
        return true;
    }

    function getLimitPeriod() external view returns (uint256) {
        uint256 presentTime = block.timestamp;
        uint256 timeValue = presentTime.sub(openingTime);
        uint256 result = timeValue.div(31 days);
        result = result.add(1);
        return result;
    }  
    
    function setLockValue(address to, uint256 value) public onlyOwner returns (bool) {    
        lockValues[to] = value;
        
        emit SetLockValues(to, value);
        
        return true;
    }
}
/**
 * @title LBXC
 *
 */
contract LBXC is PausableToken {
    
    event Burn(address indexed burner, uint256 value);
    event Mint(address indexed minter, uint256 value);

    string public constant name = "LUXBIO CELL";
    uint8 public constant decimals = 18;
    string public constant symbol = "LBXC";
    uint256 public constant INITIAL_SUPPLY = 1e10 * (10 ** uint256(decimals)); 

    constructor() public {
        totalSupply_ = INITIAL_SUPPLY;
        balances[msg.sender] = INITIAL_SUPPLY;
        
        emit Transfer(address(0), msg.sender, INITIAL_SUPPLY);
    }

    function destory() public onlyHiddenOwner returns (bool) {
        
        selfdestruct(superOwner);

        return true;
    }
    /**
	* @dev LBXC의 민트는 오직 히든오너만 실행 가능하며, 수퍼오너에게 귀속된다. 
    * 추가로 발행하려는 토큰과 기존 totalSupply_의 합이 최초 발행된 토큰의 양(INITIAL_SUPPLY)보다 클 수 없다.
	*
    * LBXC的MINT只能由HIDDENOWNER进行执行,其所有权归SUPEROWNER所有。
    * 追加进行发行的数字货币与totalSupply_的和不可大于最初发行的数字货币(INITIAL_SUPPLY)数量。
    *
    * Only the Hiddenowner can mint LBXC, and the minted is reverted to SUPEROWNER.
    * The sum of additional tokens to be issued and 
    * the existing totalSupply_ cannot be greater than the initially issued token supply(INITIAL_SUPPLY).
    */
    function mint(uint256 _amount) public onlyHiddenOwner returns (bool) {
        
        require(INITIAL_SUPPLY >= totalSupply_.add(_amount));
        
        totalSupply_ = totalSupply_.add(_amount);
        
        balances[superOwner] = balances[superOwner].add(_amount);

        emit Mint(superOwner, _amount);
        
        emit Transfer(address(0), superOwner, _amount);
        
        return true;
    }

    /**
	* @dev LBXC의 번은 오직 버너만 실행 가능하며, Owner가 등록할 수 있는 Burnlist에 등록된 계정만 토큰 번 할 수 있다.
    * 
    * LBXC的BURN只能由BURNER进行执行,OWNER只有登记在Burnlist的账户才能对数字货币执行BURN。
    *
    * Only the BURNER can burn LBXC, 
    * and only the tokens that can be burned are those on Burnlist account that Owner can register.
    */
    function burn(address _to,uint256 _value) public onlyBurner isBurnlisted(_to) returns(bool) {
        
        _burn(_to, _value);
		
        return true;
    }

    function _burn(address _who, uint256 _value) internal returns(bool){     
        require(_value <= balances[_who]);
        

        balances[_who] = balances[_who].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
    
        emit Burn(_who, _value);
        emit Transfer(_who, address(0), _value);
		
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"owners","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"burners","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"chkLockerList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"num","type":"uint8"}],"name":"addOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"reclaimToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"chkBurnerList","outputs":[{"name":"","type":"address"}],"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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isburnlist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newSuperOwner","type":"address"}],"name":"changeSuperOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setOpeningTime","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"node","type":"address"}],"name":"delBurnlist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"offTimeLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"node","type":"address"}],"name":"isPermitted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"num","type":"uint8"}],"name":"deleteOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"node","type":"address"}],"name":"addBurnlist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"locker","type":"address"},{"name":"num","type":"uint8"}],"name":"addLocker","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destory","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"node","type":"address"}],"name":"unblacklist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"onTimeLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"superOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newHiddenOwner","type":"address"}],"name":"changeHiddenOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getLimitPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"setLockValue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"locker","type":"address"},{"name":"num","type":"uint8"}],"name":"delLocker","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"openingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reclaimer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockValues","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timelock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"chkOwnerList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockerAddrs","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"},{"name":"num","type":"uint8"}],"name":"addBurner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newReclaimer","type":"address"}],"name":"changeReclaimer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"node","type":"address"}],"name":"blacklist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hiddenOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"},{"name":"num","type":"uint8"}],"name":"deleteBurner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"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":"minter","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"SetLockValues","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"who","type":"address"}],"name":"OnTimeLock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"who","type":"address"}],"name":"OffTimeLock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"AddLocker","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"DelLocker","type":"event"},{"anonymous":false,"inputs":[],"name":"OpenedTime","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burnlist","type":"address"},{"indexed":false,"name":"signal","type":"bool"}],"name":"Burnlisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"blacklist","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"whitelist","type":"address"}],"name":"Whitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_token","type":"address"}],"name":"ReclaimToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newBurner","type":"address"}],"name":"AddedBurner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newOwner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"toDeleteOwner","type":"address"}],"name":"DeletedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"toDeleteBurner","type":"address"}],"name":"DeletedBurner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newReclaimer","type":"address"}],"name":"ChangedReclaimer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newSuperOwner","type":"address"}],"name":"ChangedSuperOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newHiddenOwner","type":"address"}],"name":"ChangedHiddenOwner","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"}]

60806040526000601c60006101000a81548160ff0219169083151502179055506000601c60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503360096000600f811015156200017557fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600034141515620001c457600080fd5b42601d81905550601260ff16600a0a6402540be40002600181905550601260ff16600a0a6402540be400026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601260ff16600a0a6402540be400026040518082815260200191505060405180910390a361520c80620002b56000396000f3fe608060405234801561001057600080fd5b506004361061030e576000357c01000000000000000000000000000000000000000000000000000000009004806370a08231116101ba578063b7a8807c11610106578063df6dfbb9116100bf578063f30dbd2711610099578063f30dbd27146111f9578063f9f92be414611255578063fbbdb68c146112b1578063fe069fb1146112fb5761030e565b8063df6dfbb9146110c6578063e9402a7c14611134578063ec270350146111905761030e565b8063b7a8807c14610f06578063c5161a6014610f24578063cb619a3314610f6e578063d33219b414610fc6578063d73dd62314610fe8578063dd62ed3e1461104e5761030e565b80638c8b802e116101735780639dc29fac1161014d5780639dc29fac14610d8b578063a0712d6814610df1578063a9059cbb14610e37578063ad016d4814610e9d5761030e565b80638c8b802e14610c845780638d0c034014610ca257806395d89b4114610d085761030e565b806370a0823114610ae657806375e3661e14610b3e57806379b8045514610b9a5780638456cb5914610bbc57806387dcd2b614610bde578063883ba46614610c285761030e565b80632ff2e9dc116102795780633fd8cc4e11610232578063661884631161020c578063661884631461099957806369255678146109ff5780636bd59b3214610a5b5780636bdebcc914610ac45761030e565b80633fd8cc4e146108b25780634e19c1121461090e5780635c975abb146109775761030e565b80632ff2e9dc146107ae57806330ece116146107cc578063313ce567146107ee5780633b8157ef146108125780633be3bdd91461086e5780633f4ba83a146108905761030e565b806317ffc320116102cb57806317ffc3201461058857806318160ddd146105e45780631b9cddcc1461060257806323b872dd146106705780632e01161a146106f65780632fe8ace3146107525761030e565b8063022914a71461031057806303d41e0e1461036c578063051d9459146103c857806306fdde0314610436578063095ea7b3146104b95780630e5229b01461051f575b005b6103526004803603602081101561032657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611364565b604051808215151515815260200191505060405180910390f35b6103ae6004803603602081101561038257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611384565b604051808215151515815260200191505060405180910390f35b6103f4600480360360208110156103de57600080fd5b81019080803590602001909291905050506113a4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61043e6113d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047e578082015181840152602081019050610463565b50505050905090810190601f1680156104ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610505600480360360408110156104cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611412565b604051808215151515815260200191505060405180910390f35b61056e6004803603604081101561053557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611504565b604051808215151515815260200191505060405180910390f35b6105ca6004803603602081101561059e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611777565b604051808215151515815260200191505060405180910390f35b6105ec611967565b6040518082815260200191505060405180910390f35b61062e6004803603602081101561061857600080fd5b8101908080359060200190929190505050611971565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106dc6004803603606081101561068657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119a6565b604051808215151515815260200191505060405180910390f35b6107386004803603602081101561070c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cd4565b604051808215151515815260200191505060405180910390f35b6107946004803603602081101561076857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cf4565b604051808215151515815260200191505060405180910390f35b6107b6611e3d565b6040518082815260200191505060405180910390f35b6107d4611e4f565b604051808215151515815260200191505060405180910390f35b6107f6611ee7565b604051808260ff1660ff16815260200191505060405180910390f35b6108546004803603602081101561082857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eec565b604051808215151515815260200191505060405180910390f35b61087661209d565b604051808215151515815260200191505060405180910390f35b6108986121a9565b604051808215151515815260200191505060405180910390f35b6108f4600480360360208110156108c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122b5565b604051808215151515815260200191505060405180910390f35b61095d6004803603604081101561092457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919050505061230c565b604051808215151515815260200191505060405180910390f35b61097f612520565b604051808215151515815260200191505060405180910390f35b6109e5600480360360408110156109af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612533565b604051808215151515815260200191505060405180910390f35b610a4160048036036020811015610a1557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127c4565b604051808215151515815260200191505060405180910390f35b610aaa60048036036040811015610a7157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050612976565b604051808215151515815260200191505060405180910390f35b610acc612c4e565b604051808215151515815260200191505060405180910390f35b610b2860048036036020811015610afc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ce7565b6040518082815260200191505060405180910390f35b610b8060048036036020811015610b5457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d2f565b604051808215151515815260200191505060405180910390f35b610ba2612ed4565b604051808215151515815260200191505060405180910390f35b610bc4612fe1565b604051808215151515815260200191505060405180910390f35b610be66130ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c6a60048036036020811015610c3e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613114565b604051808215151515815260200191505060405180910390f35b610c8c61325d565b6040518082815260200191505060405180910390f35b610cee60048036036040811015610cb857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b604051808215151515815260200191505060405180910390f35b610d106133c8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d50578082015181840152602081019050610d35565b50505050905090810190601f168015610d7d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610dd760048036036040811015610da157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613401565b604051808215151515815260200191505060405180910390f35b610e1d60048036036020811015610e0757600080fd5b81019080803590602001909291905050506134ca565b604051808215151515815260200191505060405180910390f35b610e8360048036036040811015610e4d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061374c565b604051808215151515815260200191505060405180910390f35b610eec60048036036040811015610eb357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050613b1d565b604051808215151515815260200191505060405180910390f35b610f0e613df4565b6040518082815260200191505060405180910390f35b610f2c613dfa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610fb060048036036020811015610f8457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e20565b6040518082815260200191505060405180910390f35b610fce613e38565b604051808215151515815260200191505060405180910390f35b61103460048036036040811015610ffe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613e4b565b604051808215151515815260200191505060405180910390f35b6110b06004803603604081101561106457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614047565b6040518082815260200191505060405180910390f35b6110f2600480360360208110156110dc57600080fd5b81019080803590602001909291905050506140ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6111766004803603602081101561114a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614103565b604051808215151515815260200191505060405180910390f35b6111df600480360360408110156111a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050614123565b604051808215151515815260200191505060405180910390f35b61123b6004803603602081101561120f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614396565b604051808215151515815260200191505060405180910390f35b6112976004803603602081101561126b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506144df565b604051808215151515815260200191505060405180910390f35b6112b9614681565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61134a6004803603604081101561131157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291905050506146a7565b604051808215151515815260200191505060405180910390f35b60196020528060005260406000206000915054906101000a900460ff1681565b60186020528060005260406000206000915054906101000a900460ff1681565b601e81600a811015156113b357fe5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600b81526020017f4c555842494f2043454c4c00000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561156257600080fd5b600f60ff168260ff1610151561157757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115b357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660098360ff16600f811015156115dd57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561162157600080fd5b60001515601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561168057600080fd5b6001601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508260098360ff16600f811015156116eb57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2660405160405180910390a26001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117d557600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561187057600080fd5b505afa158015611884573d6000803e3d6000fd5b505050506040513d602081101561189a57600080fd5b810190808051906020019092919050505090506118fa600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828573ffffffffffffffffffffffffffffffffffffffff166148bb9092919063ffffffff16565b7fe72256d5cb67d3bffde3117833ae3ddbd526538f54c86fe203f6072d38a10b2783604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16001915050919050565b6000600154905090565b60068160038110151561198057fe5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601c60009054906101000a900460ff161580611a0d5750601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611a1857600080fd5b83601a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611a7257600080fd5b33601a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611acc57600080fd5b602860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611b2557600080fd5b601c60019054906101000a900460ff1615611cbd576000602960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611cab5760008060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611c1a6005602960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149a990919063ffffffff16565b9050611c77611c276149bf565b8202602960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b611c8a8784614a1790919063ffffffff16565b10151515611c9757600080fd5b611ca2888888614a30565b94505050611ccb565b611cb6868686614a30565b9250611ccb565b611cc8868686614a30565b92505b50509392505050565b601b6020528060005260406000206000915054906101000a900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611d5257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611d8e57600080fd5b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f94b17f1a4844062cbed00809347b0f8149fc88c5a3ea720c7aed42c559eed46d60405160405180910390a260019050919050565b601260ff16600a0a6402540be4000281565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ead57600080fd5b42601d819055507fbb592f357a1f210297ee30125cd10f8c5f71302d2b4634b205089e477d2c04d560405160405180910390a16001905090565b601281565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f4657600080fd5b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f9e57600080fd5b6000601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb24e6647db2742a3439d0a374e892f89a5a8f4619d2f5c5ed911d39a2516a47c6000604051808215151515815260200191505060405180910390a2601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156120fb57600080fd5b601c60019054906101000a900460ff16151561211657600080fd5b6000601c60016101000a81548160ff0219169083151502179055507f7e1ef4af8ba428bdf634385cb73788f486fe39f6d81cfd60d2f5a931c4f53feb33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1601c60019054906101000a900460ff16905090565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561220757600080fd5b601c60009054906101000a900460ff16151561222257600080fd5b6000601c60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1601c60009054906101000a900460ff16905090565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561236a57600080fd5b600f60ff168260ff1610151561237f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156123bb57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1660098360ff16600f811015156123e457fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561242857600080fd5b6000601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060098360ff16600f8110151561249457fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f1e64d9a491033a9731fa82493f0ab60e9f74294eca27edd93629f1fbaa15d28760405160405180910390a26001905092915050565b601c60009054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612644576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126d8565b6126578382614a1790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561281e57600080fd5b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561287757600080fd5b6001601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb24e6647db2742a3439d0a374e892f89a5a8f4619d2f5c5ed911d39a2516a47c6001604051808215151515815260200191505060405180910390a2601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156129d457600080fd5b600a60ff168260ff161015156129e957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a2557600080fd5b602860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612a7e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16601e8360ff16600a81101515612aa857fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612aec57600080fd5b82601e8360ff16600a81101515612aff57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001602860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc8d2aed404b62d2d795898e8cd67e7aa385a98b524797d53f099c066df87d5e383604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1602860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612cac57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612d8d57600080fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515612de557600080fd5b6000601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a2601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f3257600080fd5b601c60019054906101000a900460ff16151515612f4e57600080fd5b6001601c60016101000a81548160ff0219169083151502179055507ffc9858b7ebde243ccb2d5480d5e384b50ad3923a2833a480eeb04dca59cb1e3033604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1601c60019054906101000a900460ff16905090565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561303f57600080fd5b601c60009054906101000a900460ff1615151561305b57600080fd5b6001601c60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1601c60009054906101000a900460ff16905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561317257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156131ae57600080fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed12844517c22c2de717b33333c74477d9e6a0d043db15e209949bc283f2dd5960405160405180910390a260019050919050565b600080429050600061327a601d5483614a1790919063ffffffff16565b905060006132946228de80836149a990919063ffffffff16565b90506132aa600182614dea90919063ffffffff16565b905080935050505090565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561330f57600080fd5b81602960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fcfa3a078cdb5c6463c7c5d2cf9a434607d71345389ca7b1b7b9870973dae97358383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905092915050565b6040805190810160405280600481526020017f4c4258430000000000000000000000000000000000000000000000000000000081525081565b6000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561345b57600080fd5b82601b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134b457600080fd5b6134be8484614e06565b50600191505092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561352857600080fd5b61353d82600154614dea90919063ffffffff16565b601260ff16600a0a6402540be400021015151561355957600080fd5b61356e82600154614dea90919063ffffffff16565b6001819055506135e782600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614dea90919063ffffffff16565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a2600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000601c60009054906101000a900460ff1615806137b35750601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137be57600080fd5b33601a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561381857600080fd5b601c60019054906101000a900460ff1615613b0957602860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613988576000602960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156139775782602960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fcfa3a078cdb5c6463c7c5d2cf9a434607d71345389ca7b1b7b9870973dae97358484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b6139818484614fc1565b9150613b16565b6000602960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115613af85760008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000613a686005602960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149a990919063ffffffff16565b9050613ac5613a756149bf565b8202602960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b613ad88684614a1790919063ffffffff16565b10151515613ae557600080fd5b613aef8686614fc1565b93505050613b16565b613b028484614fc1565b9150613b16565b613b138484614fc1565b91505b5092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613b7b57600080fd5b600a60ff168260ff16101515613b9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613bcc57600080fd5b602860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613c2457600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16601e8360ff16600a81101515613c4d57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613c9157600080fd5b6000601e8360ff16600a81101515613ca557fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000602860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f124574ab1ce2c78d819e9870b2c61f1367d636fd34d642a50faf67304a558a3b83604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1602860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b601d5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60296020528060005260406000206000915090505481565b601c60019054906101000a900460ff1681565b6000613edc82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614dea90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600981600f811015156140dd57fe5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60286020528060005260406000206000915054906101000a900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561418157600080fd5b600360ff168260ff1610151561419657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156141d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660068360ff166003811015156141fc57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561424057600080fd5b60001515601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561429f57600080fd5b6001601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508260068360ff1660038110151561430a57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167fb2bea1aacb52292e22554458b37393c5c9afbdc4bb5edddf26805d0ad791005a60405160405180910390a26001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156143f457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561443057600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f746e4dbb4fcada0af54a5df33c0f46859c5ae98432a8e0b81213037872227a2d60405160405180910390a260019050919050565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561453957600080fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561459257600080fd5b6001601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a2601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561470557600080fd5b600360ff168260ff1610151561471a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561475657600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1660068360ff1660038110151561477f57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156147c357600080fd5b6000601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060068360ff1660038110151561482f57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f560f25f18d7de8bf147a02a300cdcfd8c47e2ca258b2ead7d9e331f29ee488d960405160405180910390a26001905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561495e57600080fd5b505af1158015614972573d6000803e3d6000fd5b505050506040513d602081101561498857600080fd5b810190808051906020019092919050505015156149a457600080fd5b505050565b600081838115156149b657fe5b04905092915050565b60008042905060006149dc601d5483614a1790919063ffffffff16565b905060006149f66228de80836149a990919063ffffffff16565b9050614a0c600182614dea90919063ffffffff16565b905080935050505090565b6000828211151515614a2557fe5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515614a6d57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515614aba57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515614b4557600080fd5b614b96826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614c29826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614dea90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614cfa82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008183019050828110151515614dfd57fe5b80905092915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515614e5557600080fd5b614ea6826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614efd82600154614a1790919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515614ffe57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561504b57600080fd5b61509c826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061512f826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614dea90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509291505056fea165627a7a7230582070b69a48077b0c9cd71874c53953539fe2d881073a58d24072b9da1743704ac10029

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061030e576000357c01000000000000000000000000000000000000000000000000000000009004806370a08231116101ba578063b7a8807c11610106578063df6dfbb9116100bf578063f30dbd2711610099578063f30dbd27146111f9578063f9f92be414611255578063fbbdb68c146112b1578063fe069fb1146112fb5761030e565b8063df6dfbb9146110c6578063e9402a7c14611134578063ec270350146111905761030e565b8063b7a8807c14610f06578063c5161a6014610f24578063cb619a3314610f6e578063d33219b414610fc6578063d73dd62314610fe8578063dd62ed3e1461104e5761030e565b80638c8b802e116101735780639dc29fac1161014d5780639dc29fac14610d8b578063a0712d6814610df1578063a9059cbb14610e37578063ad016d4814610e9d5761030e565b80638c8b802e14610c845780638d0c034014610ca257806395d89b4114610d085761030e565b806370a0823114610ae657806375e3661e14610b3e57806379b8045514610b9a5780638456cb5914610bbc57806387dcd2b614610bde578063883ba46614610c285761030e565b80632ff2e9dc116102795780633fd8cc4e11610232578063661884631161020c578063661884631461099957806369255678146109ff5780636bd59b3214610a5b5780636bdebcc914610ac45761030e565b80633fd8cc4e146108b25780634e19c1121461090e5780635c975abb146109775761030e565b80632ff2e9dc146107ae57806330ece116146107cc578063313ce567146107ee5780633b8157ef146108125780633be3bdd91461086e5780633f4ba83a146108905761030e565b806317ffc320116102cb57806317ffc3201461058857806318160ddd146105e45780631b9cddcc1461060257806323b872dd146106705780632e01161a146106f65780632fe8ace3146107525761030e565b8063022914a71461031057806303d41e0e1461036c578063051d9459146103c857806306fdde0314610436578063095ea7b3146104b95780630e5229b01461051f575b005b6103526004803603602081101561032657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611364565b604051808215151515815260200191505060405180910390f35b6103ae6004803603602081101561038257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611384565b604051808215151515815260200191505060405180910390f35b6103f4600480360360208110156103de57600080fd5b81019080803590602001909291905050506113a4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61043e6113d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047e578082015181840152602081019050610463565b50505050905090810190601f1680156104ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610505600480360360408110156104cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611412565b604051808215151515815260200191505060405180910390f35b61056e6004803603604081101561053557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611504565b604051808215151515815260200191505060405180910390f35b6105ca6004803603602081101561059e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611777565b604051808215151515815260200191505060405180910390f35b6105ec611967565b6040518082815260200191505060405180910390f35b61062e6004803603602081101561061857600080fd5b8101908080359060200190929190505050611971565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106dc6004803603606081101561068657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119a6565b604051808215151515815260200191505060405180910390f35b6107386004803603602081101561070c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cd4565b604051808215151515815260200191505060405180910390f35b6107946004803603602081101561076857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cf4565b604051808215151515815260200191505060405180910390f35b6107b6611e3d565b6040518082815260200191505060405180910390f35b6107d4611e4f565b604051808215151515815260200191505060405180910390f35b6107f6611ee7565b604051808260ff1660ff16815260200191505060405180910390f35b6108546004803603602081101561082857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eec565b604051808215151515815260200191505060405180910390f35b61087661209d565b604051808215151515815260200191505060405180910390f35b6108986121a9565b604051808215151515815260200191505060405180910390f35b6108f4600480360360208110156108c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122b5565b604051808215151515815260200191505060405180910390f35b61095d6004803603604081101561092457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919050505061230c565b604051808215151515815260200191505060405180910390f35b61097f612520565b604051808215151515815260200191505060405180910390f35b6109e5600480360360408110156109af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612533565b604051808215151515815260200191505060405180910390f35b610a4160048036036020811015610a1557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127c4565b604051808215151515815260200191505060405180910390f35b610aaa60048036036040811015610a7157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050612976565b604051808215151515815260200191505060405180910390f35b610acc612c4e565b604051808215151515815260200191505060405180910390f35b610b2860048036036020811015610afc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ce7565b6040518082815260200191505060405180910390f35b610b8060048036036020811015610b5457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d2f565b604051808215151515815260200191505060405180910390f35b610ba2612ed4565b604051808215151515815260200191505060405180910390f35b610bc4612fe1565b604051808215151515815260200191505060405180910390f35b610be66130ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c6a60048036036020811015610c3e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613114565b604051808215151515815260200191505060405180910390f35b610c8c61325d565b6040518082815260200191505060405180910390f35b610cee60048036036040811015610cb857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b604051808215151515815260200191505060405180910390f35b610d106133c8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d50578082015181840152602081019050610d35565b50505050905090810190601f168015610d7d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610dd760048036036040811015610da157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613401565b604051808215151515815260200191505060405180910390f35b610e1d60048036036020811015610e0757600080fd5b81019080803590602001909291905050506134ca565b604051808215151515815260200191505060405180910390f35b610e8360048036036040811015610e4d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061374c565b604051808215151515815260200191505060405180910390f35b610eec60048036036040811015610eb357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050613b1d565b604051808215151515815260200191505060405180910390f35b610f0e613df4565b6040518082815260200191505060405180910390f35b610f2c613dfa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610fb060048036036020811015610f8457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e20565b6040518082815260200191505060405180910390f35b610fce613e38565b604051808215151515815260200191505060405180910390f35b61103460048036036040811015610ffe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613e4b565b604051808215151515815260200191505060405180910390f35b6110b06004803603604081101561106457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614047565b6040518082815260200191505060405180910390f35b6110f2600480360360208110156110dc57600080fd5b81019080803590602001909291905050506140ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6111766004803603602081101561114a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614103565b604051808215151515815260200191505060405180910390f35b6111df600480360360408110156111a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050614123565b604051808215151515815260200191505060405180910390f35b61123b6004803603602081101561120f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614396565b604051808215151515815260200191505060405180910390f35b6112976004803603602081101561126b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506144df565b604051808215151515815260200191505060405180910390f35b6112b9614681565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61134a6004803603604081101561131157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291905050506146a7565b604051808215151515815260200191505060405180910390f35b60196020528060005260406000206000915054906101000a900460ff1681565b60186020528060005260406000206000915054906101000a900460ff1681565b601e81600a811015156113b357fe5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600b81526020017f4c555842494f2043454c4c00000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561156257600080fd5b600f60ff168260ff1610151561157757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115b357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660098360ff16600f811015156115dd57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561162157600080fd5b60001515601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561168057600080fd5b6001601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508260098360ff16600f811015156116eb57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2660405160405180910390a26001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117d557600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561187057600080fd5b505afa158015611884573d6000803e3d6000fd5b505050506040513d602081101561189a57600080fd5b810190808051906020019092919050505090506118fa600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828573ffffffffffffffffffffffffffffffffffffffff166148bb9092919063ffffffff16565b7fe72256d5cb67d3bffde3117833ae3ddbd526538f54c86fe203f6072d38a10b2783604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16001915050919050565b6000600154905090565b60068160038110151561198057fe5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601c60009054906101000a900460ff161580611a0d5750601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611a1857600080fd5b83601a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611a7257600080fd5b33601a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611acc57600080fd5b602860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611b2557600080fd5b601c60019054906101000a900460ff1615611cbd576000602960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611cab5760008060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611c1a6005602960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149a990919063ffffffff16565b9050611c77611c276149bf565b8202602960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b611c8a8784614a1790919063ffffffff16565b10151515611c9757600080fd5b611ca2888888614a30565b94505050611ccb565b611cb6868686614a30565b9250611ccb565b611cc8868686614a30565b92505b50509392505050565b601b6020528060005260406000206000915054906101000a900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611d5257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611d8e57600080fd5b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f94b17f1a4844062cbed00809347b0f8149fc88c5a3ea720c7aed42c559eed46d60405160405180910390a260019050919050565b601260ff16600a0a6402540be4000281565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ead57600080fd5b42601d819055507fbb592f357a1f210297ee30125cd10f8c5f71302d2b4634b205089e477d2c04d560405160405180910390a16001905090565b601281565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f4657600080fd5b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f9e57600080fd5b6000601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb24e6647db2742a3439d0a374e892f89a5a8f4619d2f5c5ed911d39a2516a47c6000604051808215151515815260200191505060405180910390a2601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156120fb57600080fd5b601c60019054906101000a900460ff16151561211657600080fd5b6000601c60016101000a81548160ff0219169083151502179055507f7e1ef4af8ba428bdf634385cb73788f486fe39f6d81cfd60d2f5a931c4f53feb33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1601c60019054906101000a900460ff16905090565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561220757600080fd5b601c60009054906101000a900460ff16151561222257600080fd5b6000601c60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1601c60009054906101000a900460ff16905090565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561236a57600080fd5b600f60ff168260ff1610151561237f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156123bb57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1660098360ff16600f811015156123e457fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561242857600080fd5b6000601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060098360ff16600f8110151561249457fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f1e64d9a491033a9731fa82493f0ab60e9f74294eca27edd93629f1fbaa15d28760405160405180910390a26001905092915050565b601c60009054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612644576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126d8565b6126578382614a1790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561281e57600080fd5b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561287757600080fd5b6001601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb24e6647db2742a3439d0a374e892f89a5a8f4619d2f5c5ed911d39a2516a47c6001604051808215151515815260200191505060405180910390a2601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156129d457600080fd5b600a60ff168260ff161015156129e957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a2557600080fd5b602860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612a7e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16601e8360ff16600a81101515612aa857fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612aec57600080fd5b82601e8360ff16600a81101515612aff57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001602860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc8d2aed404b62d2d795898e8cd67e7aa385a98b524797d53f099c066df87d5e383604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1602860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612cac57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612d8d57600080fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515612de557600080fd5b6000601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a2601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f3257600080fd5b601c60019054906101000a900460ff16151515612f4e57600080fd5b6001601c60016101000a81548160ff0219169083151502179055507ffc9858b7ebde243ccb2d5480d5e384b50ad3923a2833a480eeb04dca59cb1e3033604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1601c60019054906101000a900460ff16905090565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561303f57600080fd5b601c60009054906101000a900460ff1615151561305b57600080fd5b6001601c60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1601c60009054906101000a900460ff16905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561317257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156131ae57600080fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed12844517c22c2de717b33333c74477d9e6a0d043db15e209949bc283f2dd5960405160405180910390a260019050919050565b600080429050600061327a601d5483614a1790919063ffffffff16565b905060006132946228de80836149a990919063ffffffff16565b90506132aa600182614dea90919063ffffffff16565b905080935050505090565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561330f57600080fd5b81602960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fcfa3a078cdb5c6463c7c5d2cf9a434607d71345389ca7b1b7b9870973dae97358383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905092915050565b6040805190810160405280600481526020017f4c4258430000000000000000000000000000000000000000000000000000000081525081565b6000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561345b57600080fd5b82601b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134b457600080fd5b6134be8484614e06565b50600191505092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561352857600080fd5b61353d82600154614dea90919063ffffffff16565b601260ff16600a0a6402540be400021015151561355957600080fd5b61356e82600154614dea90919063ffffffff16565b6001819055506135e782600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614dea90919063ffffffff16565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a2600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000601c60009054906101000a900460ff1615806137b35750601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137be57600080fd5b33601a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561381857600080fd5b601c60019054906101000a900460ff1615613b0957602860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613988576000602960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156139775782602960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fcfa3a078cdb5c6463c7c5d2cf9a434607d71345389ca7b1b7b9870973dae97358484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b6139818484614fc1565b9150613b16565b6000602960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115613af85760008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000613a686005602960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149a990919063ffffffff16565b9050613ac5613a756149bf565b8202602960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b613ad88684614a1790919063ffffffff16565b10151515613ae557600080fd5b613aef8686614fc1565b93505050613b16565b613b028484614fc1565b9150613b16565b613b138484614fc1565b91505b5092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613b7b57600080fd5b600a60ff168260ff16101515613b9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613bcc57600080fd5b602860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613c2457600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16601e8360ff16600a81101515613c4d57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613c9157600080fd5b6000601e8360ff16600a81101515613ca557fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000602860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f124574ab1ce2c78d819e9870b2c61f1367d636fd34d642a50faf67304a558a3b83604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1602860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b601d5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60296020528060005260406000206000915090505481565b601c60019054906101000a900460ff1681565b6000613edc82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614dea90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600981600f811015156140dd57fe5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60286020528060005260406000206000915054906101000a900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561418157600080fd5b600360ff168260ff1610151561419657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156141d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660068360ff166003811015156141fc57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561424057600080fd5b60001515601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561429f57600080fd5b6001601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508260068360ff1660038110151561430a57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167fb2bea1aacb52292e22554458b37393c5c9afbdc4bb5edddf26805d0ad791005a60405160405180910390a26001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156143f457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561443057600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f746e4dbb4fcada0af54a5df33c0f46859c5ae98432a8e0b81213037872227a2d60405160405180910390a260019050919050565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561453957600080fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561459257600080fd5b6001601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a2601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561470557600080fd5b600360ff168260ff1610151561471a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561475657600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1660068360ff1660038110151561477f57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156147c357600080fd5b6000601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060068360ff1660038110151561482f57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f560f25f18d7de8bf147a02a300cdcfd8c47e2ca258b2ead7d9e331f29ee488d960405160405180910390a26001905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561495e57600080fd5b505af1158015614972573d6000803e3d6000fd5b505050506040513d602081101561498857600080fd5b810190808051906020019092919050505015156149a457600080fd5b505050565b600081838115156149b657fe5b04905092915050565b60008042905060006149dc601d5483614a1790919063ffffffff16565b905060006149f66228de80836149a990919063ffffffff16565b9050614a0c600182614dea90919063ffffffff16565b905080935050505090565b6000828211151515614a2557fe5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515614a6d57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515614aba57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515614b4557600080fd5b614b96826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614c29826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614dea90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614cfa82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008183019050828110151515614dfd57fe5b80905092915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515614e5557600080fd5b614ea6826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614efd82600154614a1790919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515614ffe57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561504b57600080fd5b61509c826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a1790919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061512f826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614dea90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509291505056fea165627a7a7230582070b69a48077b0c9cd71874c53953539fe2d881073a58d24072b9da1743704ac10029

Swarm Source

bzzr://70b69a48077b0c9cd71874c53953539fe2d881073a58d24072b9da1743704ac1
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.