Contract 0x0605Cd6435326422465FFA5742c5f7356DD62073

 

Contract Overview

Balance:
1.428 Ether

EtherValue:
$196.26 (@ $137.44/ETH)
TxHash Block Age From To Value [TxFee]
0x53a0232bc5a76a84e6f8d58764a47118d2a574c0bb76cd715b7fc3fd929baa3d686588768 days 20 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.001066008
0x65b0a857dbb1e3bc20b9862f34a4236f02ad90c8bbbf9cf052b8999fe3618e05686587968 days 20 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00106716
0x572e75a35efa851be81bb56892cc07395b234f3475a108773824cf252bbfef7e686550468 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.000819624
0x1f29ad26845bf6cfc5a80e6d302763a7903441828461e75be71d5db571d02ff1686549968 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.001066776
0xdc8862d8b99c2058f3326c55a1d66651bf288d5b6b9d60d74ddca987bda88a35686549668 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00106716
0x41ed1759b027c8202f12d5d50208a239bc2cb0f5a5567ea9b56d0c98ba837d34684218372 days 18 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.000391302
0xb1e85e7f168c1edaaacdcd459545a4fb63716919c017039c82676aa9a5e3f967684218172 days 18 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.000391302
0xf7a950860ad1b9f99834d2607a535a597f39412154dbb16616d683e36fe00cc5684217572 days 18 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.0003734883
0x242e68084de941d1bfaf921e3dfbb877b71960a16cd931e9be5bb759ffabd416684216872 days 18 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.001601316
0x0ceafca676f39bdb1ae1b7fccba058b2212dd3edab7acb9af72c6b494a189d24684214972 days 18 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00160074
0x9789dc58f450de69bcf1425deb6991af883b783b1e6f0d20e8b5c6242fad86e6684208872 days 18 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.000586953
0xd48f8fe6a81484f4f9f8145d63766f76a64aba14cb2259059aeaa5a759661a39684208672 days 18 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.000586953
0x206c80a7af952f7c543cd11edf633fa7a708879fe9fe06a632984b02dcbcb9a4684207272 days 18 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.000657945
0xa4abd92618f40f70bc0148446cd3a4f9c97e949cc6842fa23efcfc4437f2d69e683681473 days 15 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00177988
0x085c4ec9f2871eb454a6c46efa6d70f818e18f663a8a174fb7996b8994f7d95d683680873 days 15 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00177924
0xbe90816d9cbbb92e7b32fc0f9ea26e94b7f534368f2f0f2e72ee2ee689acf432683657773 days 16 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00026804187
0x166782b989aac3e27498ce4f5500679d2503b18139b4a135b6293edd98ca4472683655373 days 17 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00030177675
0x80f667fc97131eaa20d5f53d699c8ac6b104c5afa9d3a7b18f02ffbae67b304b683653273 days 17 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00088834
0x20d20eb8b6b62014abf1c92380c620c15765bd64e2bc97114e8d87cc11fadc91682920174 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.0003279831
0x8d8a9de9a5ac27a3a8bf0a2582cdaa5cfc1301e66e3bdf848ba1c1385ac56466682920074 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.0006065181
0x972d6bb97e79e57c6141436150ab80b70180ba743c71a6c3565c0bf7cbb949c5682919374 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.0006065181
0x6639dc46c23e7d24f8a3ab0296ee73d8faa4b0df169028f020c5d7ea53e7f3c6682919274 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.0006065181
0xda2eb0211c3265580949413d94db8cceaeff626848ff78fea3f00f0f002ef128682918874 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.0006065181
0xe3f933ddde727a9e980b3d640ee992c8c8e4f86ae6d99b722f184af6d7c216b6682918574 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.0006065181
0xd91fa33e49ebdf61d63cfdcc92ee4f32f6426a6081b751d5414ebe4cd91c667a682900174 days 22 hrs ago0xfcba69ef1d63b0a4ccd9cecea429157ba48d6a9c  IN   0x0605cd6435326422465ffa5742c5f7356dd620730 Ether0.00072977
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Contract Source Code Verified (Exact Match)
Contract Name: Starmid
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity 0.4.25;


contract Nodes {
	address public owner;
	mapping (uint => Node) public nodes; 
	mapping (string => uint) nodesID;
	mapping (string => uint16) nodeGroupsId;
	mapping (uint16 => string) public nodeGroups;
	mapping (address => string) public confirmationNodes;
	uint16 public nodeGroupID;
	uint public nodeID;
	
	struct Node {
		string nodeName;
		address producer;
		address node;
		uint256 date;
		uint8 starmidConfirmed; //0 - not confirmed; 1 - confirmed; 2 - caution
		string confirmationPost;
		outsourceConfirmStruct[] outsourceConfirmed;
		uint16[] nodeGroup;
		uint8 producersPercent;
	}
	
	struct outsourceConfirmStruct {
		uint8 confirmationStatus;
		address confirmationNode;
		string confirmationPost;
	}
	
	event NewNode(
		uint256 id, 
		string nodeName, 
		uint8 producersPercent, 
		address producer, 
		uint date
		);
	event NewNodeGroup(uint16 id, string newNodeGroup);
	event AddNodeAddress(uint nodeID, address nodeAdress);
	event EditNode(uint nodeID,	address newProducer, uint8 newProducersPercent);
	event ConfirmNode(uint nodeID, uint8 confirmationStatus, string confirmationPost);
	event OutsourceConfirmNode(uint nodeID, uint8 confirmationStatus, address confirmationNode, string confirmationPost);
	event ChangePercent(uint nodeId, uint producersPercent);
	event PushNodeGroup(uint nodeId, uint newNodeGroup);
	event DeleteNodeGroup(uint nodeId, uint deleteNodeGroup);
	
	modifier onlyOwner {
		require(msg.sender == owner);
		_;
	}
	
	function addConfirmationNode(string _newConfirmationNode) public returns(bool) {
		confirmationNodes[msg.sender] = _newConfirmationNode;
		return true;
	}
	
	function addNodeGroup(string _newNodeGroup) public onlyOwner returns(bool _result, uint16 _id) {
		require (nodeGroupsId[_newNodeGroup] == 0);
		_id = nodeGroupID += 1;
		nodeGroups[_id] = _newNodeGroup;
		nodeGroupsId[_newNodeGroup] = nodeGroupID;
		_result = true;
		emit NewNodeGroup(_id, _newNodeGroup);
	}
	
	function addNode(string _newNode, uint8 _producersPercent) public returns (bool _result, uint _id) {
		require(nodesID[_newNode] < 1 && _producersPercent < 100);
		_id = nodeID += 1;
		require(nodeID < 1000000000000);
		nodes[nodeID].nodeName = _newNode;
		nodes[nodeID].producer = msg.sender;
		nodes[nodeID].date = block.timestamp;
		nodes[nodeID].producersPercent = _producersPercent;
		nodesID[_newNode] = nodeID;
		emit NewNode(_id, _newNode, _producersPercent, msg.sender, block.timestamp);
		_result = true;
	}
	
	function editNode(
		uint _nodeID, 
		address _newProducer, 
		uint8 _newProducersPercent
		) public onlyOwner returns (bool) {
			nodes[_nodeID].producer = _newProducer;
			nodes[_nodeID].producersPercent = _newProducersPercent;
			emit EditNode(_nodeID, _newProducer, _newProducersPercent);
			return true;
	}
	
	function addNodeAddress(uint _nodeID, address _nodeAddress) public returns(bool _result) {
		require(msg.sender == nodes[_nodeID].producer && nodes[_nodeID].node == 0);
		nodes[_nodeID].node = _nodeAddress;
		emit AddNodeAddress( _nodeID, _nodeAddress);
		_result = true;
	}
	
	function pushNodeGroup(uint _nodeID, uint16 _newNodeGroup) public returns(bool) {
		require(msg.sender == nodes[_nodeID].node || msg.sender == nodes[_nodeID].producer);
		nodes[_nodeID].nodeGroup.push(_newNodeGroup);
		emit PushNodeGroup(_nodeID, _newNodeGroup);
		return true;
	}
	
	function deleteNodeGroup(uint _nodeID, uint16 _deleteNodeGroup) public returns(bool) {
		require(msg.sender == nodes[_nodeID].node  || msg.sender == nodes[_nodeID].producer);
		for(uint16 i = 0; i < nodes[_nodeID].nodeGroup.length; i++) {
			if(_deleteNodeGroup == nodes[_nodeID].nodeGroup[i]) {
				for(uint16 ii = i; ii < nodes[_nodeID].nodeGroup.length - 1; ii++) 
					nodes[_nodeID].nodeGroup[ii] = nodes[_nodeID].nodeGroup[ii + 1];
		    	delete nodes[_nodeID].nodeGroup[nodes[_nodeID].nodeGroup.length - 1];
				nodes[_nodeID].nodeGroup.length--;
				break;
		    }
	    }
		emit DeleteNodeGroup(_nodeID, _deleteNodeGroup);
		return true;
    }
	
	function confirmNode(uint _nodeID, string confirmationPost, uint8 confirmationStatus) public onlyOwner returns(bool) {
		nodes[_nodeID].starmidConfirmed = confirmationStatus;
		nodes[_nodeID].confirmationPost = confirmationPost;
		emit ConfirmNode(_nodeID, confirmationStatus, confirmationPost);
		return true;
	}
	
	function outsourceConfirmNode(uint _nodeID, string confirmationPost, uint8 confirmationStatus) public returns(bool) {
		nodes[_nodeID].outsourceConfirmed.push(outsourceConfirmStruct(confirmationStatus, msg.sender, confirmationPost));
		emit OutsourceConfirmNode(_nodeID, confirmationStatus, msg.sender, confirmationPost);
		return true;
	}
	
	function changePercent(uint _nodeId, uint8 _producersPercent) public returns(bool) {
		require(msg.sender == nodes[_nodeId].producer && nodes[_nodeId].node == 0x0000000000000000000000000000000000000000);
		nodes[_nodeId].producersPercent = _producersPercent;
		emit ChangePercent(_nodeId, _producersPercent);
		return true;
	}
	
	function getNodeInfo(uint _nodeID) constant public returns(
		address _producer, 
		address _node, 
		uint _date, 
		uint8 _starmidConfirmed, 
		string _nodeName, 
		uint16[] _nodeGroup, 
		uint _producersPercent, 
		string _confirmationPost
		) {
		_producer = nodes[_nodeID].producer;
		_node = nodes[_nodeID].node;
		_date = nodes[_nodeID].date;
		_starmidConfirmed = nodes[_nodeID].starmidConfirmed;
		_nodeName = nodes[_nodeID].nodeName;
		_nodeGroup = nodes[_nodeID].nodeGroup;
		_producersPercent = nodes[_nodeID].producersPercent;
		_confirmationPost = nodes[_nodeID].confirmationPost;
	}
	
	function getOutsourceConfirmation(uint _nodeID, uint _number) constant public returns(
		uint _confirmationStatus, 
		address _confirmationNode, 
		string _confirmationNodeName, 
		string _confirmationPost
		) {
			_confirmationStatus = nodes[_nodeID].outsourceConfirmed[_number].confirmationStatus;
			_confirmationNode = nodes[_nodeID].outsourceConfirmed[_number].confirmationNode;
			_confirmationNodeName = confirmationNodes[_confirmationNode];
			_confirmationPost = nodes[_nodeID].outsourceConfirmed[_number].confirmationPost;
		}
}	

