ERC-20
Overview
Max Total Supply
185 EMONF
Holders
34
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
1 EMONFValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
EmontFrenzy
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-08 */ pragma solidity ^0.4.19; // copyright [email protected] contract BasicAccessControl { address public owner; // address[] public moderators; uint16 public totalModerators = 0; mapping (address => bool) public moderators; bool public isMaintaining = false; function BasicAccessControl() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } modifier onlyModerators() { require(msg.sender == owner || moderators[msg.sender] == true); _; } modifier isActive { require(!isMaintaining); _; } function ChangeOwner(address _newOwner) onlyOwner public { if (_newOwner != address(0)) { owner = _newOwner; } } function AddModerator(address _newModerator) onlyOwner public { if (moderators[_newModerator] == false) { moderators[_newModerator] = true; totalModerators += 1; } } function RemoveModerator(address _oldModerator) onlyOwner public { if (moderators[_oldModerator] == true) { moderators[_oldModerator] = false; totalModerators -= 1; } } function UpdateMaintaining(bool _isMaintaining) onlyOwner public { isMaintaining = _isMaintaining; } } contract ERC20Interface { function totalSupply() public constant returns (uint); function balanceOf(address tokenOwner) public constant returns (uint balance); function allowance(address tokenOwner, address spender) public constant returns (uint remaining); function transfer(address to, uint tokens) public returns (bool success); function approve(address spender, uint tokens) public returns (bool success); function transferFrom(address from, address to, uint tokens) public returns (bool success); } contract EmontFrenzy is BasicAccessControl { uint constant public HIGH = 20; uint constant public BASE_POS = 510; uint constant public ONE_EMONT = 10 ** 8; struct Fish { address player; uint weight; bool active; // location != 0 uint blockNumber; // block number } // private uint private seed; // address address public tokenContract; // variable uint public addFee = 0.01 ether; uint public addWeight = 5 * 10 ** 8; // emont uint public addDrop = 5 * 10 ** 8; // emont uint public moveCharge = 5; // percentage uint public cashOutRate = 100; // to EMONT rate uint public cashInRate = 50; // from EMONT to fish weight uint public width = 50; uint public minJump = 2 * 2; uint public maxPos = HIGH * width; // valid pos (0 -> maxPos - 1) uint public minCashout = 25 * 10 ** 8; uint public minEatable = 1 * 10 ** 8; uint public minWeightDeduct = 4 * 10 ** 8; // 0.2 EMONT uint public basePunish = 40000; // per block uint public oceanBonus = 125000; // per block uint public minWeightPunish = 1 * 10 ** 8; uint public maxWeightBonus = 25 * 10 ** 8; mapping(uint => Fish) fishMap; mapping(uint => uint) ocean; // pos => fish id mapping(uint => uint) bonus; // pos => emont amount mapping(address => uint) players; mapping(uint => uint) maxJumps; // weight in EMONT => square length uint public totalFish = 0; // event event Transfer(address indexed _from, address indexed _to, uint256 _tokenId); event EventCashout(address indexed player, uint fishId, uint weight); event EventBonus(uint pos, uint value); event EventMove(address indexed player, uint fishId, uint fromPos, uint toPos, uint weight); event EventEat(address indexed player, address indexed defender, uint playerFishId, uint defenderFishId, uint fromPos, uint toPos, uint playerWeight); event EventFight(address indexed player, address indexed defender, uint playerFishId, uint defenderFishId, uint fromPos, uint toPos, uint playerWeight); event EventSuicide(address indexed player, address indexed defender, uint playerFishId, uint defenderFishId, uint fromPos, uint toPos, uint defenderWeight); // modifier modifier requireTokenContract { require(tokenContract != address(0)); _; } function EmontFrenzy(address _tokenContract) public { tokenContract = _tokenContract; seed = getRandom(0); } function setRate(uint _moveCharge, uint _cashOutRate, uint _cashInRate) onlyModerators external { moveCharge = _moveCharge; cashOutRate = _cashOutRate; cashInRate = _cashInRate; } function setMaxConfig(uint _minWeightPunish, uint _maxWeightBonus) onlyModerators external { minWeightPunish = _minWeightPunish; maxWeightBonus = _maxWeightBonus; } function setConfig(uint _addFee, uint _addWeight, uint _addDrop, uint _width) onlyModerators external { addFee = _addFee; addWeight = _addWeight; addDrop = _addDrop; width = _width; maxPos = HIGH * width; } function setExtraConfig(uint _minCashout, uint _minEatable, uint _minWeightDeduct, uint _basePunish, uint _oceanBonus) onlyModerators external { minCashout = _minCashout; minEatable = _minEatable; minWeightDeduct = _minWeightDeduct; basePunish = _basePunish; oceanBonus = _oceanBonus; } // weight in emont, x*x function updateMaxJump(uint _weight, uint _squareLength) onlyModerators external { maxJumps[_weight] = _squareLength; } function setDefaultMaxJump() onlyModerators external { maxJumps[0] = 50 * 50; maxJumps[1] = 30 * 30; maxJumps[2] = 20 * 20; maxJumps[3] = 15 * 15; maxJumps[4] = 12 * 12; maxJumps[5] = 9 * 9; maxJumps[6] = 7 * 7; maxJumps[7] = 7 * 7; maxJumps[8] = 6 * 6; maxJumps[9] = 6 * 6; maxJumps[10] = 6 * 6; maxJumps[11] = 5 * 5; maxJumps[12] = 5 * 5; maxJumps[13] = 5 * 5; maxJumps[14] = 5 * 5; maxJumps[15] = 4 * 4; maxJumps[16] = 4 * 4; maxJumps[17] = 4 * 4; maxJumps[18] = 4 * 4; maxJumps[19] = 4 * 4; maxJumps[20] = 3 * 3; maxJumps[21] = 3 * 3; maxJumps[22] = 3 * 3; maxJumps[23] = 3 * 3; maxJumps[24] = 3 * 3; maxJumps[25] = 3 * 3; } function updateMinJump(uint _minJump) onlyModerators external { minJump = _minJump; } // moderators function withdrawEther(address _sendTo, uint _amount) onlyModerators external { // no user money is kept in this contract, only trasaction fee if (_amount > address(this).balance) { revert(); } _sendTo.transfer(_amount); } function withdrawToken(address _sendTo, uint _amount) onlyModerators requireTokenContract external { ERC20Interface token = ERC20Interface(tokenContract); if (_amount > token.balanceOf(address(this))) { revert(); } token.transfer(_sendTo, _amount); } function addBonus(uint _pos, uint _amount) onlyModerators external { bonus[_pos] += _amount; EventBonus(_pos, _amount); } function refundFish(address _player, uint _weight) onlyModerators external { // max: one fish per address if (fishMap[players[_player]].weight > 0) revert(); totalFish += 1; Fish storage fish = fishMap[totalFish]; fish.player = _player; fish.weight = _weight; fish.active = false; fish.blockNumber = block.number; players[_player] = totalFish; seed = getRandom(seed); Transfer(address(0), _player, totalFish); } function cleanOcean(uint _pos1, uint _pos2, uint _pos3, uint _pos4, uint _pos5, uint _pos6, uint _pos7, uint _pos8, uint _pos9, uint _pos10) onlyModerators external { if (_pos1 > 0) { bonus[_pos1] = 0; EventBonus(_pos1, 0); } if (_pos2 > 0) { bonus[_pos2] = 0; EventBonus(_pos2, 0); } if (_pos3 > 0) { bonus[_pos3] = 0; EventBonus(_pos3, 0); } if (_pos4 > 0) { bonus[_pos4] = 0; EventBonus(_pos4, 0); } if (_pos5 > 0) { bonus[_pos5] = 0; EventBonus(_pos5, 0); } if (_pos6 > 0) { bonus[_pos6] = 0; EventBonus(_pos6, 0); } if (_pos7 > 0) { bonus[_pos7] = 0; EventBonus(_pos7, 0); } if (_pos8 > 0) { bonus[_pos8] = 0; EventBonus(_pos8, 0); } if (_pos9 > 0) { bonus[_pos9] = 0; EventBonus(_pos9, 0); } if (_pos10 > 0) { bonus[_pos10] = 0; EventBonus(_pos10, 0); } } // for payment contract to call function AddFishByToken(address _player, uint _tokens) onlyModerators external { uint weight = _tokens * cashInRate / 100; if (weight != addWeight) revert(); // max: one fish per address if (fishMap[players[_player]].weight > 0) revert(); totalFish += 1; Fish storage fish = fishMap[totalFish]; fish.player = _player; fish.weight = addWeight; fish.active = false; fish.blockNumber = block.number; players[_player] = totalFish; // airdrop if (addDrop > 0) { seed = getRandom(seed); uint temp = seed % (maxPos - 1); if (temp == BASE_POS) temp += 1; bonus[temp] += addDrop; EventBonus(temp, bonus[temp]); } else { seed = getRandom(seed); } Transfer(address(0), _player, totalFish); } // public functions function getRandom(uint _seed) constant public returns(uint) { return uint(keccak256(block.timestamp, block.difficulty)) ^ _seed; } function AddFish() isActive payable external { if (msg.value != addFee) revert(); // max: one fish per address if (fishMap[players[msg.sender]].weight > 0) revert(); totalFish += 1; Fish storage fish = fishMap[totalFish]; fish.player = msg.sender; fish.weight = addWeight; fish.active = false; fish.blockNumber = block.number; players[msg.sender] = totalFish; // airdrop if (addDrop > 0) { seed = getRandom(seed); uint temp = seed % (maxPos - 1); if (temp == BASE_POS) temp += 1; bonus[temp] += addDrop; EventBonus(temp, bonus[temp]); } else { seed = getRandom(seed); } Transfer(address(0), msg.sender, totalFish); } function DeductABS(uint _a, uint _b) pure public returns(uint) { if (_a > _b) return (_a - _b); return (_b - _a); } function SafeDeduct(uint _a, uint _b) pure public returns(uint) { if (_a > _b) return (_a - _b); return 0; } function MoveFromBase(uint _toPos) isActive external { // from = 0 if (_toPos >= maxPos || _toPos == 0) revert(); uint fishId = players[msg.sender]; Fish storage fish = fishMap[fishId]; if (fish.weight == 0) revert(); // not from base if (fish.active) revert(); // deduct weight if (fish.weight > minWeightPunish) { uint tempX = SafeDeduct(block.number, fish.blockNumber); tempX = SafeDeduct(fish.weight, tempX * basePunish); if (tempX < minWeightPunish) { fish.weight = minWeightPunish; } else { fish.weight = tempX; } } // check valid move tempX = DeductABS(BASE_POS / HIGH, _toPos / HIGH); uint tempY = DeductABS(BASE_POS % HIGH, _toPos % HIGH); uint squareLength = maxJumps[fish.weight / ONE_EMONT]; if (squareLength == 0) squareLength = minJump; if (tempX * tempX + tempY * tempY > squareLength) revert(); // can not attack if (ocean[_toPos] > 0) revert(); // check target bonus if (bonus[_toPos] > 0) { fish.weight += bonus[_toPos]; bonus[_toPos] = 0; } fish.active = true; fish.blockNumber = block.number; ocean[_toPos] = fishId; EventMove(msg.sender, fishId, BASE_POS, _toPos, fish.weight); } function MoveToBase(uint _fromPos) isActive external { uint fishId = players[msg.sender]; Fish storage fish = fishMap[fishId]; if (fish.weight == 0) revert(); if (!fish.active || ocean[_fromPos] != fishId) revert(); // check valid move uint tempX = DeductABS(_fromPos / HIGH, BASE_POS / HIGH); uint tempY = DeductABS(_fromPos % HIGH, BASE_POS % HIGH); uint squareLength = maxJumps[fish.weight / ONE_EMONT]; if (squareLength == 0) squareLength = minJump; if (tempX * tempX + tempY * tempY > squareLength) revert(); if (fish.weight >= minWeightDeduct) { tempX = (moveCharge * fish.weight) / 100; bonus[_fromPos] += tempX; fish.weight -= tempX; } // add bonus if (fish.weight < maxWeightBonus) { uint temp = SafeDeduct(block.number, fish.blockNumber) * oceanBonus; if (fish.weight + temp > maxWeightBonus) { fish.weight = maxWeightBonus; } else { fish.weight += temp; } } ocean[_fromPos] = 0; fish.active = false; fish.blockNumber = block.number; EventMove(msg.sender, fishId, _fromPos, BASE_POS, fish.weight); return; } function MoveFish(uint _fromPos, uint _toPos) isActive external { // check valid _x, _y if (_toPos >= maxPos && _fromPos != _toPos) revert(); if (_fromPos == BASE_POS || _toPos == BASE_POS) revert(); uint fishId = players[msg.sender]; Fish storage fish = fishMap[fishId]; if (fish.weight == 0) revert(); if (!fish.active || ocean[_fromPos] != fishId) revert(); // check valid move uint tempX = DeductABS(_fromPos / HIGH, _toPos / HIGH); uint tempY = DeductABS(_fromPos % HIGH, _toPos % HIGH); uint squareLength = maxJumps[fish.weight / ONE_EMONT]; if (squareLength == 0) squareLength = minJump; if (tempX * tempX + tempY * tempY > squareLength) revert(); // move ocean[_fromPos] = 0; if (fish.weight >= minWeightDeduct) { tempX = (moveCharge * fish.weight) / 100; bonus[_fromPos] += tempX; fish.weight -= tempX; } tempX = ocean[_toPos]; // target fish id // no fish at that location if (tempX == 0) { if (bonus[_toPos] > 0) { fish.weight += bonus[_toPos]; bonus[_toPos] = 0; } // update location EventMove(msg.sender, fishId, _fromPos, _toPos, fish.weight); ocean[_toPos] = fishId; } else { Fish storage targetFish = fishMap[tempX]; if (targetFish.weight + minEatable <= fish.weight) { // eat the target fish fish.weight += targetFish.weight; targetFish.weight = 0; // update location ocean[_toPos] = fishId; EventEat(msg.sender, targetFish.player, fishId, tempX, _fromPos, _toPos, fish.weight); Transfer(targetFish.player, address(0), tempX); } else if (targetFish.weight <= fish.weight) { // fight and win // bonus to others seed = getRandom(seed); tempY = seed % (maxPos - 1); if (tempY == BASE_POS) tempY += 1; bonus[tempY] += targetFish.weight * 2; EventBonus(tempY, bonus[tempY]); // fight fish.weight -= targetFish.weight; targetFish.weight = 0; // update location if (fish.weight > 0) { ocean[_toPos] = fishId; } else { ocean[_toPos] = 0; Transfer(msg.sender, address(0), fishId); } EventFight(msg.sender, targetFish.player, fishId, tempX, _fromPos, _toPos, fish.weight); Transfer(targetFish.player, address(0), tempX); } else { // bonus to others seed = getRandom(seed); tempY = seed % (maxPos - 1); if (tempY == BASE_POS) tempY += 1; bonus[tempY] += fish.weight * 2; EventBonus(tempY, bonus[tempY]); // suicide targetFish.weight -= fish.weight; fish.weight = 0; EventSuicide(msg.sender, targetFish.player, fishId, tempX, _fromPos, _toPos, targetFish.weight); Transfer(msg.sender, address(0), fishId); } } } function CashOut() isActive external { uint fishId = players[msg.sender]; Fish storage fish = fishMap[fishId]; // if fish at base, need to deduct if (!fish.active) { // deduct weight if (fish.weight > minWeightPunish) { uint tempX = SafeDeduct(block.number, fish.blockNumber); tempX = SafeDeduct(fish.weight, tempX * basePunish); if (tempX < minWeightPunish) { fish.weight = minWeightPunish; } else { fish.weight = tempX; } } fish.blockNumber = block.number; } if (fish.weight < minCashout) revert(); if (fish.weight < addWeight) revert(); uint _amount = fish.weight - addWeight; fish.weight = addWeight; ERC20Interface token = ERC20Interface(tokenContract); if (_amount > token.balanceOf(address(this))) { revert(); } token.transfer(msg.sender, (_amount * cashOutRate) / 100); EventCashout(msg.sender, fishId, fish.weight); } // public get function getFish(uint32 _fishId) constant public returns(address player, uint weight, bool active, uint blockNumber) { Fish storage fish = fishMap[_fishId]; return (fish.player, fish.weight, fish.active, fish.blockNumber); } function getFishByAddress(address _player) constant public returns(uint fishId, address player, uint weight, bool active, uint blockNumber) { fishId = players[_player]; Fish storage fish = fishMap[fishId]; player = fish.player; weight =fish.weight; active = fish.active; blockNumber = fish.blockNumber; } function getFishIdByAddress(address _player) constant public returns(uint fishId) { return players[_player]; } function getFishIdByPos(uint _pos) constant public returns(uint fishId) { return ocean[_pos]; } function getFishByPos(uint _pos) constant public returns(uint fishId, address player, uint weight, uint blockNumber) { fishId = ocean[_pos]; Fish storage fish = fishMap[fishId]; return (fishId, fish.player, fish.weight, fish.blockNumber); } // cell has valid fish or bonus function getActiveFish(uint _fromPos, uint _toPos) constant public returns(uint pos, uint fishId, address player, uint weight, uint blockNumber) { for (uint index = _fromPos; index <= _toPos; index+=1) { if (ocean[index] > 0) { fishId = ocean[index]; Fish storage fish = fishMap[fishId]; return (index, fishId, fish.player, fish.weight, fish.blockNumber); } } } function getAllBonus(uint _fromPos, uint _toPos) constant public returns(uint pos, uint amount) { for (uint index = _fromPos; index <= _toPos; index+=1) { if (bonus[index] > 0) { return (index, bonus[index]); } } } function getStats() constant public returns(uint countFish, uint countBonus) { countFish = 0; countBonus = 0; for (uint index = 0; index < width * HIGH; index++) { if (ocean[index] > 0) { countFish += 1; } if (bonus[index] > 0) { countBonus += 1; } } } function getFishAtBase(uint _fishId) constant public returns(uint fishId, address player, uint weight, uint blockNumber) { for (uint id = _fishId; id <= totalFish; id++) { Fish storage fish = fishMap[id]; if (fish.weight > 0 && !fish.active) { return (id, fish.player, fish.weight, fish.blockNumber); } } return (0, address(0), 0, 0); } function countFishAtBase() constant public returns(uint count) { count = 0; for (uint id = 0; id <= totalFish; id++) { Fish storage fish = fishMap[id]; if (fish.weight > 0 && !fish.active) { count += 1; } } } function getMaxJump(uint _weight) constant public returns(uint) { return maxJumps[_weight]; } // some meta data string public constant name = "EmontFrenzy"; string public constant symbol = "EMONF"; function totalSupply() public view returns (uint256) { return totalFish; } function balanceOf(address _owner) public view returns (uint256 _balance) { if (fishMap[players[_owner]].weight > 0) return 1; return 0; } function ownerOf(uint256 _tokenId) public view returns (address _owner) { Fish storage fish = fishMap[_tokenId]; if (fish.weight > 0) return fish.player; return address(0); } function transfer(address _to, uint256 _tokenId) public{ require(_to != address(0)); uint fishId = players[msg.sender]; Fish storage fish = fishMap[fishId]; if (fishId == 0 || fish.weight == 0 || fishId != _tokenId) revert(); if (balanceOf(_to) > 0) revert(); fish.player = _to; players[msg.sender] = 0; players[_to] = fishId; Transfer(msg.sender, _to, _tokenId); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"maxPos","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_fromPos","type":"uint256"},{"name":"_toPos","type":"uint256"}],"name":"getActiveFish","outputs":[{"name":"pos","type":"uint256"},{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minWeightPunish","type":"uint256"},{"name":"_maxWeightBonus","type":"uint256"}],"name":"setMaxConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"countFishAtBase","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addDrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_moveCharge","type":"uint256"},{"name":"_cashOutRate","type":"uint256"},{"name":"_cashInRate","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_fromPos","type":"uint256"},{"name":"_toPos","type":"uint256"}],"name":"getAllBonus","outputs":[{"name":"pos","type":"uint256"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCashout","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_isMaintaining","type":"bool"}],"name":"UpdateMaintaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_weight","type":"uint256"}],"name":"getMaxJump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_fishId","type":"uint32"}],"name":"getFish","outputs":[{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"active","type":"bool"},{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cashOutRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ONE_EMONT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_player","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"AddFishByToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"BASE_POS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minWeightDeduct","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFish","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cashInRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxWeightBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minEatable","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fromPos","type":"uint256"},{"name":"_toPos","type":"uint256"}],"name":"MoveFish","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"AddFish","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_pos1","type":"uint256"},{"name":"_pos2","type":"uint256"},{"name":"_pos3","type":"uint256"},{"name":"_pos4","type":"uint256"},{"name":"_pos5","type":"uint256"},{"name":"_pos6","type":"uint256"},{"name":"_pos7","type":"uint256"},{"name":"_pos8","type":"uint256"},{"name":"_pos9","type":"uint256"},{"name":"_pos10","type":"uint256"}],"name":"cleanOcean","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_fromPos","type":"uint256"}],"name":"MoveToBase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"basePunish","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oceanBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_a","type":"uint256"},{"name":"_b","type":"uint256"}],"name":"SafeDeduct","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_weight","type":"uint256"},{"name":"_squareLength","type":"uint256"}],"name":"updateMaxJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toPos","type":"uint256"}],"name":"MoveFromBase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_player","type":"address"}],"name":"getFishIdByAddress","outputs":[{"name":"fishId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"width","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"CashOut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_player","type":"address"},{"name":"_weight","type":"uint256"}],"name":"refundFish","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minWeightPunish","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pos","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"addBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_fishId","type":"uint256"}],"name":"getFishAtBase","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HIGH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_pos","type":"uint256"}],"name":"getFishIdByPos","outputs":[{"name":"fishId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"moveCharge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStats","outputs":[{"name":"countFish","type":"uint256"},{"name":"countBonus","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_seed","type":"uint256"}],"name":"getRandom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minJump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minJump","type":"uint256"}],"name":"updateMinJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_a","type":"uint256"},{"name":"_b","type":"uint256"}],"name":"DeductABS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_minCashout","type":"uint256"},{"name":"_minEatable","type":"uint256"},{"name":"_minWeightDeduct","type":"uint256"},{"name":"_basePunish","type":"uint256"},{"name":"_oceanBonus","type":"uint256"}],"name":"setExtraConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addFee","type":"uint256"},{"name":"_addWeight","type":"uint256"},{"name":"_addDrop","type":"uint256"},{"name":"_width","type":"uint256"}],"name":"setConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_pos","type":"uint256"}],"name":"getFishByPos","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMaintaining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setDefaultMaxJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_player","type":"address"}],"name":"getFishByAddress","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"active","type":"bool"},{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addWeight","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":false,"name":"fishId","type":"uint256"},{"indexed":false,"name":"weight","type":"uint256"}],"name":"EventCashout","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pos","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"EventBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":false,"name":"fishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"weight","type":"uint256"}],"name":"EventMove","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"defender","type":"address"},{"indexed":false,"name":"playerFishId","type":"uint256"},{"indexed":false,"name":"defenderFishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"playerWeight","type":"uint256"}],"name":"EventEat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"defender","type":"address"},{"indexed":false,"name":"playerFishId","type":"uint256"},{"indexed":false,"name":"defenderFishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"playerWeight","type":"uint256"}],"name":"EventFight","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"defender","type":"address"},{"indexed":false,"name":"playerFishId","type":"uint256"},{"indexed":false,"name":"defenderFishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"defenderWeight","type":"uint256"}],"name":"EventSuicide","type":"event"}]
Contract Creation Code
606060405260008060146101000a81548161ffff021916908361ffff1602179055506000600260006101000a81548160ff021916908315150217905550662386f26fc10000600555631dcd6500600655631dcd6500600755600560085560646009556032600a556032600b556004600c55600b54601402600d55639502f900600e556305f5e100600f556317d78400601055619c406011556201e8486012556305f5e100601355639502f9006014556000601a553415620000bf57600080fd5b60405160208062004f0e83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200017d60006200018a64010000000002620044d6176401000000009004565b60038190555050620001b7565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b614d4780620001c76000396000f300606060405260043610610317576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301239adf1461031c57806306fdde0314610345578063136b4fea146103d357806314d0f1ba1461045b57806318160ddd146104ac578063181dcbcd146104d557806322230fc41461050157806329e614ee1461052a5780632f48f151146105535780633989c6661461057c5780633b016d83146105b157806345408a8a146105f857806348ef5aa8146106215780634db77d9d146106465780634efb023e1461067d5780634fbf6e9f146106ae578063503c849e14610730578063522f68151461075957806354f60aea1461079b57806355a373d6146107c457806359b62658146108195780635c7b9ccf1461085b578063602998431461088457806362b26f95146108ad5780636352211e146108d6578063672324ac1461093957806368da480b146109625780636c81fd6d1461098b5780636d07f295146109c457806370a08231146109ed578063754ad98114610a3a5780637c17dc0214610a6657806380cae00714610a7057806382cb08aa14610ae45780638ba4530714610b075780638c335b4b14610b305780638da5cb5b14610b595780638f99fdab14610bae578063905473cf14610bee5780639392414714610c1a57806395d89b4114610c3d5780639b01c7ac14610ccb5780639e281a9814610d185780639ededf7714610d5a578063a1e564b114610d83578063a903016214610d98578063a9059cbb14610dda578063aec30dc114610e1c578063b02b69d614610e45578063b60868be14610e71578063b73974a114610ee9578063b85d627514610f12578063be32eeba14610f4b578063c0b332c114610f82578063c59d484714610fab578063cd4b691414610fdb578063cf2d03ae14611012578063d398806d1461103b578063d4fa90211461105e578063d855c0591461109e578063e5c389cd146110e5578063ecd747de14611123578063ee4e44161461119b578063f2853292146111c8578063f838ea1a14611201578063f8ecb55814611216578063fbe3549c146112af575b600080fd5b341561032757600080fd5b61032f6112d8565b6040518082815260200191505060405180910390f35b341561035057600080fd5b6103586112de565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039857808201518184015260208101905061037d565b50505050905090810190601f1680156103c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103de57600080fd5b6103fd6004808035906020019091908035906020019091905050611317565b604051808681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b341561046657600080fd5b610492600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113ce565b604051808215151515815260200191505060405180910390f35b34156104b757600080fd5b6104bf6113ee565b6040518082815260200191505060405180910390f35b34156104e057600080fd5b6104ff60048080359060200190919080359060200190919050506113f8565b005b341561050c57600080fd5b6105146114c0565b6040518082815260200191505060405180910390f35b341561053557600080fd5b61053d61152e565b6040518082815260200191505060405180910390f35b341561055e57600080fd5b610566611534565b6040518082815260200191505060405180910390f35b341561058757600080fd5b6105af600480803590602001909190803590602001909190803590602001909190505061153a565b005b34156105bc57600080fd5b6105db600480803590602001909190803590602001909190505061160a565b604051808381526020018281526020019250505060405180910390f35b341561060357600080fd5b61060b61166a565b6040518082815260200191505060405180910390f35b341561062c57600080fd5b61064460048080351515906020019091905050611670565b005b341561065157600080fd5b61066760048080359060200190919050506116e8565b6040518082815260200191505060405180910390f35b341561068857600080fd5b610690611705565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156106b957600080fd5b6106d5600480803563ffffffff16906020019091905050611719565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018315151515815260200182815260200194505050505060405180910390f35b341561073b57600080fd5b61074361178d565b6040518082815260200191505060405180910390f35b341561076457600080fd5b610799600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611793565b005b34156107a657600080fd5b6107ae6118b1565b6040518082815260200191505060405180910390f35b34156107cf57600080fd5b6107d76118b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561082457600080fd5b610859600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506118df565b005b341561086657600080fd5b61086e611c3f565b6040518082815260200191505060405180910390f35b341561088f57600080fd5b610897611c45565b6040518082815260200191505060405180910390f35b34156108b857600080fd5b6108c0611c4b565b6040518082815260200191505060405180910390f35b34156108e157600080fd5b6108f76004808035906020019091905050611c51565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561094457600080fd5b61094c611cad565b6040518082815260200191505060405180910390f35b341561096d57600080fd5b610975611cb3565b6040518082815260200191505060405180910390f35b341561099657600080fd5b6109c2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611cb9565b005b34156109cf57600080fd5b6109d7611df9565b6040518082815260200191505060405180910390f35b34156109f857600080fd5b610a24600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611dff565b6040518082815260200191505060405180910390f35b3415610a4557600080fd5b610a646004808035906020019091908035906020019091905050611e71565b005b610a6e6127cf565b005b3415610a7b57600080fd5b610ae26004808035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050612a7d565b005b3415610aef57600080fd5b610b056004808035906020019091905050612f1d565b005b3415610b1257600080fd5b610b1a6131e1565b6040518082815260200191505060405180910390f35b3415610b3b57600080fd5b610b436131e7565b6040518082815260200191505060405180910390f35b3415610b6457600080fd5b610b6c6131ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610bb957600080fd5b610bd86004808035906020019091908035906020019091905050613212565b6040518082815260200191505060405180910390f35b3415610bf957600080fd5b610c186004808035906020019091908035906020019091905050613231565b005b3415610c2557600080fd5b610c3b6004808035906020019091905050613303565b005b3415610c4857600080fd5b610c506135e3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c90578082015181840152602081019050610c75565b50505050905090810190601f168015610cbd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610cd657600080fd5b610d02600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061361c565b6040518082815260200191505060405180910390f35b3415610d2357600080fd5b610d58600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613665565b005b3415610d6557600080fd5b610d6d613936565b6040518082815260200191505060405180910390f35b3415610d8e57600080fd5b610d9661393c565b005b3415610da357600080fd5b610dd8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613c93565b005b3415610de557600080fd5b610e1a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613f0c565b005b3415610e2757600080fd5b610e2f614117565b6040518082815260200191505060405180910390f35b3415610e5057600080fd5b610e6f600480803590602001909190803590602001909190505061411d565b005b3415610e7c57600080fd5b610e926004808035906020019091905050614237565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b3415610ef457600080fd5b610efc6142f7565b6040518082815260200191505060405180910390f35b3415610f1d57600080fd5b610f49600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506142fc565b005b3415610f5657600080fd5b610f6c600480803590602001909190505061443d565b6040518082815260200191505060405180910390f35b3415610f8d57600080fd5b610f9561445a565b6040518082815260200191505060405180910390f35b3415610fb657600080fd5b610fbe614460565b604051808381526020018281526020019250505060405180910390f35b3415610fe657600080fd5b610ffc60048080359060200190919050506144d6565b6040518082815260200191505060405180910390f35b341561101d57600080fd5b611025614503565b6040518082815260200191505060405180910390f35b341561104657600080fd5b61105c6004808035906020019091905050614509565b005b341561106957600080fd5b61108860048080359060200190919080359060200190919050506145c9565b6040518082815260200191505060405180910390f35b34156110a957600080fd5b6110e360048080359060200190919080359060200190919080359060200190919080359060200190919080359060200190919050506145e9565b005b34156110f057600080fd5b61112160048080359060200190919080359060200190919080359060200190919080359060200190919050506146c9565b005b341561112e57600080fd5b61114460048080359060200190919050506147ad565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b34156111a657600080fd5b6111ae614820565b604051808215151515815260200191505060405180910390f35b34156111d357600080fd5b6111ff600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614833565b005b341561120c57600080fd5b611214614908565b005b341561122157600080fd5b61124d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614c62565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001831515151581526020018281526020019550505050505060405180910390f35b34156112ba57600080fd5b6112c2614d15565b6040518082815260200191505060405180910390f35b600d5481565b6040805190810160405280600b81526020017f456d6f6e744672656e7a7900000000000000000000000000000000000000000081525081565b60008060008060008060008891505b87821115156113c1576000601660008481526020019081526020016000205411156113b6576016600083815260200190815260200160002054955060156000878152602001908152602001600020905081868260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101548460030154965096509650965096506113c2565b600182019150611326565b5b50509295509295909350565b60016020528060005260406000206000915054906101000a900460ff1681565b6000601a54905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114a3575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156114ae57600080fd5b81601381905550806014819055505050565b6000806000809250600091505b601a5482111515611529576015600083815260200190815260200160002090506000816001015411801561151057508060020160009054906101000a900460ff16155b1561151c576001830192505b81806001019250506114cd565b505090565b60075481565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115e5575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156115f057600080fd5b826008819055508160098190555080600a81905550505050565b60008060008490505b8381111515611661576000601760008381526020019081526020016000205411156116565780601760008381526020019081526020016000205492509250611662565b600181019050611613565b5b509250929050565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116cb57600080fd5b80600260006101000a81548160ff02191690831515021790555050565b600060196000838152602001908152602001600020549050919050565b600060149054906101000a900461ffff1681565b6000806000806000601560008763ffffffff16815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600101548260020160009054906101000a900460ff1683600301549450945094509450509193509193565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061183e575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561184957600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163181111561186d57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156118ad57600080fd5b5050565b6305f5e10081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061198f575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561199a57600080fd5b6064600a5485028115156119aa57fe5b049250600654831415156119bd57600080fd5b600060156000601860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101541115611a2057600080fd5b6001601a6000828254019250508190555060156000601a5481526020019081526020016000209150848260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654826001018190555060008260020160006101000a81548160ff021916908315150217905550438260030181905550601a54601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006007541115611bbe57611b186003546144d6565b6003819055506001600d5403600354811515611b3057fe5b0690506101fe811415611b44576001810190505b60075460176000838152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2816017600084815260200190815260200160002054604051808381526020018281526020019250505060405180910390a1611bd0565b611bc96003546144d6565b6003819055505b8473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040518082815260200191505060405180910390a35050505050565b6101fe81565b60105481565b601a5481565b600080601560008481526020019081526020016000209050600081600101541115611ca2578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611ca7565b600091505b50919050565b600a5481565b60145481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d1457600080fd5b60001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611df65760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160192506101000a81548161ffff021916908361ffff1602179055505b50565b600f5481565b60008060156000601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101541115611e675760019050611e6c565b600090505b919050565b600080600080600080600260009054906101000a900460ff16151515611e9657600080fd5b600d548710158015611ea85750868814155b15611eb257600080fd5b6101fe881480611ec357506101fe87145b15611ecd57600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550601560008781526020019081526020016000209450600085600101541415611f3657600080fd5b8460020160009054906101000a900460ff161580611f67575085601660008a81526020019081526020016000205414155b15611f7157600080fd5b611f93601489811515611f8057fe5b04601489811515611f8d57fe5b046145c9565b9350611fb7601489811515611fa457fe5b06601489811515611fb157fe5b066145c9565b9250601960006305f5e1008760010154811515611fd057fe5b0481526020019081526020016000205491506000821415611ff157600c5491505b8183840285860201111561200457600080fd5b6000601660008a815260200190815260200160002081905550601054856001015410151561207757606485600101546008540281151561204057fe5b04935083601760008a8152602001908152602001600020600082825401925050819055508385600101600082825403925050819055505b601660008881526020019081526020016000205493506000841415612178576000601760008981526020019081526020016000205411156120f15760176000888152602001908152602001600020548560010160008282540192505081905550600060176000898152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a28560166000898152602001908152602001600020819055506127c5565b6015600085815260200190815260200160002090508460010154600f548260010154011115156123165780600101548560010160008282540192505081905550600081600101819055508560166000898152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc15f52570a93e125c446dad9d62b70661ca12a0f34b6b4fe6375284706576c4f88878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36127c4565b846001015481600101541115156125de576123326003546144d6565b6003819055506001600d540360035481151561234a57fe5b0692506101fe83141561235e576001830192505b600281600101540260176000858152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836017600086815260200190815260200160002054604051808381526020018281526020019250505060405180910390a18060010154856001016000828254039250508190555060008160010181905550600085600101541115612422578560166000898152602001908152602001600020819055506124a2565b60006016600089815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff33ea0d9449fd6e15735c140f51c1e01bacda12ea866ebd8c8f8c5a7009af4f388878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36127c3565b6125e96003546144d6565b6003819055506001600d540360035481151561260157fe5b0692506101fe831415612615576001830192505b600285600101540260176000858152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836017600086815260200190815260200160002054604051808381526020018281526020019250505060405180910390a184600101548160010160008282540392505081905550600085600101819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fca1dfeb0fb285992538d0b85b07f749d9c530b608237c5aca0726b3ee383509f88878c8c8760010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b5b5b5050505050505050565b600080600260009054906101000a900460ff161515156127ee57600080fd5b600554341415156127fe57600080fd5b600060156000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002060010154111561286157600080fd5b6001601a6000828254019250508190555060156000601a5481526020019081526020016000209150338260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654826001018190555060008260020160006101000a81548160ff021916908315150217905550438260030181905550601a54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060075411156129ff576129596003546144d6565b6003819055506001600d540360035481151561297157fe5b0690506101fe811415612985576001810190505b60075460176000838152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2816017600084815260200190815260200160002054604051808381526020018281526020019250505060405180910390a1612a11565b612a0a6003546144d6565b6003819055505b3373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612b28575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515612b3357600080fd5b60008a1115612b96576000601760008c8152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e28a6000604051808381526020018281526020019250505060405180910390a15b6000891115612bf9576000601760008b8152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2896000604051808381526020018281526020019250505060405180910390a15b6000881115612c5c576000601760008a8152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2886000604051808381526020018281526020019250505060405180910390a15b6000871115612cbf57600060176000898152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2876000604051808381526020018281526020019250505060405180910390a15b6000861115612d2257600060176000888152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2866000604051808381526020018281526020019250505060405180910390a15b6000851115612d8557600060176000878152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2856000604051808381526020018281526020019250505060405180910390a15b6000841115612de857600060176000868152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2846000604051808381526020018281526020019250505060405180910390a15b6000831115612e4b57600060176000858152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836000604051808381526020018281526020019250505060405180910390a15b6000821115612eae57600060176000848152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2826000604051808381526020018281526020019250505060405180910390a15b6000811115612f1157600060176000838152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2816000604051808381526020018281526020019250505060405180910390a15b50505050505050505050565b600080600080600080600260009054906101000a900460ff16151515612f4257600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550601560008781526020019081526020016000209450600085600101541415612fab57600080fd5b8460020160009054906101000a900460ff161580612fdc575085601660008981526020019081526020016000205414155b15612fe657600080fd5b61300a601488811515612ff557fe5b0460146101fe81151561300457fe5b046145c9565b935061303060148881151561301b57fe5b0660146101fe81151561302a57fe5b066145c9565b9250601960006305f5e100876001015481151561304957fe5b048152602001908152602001600020549150600082141561306a57600c5491505b8183840285860201111561307d57600080fd5b60105485600101541015156130d75760648560010154600854028115156130a057fe5b0493508360176000898152602001908152602001600020600082825401925050819055508385600101600082825403925050819055505b6014548560010154101561312d576012546130f6438760030154613212565b02905060145481866001015401111561311957601454856001018190555061312c565b8085600101600082825401925050819055505b5b6000601660008981526020019081526020016000208190555060008560020160006101000a81548160ff0219169083151502179055504385600301819055503373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a1087896101fe89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b60115481565b60125481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008183111561322657818303905061322b565b600090505b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806132dc575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156132e757600080fd5b8060196000848152602001908152602001600020819055505050565b6000806000806000600260009054906101000a900460ff1615151561332757600080fd5b600d54861015806133385750600086145b1561334257600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205494506015600086815260200190815260200160002093506000846001015414156133ab57600080fd5b8360020160009054906101000a900460ff16156133c757600080fd5b6013548460010154111561341e576133e3438560030154613212565b92506133f784600101546011548502613212565b925060135483101561341357601354846001018190555061341d565b8284600101819055505b5b61344260146101fe81151561342f57fe5b0460148881151561343c57fe5b046145c9565b925061346860146101fe81151561345557fe5b0660148881151561346257fe5b066145c9565b9150601960006305f5e100866001015481151561348157fe5b04815260200190815260200160002054905060008114156134a257600c5490505b808283028485020111156134b557600080fd5b6000601660008881526020019081526020016000205411156134d657600080fd5b6000601760008881526020019081526020016000205411156135315760176000878152602001908152602001600020548460010160008282540192505081905550600060176000888152602001908152602001600020819055505b60018460020160006101000a81548160ff0219169083151502179055504384600301819055508460166000888152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10866101fe8988600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a2505050505050565b6040805190810160405280600581526020017f454d4f4e4600000000000000000000000000000000000000000000000000000081525081565b6000601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613712575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561371d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561377b57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561384357600080fd5b6102c65a03f1151561385457600080fd5b5050506040518051905082111561386a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561391557600080fd5b6102c65a03f1151561392657600080fd5b5050506040518051905050505050565b600b5481565b6000806000806000600260009054906101000a900460ff1615151561396057600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205494506015600086815260200190815260200160002093508360020160009054906101000a900460ff161515613a305760135484600101541115613a26576139eb438560030154613212565b92506139ff84600101546011548502613212565b9250601354831015613a1b576013548460010181905550613a25565b8284600101819055505b5b4384600301819055505b600e5484600101541015613a4357600080fd5b60065484600101541015613a5657600080fd5b60065484600101540391506006548460010181905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515613b3457600080fd5b6102c65a03f11515613b4557600080fd5b50505060405180519050821115613b5b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3360646009548602811515613b8857fe5b046000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515613c1657600080fd5b6102c65a03f11515613c2757600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff167f34f1b4b50ab1fe8066f90e4b650517b54750c5450d115a4ca83183ba27d69b48868660010154604051808381526020018281526020019250505060405180910390a25050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613d40575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515613d4b57600080fd5b600060156000601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101541115613dae57600080fd5b6001601a6000828254019250508190555060156000601a5481526020019081526020016000209050828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081816001018190555060008160020160006101000a81548160ff021916908315150217905550438160030181905550601a54601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613e996003546144d6565b6003819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040518082815260200191505060405180910390a3505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515613f4b57600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491506015600083815260200190815260200160002090506000821480613fb5575060008160010154145b80613fc05750828214155b15613fca57600080fd5b6000613fd585611dff565b1115613fe057600080fd5b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b60135481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806141c8575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156141d357600080fd5b8060176000848152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e28282604051808381526020018281526020019250505060405180910390a15050565b6000806000806000808691505b601a54821115156142d6576015600083815260200190815260200160002090506000816001015411801561428757508060020160009054906101000a900460ff16155b156142c957818160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154836003015495509550955095506142ee565b8180600101925050614244565b60008060008083935081915080905095509550955095505b50509193509193565b601481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561435757600080fd5b60011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561443a576000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160392506101000a81548161ffff021916908361ffff1602179055505b50565b600060166000838152602001908152602001600020549050919050565b60085481565b600080600080925060009150600090505b6014600b54028110156144d1576000601660008381526020019081526020016000205411156144a1576001830192505b6000601760008381526020019081526020016000205411156144c4576001820191505b8080600101915050614471565b509091565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806145b4575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156145bf57600080fd5b80600c8190555050565b6000818311156145dd5781830390506145e3565b82820390505b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480614694575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561469f57600080fd5b84600e8190555083600f819055508260108190555081601181905550806012819055505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480614774575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561477f57600080fd5b83600581905550826006819055508160078190555080600b81905550600b54601402600d8190555050505050565b600080600080600060166000878152602001908152602001600020549450601560008681526020019081526020016000209050848160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826001015483600301549450945094509450509193509193565b600260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561488e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561490557806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806149b3575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156149be57600080fd5b6109c4601960008081526020019081526020016000208190555061038460196000600181526020019081526020016000208190555061019060196000600281526020019081526020016000208190555060e1601960006003815260200190815260200160002081905550609060196000600481526020019081526020016000208190555060516019600060058152602001908152602001600020819055506031601960006006815260200190815260200160002081905550603160196000600781526020019081526020016000208190555060246019600060088152602001908152602001600020819055506024601960006009815260200190815260200160002081905550602460196000600a8152602001908152602001600020819055506019806000600b8152602001908152602001600020819055506019806000600c8152602001908152602001600020819055506019806000600d8152602001908152602001600020819055506019806000600e815260200190815260200160002081905550601060196000600f8152602001908152602001600020819055506010601960006010815260200190815260200160002081905550601060196000601181526020019081526020016000208190555060106019600060128152602001908152602001600020819055506010601960006013815260200190815260200160002081905550600960196000601481526020019081526020016000208190555060096019600060158152602001908152602001600020819055506009601960006016815260200190815260200160002081905550600960196000601781526020019081526020016000208190555060096019600060188152602001908152602001600020819055506009601960006019815260200190815260200160002081905550565b600080600080600080601860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205495506015600087815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450806001015493508060020160009054906101000a900460ff169250806003015491505091939590929450565b600654815600a165627a7a723058202e381011d9b854766746043b631c24d570d8d47f821852e197e857cfc6d3fca9002900000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31
Deployed Bytecode
0x606060405260043610610317576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301239adf1461031c57806306fdde0314610345578063136b4fea146103d357806314d0f1ba1461045b57806318160ddd146104ac578063181dcbcd146104d557806322230fc41461050157806329e614ee1461052a5780632f48f151146105535780633989c6661461057c5780633b016d83146105b157806345408a8a146105f857806348ef5aa8146106215780634db77d9d146106465780634efb023e1461067d5780634fbf6e9f146106ae578063503c849e14610730578063522f68151461075957806354f60aea1461079b57806355a373d6146107c457806359b62658146108195780635c7b9ccf1461085b578063602998431461088457806362b26f95146108ad5780636352211e146108d6578063672324ac1461093957806368da480b146109625780636c81fd6d1461098b5780636d07f295146109c457806370a08231146109ed578063754ad98114610a3a5780637c17dc0214610a6657806380cae00714610a7057806382cb08aa14610ae45780638ba4530714610b075780638c335b4b14610b305780638da5cb5b14610b595780638f99fdab14610bae578063905473cf14610bee5780639392414714610c1a57806395d89b4114610c3d5780639b01c7ac14610ccb5780639e281a9814610d185780639ededf7714610d5a578063a1e564b114610d83578063a903016214610d98578063a9059cbb14610dda578063aec30dc114610e1c578063b02b69d614610e45578063b60868be14610e71578063b73974a114610ee9578063b85d627514610f12578063be32eeba14610f4b578063c0b332c114610f82578063c59d484714610fab578063cd4b691414610fdb578063cf2d03ae14611012578063d398806d1461103b578063d4fa90211461105e578063d855c0591461109e578063e5c389cd146110e5578063ecd747de14611123578063ee4e44161461119b578063f2853292146111c8578063f838ea1a14611201578063f8ecb55814611216578063fbe3549c146112af575b600080fd5b341561032757600080fd5b61032f6112d8565b6040518082815260200191505060405180910390f35b341561035057600080fd5b6103586112de565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039857808201518184015260208101905061037d565b50505050905090810190601f1680156103c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103de57600080fd5b6103fd6004808035906020019091908035906020019091905050611317565b604051808681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b341561046657600080fd5b610492600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113ce565b604051808215151515815260200191505060405180910390f35b34156104b757600080fd5b6104bf6113ee565b6040518082815260200191505060405180910390f35b34156104e057600080fd5b6104ff60048080359060200190919080359060200190919050506113f8565b005b341561050c57600080fd5b6105146114c0565b6040518082815260200191505060405180910390f35b341561053557600080fd5b61053d61152e565b6040518082815260200191505060405180910390f35b341561055e57600080fd5b610566611534565b6040518082815260200191505060405180910390f35b341561058757600080fd5b6105af600480803590602001909190803590602001909190803590602001909190505061153a565b005b34156105bc57600080fd5b6105db600480803590602001909190803590602001909190505061160a565b604051808381526020018281526020019250505060405180910390f35b341561060357600080fd5b61060b61166a565b6040518082815260200191505060405180910390f35b341561062c57600080fd5b61064460048080351515906020019091905050611670565b005b341561065157600080fd5b61066760048080359060200190919050506116e8565b6040518082815260200191505060405180910390f35b341561068857600080fd5b610690611705565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156106b957600080fd5b6106d5600480803563ffffffff16906020019091905050611719565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018315151515815260200182815260200194505050505060405180910390f35b341561073b57600080fd5b61074361178d565b6040518082815260200191505060405180910390f35b341561076457600080fd5b610799600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611793565b005b34156107a657600080fd5b6107ae6118b1565b6040518082815260200191505060405180910390f35b34156107cf57600080fd5b6107d76118b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561082457600080fd5b610859600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506118df565b005b341561086657600080fd5b61086e611c3f565b6040518082815260200191505060405180910390f35b341561088f57600080fd5b610897611c45565b6040518082815260200191505060405180910390f35b34156108b857600080fd5b6108c0611c4b565b6040518082815260200191505060405180910390f35b34156108e157600080fd5b6108f76004808035906020019091905050611c51565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561094457600080fd5b61094c611cad565b6040518082815260200191505060405180910390f35b341561096d57600080fd5b610975611cb3565b6040518082815260200191505060405180910390f35b341561099657600080fd5b6109c2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611cb9565b005b34156109cf57600080fd5b6109d7611df9565b6040518082815260200191505060405180910390f35b34156109f857600080fd5b610a24600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611dff565b6040518082815260200191505060405180910390f35b3415610a4557600080fd5b610a646004808035906020019091908035906020019091905050611e71565b005b610a6e6127cf565b005b3415610a7b57600080fd5b610ae26004808035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050612a7d565b005b3415610aef57600080fd5b610b056004808035906020019091905050612f1d565b005b3415610b1257600080fd5b610b1a6131e1565b6040518082815260200191505060405180910390f35b3415610b3b57600080fd5b610b436131e7565b6040518082815260200191505060405180910390f35b3415610b6457600080fd5b610b6c6131ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610bb957600080fd5b610bd86004808035906020019091908035906020019091905050613212565b6040518082815260200191505060405180910390f35b3415610bf957600080fd5b610c186004808035906020019091908035906020019091905050613231565b005b3415610c2557600080fd5b610c3b6004808035906020019091905050613303565b005b3415610c4857600080fd5b610c506135e3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c90578082015181840152602081019050610c75565b50505050905090810190601f168015610cbd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610cd657600080fd5b610d02600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061361c565b6040518082815260200191505060405180910390f35b3415610d2357600080fd5b610d58600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613665565b005b3415610d6557600080fd5b610d6d613936565b6040518082815260200191505060405180910390f35b3415610d8e57600080fd5b610d9661393c565b005b3415610da357600080fd5b610dd8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613c93565b005b3415610de557600080fd5b610e1a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613f0c565b005b3415610e2757600080fd5b610e2f614117565b6040518082815260200191505060405180910390f35b3415610e5057600080fd5b610e6f600480803590602001909190803590602001909190505061411d565b005b3415610e7c57600080fd5b610e926004808035906020019091905050614237565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b3415610ef457600080fd5b610efc6142f7565b6040518082815260200191505060405180910390f35b3415610f1d57600080fd5b610f49600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506142fc565b005b3415610f5657600080fd5b610f6c600480803590602001909190505061443d565b6040518082815260200191505060405180910390f35b3415610f8d57600080fd5b610f9561445a565b6040518082815260200191505060405180910390f35b3415610fb657600080fd5b610fbe614460565b604051808381526020018281526020019250505060405180910390f35b3415610fe657600080fd5b610ffc60048080359060200190919050506144d6565b6040518082815260200191505060405180910390f35b341561101d57600080fd5b611025614503565b6040518082815260200191505060405180910390f35b341561104657600080fd5b61105c6004808035906020019091905050614509565b005b341561106957600080fd5b61108860048080359060200190919080359060200190919050506145c9565b6040518082815260200191505060405180910390f35b34156110a957600080fd5b6110e360048080359060200190919080359060200190919080359060200190919080359060200190919080359060200190919050506145e9565b005b34156110f057600080fd5b61112160048080359060200190919080359060200190919080359060200190919080359060200190919050506146c9565b005b341561112e57600080fd5b61114460048080359060200190919050506147ad565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b34156111a657600080fd5b6111ae614820565b604051808215151515815260200191505060405180910390f35b34156111d357600080fd5b6111ff600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614833565b005b341561120c57600080fd5b611214614908565b005b341561122157600080fd5b61124d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614c62565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001831515151581526020018281526020019550505050505060405180910390f35b34156112ba57600080fd5b6112c2614d15565b6040518082815260200191505060405180910390f35b600d5481565b6040805190810160405280600b81526020017f456d6f6e744672656e7a7900000000000000000000000000000000000000000081525081565b60008060008060008060008891505b87821115156113c1576000601660008481526020019081526020016000205411156113b6576016600083815260200190815260200160002054955060156000878152602001908152602001600020905081868260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101548460030154965096509650965096506113c2565b600182019150611326565b5b50509295509295909350565b60016020528060005260406000206000915054906101000a900460ff1681565b6000601a54905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114a3575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156114ae57600080fd5b81601381905550806014819055505050565b6000806000809250600091505b601a5482111515611529576015600083815260200190815260200160002090506000816001015411801561151057508060020160009054906101000a900460ff16155b1561151c576001830192505b81806001019250506114cd565b505090565b60075481565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115e5575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156115f057600080fd5b826008819055508160098190555080600a81905550505050565b60008060008490505b8381111515611661576000601760008381526020019081526020016000205411156116565780601760008381526020019081526020016000205492509250611662565b600181019050611613565b5b509250929050565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116cb57600080fd5b80600260006101000a81548160ff02191690831515021790555050565b600060196000838152602001908152602001600020549050919050565b600060149054906101000a900461ffff1681565b6000806000806000601560008763ffffffff16815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600101548260020160009054906101000a900460ff1683600301549450945094509450509193509193565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061183e575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561184957600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163181111561186d57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156118ad57600080fd5b5050565b6305f5e10081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061198f575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561199a57600080fd5b6064600a5485028115156119aa57fe5b049250600654831415156119bd57600080fd5b600060156000601860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101541115611a2057600080fd5b6001601a6000828254019250508190555060156000601a5481526020019081526020016000209150848260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654826001018190555060008260020160006101000a81548160ff021916908315150217905550438260030181905550601a54601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006007541115611bbe57611b186003546144d6565b6003819055506001600d5403600354811515611b3057fe5b0690506101fe811415611b44576001810190505b60075460176000838152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2816017600084815260200190815260200160002054604051808381526020018281526020019250505060405180910390a1611bd0565b611bc96003546144d6565b6003819055505b8473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040518082815260200191505060405180910390a35050505050565b6101fe81565b60105481565b601a5481565b600080601560008481526020019081526020016000209050600081600101541115611ca2578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611ca7565b600091505b50919050565b600a5481565b60145481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d1457600080fd5b60001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611df65760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160192506101000a81548161ffff021916908361ffff1602179055505b50565b600f5481565b60008060156000601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101541115611e675760019050611e6c565b600090505b919050565b600080600080600080600260009054906101000a900460ff16151515611e9657600080fd5b600d548710158015611ea85750868814155b15611eb257600080fd5b6101fe881480611ec357506101fe87145b15611ecd57600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550601560008781526020019081526020016000209450600085600101541415611f3657600080fd5b8460020160009054906101000a900460ff161580611f67575085601660008a81526020019081526020016000205414155b15611f7157600080fd5b611f93601489811515611f8057fe5b04601489811515611f8d57fe5b046145c9565b9350611fb7601489811515611fa457fe5b06601489811515611fb157fe5b066145c9565b9250601960006305f5e1008760010154811515611fd057fe5b0481526020019081526020016000205491506000821415611ff157600c5491505b8183840285860201111561200457600080fd5b6000601660008a815260200190815260200160002081905550601054856001015410151561207757606485600101546008540281151561204057fe5b04935083601760008a8152602001908152602001600020600082825401925050819055508385600101600082825403925050819055505b601660008881526020019081526020016000205493506000841415612178576000601760008981526020019081526020016000205411156120f15760176000888152602001908152602001600020548560010160008282540192505081905550600060176000898152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a28560166000898152602001908152602001600020819055506127c5565b6015600085815260200190815260200160002090508460010154600f548260010154011115156123165780600101548560010160008282540192505081905550600081600101819055508560166000898152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc15f52570a93e125c446dad9d62b70661ca12a0f34b6b4fe6375284706576c4f88878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36127c4565b846001015481600101541115156125de576123326003546144d6565b6003819055506001600d540360035481151561234a57fe5b0692506101fe83141561235e576001830192505b600281600101540260176000858152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836017600086815260200190815260200160002054604051808381526020018281526020019250505060405180910390a18060010154856001016000828254039250508190555060008160010181905550600085600101541115612422578560166000898152602001908152602001600020819055506124a2565b60006016600089815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff33ea0d9449fd6e15735c140f51c1e01bacda12ea866ebd8c8f8c5a7009af4f388878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36127c3565b6125e96003546144d6565b6003819055506001600d540360035481151561260157fe5b0692506101fe831415612615576001830192505b600285600101540260176000858152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836017600086815260200190815260200160002054604051808381526020018281526020019250505060405180910390a184600101548160010160008282540392505081905550600085600101819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fca1dfeb0fb285992538d0b85b07f749d9c530b608237c5aca0726b3ee383509f88878c8c8760010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b5b5b5050505050505050565b600080600260009054906101000a900460ff161515156127ee57600080fd5b600554341415156127fe57600080fd5b600060156000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002060010154111561286157600080fd5b6001601a6000828254019250508190555060156000601a5481526020019081526020016000209150338260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654826001018190555060008260020160006101000a81548160ff021916908315150217905550438260030181905550601a54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060075411156129ff576129596003546144d6565b6003819055506001600d540360035481151561297157fe5b0690506101fe811415612985576001810190505b60075460176000838152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2816017600084815260200190815260200160002054604051808381526020018281526020019250505060405180910390a1612a11565b612a0a6003546144d6565b6003819055505b3373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612b28575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515612b3357600080fd5b60008a1115612b96576000601760008c8152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e28a6000604051808381526020018281526020019250505060405180910390a15b6000891115612bf9576000601760008b8152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2896000604051808381526020018281526020019250505060405180910390a15b6000881115612c5c576000601760008a8152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2886000604051808381526020018281526020019250505060405180910390a15b6000871115612cbf57600060176000898152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2876000604051808381526020018281526020019250505060405180910390a15b6000861115612d2257600060176000888152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2866000604051808381526020018281526020019250505060405180910390a15b6000851115612d8557600060176000878152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2856000604051808381526020018281526020019250505060405180910390a15b6000841115612de857600060176000868152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2846000604051808381526020018281526020019250505060405180910390a15b6000831115612e4b57600060176000858152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836000604051808381526020018281526020019250505060405180910390a15b6000821115612eae57600060176000848152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2826000604051808381526020018281526020019250505060405180910390a15b6000811115612f1157600060176000838152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2816000604051808381526020018281526020019250505060405180910390a15b50505050505050505050565b600080600080600080600260009054906101000a900460ff16151515612f4257600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550601560008781526020019081526020016000209450600085600101541415612fab57600080fd5b8460020160009054906101000a900460ff161580612fdc575085601660008981526020019081526020016000205414155b15612fe657600080fd5b61300a601488811515612ff557fe5b0460146101fe81151561300457fe5b046145c9565b935061303060148881151561301b57fe5b0660146101fe81151561302a57fe5b066145c9565b9250601960006305f5e100876001015481151561304957fe5b048152602001908152602001600020549150600082141561306a57600c5491505b8183840285860201111561307d57600080fd5b60105485600101541015156130d75760648560010154600854028115156130a057fe5b0493508360176000898152602001908152602001600020600082825401925050819055508385600101600082825403925050819055505b6014548560010154101561312d576012546130f6438760030154613212565b02905060145481866001015401111561311957601454856001018190555061312c565b8085600101600082825401925050819055505b5b6000601660008981526020019081526020016000208190555060008560020160006101000a81548160ff0219169083151502179055504385600301819055503373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a1087896101fe89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b60115481565b60125481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008183111561322657818303905061322b565b600090505b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806132dc575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156132e757600080fd5b8060196000848152602001908152602001600020819055505050565b6000806000806000600260009054906101000a900460ff1615151561332757600080fd5b600d54861015806133385750600086145b1561334257600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205494506015600086815260200190815260200160002093506000846001015414156133ab57600080fd5b8360020160009054906101000a900460ff16156133c757600080fd5b6013548460010154111561341e576133e3438560030154613212565b92506133f784600101546011548502613212565b925060135483101561341357601354846001018190555061341d565b8284600101819055505b5b61344260146101fe81151561342f57fe5b0460148881151561343c57fe5b046145c9565b925061346860146101fe81151561345557fe5b0660148881151561346257fe5b066145c9565b9150601960006305f5e100866001015481151561348157fe5b04815260200190815260200160002054905060008114156134a257600c5490505b808283028485020111156134b557600080fd5b6000601660008881526020019081526020016000205411156134d657600080fd5b6000601760008881526020019081526020016000205411156135315760176000878152602001908152602001600020548460010160008282540192505081905550600060176000888152602001908152602001600020819055505b60018460020160006101000a81548160ff0219169083151502179055504384600301819055508460166000888152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10866101fe8988600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a2505050505050565b6040805190810160405280600581526020017f454d4f4e4600000000000000000000000000000000000000000000000000000081525081565b6000601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613712575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561371d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561377b57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561384357600080fd5b6102c65a03f1151561385457600080fd5b5050506040518051905082111561386a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561391557600080fd5b6102c65a03f1151561392657600080fd5b5050506040518051905050505050565b600b5481565b6000806000806000600260009054906101000a900460ff1615151561396057600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205494506015600086815260200190815260200160002093508360020160009054906101000a900460ff161515613a305760135484600101541115613a26576139eb438560030154613212565b92506139ff84600101546011548502613212565b9250601354831015613a1b576013548460010181905550613a25565b8284600101819055505b5b4384600301819055505b600e5484600101541015613a4357600080fd5b60065484600101541015613a5657600080fd5b60065484600101540391506006548460010181905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515613b3457600080fd5b6102c65a03f11515613b4557600080fd5b50505060405180519050821115613b5b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3360646009548602811515613b8857fe5b046000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515613c1657600080fd5b6102c65a03f11515613c2757600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff167f34f1b4b50ab1fe8066f90e4b650517b54750c5450d115a4ca83183ba27d69b48868660010154604051808381526020018281526020019250505060405180910390a25050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613d40575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515613d4b57600080fd5b600060156000601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101541115613dae57600080fd5b6001601a6000828254019250508190555060156000601a5481526020019081526020016000209050828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081816001018190555060008160020160006101000a81548160ff021916908315150217905550438160030181905550601a54601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613e996003546144d6565b6003819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040518082815260200191505060405180910390a3505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515613f4b57600080fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491506015600083815260200190815260200160002090506000821480613fb5575060008160010154145b80613fc05750828214155b15613fca57600080fd5b6000613fd585611dff565b1115613fe057600080fd5b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b60135481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806141c8575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156141d357600080fd5b8060176000848152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e28282604051808381526020018281526020019250505060405180910390a15050565b6000806000806000808691505b601a54821115156142d6576015600083815260200190815260200160002090506000816001015411801561428757508060020160009054906101000a900460ff16155b156142c957818160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154836003015495509550955095506142ee565b8180600101925050614244565b60008060008083935081915080905095509550955095505b50509193509193565b601481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561435757600080fd5b60011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561443a576000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160392506101000a81548161ffff021916908361ffff1602179055505b50565b600060166000838152602001908152602001600020549050919050565b60085481565b600080600080925060009150600090505b6014600b54028110156144d1576000601660008381526020019081526020016000205411156144a1576001830192505b6000601760008381526020019081526020016000205411156144c4576001820191505b8080600101915050614471565b509091565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806145b4575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156145bf57600080fd5b80600c8190555050565b6000818311156145dd5781830390506145e3565b82820390505b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480614694575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561469f57600080fd5b84600e8190555083600f819055508260108190555081601181905550806012819055505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480614774575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561477f57600080fd5b83600581905550826006819055508160078190555080600b81905550600b54601402600d8190555050505050565b600080600080600060166000878152602001908152602001600020549450601560008681526020019081526020016000209050848160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826001015483600301549450945094509450509193509193565b600260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561488e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561490557806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806149b3575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156149be57600080fd5b6109c4601960008081526020019081526020016000208190555061038460196000600181526020019081526020016000208190555061019060196000600281526020019081526020016000208190555060e1601960006003815260200190815260200160002081905550609060196000600481526020019081526020016000208190555060516019600060058152602001908152602001600020819055506031601960006006815260200190815260200160002081905550603160196000600781526020019081526020016000208190555060246019600060088152602001908152602001600020819055506024601960006009815260200190815260200160002081905550602460196000600a8152602001908152602001600020819055506019806000600b8152602001908152602001600020819055506019806000600c8152602001908152602001600020819055506019806000600d8152602001908152602001600020819055506019806000600e815260200190815260200160002081905550601060196000600f8152602001908152602001600020819055506010601960006010815260200190815260200160002081905550601060196000601181526020019081526020016000208190555060106019600060128152602001908152602001600020819055506010601960006013815260200190815260200160002081905550600960196000601481526020019081526020016000208190555060096019600060158152602001908152602001600020819055506009601960006016815260200190815260200160002081905550600960196000601781526020019081526020016000208190555060096019600060188152602001908152602001600020819055506009601960006019815260200190815260200160002081905550565b600080600080600080601860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205495506015600087815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450806001015493508060020160009054906101000a900460ff169250806003015491505091939590929450565b600654815600a165627a7a723058202e381011d9b854766746043b631c24d570d8d47f821852e197e857cfc6d3fca90029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31
-----Decoded View---------------
Arg [0] : _tokenContract (address): 0x95dAaaB98046846bF4B2853e23cba236fa394A31
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31
Swarm Source
bzzr://2e381011d9b854766746043b631c24d570d8d47f821852e197e857cfc6d3fca9
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.