Feature Tip: Add private address tag to any address under My Name Tag !
Token migration announcement. Ether Tulips token contract has migrated to a new address.
ERC-721
Overview
Max Total Supply
9,839 ETHT
Holders
1,473 (0.00%)
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
12 ETHTLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TulipCore
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-22 */ pragma solidity ^0.4.18; contract AccessControl { address public owner; address[] public admins; modifier onlyOwner { require(msg.sender == owner); _; } modifier onlyAdmins { bool found = false; for (uint i = 0; i < admins.length; i++) { if (admins[i] == msg.sender) { found = true; break; } } require(found); _; } function addAdmin(address _adminAddress) public onlyOwner { admins.push(_adminAddress); } } contract ERC721 { // Required Functions function implementsERC721() public pure returns (bool); function totalSupply() public view returns (uint256); function balanceOf(address _owner) public view returns (uint256); function ownerOf(uint256 _tokenId) public view returns (address); function transfer(address _to, uint _tokenId) public; function approve(address _to, uint256 _tokenId) public; function transferFrom(address _from, address _to, uint256 _tokenId) public; // Optional Functions function name() public pure returns (string); function symbol() public pure returns (string); function tokenOfOwnerByIndex(address _owner, uint256 _index) public view returns (uint256); // function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl); // Required Events event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); } contract TulipBase is AccessControl { struct Tulip { uint256 genes; uint256 createTime; bytes32 name; } Tulip[] public tulips; mapping (uint256 => address) public tulipToOwner; mapping (address => uint256[]) internal ownerToTulips; mapping (uint256 => address) public tulipToApproved; function _generateTulip(bytes32 _name, address _owner, uint16 _gen) internal returns (uint256 id) { id = tulips.length; uint256 createTime = block.timestamp; // Insecure RNG, but good enough for our purposes uint256 seed = uint(block.blockhash(block.number - 1)) + uint(block.blockhash(block.number - 100)) + uint(block.coinbase) + createTime + id; uint256 traits = uint256(keccak256(seed)); // last 16 bits are generation number uint256 genes = traits / 0x10000 * 0x10000 + _gen; Tulip memory newTulip = Tulip(genes, createTime, _name); tulips.push(newTulip); tulipToOwner[id] = _owner; ownerToTulips[_owner].push(id); } function _transferTulip(address _from, address _to, uint256 _id) internal { tulipToOwner[_id] = _to; ownerToTulips[_to].push(_id); tulipToApproved[_id] = address(0); uint256[] storage fromTulips = ownerToTulips[_from]; for (uint256 i = 0; i < fromTulips.length; i++) { if (fromTulips[i] == _id) { break; } } assert(i < fromTulips.length); fromTulips[i] = fromTulips[fromTulips.length - 1]; delete fromTulips[fromTulips.length - 1]; fromTulips.length--; } } contract TulipToken is TulipBase, ERC721 { function implementsERC721() public pure returns (bool) { return true; } function totalSupply() public view returns (uint256) { return tulips.length; } function balanceOf(address _owner) public view returns (uint256 balance) { return ownerToTulips[_owner].length; } function ownerOf(uint256 _tokenId) public view returns (address owner) { owner = tulipToOwner[_tokenId]; require(owner != address(0)); } function transfer(address _to, uint256 _tokenId) public { require(_to != address(0)); require(tulipToOwner[_tokenId] == msg.sender); _transferTulip(msg.sender, _to, _tokenId); Transfer(msg.sender, _to, _tokenId); } function approve(address _to, uint256 _tokenId) public { require(tulipToOwner[_tokenId] == msg.sender); tulipToApproved[_tokenId] = _to; Approval(msg.sender, _to, _tokenId); } function transferFrom(address _from, address _to, uint256 _tokenId) public { require(_to != address(0)); require(tulipToApproved[_tokenId] == msg.sender); require(tulipToOwner[_tokenId] == _from); _transferTulip(_from, _to, _tokenId); Transfer(_from, _to, _tokenId); } function name() public pure returns (string) { return "Ether Tulips"; } function symbol() public pure returns (string) { return "ETHT"; } function tokenOfOwnerByIndex(address _owner, uint256 _index) public view returns (uint256) { require(_index < ownerToTulips[_owner].length); return ownerToTulips[_owner][_index]; } // function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl); } contract TulipSales is TulipToken { event Purchase(address indexed owner, uint256 unitPrice, uint32 amount); uint128 public increasePeriod = 6000; // around 1 day uint128 public startBlock; uint256[] public genToStartPrice; uint256[23] internal exp15; function TulipSales() public { startBlock = uint128(block.number); genToStartPrice.push(10 finney); _setExp15(); } // The price increases from the starting price at a rate of 1.5x a day, until // a max of 10000x the original price. For gen 0, this corresponds to a cap // of 100 ETH. function price(uint16 _gen) public view returns (uint256) { require(_gen < genToStartPrice.length); uint128 periodsElapsed = (uint128(block.number) - startBlock) / increasePeriod; return _priceAtPeriod(periodsElapsed, _gen); } function nextPrice(uint16 _gen) public view returns (uint256 futurePrice, uint128 blocksRemaining, uint128 changeBlock) { require(_gen < genToStartPrice.length); uint128 periodsElapsed = (uint128(block.number) - startBlock) / increasePeriod; futurePrice = _priceAtPeriod(periodsElapsed + 1, _gen); blocksRemaining = increasePeriod - (uint128(block.number) - startBlock) % increasePeriod; changeBlock = uint128(block.number) + blocksRemaining; } function buyTulip(bytes32 _name, uint16 _gen) public payable returns (uint256 id) { require(_gen < genToStartPrice.length); require(msg.value == price(_gen)); id = _generateTulip(_name, msg.sender, _gen); Transfer(address(0), msg.sender, id); Purchase(msg.sender, price(_gen), 1); } function buyTulips(uint32 _amount, uint16 _gen) public payable returns (uint256 firstId) { require(_gen < genToStartPrice.length); require(msg.value == price(_gen) * _amount); require(_amount <= 100); for (uint32 i = 0; i < _amount; i++) { uint256 id = _generateTulip("", msg.sender, _gen); Transfer(address(0), msg.sender, id); if (i == 0) { firstId = id; } } Purchase(msg.sender, price(_gen), _amount); } function renameTulip(uint256 _id, bytes32 _name) public { require(tulipToOwner[_id] == msg.sender); tulips[_id].name = _name; } function addGen(uint256 _startPrice) public onlyAdmins { require(genToStartPrice.length < 65535); genToStartPrice.push(_startPrice); } function withdrawBalance(uint256 _amount) external onlyAdmins { require(_amount <= this.balance); msg.sender.transfer(_amount); } function _priceAtPeriod(uint128 _period, uint16 _gen) internal view returns (uint256) { if (_period >= exp15.length) { return genToStartPrice[_gen] * 10000; } else { return genToStartPrice[_gen] * exp15[_period] / 1 ether; } } // Set 1 ETH * 1.5^i for 0 <= i <= 22 with 3 significant figures function _setExp15() internal { exp15 = [ 1000 finney, 1500 finney, 2250 finney, 3380 finney, 5060 finney, 7590 finney, 11400 finney, 17100 finney, 25600 finney, 38400 finney, 57700 finney, 86500 finney, 130 ether, 195 ether, 292 ether, 438 ether, 657 ether, 985 ether, 1480 ether, 2220 ether, 3330 ether, 4990 ether, 7480 ether ]; } } contract TulipCore is TulipSales { event ContractUpgrade(address newContract); event MaintenanceUpdate(bool maintenance); bool public underMaintenance = false; bool public deprecated = false; address public newContractAddress; function TulipCore() public { owner = msg.sender; } function getTulip(uint256 _id) public view returns ( uint256 genes, uint256 createTime, string name ) { Tulip storage tulip = tulips[_id]; genes = tulip.genes; createTime = tulip.createTime; bytes memory byteArray = new bytes(32); for (uint8 i = 0; i < 32; i++) { byteArray[i] = tulip.name[i]; } name = string(byteArray); } function myTulips() public view returns (uint256[]) { uint256[] memory tulipsMemory = ownerToTulips[msg.sender]; return tulipsMemory; } function myTulipsBatched(uint256 _startIndex, uint16 _maxAmount) public view returns ( uint256[] tulipIds, uint256 amountRemaining ) { uint256[] storage tulipArr = ownerToTulips[msg.sender]; int256 j = int256(tulipArr.length) - 1 - int256(_startIndex); uint256 amount = _maxAmount; if (j < 0) { return ( new uint256[](0), 0 ); } else if (j + 1 < _maxAmount) { amount = uint256(j + 1); } uint256[] memory resultIds = new uint256[](amount); for (uint16 i = 0; i < amount; i++) { resultIds[i] = tulipArr[uint256(j)]; j--; } return ( resultIds, uint256(j+1) ); } function setMaintenance(bool _underMaintenance) public onlyAdmins { underMaintenance = _underMaintenance; MaintenanceUpdate(underMaintenance); } function upgradeContract(address _newContractAddress) public onlyAdmins { newContractAddress = _newContractAddress; deprecated = true; ContractUpgrade(_newContractAddress); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"myTulips","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deprecated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"admins","outputs":[{"name":"","type":"address"}],"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":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_name","type":"bytes32"}],"name":"renameTulip","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tulipToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"genToStartPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startBlock","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"underMaintenance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_underMaintenance","type":"bool"}],"name":"setMaintenance","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"newContractAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_adminAddress","type":"address"}],"name":"addAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tulipToApproved","outputs":[{"name":"","type":"address"}],"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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_startIndex","type":"uint256"},{"name":"_maxAmount","type":"uint16"}],"name":"myTulipsBatched","outputs":[{"name":"tulipIds","type":"uint256[]"},{"name":"amountRemaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_startPrice","type":"uint256"}],"name":"addGen","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tulips","outputs":[{"name":"genes","type":"uint256"},{"name":"createTime","type":"uint256"},{"name":"name","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint32"},{"name":"_gen","type":"uint16"}],"name":"buyTulips","outputs":[{"name":"firstId","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_gen","type":"uint16"}],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"increasePeriod","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdrawBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_gen","type":"uint16"}],"name":"nextPrice","outputs":[{"name":"futurePrice","type":"uint256"},{"name":"blocksRemaining","type":"uint128"},{"name":"changeBlock","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newContractAddress","type":"address"}],"name":"upgradeContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"bytes32"},{"name":"_gen","type":"uint16"}],"name":"buyTulip","outputs":[{"name":"id","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"getTulip","outputs":[{"name":"genes","type":"uint256"},{"name":"createTime","type":"uint256"},{"name":"name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newContract","type":"address"}],"name":"ContractUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"maintenance","type":"bool"}],"name":"MaintenanceUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"unitPrice","type":"uint256"},{"indexed":false,"name":"amount","type":"uint32"}],"name":"Purchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
6060604052611770600660006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000601f60006101000a81548160ff0219169083151502179055506000601f60016101000a81548160ff02191690831515021790555034156200008157600080fd5b43600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060078054806001018281620000d09190620003d7565b91600052602060002090016000662386f26fc10000909190915055506200010a6200015064010000000002620026b0176401000000009004565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000481565b6102e060405190810160405280670de0b6b3a764000069ffffffffffffffffffff1681526020016714d1120d7b16000069ffffffffffffffffffff168152602001671f399b1438a1000069ffffffffffffffffffff168152602001672ee82c178cd2000069ffffffffffffffffffff168152602001674638bb30e37a000069ffffffffffffffffffff16815260200167695518c95537000069ffffffffffffffffffff168152602001679e34ef99a774000069ffffffffffffffffffff16815260200167ed4f67667b2e000069ffffffffffffffffffff16815260200168016345785d8a00000069ffffffffffffffffffff168152602001680214e8348c4f00000069ffffffffffffffffffff168152602001680320bf944ad40a000069ffffffffffffffffffff1681526020016804b06dbbb40f4a000069ffffffffffffffffffff16815260200168070c1cc73b00c8000069ffffffffffffffffffff168152602001680a922b2ad8812c000069ffffffffffffffffffff168152602001680fd45064eaee10000069ffffffffffffffffffff1681526020016817be7897606518000069ffffffffffffffffffff16815260200168239db4e31097a4000069ffffffffffffffffffff1681526020016835659ef93f0fc4000069ffffffffffffffffffff16815260200168503b203e9fba20000069ffffffffffffffffffff168152602001687858b05def9730000069ffffffffffffffffffff16815260200168b485088ce762c8000069ffffffffffffffffffff16815260200169010e822941d8cf38000069ffffffffffffffffffff1681526020016901957dda5142f1e0000069ffffffffffffffffffff168152506008906017620003d492919062000406565b50565b815481835581811511620004015781836000526020600020918201910162000400919062000459565b5b505050565b826017810192821562000446579160200282015b8281111562000445578251829069ffffffffffffffffffff169055916020019190600101906200041a565b5b50905062000455919062000459565b5090565b6200047e91905b808211156200047a57600081600090555060010162000460565b5090565b90565b6129af80620004916000396000f3006060604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ebebf2146101b157806306fdde031461021b578063095ea7b3146102a95780630e136b19146102eb5780631051db341461031857806314bfd6d01461034557806318160ddd146103a857806323b872dd146103d157806326605772146104325780632f745c591461046257806336e4e8fd146104b857806345f28e771461051b57806348cd4cb1146105525780635a41217e1461059f578063612f2f37146105cc5780636352211e146105f15780636af04a571461065457806370480275146106a957806370a08231146106e257806372a0c16e1461072f5780638da5cb5b1461079257806395d89b41146107e75780639d5708ff14610875578063a9059cbb14610901578063aed2e7d414610943578063af794a4f14610966578063b7c9da33146109b3578063b95bb4f8146109f2578063d63e6ce714610a2d578063da76d5cd14610a7a578063df0c7a5514610a9d578063eb2c022314610b2e578063ee0f809e14610b67578063fecd348614610ba4575b600080fd5b34156101bc57600080fd5b6101c4610c4e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102075780820151818401526020810190506101ec565b505050509050019250505060405180910390f35b341561022657600080fd5b61022e610cf5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026e578082015181840152602081019050610253565b50505050905090810190601f16801561029b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102b457600080fd5b6102e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d38565b005b34156102f657600080fd5b6102fe610e56565b604051808215151515815260200191505060405180910390f35b341561032357600080fd5b61032b610e69565b604051808215151515815260200191505060405180910390f35b341561035057600080fd5b6103666004808035906020019091905050610e72565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103b357600080fd5b6103bb610eb1565b6040518082815260200191505060405180910390f35b34156103dc57600080fd5b610430600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebe565b005b341561043d57600080fd5b61046060048080359060200190919080356000191690602001909190505061103f565b005b341561046d57600080fd5b6104a2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110d9565b6040518082815260200191505060405180910390f35b34156104c357600080fd5b6104d9600480803590602001909190505061118b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561052657600080fd5b61053c60048080359060200190919050506111be565b6040518082815260200191505060405180910390f35b341561055d57600080fd5b6105656111e2565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105aa57600080fd5b6105b2611204565b604051808215151515815260200191505060405180910390f35b34156105d757600080fd5b6105ef60048080351515906020019091905050611217565b005b34156105fc57600080fd5b6106126004808035906020019091905050611329565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561065f57600080fd5b6106676113a2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106b457600080fd5b6106e0600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113c8565b005b34156106ed57600080fd5b610719600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611489565b6040518082815260200191505060405180910390f35b341561073a57600080fd5b61075060048080359060200190919050506114d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561079d57600080fd5b6107a5611508565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107f257600080fd5b6107fa61152d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083a57808201518184015260208101905061081f565b50505050905090810190601f1680156108675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561088057600080fd5b6108a3600480803590602001909190803561ffff16906020019091905050611570565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b838110156108ec5780820151818401526020810190506108d1565b50505050905001935050505060405180910390f35b341561090c57600080fd5b610941600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506116c4565b005b341561094e57600080fd5b61096460048080359060200190919050506117d7565b005b341561097157600080fd5b61098760048080359060200190919050506118c3565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b6109dc600480803563ffffffff1690602001909190803561ffff169060200190919050506118fc565b6040518082815260200191505060405180910390f35b34156109fd57600080fd5b610a17600480803561ffff16906020019091905050611a61565b6040518082815260200191505060405180910390f35b3415610a3857600080fd5b610a40611afd565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a8557600080fd5b610a9b6004808035906020019091905050611b1f565b005b3415610aa857600080fd5b610ac2600480803561ffff16906020019091905050611c33565b60405180848152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001935050505060405180910390f35b3415610b3957600080fd5b610b65600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d6c565b005b610b8e60048080356000191690602001909190803561ffff16906020019091905050611ed9565b6040518082815260200191505060405180910390f35b3415610baf57600080fd5b610bc56004808035906020019091905050611fdc565b6040518084815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c11578082015181840152602081019050610bf6565b50505050905090810190601f168015610c3e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b610c56612569565b610c5e612569565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610ce757602002820191906000526020600020905b815481526020019060010190808311610cd3575b505050505090508091505090565b610cfd61257d565b6040805190810160405280600c81526020017f45746865722054756c6970730000000000000000000000000000000000000000815250905090565b3373ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610da557600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b601f60019054906101000a900460ff1681565b60006001905090565b600181815481101515610e8157fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280549050905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610efa57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610f6757600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610fd457600080fd5b610fdf8383836120ea565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b3373ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156110ac57600080fd5b806002838154811015156110bc57fe5b906000526020600020906003020160020181600019169055505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508210151561112b57600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561117757fe5b906000526020600020900154905092915050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007818154811015156111cd57fe5b90600052602060002090016000915090505481565b600660109054906101000a90046fffffffffffffffffffffffffffffffff1681565b601f60009054906101000a900460ff1681565b60008060009150600090505b6001805490508110156112b4573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561125657fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112a757600191506112b4565b8080600101915050611223565b8115156112c057600080fd5b82601f60006101000a81548160ff0219169083151502179055507fa74f277a6df77bc82a78197c46ad925095d31e26f4860f2273e09a82a66c06af601f60009054906101000a900460ff16604051808215151515815260200191505060405180910390a1505050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561139d57600080fd5b919050565b601f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561142357600080fd5b600180548060010182816114379190612591565b9160005260206000209001600083909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61153561257d565b6040805190810160405280600481526020017f4554485400000000000000000000000000000000000000000000000000000000815250905090565b611578612569565b600080600080611586612569565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002094508860018680549050030393508761ffff16925060008412156116165760006040518059106115f45750595b90808252806020026020018201604052506000819150809050965096506116b8565b8761ffff1660018501121561162c576001840192505b8260405180591061163a5750595b90808252806020026020018201604052509150600090505b828161ffff1610156116ae57848481548110151561166c57fe5b906000526020600020900154828261ffff1681518110151561168a57fe5b90602001906020020181815250508380600190039450508080600101915050611652565b8160018501965096505b50505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561170057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561176d57600080fd5b6117783383836120ea565b808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60008060009150600090505b600180549050811015611874573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561181657fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156118675760019150611874565b80806001019150506117e3565b81151561188057600080fd5b61ffff60078054905010151561189557600080fd5b600780548060010182816118a991906125bd565b916000526020600020900160008590919091505550505050565b6002818154811015156118d257fe5b90600052602060002090600302016000915090508060000154908060010154908060020154905083565b60008060006007805490508461ffff1610151561191857600080fd5b8463ffffffff1661192885611a61565b023414151561193657600080fd5b60648563ffffffff161115151561194c57600080fd5b600091505b8463ffffffff168263ffffffff1610156119ef576119716000338661230a565b9050803373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a460008263ffffffff1614156119e2578092505b8180600101925050611951565b3373ffffffffffffffffffffffffffffffffffffffff167f433740f8fe758f5e94cce874551487537d73ef9c50141dd28124b9f7ea331395611a3086611a61565b87604051808381526020018263ffffffff1663ffffffff1681526020019250505060405180910390a2505092915050565b6000806007805490508361ffff16101515611a7b57600080fd5b600660009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600660109054906101000a90046fffffffffffffffffffffffffffffffff1643036fffffffffffffffffffffffffffffffff16811515611ae857fe5b049050611af581846124c2565b915050919050565b600660009054906101000a90046fffffffffffffffffffffffffffffffff1681565b60008060009150600090505b600180549050811015611bbc573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611b5e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611baf5760019150611bbc565b8080600101915050611b2b565b811515611bc857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318311151515611bee57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501515611c2e57600080fd5b505050565b6000806000806007805490508561ffff16101515611c5057600080fd5b600660009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600660109054906101000a90046fffffffffffffffffffffffffffffffff1643036fffffffffffffffffffffffffffffffff16811515611cbd57fe5b049050611ccd60018201866124c2565b9350600660009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600660109054906101000a90046fffffffffffffffffffffffffffffffff1643036fffffffffffffffffffffffffffffffff16811515611d3c57fe5b06600660009054906101000a90046fffffffffffffffffffffffffffffffff160392508243019150509193909250565b60008060009150600090505b600180549050811015611e09573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611dab57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611dfc5760019150611e09565b8080600101915050611d78565b811515611e1557600080fd5b82601f60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601f60016101000a81548160ff0219169083151502179055507f450db8da6efbe9c22f2347f7c2021231df1fc58d3ae9a2fa75d39fa44619930583604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b60006007805490508261ffff16101515611ef257600080fd5b611efb82611a61565b34141515611f0857600080fd5b611f1383338461230a565b9050803373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a43373ffffffffffffffffffffffffffffffffffffffff167f433740f8fe758f5e94cce874551487537d73ef9c50141dd28124b9f7ea331395611fb284611a61565b6001604051808381526020018263ffffffff1681526020019250505060405180910390a292915050565b600080611fe761257d565b6000611ff16125e9565b600060028781548110151561200257fe5b906000526020600020906003020192508260000154955082600101549450602060405180591061202f5750595b9080825280601f01601f19166020018201604052509150600090505b60208160ff1610156120dd5782600201548160ff1660208110151561206c57fe5b1a7f010000000000000000000000000000000000000000000000000000000000000002828260ff168151811015156120a057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808060010191505061204b565b8193505050509193909250565b600080836003600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161219091906125bd565b91600052602060002090016000859091909150555060006005600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150600090505b818054905081101561227d5782828281548110151561225957fe5b90600052602060002090015414156122705761227d565b808060010191505061223e565b81805490508110151561228c57fe5b8160018380549050038154811015156122a157fe5b90600052602060002090015482828154811015156122bb57fe5b9060005260206000209001819055508160018380549050038154811015156122df57fe5b9060005260206000209001600090558180548091906001900361230291906125bd565b505050505050565b600080600080600061231a6125fd565b600280549050955042945085854173ffffffffffffffffffffffffffffffffffffffff16606443034060019004600143034060019004010101019350836040518082815260200191505060405180910390206001900492508661ffff1662010000808581151561238657fe5b04020191506060604051908101604052808381526020018681526020018a600019168152509050600280548060010182816123c19190612622565b91600052602060002090600302016000839091909150600082015181600001556020820151816001015560408201518160020190600019169055505050876003600088815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816124a191906125bd565b91600052602060002090016000889091909150555050505050509392505050565b60006017836fffffffffffffffffffffffffffffffff1610151561250a5761271060078361ffff168154811015156124f657fe5b906000526020600020900154029050612563565b670de0b6b3a76400006008846fffffffffffffffffffffffffffffffff1660178110151561253457fe5b015460078461ffff1681548110151561254957fe5b9060005260206000209001540281151561255f57fe5b0490505b92915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b8154818355818115116125b8578183600052602060002091820191016125b79190612654565b5b505050565b8154818355818115116125e4578183600052602060002091820191016125e39190612654565b5b505050565b602060405190810160405280600081525090565b6060604051908101604052806000815260200160008152602001600080191681525090565b81548183558181151161264f5760030281600302836000526020600020918201910161264e9190612679565b5b505050565b61267691905b8082111561267257600081600090555060010161265a565b5090565b90565b6126ad91905b808211156126a957600080820160009055600182016000905560028201600090555060030161267f565b5090565b90565b6102e060405190810160405280670de0b6b3a764000069ffffffffffffffffffff1681526020016714d1120d7b16000069ffffffffffffffffffff168152602001671f399b1438a1000069ffffffffffffffffffff168152602001672ee82c178cd2000069ffffffffffffffffffff168152602001674638bb30e37a000069ffffffffffffffffffff16815260200167695518c95537000069ffffffffffffffffffff168152602001679e34ef99a774000069ffffffffffffffffffff16815260200167ed4f67667b2e000069ffffffffffffffffffff16815260200168016345785d8a00000069ffffffffffffffffffff168152602001680214e8348c4f00000069ffffffffffffffffffff168152602001680320bf944ad40a000069ffffffffffffffffffff1681526020016804b06dbbb40f4a000069ffffffffffffffffffff16815260200168070c1cc73b00c8000069ffffffffffffffffffff168152602001680a922b2ad8812c000069ffffffffffffffffffff168152602001680fd45064eaee10000069ffffffffffffffffffff1681526020016817be7897606518000069ffffffffffffffffffff16815260200168239db4e31097a4000069ffffffffffffffffffff1681526020016835659ef93f0fc4000069ffffffffffffffffffff16815260200168503b203e9fba20000069ffffffffffffffffffff168152602001687858b05def9730000069ffffffffffffffffffff16815260200168b485088ce762c8000069ffffffffffffffffffff16815260200169010e822941d8cf38000069ffffffffffffffffffff1681526020016901957dda5142f1e0000069ffffffffffffffffffff168152506008906017612932929190612935565b50565b8260178101928215612972579160200282015b82811115612971578251829069ffffffffffffffffffff16905591602001919060010190612948565b5b50905061297f9190612654565b50905600a165627a7a72305820042129687ba89f2763e1e2f1e9d45c1068190b0da0fa136f1ca2027af5b79bae0029
Deployed Bytecode
0x6060604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ebebf2146101b157806306fdde031461021b578063095ea7b3146102a95780630e136b19146102eb5780631051db341461031857806314bfd6d01461034557806318160ddd146103a857806323b872dd146103d157806326605772146104325780632f745c591461046257806336e4e8fd146104b857806345f28e771461051b57806348cd4cb1146105525780635a41217e1461059f578063612f2f37146105cc5780636352211e146105f15780636af04a571461065457806370480275146106a957806370a08231146106e257806372a0c16e1461072f5780638da5cb5b1461079257806395d89b41146107e75780639d5708ff14610875578063a9059cbb14610901578063aed2e7d414610943578063af794a4f14610966578063b7c9da33146109b3578063b95bb4f8146109f2578063d63e6ce714610a2d578063da76d5cd14610a7a578063df0c7a5514610a9d578063eb2c022314610b2e578063ee0f809e14610b67578063fecd348614610ba4575b600080fd5b34156101bc57600080fd5b6101c4610c4e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102075780820151818401526020810190506101ec565b505050509050019250505060405180910390f35b341561022657600080fd5b61022e610cf5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026e578082015181840152602081019050610253565b50505050905090810190601f16801561029b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102b457600080fd5b6102e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d38565b005b34156102f657600080fd5b6102fe610e56565b604051808215151515815260200191505060405180910390f35b341561032357600080fd5b61032b610e69565b604051808215151515815260200191505060405180910390f35b341561035057600080fd5b6103666004808035906020019091905050610e72565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103b357600080fd5b6103bb610eb1565b6040518082815260200191505060405180910390f35b34156103dc57600080fd5b610430600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebe565b005b341561043d57600080fd5b61046060048080359060200190919080356000191690602001909190505061103f565b005b341561046d57600080fd5b6104a2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110d9565b6040518082815260200191505060405180910390f35b34156104c357600080fd5b6104d9600480803590602001909190505061118b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561052657600080fd5b61053c60048080359060200190919050506111be565b6040518082815260200191505060405180910390f35b341561055d57600080fd5b6105656111e2565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105aa57600080fd5b6105b2611204565b604051808215151515815260200191505060405180910390f35b34156105d757600080fd5b6105ef60048080351515906020019091905050611217565b005b34156105fc57600080fd5b6106126004808035906020019091905050611329565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561065f57600080fd5b6106676113a2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106b457600080fd5b6106e0600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113c8565b005b34156106ed57600080fd5b610719600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611489565b6040518082815260200191505060405180910390f35b341561073a57600080fd5b61075060048080359060200190919050506114d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561079d57600080fd5b6107a5611508565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107f257600080fd5b6107fa61152d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083a57808201518184015260208101905061081f565b50505050905090810190601f1680156108675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561088057600080fd5b6108a3600480803590602001909190803561ffff16906020019091905050611570565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b838110156108ec5780820151818401526020810190506108d1565b50505050905001935050505060405180910390f35b341561090c57600080fd5b610941600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506116c4565b005b341561094e57600080fd5b61096460048080359060200190919050506117d7565b005b341561097157600080fd5b61098760048080359060200190919050506118c3565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b6109dc600480803563ffffffff1690602001909190803561ffff169060200190919050506118fc565b6040518082815260200191505060405180910390f35b34156109fd57600080fd5b610a17600480803561ffff16906020019091905050611a61565b6040518082815260200191505060405180910390f35b3415610a3857600080fd5b610a40611afd565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a8557600080fd5b610a9b6004808035906020019091905050611b1f565b005b3415610aa857600080fd5b610ac2600480803561ffff16906020019091905050611c33565b60405180848152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001935050505060405180910390f35b3415610b3957600080fd5b610b65600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d6c565b005b610b8e60048080356000191690602001909190803561ffff16906020019091905050611ed9565b6040518082815260200191505060405180910390f35b3415610baf57600080fd5b610bc56004808035906020019091905050611fdc565b6040518084815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c11578082015181840152602081019050610bf6565b50505050905090810190601f168015610c3e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b610c56612569565b610c5e612569565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610ce757602002820191906000526020600020905b815481526020019060010190808311610cd3575b505050505090508091505090565b610cfd61257d565b6040805190810160405280600c81526020017f45746865722054756c6970730000000000000000000000000000000000000000815250905090565b3373ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610da557600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b601f60019054906101000a900460ff1681565b60006001905090565b600181815481101515610e8157fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280549050905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610efa57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610f6757600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610fd457600080fd5b610fdf8383836120ea565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b3373ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156110ac57600080fd5b806002838154811015156110bc57fe5b906000526020600020906003020160020181600019169055505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508210151561112b57600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561117757fe5b906000526020600020900154905092915050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007818154811015156111cd57fe5b90600052602060002090016000915090505481565b600660109054906101000a90046fffffffffffffffffffffffffffffffff1681565b601f60009054906101000a900460ff1681565b60008060009150600090505b6001805490508110156112b4573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561125657fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112a757600191506112b4565b8080600101915050611223565b8115156112c057600080fd5b82601f60006101000a81548160ff0219169083151502179055507fa74f277a6df77bc82a78197c46ad925095d31e26f4860f2273e09a82a66c06af601f60009054906101000a900460ff16604051808215151515815260200191505060405180910390a1505050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561139d57600080fd5b919050565b601f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561142357600080fd5b600180548060010182816114379190612591565b9160005260206000209001600083909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61153561257d565b6040805190810160405280600481526020017f4554485400000000000000000000000000000000000000000000000000000000815250905090565b611578612569565b600080600080611586612569565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002094508860018680549050030393508761ffff16925060008412156116165760006040518059106115f45750595b90808252806020026020018201604052506000819150809050965096506116b8565b8761ffff1660018501121561162c576001840192505b8260405180591061163a5750595b90808252806020026020018201604052509150600090505b828161ffff1610156116ae57848481548110151561166c57fe5b906000526020600020900154828261ffff1681518110151561168a57fe5b90602001906020020181815250508380600190039450508080600101915050611652565b8160018501965096505b50505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561170057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561176d57600080fd5b6117783383836120ea565b808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60008060009150600090505b600180549050811015611874573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561181657fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156118675760019150611874565b80806001019150506117e3565b81151561188057600080fd5b61ffff60078054905010151561189557600080fd5b600780548060010182816118a991906125bd565b916000526020600020900160008590919091505550505050565b6002818154811015156118d257fe5b90600052602060002090600302016000915090508060000154908060010154908060020154905083565b60008060006007805490508461ffff1610151561191857600080fd5b8463ffffffff1661192885611a61565b023414151561193657600080fd5b60648563ffffffff161115151561194c57600080fd5b600091505b8463ffffffff168263ffffffff1610156119ef576119716000338661230a565b9050803373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a460008263ffffffff1614156119e2578092505b8180600101925050611951565b3373ffffffffffffffffffffffffffffffffffffffff167f433740f8fe758f5e94cce874551487537d73ef9c50141dd28124b9f7ea331395611a3086611a61565b87604051808381526020018263ffffffff1663ffffffff1681526020019250505060405180910390a2505092915050565b6000806007805490508361ffff16101515611a7b57600080fd5b600660009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600660109054906101000a90046fffffffffffffffffffffffffffffffff1643036fffffffffffffffffffffffffffffffff16811515611ae857fe5b049050611af581846124c2565b915050919050565b600660009054906101000a90046fffffffffffffffffffffffffffffffff1681565b60008060009150600090505b600180549050811015611bbc573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611b5e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611baf5760019150611bbc565b8080600101915050611b2b565b811515611bc857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318311151515611bee57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501515611c2e57600080fd5b505050565b6000806000806007805490508561ffff16101515611c5057600080fd5b600660009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600660109054906101000a90046fffffffffffffffffffffffffffffffff1643036fffffffffffffffffffffffffffffffff16811515611cbd57fe5b049050611ccd60018201866124c2565b9350600660009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600660109054906101000a90046fffffffffffffffffffffffffffffffff1643036fffffffffffffffffffffffffffffffff16811515611d3c57fe5b06600660009054906101000a90046fffffffffffffffffffffffffffffffff160392508243019150509193909250565b60008060009150600090505b600180549050811015611e09573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611dab57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611dfc5760019150611e09565b8080600101915050611d78565b811515611e1557600080fd5b82601f60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601f60016101000a81548160ff0219169083151502179055507f450db8da6efbe9c22f2347f7c2021231df1fc58d3ae9a2fa75d39fa44619930583604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b60006007805490508261ffff16101515611ef257600080fd5b611efb82611a61565b34141515611f0857600080fd5b611f1383338461230a565b9050803373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a43373ffffffffffffffffffffffffffffffffffffffff167f433740f8fe758f5e94cce874551487537d73ef9c50141dd28124b9f7ea331395611fb284611a61565b6001604051808381526020018263ffffffff1681526020019250505060405180910390a292915050565b600080611fe761257d565b6000611ff16125e9565b600060028781548110151561200257fe5b906000526020600020906003020192508260000154955082600101549450602060405180591061202f5750595b9080825280601f01601f19166020018201604052509150600090505b60208160ff1610156120dd5782600201548160ff1660208110151561206c57fe5b1a7f010000000000000000000000000000000000000000000000000000000000000002828260ff168151811015156120a057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808060010191505061204b565b8193505050509193909250565b600080836003600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161219091906125bd565b91600052602060002090016000859091909150555060006005600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150600090505b818054905081101561227d5782828281548110151561225957fe5b90600052602060002090015414156122705761227d565b808060010191505061223e565b81805490508110151561228c57fe5b8160018380549050038154811015156122a157fe5b90600052602060002090015482828154811015156122bb57fe5b9060005260206000209001819055508160018380549050038154811015156122df57fe5b9060005260206000209001600090558180548091906001900361230291906125bd565b505050505050565b600080600080600061231a6125fd565b600280549050955042945085854173ffffffffffffffffffffffffffffffffffffffff16606443034060019004600143034060019004010101019350836040518082815260200191505060405180910390206001900492508661ffff1662010000808581151561238657fe5b04020191506060604051908101604052808381526020018681526020018a600019168152509050600280548060010182816123c19190612622565b91600052602060002090600302016000839091909150600082015181600001556020820151816001015560408201518160020190600019169055505050876003600088815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816124a191906125bd565b91600052602060002090016000889091909150555050505050509392505050565b60006017836fffffffffffffffffffffffffffffffff1610151561250a5761271060078361ffff168154811015156124f657fe5b906000526020600020900154029050612563565b670de0b6b3a76400006008846fffffffffffffffffffffffffffffffff1660178110151561253457fe5b015460078461ffff1681548110151561254957fe5b9060005260206000209001540281151561255f57fe5b0490505b92915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b8154818355818115116125b8578183600052602060002091820191016125b79190612654565b5b505050565b8154818355818115116125e4578183600052602060002091820191016125e39190612654565b5b505050565b602060405190810160405280600081525090565b6060604051908101604052806000815260200160008152602001600080191681525090565b81548183558181151161264f5760030281600302836000526020600020918201910161264e9190612679565b5b505050565b61267691905b8082111561267257600081600090555060010161265a565b5090565b90565b6126ad91905b808211156126a957600080820160009055600182016000905560028201600090555060030161267f565b5090565b90565b6102e060405190810160405280670de0b6b3a764000069ffffffffffffffffffff1681526020016714d1120d7b16000069ffffffffffffffffffff168152602001671f399b1438a1000069ffffffffffffffffffff168152602001672ee82c178cd2000069ffffffffffffffffffff168152602001674638bb30e37a000069ffffffffffffffffffff16815260200167695518c95537000069ffffffffffffffffffff168152602001679e34ef99a774000069ffffffffffffffffffff16815260200167ed4f67667b2e000069ffffffffffffffffffff16815260200168016345785d8a00000069ffffffffffffffffffff168152602001680214e8348c4f00000069ffffffffffffffffffff168152602001680320bf944ad40a000069ffffffffffffffffffff1681526020016804b06dbbb40f4a000069ffffffffffffffffffff16815260200168070c1cc73b00c8000069ffffffffffffffffffff168152602001680a922b2ad8812c000069ffffffffffffffffffff168152602001680fd45064eaee10000069ffffffffffffffffffff1681526020016817be7897606518000069ffffffffffffffffffff16815260200168239db4e31097a4000069ffffffffffffffffffff1681526020016835659ef93f0fc4000069ffffffffffffffffffff16815260200168503b203e9fba20000069ffffffffffffffffffff168152602001687858b05def9730000069ffffffffffffffffffff16815260200168b485088ce762c8000069ffffffffffffffffffff16815260200169010e822941d8cf38000069ffffffffffffffffffff1681526020016901957dda5142f1e0000069ffffffffffffffffffff168152506008906017612932929190612935565b50565b8260178101928215612972579160200282015b82811115612971578251829069ffffffffffffffffffff16905591602001919060010190612948565b5b50905061297f9190612654565b50905600a165627a7a72305820042129687ba89f2763e1e2f1e9d45c1068190b0da0fa136f1ca2027af5b79bae0029
Swarm Source
bzzr://042129687ba89f2763e1e2f1e9d45c1068190b0da0fa136f1ca2027af5b79bae
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.