contract Starmid is Nodes {
	uint24 public emissionLimits;
	uint8 public feeMultipliedByTen;
	mapping (uint => emissionNodeInfo) public emissions;
	mapping (address => mapping (uint => uint)) balanceOf;
	mapping (address => mapping (uint => uint)) frozen;
	uint128 public orderId;
	mapping (uint => mapping (uint => orderInfo[])) buyOrders;
	mapping (uint => mapping (uint => orderInfo[])) sellOrders;
	mapping (uint => uint[]) buyOrderPrices;
	mapping (uint => uint[]) sellOrderPrices;
	mapping (address => uint) public pendingWithdrawals;
	address public multiKey;
	
	struct orderInfo {
		address client;
		uint amount;
		uint orderId;
		uint8 fee;
    }
	struct emissionNodeInfo {
		uint emissionNumber;
		uint date;
	}
	
	event Emission(uint node, uint date);
	event BuyOrder(uint orderId, uint node, uint buyPrice, uint amount);
	event SellOrder(uint orderId, uint node, uint sellPrice, uint amount);
	event CancelBuyOrder(uint orderId, uint node, uint price);
	event CancelSellOrder(uint orderId, uint node, uint price);
	event TradeHistory(uint node, uint date, address buyer, address seller, uint price, uint amount, uint orderId);
	
	constructor() public {
		owner = msg.sender;
		emissionLimits = 1000000;
		feeMultipliedByTen = 20;
	}
	
	//-----------------------------------------------------Starmid Exchange------------------------------------------------------
	function withdraw() public returns(bool _result, uint _amount) {
        _amount = pendingWithdrawals[msg.sender];
        pendingWithdrawals[msg.sender] = 0;
        msg.sender.transfer(_amount);
		_result = true;
    }
	
	function changeOwner(address _newOwnerAddress) public returns(bool) {
		require(msg.sender == owner || msg.sender == 0x1335995a62a6769b0a44a8fcc08d9c3324456df0);
		if(multiKey == 0x0000000000000000000000000000000000000000)
			multiKey = msg.sender;
		if(multiKey == owner && msg.sender == 0x1335995a62a6769b0a44a8fcc08d9c3324456df0) {
			owner = _newOwnerAddress;
			multiKey = 0x0000000000000000000000000000000000000000;
			return true;
		}
		if(multiKey == 0x1335995a62a6769b0a44a8fcc08d9c3324456df0 && msg.sender == owner) {
			owner = _newOwnerAddress;
			multiKey = 0x0000000000000000000000000000000000000000;
			return true;
		}
	}
	
	function changeFee(uint8 _newFee) public onlyOwner returns(bool) {
		feeMultipliedByTen = _newFee;
		return true;
	}
	
	function getEmission(uint _node) constant public returns(uint _emissionNumber, uint _emissionDate) {
		_emissionNumber = emissions[_node].emissionNumber;
		_emissionDate = emissions[_node].date;
	}
	
	function emission(uint _node) public returns(bool _result, uint _producersPercent) {
		address _nodeProducer = nodes[_node].producer;
		address _nodeOwner = nodes[_node].node;
		_producersPercent = nodes[_node].producersPercent;
		require(msg.sender == _nodeOwner || msg.sender == _nodeProducer);
		require(_nodeOwner != 0x0000000000000000000000000000000000000000 && emissions[_node].emissionNumber == 0);
		balanceOf[_nodeOwner][_node] += emissionLimits*(100 - _producersPercent)/100;
		balanceOf[_nodeProducer][_node] += emissionLimits*_producersPercent/100;
		emissions[_node].date = block.timestamp;
		emissions[_node].emissionNumber = 1;
		emit Emission(_node, block.timestamp);
		_result = true;
	}
	
	function getStockBalance(address _address, uint _node) constant public returns(uint _balance) {
		_balance = balanceOf[_address][_node];
	}
	
	function getWithFrozenStockBalance(address _address, uint _node) constant public returns(uint _balance) {
		_balance = balanceOf[_address][_node] + frozen[_address][_node];
	}
	
	function getOrderInfo(bool _isBuyOrder, uint _node, uint _price, uint _number) constant public returns
	(address _address, uint _amount, uint _orderId, uint8 _fee) {
		if(_isBuyOrder == true) {
			_address = buyOrders[_node][_price][_number].client;
			_amount = buyOrders[_node][_price][_number].amount;
			_orderId = buyOrders[_node][_price][_number].orderId;
			_fee = buyOrders[_node][_price][_number].fee;
		}
		else {
			_address = sellOrders[_node][_price][_number].client;
			_amount = sellOrders[_node][_price][_number].amount;
			_orderId = sellOrders[_node][_price][_number].orderId;
		}
	}
	
	function getBuyOrderPrices(uint _node) constant public returns(uint[] _prices) {
		_prices = buyOrderPrices[_node];
	}
	
	function getSellOrderPrices(uint _node) constant public returns(uint[] _prices) {
		_prices = sellOrderPrices[_node];
	}
	
	function buyOrder(uint _node, uint _buyPrice, uint _amount) payable public returns (bool _result, uint _orderId) {
		//check if there is a better price
		uint _minSellPrice = _buyPrice + 1;
		for (uint i = 0; i < sellOrderPrices[_node].length; i++) {
			if(sellOrderPrices[_node][i] < _minSellPrice) 
				_minSellPrice = sellOrderPrices[_node][i];
		}
		require(_node > 0 && _buyPrice > 0 && _amount > 0 && msg.value > 0 && _buyPrice < _minSellPrice);
		require(msg.value == _amount*_buyPrice + _amount*_buyPrice*feeMultipliedByTen/1000);
		_orderId = orderId += 1;
		buyOrders[_node][_buyPrice].push(orderInfo(msg.sender, _amount, _orderId, feeMultipliedByTen));
		//Add _buyPrice to buyOrderPrices[_node][]
		uint it = 999999;
		for (uint itt = 0; itt < buyOrderPrices[_node].length; itt++) {
			if (buyOrderPrices[_node][itt] == _buyPrice) 
				it = itt;
		}
		if (it == 999999) 
			buyOrderPrices[_node].push(_buyPrice);
		_result = true;
		emit BuyOrder(orderId, _node, _buyPrice, _amount);
	}
	
	function sellOrder(uint _node, uint _sellPrice, uint _amount) public returns (bool _result, uint _orderId) {
		//check if there is a better price
		uint _maxBuyPrice = _sellPrice - 1;
		for (uint i = 0; i < buyOrderPrices[_node].length; i++) {
			if(buyOrderPrices[_node][i] > _maxBuyPrice) 
				_maxBuyPrice = buyOrderPrices[_node][i];
		}
		require(_node > 0 && _sellPrice > 0 && _amount > 0 && balanceOf[msg.sender][_node] >= _amount && _sellPrice > _maxBuyPrice);
		_orderId = orderId += 1;
		sellOrders[_node][_sellPrice].push(orderInfo(msg.sender, _amount, _orderId, feeMultipliedByTen));
		//transfer stocks to the frozen balance
		frozen[msg.sender][_node] += _amount;
		balanceOf[msg.sender][_node] -= _amount;
		//Add _sellPrice to sellOrderPrices[_node][]
		uint it = 999999;
		for (uint itt = 0; itt < sellOrderPrices[_node].length; itt++) {
			if (sellOrderPrices[_node][itt] == _sellPrice) 
				it = itt;
		}
		if (it == 999999) 
			sellOrderPrices[_node].push(_sellPrice);
		_result = true;
		emit SellOrder(orderId, _node, _sellPrice, _amount);
	}
	
	function cancelBuyOrder(uint _node, uint _orderId, uint _price) public returns (bool _result) {
		orderInfo[] buyArr = buyOrders[_node][_price];
		for (uint iii = 0; iii < buyArr.length; iii++) {
			if (buyArr[iii].orderId == _orderId) {
				require(msg.sender == buyArr[iii].client);
				pendingWithdrawals[msg.sender] += _price*buyArr[iii].amount + _price*buyArr[iii].amount*buyArr[iii].fee/1000;//returns ether and fee to the buyer
				//delete buyOrders[_node][_price][iii] and move each element
				for (uint ii = iii; ii < buyArr.length - 1; ii++) {
					buyArr[ii] = buyArr[ii + 1];
				}
				delete buyArr[buyArr.length - 1];
				buyArr.length--;
				break;
			}
		}
		//Delete _price from buyOrderPrices[_node][] if it's the last order
		if (buyArr.length == 0) {
			uint _fromArg = 99999;
			for (iii = 0; iii < buyOrderPrices[_node].length - 1; iii++) {
				if (buyOrderPrices[_node][iii] == _price) {
					_fromArg = iii;
				}
				if (_fromArg != 99999 && iii >= _fromArg) buyOrderPrices[_node][iii] = buyOrderPrices[_node][iii + 1];
			}
			delete buyOrderPrices[_node][buyOrderPrices[_node].length-1];
			buyOrderPrices[_node].length--;
		}
		_result = true;
		emit CancelBuyOrder(_orderId, _node, _price);
	}
	
	function cancelSellOrder(uint _node, uint _orderId, uint _price) public returns (bool _result) {
		orderInfo[] sellArr = sellOrders[_node][_price];
		for (uint iii = 0; iii < sellArr.length; iii++) {
			if (sellArr[iii].orderId == _orderId) {
				require(msg.sender == sellArr[iii].client);
				//return stocks from the frozen balance to seller
				frozen[msg.sender][_node] -= sellArr[iii].amount;
				balanceOf[msg.sender][_node] += sellArr[iii].amount;
				//delete sellOrders[_node][_price][iii] and move each element
				for (uint ii = iii; ii < sellArr.length - 1; ii++) {
					sellArr[ii] = sellArr[ii + 1];
				}
				delete sellArr[sellArr.length - 1];
				sellArr.length--;
				break;
			}
		}
		//Delete _price from sellOrderPrices[_node][] if it's the last order
		if (sellArr.length == 0) {
			uint _fromArg = 99999;
			for (iii = 0; iii < sellOrderPrices[_node].length - 1; iii++) {
				if (sellOrderPrices[_node][iii] == _price) {
					_fromArg = iii;
				}
				if (_fromArg != 99999 && iii >= _fromArg) sellOrderPrices[_node][iii] = sellOrderPrices[_node][iii + 1];
			}
			delete sellOrderPrices[_node][sellOrderPrices[_node].length-1];
			sellOrderPrices[_node].length--;
		}
		_result = true;
		emit CancelSellOrder(_orderId, _node, _price);
	}
	
	function buyCertainOrder(uint _node, uint _price, uint _amount, uint _orderId) payable public returns (bool _result) {
		require(_node > 0 && _price > 0 && _amount > 0 && msg.value > 0 );
		orderInfo[] sellArr = sellOrders[_node][_price];
		for (uint iii = 0; iii < sellArr.length; iii++) {
			if (sellArr[iii].orderId == _orderId) {
				require(_amount <= sellArr[iii].amount && msg.value == _amount*_price + _amount*_price*feeMultipliedByTen/1000);
				address _client = sellArr[iii].client;
				//buy stocks for ether
				balanceOf[msg.sender][_node] += _amount;// adds the amount to buyer's balance
				frozen[_client][_node] -= _amount;// subtracts the amount from seller's frozen balance
				//transfer ether to the seller and fee to a contract owner
				pendingWithdrawals[_client] += _price*_amount;
				pendingWithdrawals[owner] += _price*_amount*feeMultipliedByTen/1000;
				//save the transaction
				emit TradeHistory(_node, block.timestamp, msg.sender, _client, _price, _amount, _orderId);
				//delete sellArr[iii] and move each element
				if (_amount == sellArr[iii].amount) {
					for (uint ii = iii; ii < sellArr.length - 1; ii++) 
						sellArr[ii] = sellArr[ii + 1];
					delete sellArr[sellArr.length - 1];
					sellArr.length--;
				}
				else {
					sellArr[iii].amount = sellArr[iii].amount - _amount;//edit sellOrders
				}
				//Delete _price from sellOrderPrices[_node][] if it's the last order
				if (sellArr.length == 0) {
					uint _fromArg = 99999;
					for (uint i = 0; i < sellOrderPrices[_node].length - 1; i++) {
						if (sellOrderPrices[_node][i] == _price) {
							_fromArg = i;
						}
						if (_fromArg != 99999 && i >= _fromArg) sellOrderPrices[_node][i] = sellOrderPrices[_node][i + 1];
					}
					delete sellOrderPrices[_node][sellOrderPrices[_node].length-1];
					sellOrderPrices[_node].length--;
				}
				break;
			}
		}
		_result = true;
	}
	
	function sellCertainOrder(uint _node, uint _price, uint _amount, uint _orderId) public returns (bool _result) {
		require(_node > 0 && _price > 0 && _amount > 0 );
		orderInfo[] buyArr = buyOrders[_node][_price];
		for (uint iii = 0; iii < buyArr.length; iii++) {
			if (buyArr[iii].orderId == _orderId) {
				require(_amount <= buyArr[iii].amount && balanceOf[msg.sender][_node] >= _amount);
				address _client = buyArr[iii].client;
				//sell stocks for ether
				balanceOf[_client][_node] += _amount;// adds the amount to buyer's balance
				balanceOf[msg.sender][_node] -= _amount;// subtracts the amount from seller's frozen balance
				//transfer ether to the seller and fee to a contract owner
				pendingWithdrawals[msg.sender] += _price*_amount;
				pendingWithdrawals[owner] += _price*_amount*buyArr[iii].fee/1000;
				//save the transaction
				emit TradeHistory(_node, block.timestamp, _client, msg.sender, _price, _amount, _orderId);
				//delete buyArr[iii] and move each element
				if (_amount == buyArr[iii].amount) {
					for (uint ii = iii; ii < buyArr.length - 1; ii++) 
						buyArr[ii] = buyArr[ii + 1];
					delete buyArr[buyArr.length - 1];
					buyArr.length--;
				}
				else {
					buyArr[iii].amount = buyArr[iii].amount - _amount;//edit buyOrders
				}
				//Delete _price from buyOrderPrices[_node][] if it's the last order
				if (buyArr.length == 0) {
					uint _fromArg = 99999;
					for (uint i = 0; i < buyOrderPrices[_node].length - 1; i++) {
						if (buyOrderPrices[_node][i] == _price) {
							_fromArg = i;
						}
						if (_fromArg != 99999 && i >= _fromArg) buyOrderPrices[_node][i] = buyOrderPrices[_node][i + 1];
					}
					delete buyOrderPrices[_node][buyOrderPrices[_node].length-1];
					buyOrderPrices[_node].length--;
				}
				break;
			}
		}
		_result = true;
	}
}

Contract ABI
[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"confirmationNodes","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_node","type":"uint256"}],"name":"getEmission","outputs":[{"name":"_emissionNumber","type":"uint256"},{"name":"_emissionDate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newConfirmationNode","type":"string"}],"name":"addConfirmationNode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"orderId","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"nodes","outputs":[{"name":"nodeName","type":"string"},{"name":"producer","type":"address"},{"name":"node","type":"address"},{"name":"date","type":"uint256"},{"name":"starmidConfirmed","type":"uint8"},{"name":"confirmationPost","type":"string"},{"name":"producersPercent","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nodeID","type":"uint256"},{"name":"confirmationPost","type":"string"},{"name":"confirmationStatus","type":"uint8"}],"name":"outsourceConfirmNode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint16"}],"name":"nodeGroups","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nodeID","type":"uint256"},{"name":"confirmationPost","type":"string"},{"name":"confirmationStatus","type":"uint8"}],"name":"confirmNode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_nodeID","type":"uint256"},{"name":"_newProducer","type":"address"},{"name":"_newProducersPercent","type":"uint8"}],"name":"editNode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"_node","type":"uint256"}],"name":"getWithFrozenStockBalance","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_node","type":"uint256"},{"name":"_sellPrice","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"sellOrder","outputs":[{"name":"_result","type":"bool"},{"name":"_orderId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_node","type":"uint256"},{"name":"_orderId","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"cancelBuyOrder","outputs":[{"name":"_result","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_node","type":"uint256"}],"name":"getBuyOrderPrices","outputs":[{"name":"_prices","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"multiKey","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[{"name":"_result","type":"bool"},{"name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nodeID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newFee","type":"uint8"}],"name":"changeFee","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nodeGroupID","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nodeId","type":"uint256"},{"name":"_producersPercent","type":"uint8"}],"name":"changePercent","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_nodeID","type":"uint256"}],"name":"getNodeInfo","outputs":[{"name":"_producer","type":"address"},{"name":"_node","type":"address"},{"name":"_date","type":"uint256"},{"name":"_starmidConfirmed","type":"uint8"},{"name":"_nodeName","type":"string"},{"name":"_nodeGroup","type":"uint16[]"},{"name":"_producersPercent","type":"uint256"},{"name":"_confirmationPost","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"_node","type":"uint256"}],"name":"getStockBalance","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_node","type":"uint256"}],"name":"emission","outputs":[{"name":"_result","type":"bool"},{"name":"_producersPercent","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_nodeID","type":"uint256"},{"name":"_deleteNodeGroup","type":"uint16"}],"name":"deleteNodeGroup","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_node","type":"uint256"}],"name":"getSellOrderPrices","outputs":[{"name":"_prices","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_nodeID","type":"uint256"},{"name":"_number","type":"uint256"}],"name":"getOutsourceConfirmation","outputs":[{"name":"_confirmationStatus","type":"uint256"},{"name":"_confirmationNode","type":"address"},{"name":"_confirmationNodeName","type":"string"},{"name":"_confirmationPost","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_node","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_amount","type":"uint256"},{"name":"_orderId","type":"uint256"}],"name":"sellCertainOrder","outputs":[{"name":"_result","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"emissionLimits","outputs":[{"name":"","type":"uint24"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nodeID","type":"uint256"},{"name":"_newNodeGroup","type":"uint16"}],"name":"pushNodeGroup","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newNode","type":"string"},{"name":"_producersPercent","type":"uint8"}],"name":"addNode","outputs":[{"name":"_result","type":"bool"},{"name":"_id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_node","type":"uint256"},{"name":"_orderId","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"cancelSellOrder","outputs":[{"name":"_result","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwnerAddress","type":"address"}],"name":"changeOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_node","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_amount","type":"uint256"},{"name":"_orderId","type":"uint256"}],"name":"buyCertainOrder","outputs":[{"name":"_result","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"emissions","outputs":[{"name":"emissionNumber","type":"uint256"},{"name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nodeID","type":"uint256"},{"name":"_nodeAddress","type":"address"}],"name":"addNodeAddress","outputs":[{"name":"_result","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newNodeGroup","type":"string"}],"name":"addNodeGroup","outputs":[{"name":"_result","type":"bool"},{"name":"_id","type":"uint16"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_node","type":"uint256"},{"name":"_buyPrice","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"buyOrder","outputs":[{"name":"_result","type":"bool"},{"name":"_orderId","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeMultipliedByTen","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_isBuyOrder","type":"bool"},{"name":"_node","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_number","type":"uint256"}],"name":"getOrderInfo","outputs":[{"name":"_address","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_orderId","type":"uint256"},{"name":"_fee","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"node","type":"uint256"},{"indexed":false,"name":"date","type":"uint256"}],"name":"Emission","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"orderId","type":"uint256"},{"indexed":false,"name":"node","type":"uint256"},{"indexed":false,"name":"buyPrice","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"BuyOrder","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"orderId","type":"uint256"},{"indexed":false,"name":"node","type":"uint256"},{"indexed":false,"name":"sellPrice","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"SellOrder","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"orderId","type":"uint256"},{"indexed":false,"name":"node","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"CancelBuyOrder","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"orderId","type":"uint256"},{"indexed":false,"name":"node","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"CancelSellOrder","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"node","type":"uint256"},{"indexed":false,"name":"date","type":"uint256"},{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"seller","type":"address"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"orderId","type":"uint256"}],"name":"TradeHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"nodeName","type":"string"},{"indexed":false,"name":"producersPercent","type":"uint8"},{"indexed":false,"name":"producer","type":"address"},{"indexed":false,"name":"date","type":"uint256"}],"name":"NewNode","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint16"},{"indexed":false,"name":"newNodeGroup","type":"string"}],"name":"NewNodeGroup","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"nodeID","type":"uint256"},{"indexed":false,"name":"nodeAdress","type":"address"}],"name":"AddNodeAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"nodeID","type":"uint256"},{"indexed":false,"name":"newProducer","type":"address"},{"indexed":false,"name":"newProducersPercent","type":"uint8"}],"name":"EditNode","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"nodeID","type":"uint256"},{"indexed":false,"name":"confirmationStatus","type":"uint8"},{"indexed":false,"name":"confirmationPost","type":"string"}],"name":"ConfirmNode","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"nodeID","type":"uint256"},{"indexed":false,"name":"confirmationStatus","type":"uint8"},{"indexed":false,"name":"confirmationNode","type":"address"},{"indexed":false,"name":"confirmationPost","type":"string"}],"name":"OutsourceConfirmNode","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"nodeId","type":"uint256"},{"indexed":false,"name":"producersPercent","type":"uint256"}],"name":"ChangePercent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"nodeId","type":"uint256"},{"indexed":false,"name":"newNodeGroup","type":"uint256"}],"name":"PushNodeGroup","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"nodeId","type":"uint256"},{"indexed":false,"name":"deleteNodeGroup","type":"uint256"}],"name":"DeleteNodeGroup","type":"event"}]

Contract Creation Code
608060405234801561001057600080fd5b5060008054600160a060020a0319163317905560088054631400000063ff0000001962ffffff19909216620f42401791909116179055613e25806100556000396000f3006080604052600436106101ec5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662acd22b81146101f157806303e7b4e914610287578063121839f6146102b8578063163de5e5146103255780631c53c2801461035f5780631f7a4fcf146104a85780632083c2671461050b57806321659d741461052757806323a893851461058a5780632510ade0146105b457806328c662a6146105ea5780632f2df1fe146106235780633960d8c0146106415780633b2d1a5c146106a95780633ccfd60b146106da5780633dff2228146106ef578063438bacaa1461070457806348b6d2701461071f5780634f438ddb1461074b57806353e215f414610769578063546b6242146108f057806358292a3d146109145780635972e0621461092c5780635bed07131461094b578063668d5fc714610963578063778cd18a14610a7c5780638586734714610a9d578063871e015514610aca5780638b53cbaa14610ae95780638da5cb5b14610b4757806390854f8014610b5c578063a6f9dae114610b7a578063b2fd9e9114610b9b578063cb6da67014610baf578063d946af8f14610bc7578063dcb032ce14610beb578063e176713114610c62578063f3f4370314610c73578063f9c4529f14610c94578063fd70d34e14610cbf575b600080fd5b3480156101fd57600080fd5b50610212600160a060020a0360043516610d15565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024c578181015183820152602001610234565b50505050905090810190601f1680156102795780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029357600080fd5b5061029f600435610db0565b6040805192835260208301919091528051918290030190f35b3480156102c457600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610311943694929360249392840191908190840183828082843750949750610dca9650505050505050565b604080519115158252519081900360200190f35b34801561033157600080fd5b5061033a610df4565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561036b57600080fd5b50610377600435610e0c565b604051808060200188600160a060020a0316600160a060020a0316815260200187600160a060020a0316600160a060020a031681526020018681526020018560ff1660ff168152602001806020018460ff1660ff16815260200183810383528a818151815260200191508051906020019080838360005b838110156104065781810151838201526020016103ee565b50505050905090810190601f1680156104335780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561046657818101518382015260200161044e565b50505050905090810190601f1680156104935780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b3480156104b457600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526103119583359536956044949193909101919081908401838280828437509497505050923560ff169350610f6d92505050565b34801561051757600080fd5b5061021261ffff600435166110e1565b34801561053357600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526103119583359536956044949193909101919081908401838280828437509497505050923560ff16935061114992505050565b34801561059657600080fd5b50610311600435600160a060020a036024351660ff60443516611251565b3480156105c057600080fd5b506105d8600160a060020a03600435166024356112f9565b60408051918252519081900360200190f35b3480156105f657600080fd5b50610608600435602435604435611337565b60408051921515835260208301919091528051918290030190f35b34801561062f57600080fd5b50610311600435602435604435611613565b34801561064d57600080fd5b506106596004356119aa565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561069557818101518382015260200161067d565b505050509050019250505060405180910390f35b3480156106b557600080fd5b506106be611a0c565b60408051600160a060020a039092168252519081900360200190f35b3480156106e657600080fd5b50610608611a1b565b3480156106fb57600080fd5b506105d8611a67565b34801561071057600080fd5b5061031160ff60043516611a6d565b34801561072b57600080fd5b50610734611aa7565b6040805161ffff9092168252519081900360200190f35b34801561075757600080fd5b5061031160043560ff60243516611ab1565b34801561077557600080fd5b50610781600435611b61565b6040518089600160a060020a0316600160a060020a0316815260200188600160a060020a0316600160a060020a031681526020018781526020018660ff1660ff168152602001806020018060200185815260200180602001848103845288818151815260200191508051906020019080838360005b8381101561080e5781810151838201526020016107f6565b50505050905090810190601f16801561083b5780820380516001836020036101000a031916815260200191505b508481038352875181528751602091820191808a01910280838360005b83811015610870578181015183820152602001610858565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156108ac578181015183820152602001610894565b50505050905090810190601f1680156108d95780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b3480156108fc57600080fd5b506105d8600160a060020a0360043516602435611d74565b34801561092057600080fd5b50610608600435611d9b565b34801561093857600080fd5b5061031160043561ffff60243516611ed6565b34801561095757600080fd5b5061065960043561213c565b34801561096f57600080fd5b5061097e60043560243561219c565b6040518085815260200184600160a060020a0316600160a060020a031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156109dd5781810151838201526020016109c5565b50505050905090810190601f168015610a0a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610a3d578181015183820152602001610a25565b50505050905090810190601f168015610a6a5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b348015610a8857600080fd5b5061031160043560243560443560643561237f565b348015610aa957600080fd5b50610ab26128b1565b6040805162ffffff9092168252519081900360200190f35b348015610ad657600080fd5b5061031160043561ffff602435166128bc565b348015610af557600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526106089436949293602493928401919081908401838280828437509497505050923560ff16935061299492505050565b348015610b5357600080fd5b506106be612bf1565b348015610b6857600080fd5b50610311600435602435604435612c00565b348015610b8657600080fd5b50610311600160a060020a0360043516612f82565b6103116004356024356044356064356130b2565b348015610bbb57600080fd5b5061029f60043561353a565b348015610bd357600080fd5b50610311600435600160a060020a0360243516613553565b348015610bf757600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610c4494369492936024939284019190819084018382808284375094975061360f9650505050505050565b60408051921515835261ffff90911660208301528051918290030190f35b6106086004356024356044356137fb565b348015610c7f57600080fd5b506105d8600160a060020a0360043516613aae565b348015610ca057600080fd5b50610ca9613ac0565b6040805160ff9092168252519081900360200190f35b348015610ccb57600080fd5b50610ce26004351515602435604435606435613ad0565b60408051600160a060020a03909516855260208501939093528383019190915260ff166060830152519081900360800190f35b60056020908152600091825260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610da85780601f10610d7d57610100808354040283529160200191610da8565b820191906000526020600020905b815481529060010190602001808311610d8b57829003601f168201915b505050505081565b600090815260096020526040902080546001909101549091565b33600090815260056020908152604082208351610de992850190613c9b565b50600190505b919050565b600c546fffffffffffffffffffffffffffffffff1681565b60016020818152600092835260409283902080548451600294821615610100026000190190911693909304601f8101839004830284018301909452838352928391830182828015610e9e5780601f10610e7357610100808354040283529160200191610e9e565b820191906000526020600020905b815481529060010190602001808311610e8157829003601f168201915b5050506001808501546002808701546003880154600489015460058a018054604080516020601f6000199b851615610100029b909b01909316979097049889018290048202870182019052878652999a600160a060020a039687169a94909616985091965060ff16949091830182828015610f5a5780601f10610f2f57610100808354040283529160200191610f5a565b820191906000526020600020905b815481529060010190602001808311610f3d57829003601f168201915b5050506008909301549192505060ff1687565b6000838152600160208181526040808420815160608101835260ff80881682523382860190815293820189815260069093018054808801808355918952868920845160029092020180549651600160a060020a03166101000274ffffffffffffffffffffffffffffffffffffffff00199290941660ff199097169690961716919091178455915180519295919461100a9392850192910190613c9b565b505050507ffc98fa18e541ea3e7b391bbc8562707a1f62e1febce915cda88704fb27fde22c84833386604051808581526020018460ff1660ff16815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561109a578181015183820152602001611082565b50505050905090810190601f1680156110c75780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a15060019392505050565b60046020908152600091825260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610da85780601f10610d7d57610100808354040283529160200191610da8565b60008054600160a060020a0316331461116157600080fd5b600084815260016020908152604090912060048101805460ff191660ff8616179055845161119792600590920191860190613c9b565b507f64b6a950421a80a4c0c5e2e10640871ce9de450f46f148c960fb76dec052defc848385604051808481526020018360ff1660ff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561120b5781810151838201526020016111f3565b50505050905090810190601f1680156112385780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15060019392505050565b60008054600160a060020a0316331461126957600080fd5b6000848152600160208181526040928390209182018054600160a060020a031916600160a060020a0388169081179091556008909201805460ff191660ff87169081179091558351888152918201929092528083019190915290517fb5d1559bad8555ebd6649e0f359a5286502bf729c2b7b153040e4fecd403dcd7916060908290030190a15060019392505050565b600160a060020a039091166000818152600b60209081526040808320858452825280832054938352600a825280832094835293905291909120540190565b60008060001984018180805b6000898152600f60205260409020548310156113ba576000898152600f6020526040902080548591908590811061137657fe5b906000526020600020015411156113af576000898152600f602052604090208054849081106113a157fe5b906000526020600020015493505b600190920191611343565b6000891180156113ca5750600088115b80156113d65750600087115b80156113fc5750336000908152600a602090815260408083208c84529091529020548711155b801561140757508388115b151561141257600080fd5b5050600c80546fffffffffffffffffffffffffffffffff19811660016fffffffffffffffffffffffffffffffff92831681019092169081179092556000898152600e602090815260408083208b845282528083208151608081018352338082528185018d81528285018981526008546301000000900460ff908116606086019081528654808c018855968a52888a20955160049097029095018054600160a060020a031916600160a060020a039097169690961786559151988501989098559651600284015590516003909201805460ff19169290961691909117909455838352600b82528083208c8452825280832080548b019055928252600a81528282208b8352905290812080548890039055909350620f423f905b60008981526010602052604090205481101561157a57600089815260106020526040902080548991908390811061155d57fe5b90600052602060002001541415611572578091505b60010161152a565b81620f423f14156115a7576000898152601060209081526040822080546001810182559083529120018890555b600c54604080516fffffffffffffffffffffffffffffffff9092168252602082018b90528181018a90526060820189905251600197507f6afcbb31d233b8de7e2c6d93826aac6f5b4b0ec7b823a52cd8744747f03bf21e9181900360800190a150505050935093915050565b6000838152600d6020908152604080832084845290915281208180805b835483101561183a5786848481548110151561164857fe5b906000526020600020906004020160020154141561182f57838381548110151561166e57fe5b6000918252602090912060049091020154600160a060020a0316331461169357600080fd5b6103e884848154811015156116a457fe5b6000918252602090912060036004909202010154855460ff909116908690869081106116cc57fe5b9060005260206000209060040201600101548802028115156116ea57fe5b0484848154811015156116f957fe5b6000918252602080832060016004909302019190910154338352601190915260409091208054918902929092010190558291505b8354600019018210156117d057838260010181548110151561174b57fe5b9060005260206000209060040201848381548110151561176757fe5b6000918252602090912082546004909202018054600160a060020a031916600160a060020a03909216919091178155600180830154818301556002808401549083015560039283015492909101805460ff191660ff90931692909217909155919091019061172d565b8354849060001981019081106117e257fe5b6000918252602082206004909102018054600160a060020a0319168155600181018290556002810191909155600301805460ff191690558354611829856000198301613d19565b5061183a565b600190920191611630565b8354151561195b5750600091506201869f5b6000888152600f60205260409020546000190183101561190f576000888152600f6020526040902080548791908590811061188357fe5b906000526020600020015414156118975750815b806201869f141580156118aa5750808310155b15611904576000888152600f602052604090208054600185019081106118cc57fe5b9060005260206000200154600f60008a8152602001908152602001600020848154811015156118f757fe5b6000918252602090912001555b60019092019161184c565b6000888152600f602052604090208054600019810190811061192d57fe5b60009182526020808320909101829055898252600f905260409020805490611959906000198301613d4a565b505b60408051888152602081018a90528082018890529051600196507ff092ae56959c403f08f5e55cc42b9769d29f10bb4408ac8166c8127a96798b449181900360600190a1505050509392505050565b6000818152600f6020908152604091829020805483518184028101840190945280845260609392830182828015611a0057602002820191906000526020600020905b8154815260200190600101908083116119ec575b50505050509050919050565b601254600160a060020a031681565b3360008181526011602052604080822080549083905590519192909182156108fc0290839085818181858888f19350505050158015611a5e573d6000803e3d6000fd5b50600191509091565b60075481565b60008054600160a060020a03163314611a8557600080fd5b506008805460ff831663010000000263ff000000199091161790556001919050565b60065461ffff1681565b600082815260016020819052604082200154600160a060020a031633148015611af25750600083815260016020526040902060020154600160a060020a0316155b1515611afd57600080fd5b600083815260016020908152604091829020600801805460ff191660ff861690811790915582518681529182015281517fb5bb281ee7399245738312de455c065513e3d1e08b2e60edb2ced57f6f5de67c929181900390910190a150600192915050565b60008181526001602081815260408084208084015460028083015460038401546004850154855487516101009a8216159a909a02600019011693909304601f8101889004880289018801909652858852600160a060020a03938416989390911696909560ff9092169460609485949385939290830182828015611c255780601f10611bfa57610100808354040283529160200191611c25565b820191906000526020600020905b815481529060010190602001808311611c0857829003601f168201915b50505050509350600160008a8152602001908152602001600020600701805480602002602001604051908101604052809291908181526020018280548015611cb457602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411611c7b5790505b50505060008c8152600160208181526040928390206008810154600590910180548551600261010096831615969096026000190190911694909404601f810184900484028501840190955284845296995060ff16975090949350909150830182828015611d625780601f10611d3757610100808354040283529160200191611d62565b820191906000526020600020905b815481529060010190602001808311611d4557829003601f168201915b50505050509050919395975091939597565b600160a060020a039091166000908152600a60209081526040808320938352929052205490565b6000818152600160208190526040822090810154600282015460089092015460ff1691600160a060020a03918216911633811480611de1575033600160a060020a038316145b1515611dec57600080fd5b600160a060020a03811615801590611e105750600085815260096020526040902054155b1515611e1b57600080fd5b60088054600160a060020a038381166000908152600a602081815260408084208c85528252808420805460648c810362ffffff998a1602819004909101909155965494891684529181528183208b84528152818320805494909516890295909504909201909255600983529081902042600182810182905590915581518881529283015280517f64bd3a8d48843f7c3c068369be5dcc149fb718de9ad3f90ffce46627e1ecfec69281900390910190a1600193505050915091565b60008281526001602052604081206002015481908190600160a060020a0316331480611f1c575060008581526001602081905260409091200154600160a060020a031633145b1515611f2757600080fd5b600091505b60008581526001602052604090206007015461ffff831610156120f3576000858152600160205260409020600701805461ffff8416908110611f6a57fe5b90600052602060002090601091828204019190066002029054906101000a900461ffff1661ffff168461ffff1614156120e85750805b6000858152600160205260409020600701546000190161ffff8216101561207257600160008681526020019081526020016000206007018160010161ffff16815481101515611feb57fe5b90600052602060002090601091828204019190066002029054906101000a900461ffff16600160008781526020019081526020016000206007018261ffff1681548110151561203657fe5b90600052602060002090601091828204019190066002026101000a81548161ffff021916908361ffff1602179055508080600101915050611fa0565b60008581526001602052604090206007018054600019810190811061209357fe5b90600052602060002090601091828204019190066002026101000a81549061ffff0219169055600160008681526020019081526020016000206007018054809190600190036120e29190613d6e565b506120f3565b600190910190611f2c565b6040805186815261ffff8616602082015281517f4bd22203a50a5a424510298bb4b37835521d9638f0f9c0dbe52a7b6407e0ad45929181900390910190a1506001949350505050565b600081815260106020908152604091829020805483518184028101840190945280845260609392830182828015611a0057602002820191906000526020600020908154815260200190600101908083116119ec5750505050509050919050565b600082815260016020526040812060060180548291606091829190869081106121c157fe5b6000918252602080832060029092029091015488835260019091526040909120600601805460ff909216955090869081106121f857fe5b600091825260208083206002928302015461010090819004600160a060020a031680855260058352604094859020805486516001821615909402600019011694909404601f8101849004840283018401909552848252965092908301828280156122a35780601f10612278576101008083540402835291602001916122a3565b820191906000526020600020905b81548152906001019060200180831161228657829003601f168201915b5050506000898152600160205260409020600601805493955092889250821090506122ca57fe5b90600052602060002090600202016001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561236f5780601f106123445761010080835404028352916020019161236f565b820191906000526020600020905b81548152906001019060200180831161235257829003601f168201915b5050505050905092959194509250565b6000806000806000806000808b118015612399575060008a115b80156123a55750600089115b15156123b057600080fd5b60008b8152600d602090815260408083208d84529091528120965094505b85548510156128a0578786868154811015156123e657fe5b906000526020600020906004020160020154141561289557858581548110151561240c57fe5b90600052602060002090600402016001015489111580156124475750336000908152600a602090815260408083208e84529091529020548911155b151561245257600080fd5b858581548110151561246057fe5b906000526020600020906004020160000160009054906101000a9004600160a060020a0316935088600a600086600160a060020a0316600160a060020a0316815260200190815260200160002060008d81526020019081526020016000206000828254019250508190555088600a600033600160a060020a0316600160a060020a0316815260200190815260200160002060008d815260200190815260200160002060008282540392505081905550888a026011600033600160a060020a0316600160a060020a03168152602001908152602001600020600082825401925050819055506103e8868681548110151561255557fe5b600091825260209091206004909102016003015460ff168a8c020281151561257957fe5b60008054600160a060020a039081168252601160209081526040928390208054959094049490940190925580518e8152429381019390935290861682820152336060830152608082018c905260a082018b905260c082018a9052517ff0a42c4b8365f3059e1a059fbda158928375a05102c5eaed844ab4300bdfb1a09181900360e00190a1858581548110151561260c57fe5b90600052602060002090600402016001015489141561272b578492505b8554600019018310156126cc57858360010181548110151561264757fe5b9060005260206000209060040201868481548110151561266357fe5b6000918252602090912082546004909202018054600160a060020a031916600160a060020a03909216919091178155600180830154818301556002808401549083015560039283015492909101805460ff191660ff909316929092179091559290920191612629565b8554869060001981019081106126de57fe5b6000918252602082206004909102018054600160a060020a0319168155600181018290556002810191909155600301805460ff191690558554612725876000198301613d19565b50612771565b88868681548110151561273a57fe5b90600052602060002090600402016001015403868681548110151561275b57fe5b9060005260206000209060040201600101819055505b8554151561289057506201869f905060005b60008b8152600f6020526040902054600019018110156128445760008b8152600f6020526040902080548b9190839081106127ba57fe5b906000526020600020015414156127cf578091505b816201869f141580156127e25750818110155b1561283c5760008b8152600f6020526040902080546001830190811061280457fe5b9060005260206000200154600f60008d81526020019081526020016000208281548110151561282f57fe5b6000918252602090912001555b600101612783565b60008b8152600f602052604090208054600019810190811061286257fe5b600091825260208083209091018290558c8252600f90526040902080549061288e906000198301613d4a565b505b6128a0565b6001909401936123ce565b5060019a9950505050505050505050565b60085462ffffff1681565b600082815260016020526040812060020154600160a060020a03163314806128fe575060008381526001602081905260409091200154600160a060020a031633145b151561290957600080fd5b6000838152600160208181526040808420600701805493840181558452928190206010830401805461ffff8088166002600f909616959095026101000a85810291021990911617905582518681529081019190915281517f47317997e509a5553732b8a0dec2bbaaea31060b5ae5f889051fb837b774acb8929181900390910190a150600192915050565b60008060016002856040518082805190602001908083835b602083106129cb5780518252601f1990920191602091820191016129ac565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054108015612a0f575060648360ff16105b1515612a1a57600080fd5b50600780546001019081905564e8d4a510008110612a3757600080fd5b60075460009081526001602090815260409091208551612a5992870190613c9b565b506007805460009081526001602081815260408084209092018054600160a060020a0319163317905583548352818320426003909101558354835291819020600801805460ff881660ff1990911617905591549151865160029288929182918401908083835b60208310612ade5780518252601f199092019160209182019101612abf565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055507fef590cafd2c18fefbe0cc23180b6b53c561e227fcf442285129e83578bc57829818585334260405180868152602001806020018560ff1660ff16815260200184600160a060020a0316600160a060020a03168152602001838152602001828103825286818151815260200191508051906020019080838360005b83811015612ba8578181015183820152602001612b90565b50505050905090810190601f168015612bd55780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1600191509250929050565b600054600160a060020a031681565b6000838152600e6020908152604080832084845290915281208180805b8354831015612e1257868484815481101515612c3557fe5b9060005260206000209060040201600201541415612e07578383815481101515612c5b57fe5b6000918252602090912060049091020154600160a060020a03163314612c8057600080fd5b8383815481101515612c8e57fe5b6000918252602080832060016004909302019190910154338352600b825260408084208c8552909252912080549190910390558354849084908110612ccf57fe5b6000918252602080832060016004909302019190910154338352600a825260408084208c85529092529120805490910190558291505b835460001901821015612da8578382600101815481101515612d2357fe5b90600052602060002090600402018483815481101515612d3f57fe5b6000918252602090912082546004909202018054600160a060020a031916600160a060020a03909216919091178155600180830154818301556002808401549083015560039283015492909101805460ff191660ff909316929092179091559190910190612d05565b835484906000198101908110612dba57fe5b6000918252602082206004909102018054600160a060020a0319168155600181018290556002810191909155600301805460ff191690558354612e01856000198301613d19565b50612e12565b600190920191612c1d565b83541515612f335750600091506201869f5b60008881526010602052604090205460001901831015612ee7576000888152601060205260409020805487919085908110612e5b57fe5b90600052602060002001541415612e6f5750815b806201869f14158015612e825750808310155b15612edc576000888152601060205260409020805460018501908110612ea457fe5b9060005260206000200154601060008a815260200190815260200160002084815481101515612ecf57fe5b6000918252602090912001555b600190920191612e24565b600088815260106020526040902080546000198101908110612f0557fe5b600091825260208083209091018290558982526010905260409020805490612f31906000198301613d4a565b505b60408051888152602081018a90528082018890529051600196507f8f858c299dfb5c5f8142799a44d1d9ee0775385a4a326e275e1a768c517e106b9181900360600190a1505050509392505050565b60008054600160a060020a0316331480612faf5750731335995a62a6769b0a44a8fcc08d9c3324456df033145b1515612fba57600080fd5b601254600160a060020a03161515612fdf5760128054600160a060020a031916331790555b600054601254600160a060020a0390811691161480156130125750731335995a62a6769b0a44a8fcc08d9c3324456df033145b15613046575060008054600160a060020a038316600160a060020a0319918216179091556012805490911690556001610def565b601254600160a060020a0316731335995a62a6769b0a44a8fcc08d9c3324456df014801561307e5750600054600160a060020a031633145b15610def575060008054600160a060020a038316600160a060020a0319918216179091556012805490911690556001610def565b6000806000806000806000808b1180156130cc575060008a115b80156130d85750600089115b80156130e45750600034115b15156130ef57600080fd5b60008b8152600e602090815260408083208d84529091528120965094505b85548510156128a05787868681548110151561312557fe5b906000526020600020906004020160020154141561352f57858581548110151561314b57fe5b906000526020600020906004020160010154891115801561318457506008546103e8906301000000900460ff168b8b0202048a8a020134145b151561318f57600080fd5b858581548110151561319d57fe5b60009182526020808320600490920290910154338352600a825260408084208f8552835280842080548e019055600160a060020a03909116808452600b83528184208f8552835281842080548e90039055808452601190925290912080548c8c029081019091556008549195506103e89160ff6301000000909104160260008054600160a060020a039081168252601160209081526040928390208054959094049490940190925580518e8152429381019390935233838201529086166060830152608082018c905260a082018b905260c082018a9052517ff0a42c4b8365f3059e1a059fbda158928375a05102c5eaed844ab4300bdfb1a09181900360e00190a185858154811015156132ad57fe5b9060005260206000209060040201600101548914156133cc578492505b85546000190183101561336d5785836001018154811015156132e857fe5b9060005260206000209060040201868481548110151561330457fe5b6000918252602090912082546004909202018054600160a060020a031916600160a060020a03909216919091178155600180830154818301556002808401549083015560039283015492909101805460ff191660ff9093169290921790915592909201916132ca565b85548690600019810190811061337f57fe5b6000918252602082206004909102018054600160a060020a0319168155600181018290556002810191909155600301805460ff1916905585546133c6876000198301613d19565b50613412565b8886868154811015156133db57fe5b9060005260206000209060040201600101540386868154811015156133fc57fe5b9060005260206000209060040201600101819055505b8554151561289057506201869f905060005b60008b815260106020526040902054600019018110156134e55760008b815260106020526040902080548b91908390811061345b57fe5b90600052602060002001541415613470578091505b816201869f141580156134835750818110155b156134dd5760008b81526010602052604090208054600183019081106134a557fe5b9060005260206000200154601060008d8152602001908152602001600020828154811015156134d057fe5b6000918252602090912001555b600101613424565b60008b81526010602052604090208054600019810190811061350357fe5b600091825260208083209091018290558c8252601090526040902080549061288e906000198301613d4a565b60019094019361310d565b6009602052600090815260409020805460019091015482565b600082815260016020819052604082200154600160a060020a0316331480156135945750600083815260016020526040902060020154600160a060020a0316155b151561359f57600080fd5b6000838152600160209081526040918290206002018054600160a060020a031916600160a060020a03861690811790915582518681529182015281517f6e41e9b7ab226d48321f3363a8e3f9d124121557aaa284da439e7d720ba5b75e929181900390910190a150600192915050565b600080548190600160a060020a0316331461362957600080fd5b6003836040518082805190602001908083835b6020831061365b5780518252601f19909201916020918201910161363c565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205461ffff16159150613699905057600080fd5b506006805461ffff80821660010190811661ffff199092168217909255600090815260046020908152604090912084516136d592860190613c9b565b50600654604051845161ffff909216916003918691819060208401908083835b602083106137145780518252601f1990920191602091820191016136f5565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520805461ffff191661ffff97881617905594861684528381018581528851958501959095528751600197507f88ee163eec34f7631a07641a8352ac37240e4f199988dd7a7bd4f8605ad429be9587958a955093509160608401919085019080838360005b838110156137bb5781810151838201526020016137a3565b50505050905090810190601f1680156137e85780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1915091565b600080600184018180805b60008981526010602052604090205483101561387d57600089815260106020526040902080548591908590811061383957fe5b9060005260206000200154101561387257600089815260106020526040902080548490811061386457fe5b906000526020600020015493505b600190920191613806565b60008911801561388d5750600088115b80156138995750600087115b80156138a55750600034115b80156138b057508388105b15156138bb57600080fd5b6008546103e8906301000000900460ff16898902020488880201341415156138e257600080fd5b5050600c80546fffffffffffffffffffffffffffffffff19811660016fffffffffffffffffffffffffffffffff92831681019092169081179092556000898152600d602090815260408083208b8452825280832081516080810183523381528084018c81529281018781526008546301000000900460ff908116606084019081528454808a018655948852958720925160049094029092018054600160a060020a031916600160a060020a039094169390931783559251958201959095559051600282015590516003909101805460ff19169190931617909155909350620f423f905b6000898152600f6020526040902054811015613a15576000898152600f602052604090208054899190839081106139f857fe5b90600052602060002001541415613a0d578091505b6001016139c5565b81620f423f1415613a42576000898152600f60209081526040822080546001810182559083529120018890555b600c54604080516fffffffffffffffffffffffffffffffff9092168252602082018b90528181018a90526060820189905251600197507fbb660e1f8a31f6d8466e8f9a0b2aefb1800ee5b952f646e904ac26a177a50fdd9181900360800190a150505050935093915050565b60116020526000908152604090205481565b6008546301000000900460ff1681565b600080808060018815151415613bda576000878152600d602090815260408083208984529091529020805486908110613b0557fe5b60009182526020808320600490920290910154898352600d825260408084208a855290925291208054600160a060020a0390921695509086908110613b4657fe5b6000918252602080832060016004909302019190910154898352600d825260408084208a8552909252912080549194509086908110613b8157fe5b6000918252602080832060026004909302019190910154898352600d825260408084208a8552909252912080549193509086908110613bbc57fe5b600091825260209091206003600490920201015460ff169050613c90565b6000878152600e602090815260408083208984529091529020805486908110613bff57fe5b60009182526020808320600490920290910154898352600e825260408084208a855290925291208054600160a060020a0390921695509086908110613c4057fe5b6000918252602080832060016004909302019190910154898352600e825260408084208a8552909252912080549194509086908110613c7b57fe5b90600052602060002090600402016002015491505b945094509450949050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613cdc57805160ff1916838001178555613d09565b82800160010185558215613d09579182015b82811115613d09578251825591602001919060010190613cee565b50613d15929150613d9e565b5090565b815481835581811115613d4557600402816004028360005260206000209182019101613d459190613dbb565b505050565b815481835581811115613d4557600083815260209020613d45918101908301613d9e565b815481835581811115613d4557600f016010900481600f01601090048360005260206000209182019101613d4591905b613db891905b80821115613d155760008155600101613da4565b90565b613db891905b80821115613d15578054600160a060020a0319168155600060018201819055600282015560038101805460ff19169055600401613dc15600a165627a7a72305820e41f7e5b8d2fe87d18aa211184ed420480f5ede762d9139a5e19e7ab877230ad0029


   Swarm Source:
bzzr://e41f7e5b8d2fe87d18aa211184ed420480f5ede762d9139a5e19e7ab877230ad
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.