ERC-20
Overview
Max Total Supply
25,600 🐱
Holders
587
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
0 🐱Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MoonCatRescue
Compiler Version
v0.4.14+commit.c2215d46
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-08-09 */ pragma solidity ^0.4.13; contract MoonCatRescue { enum Modes { Inactive, Disabled, Test, Live } Modes public mode = Modes.Inactive; address owner; bytes16 public imageGenerationCodeMD5 = 0xdbad5c08ec98bec48490e3c196eec683; // use this to verify mooncatparser.js the cat image data generation javascript file. string public name = "MoonCats"; string public symbol = "?"; // unicode cat symbol uint8 public decimals = 0; uint256 public totalSupply = 25600; uint16 public remainingCats = 25600 - 256; // there will only ever be 25,000 cats uint16 public remainingGenesisCats = 256; // there can only be a maximum of 256 genesis cats uint16 public rescueIndex = 0; bytes5[25600] public rescueOrder; bytes32 public searchSeed = 0x0; // gets set with the immediately preceding blockhash when the contract is activated to prevent "premining" struct AdoptionOffer { bool exists; bytes5 catId; address seller; uint price; address onlyOfferTo; } struct AdoptionRequest{ bool exists; bytes5 catId; address requester; uint price; } mapping (bytes5 => AdoptionOffer) public adoptionOffers; mapping (bytes5 => AdoptionRequest) public adoptionRequests; mapping (bytes5 => bytes32) public catNames; mapping (bytes5 => address) public catOwners; mapping (address => uint256) public balanceOf; //number of cats owned by a given address mapping (address => uint) public pendingWithdrawals; /* events */ event CatRescued(address indexed to, bytes5 indexed catId); event CatNamed(bytes5 indexed catId, bytes32 catName); event Transfer(address indexed from, address indexed to, uint256 value); event CatAdopted(bytes5 indexed catId, uint price, address indexed from, address indexed to); event AdoptionOffered(bytes5 indexed catId, uint price, address indexed toAddress); event AdoptionOfferCancelled(bytes5 indexed catId); event AdoptionRequested(bytes5 indexed catId, uint price, address indexed from); event AdoptionRequestCancelled(bytes5 indexed catId); event GenesisCatsAdded(bytes5[16] catIds); function MoonCatRescue() payable { owner = msg.sender; assert((remainingCats + remainingGenesisCats) == totalSupply); assert(rescueOrder.length == totalSupply); assert(rescueIndex == 0); } /* registers and validates cats that are found */ function rescueCat(bytes32 seed) activeMode returns (bytes5) { require(remainingCats > 0); // cannot register any cats once supply limit is reached bytes32 catIdHash = keccak256(seed, searchSeed); // generate the prospective catIdHash require(catIdHash[0] | catIdHash[1] | catIdHash[2] == 0x0); // ensures the validity of the catIdHash bytes5 catId = bytes5((catIdHash & 0xffffffff) << 216); // one byte to indicate genesis, and the last 4 bytes of the catIdHash require(catOwners[catId] == 0x0); // if the cat is already registered, throw an error. All cats are unique. rescueOrder[rescueIndex] = catId; rescueIndex++; catOwners[catId] = msg.sender; balanceOf[msg.sender]++; remainingCats--; CatRescued(msg.sender, catId); return catId; } /* assigns a name to a cat, once a name is assigned it cannot be changed */ function nameCat(bytes5 catId, bytes32 catName) onlyCatOwner(catId) { require(catNames[catId] == 0x0); // ensure the current name is empty; cats can only be named once require(!adoptionOffers[catId].exists); // cats cannot be named while they are up for adoption catNames[catId] = catName; CatNamed(catId, catName); } /* puts a cat up for anyone to adopt */ function makeAdoptionOffer(bytes5 catId, uint price) onlyCatOwner(catId) { require(price > 0); adoptionOffers[catId] = AdoptionOffer(true, catId, msg.sender, price, 0x0); AdoptionOffered(catId, price, 0x0); } /* puts a cat up for a specific address to adopt */ function makeAdoptionOfferToAddress(bytes5 catId, uint price, address to) onlyCatOwner(catId) isNotSender(to){ adoptionOffers[catId] = AdoptionOffer(true, catId, msg.sender, price, to); AdoptionOffered(catId, price, to); } /* cancel an adoption offer */ function cancelAdoptionOffer(bytes5 catId) onlyCatOwner(catId) { adoptionOffers[catId] = AdoptionOffer(false, catId, 0x0, 0, 0x0); AdoptionOfferCancelled(catId); } /* accepts an adoption offer */ function acceptAdoptionOffer(bytes5 catId) payable { AdoptionOffer storage offer = adoptionOffers[catId]; require(offer.exists); require(offer.onlyOfferTo == 0x0 || offer.onlyOfferTo == msg.sender); require(msg.value >= offer.price); if(msg.value > offer.price) { pendingWithdrawals[msg.sender] += (msg.value - offer.price); // if the submitted amount exceeds the price allow the buyer to withdraw the difference } transferCat(catId, catOwners[catId], msg.sender, offer.price); } /* transfer a cat directly without payment */ function giveCat(bytes5 catId, address to) onlyCatOwner(catId) { transferCat(catId, msg.sender, to, 0); } /* requests adoption of a cat with an ETH offer */ function makeAdoptionRequest(bytes5 catId) payable isNotSender(catOwners[catId]) { require(catOwners[catId] != 0x0); // the cat must be owned AdoptionRequest storage existingRequest = adoptionRequests[catId]; require(msg.value > 0); require(msg.value > existingRequest.price); if(existingRequest.price > 0) { pendingWithdrawals[existingRequest.requester] += existingRequest.price; } adoptionRequests[catId] = AdoptionRequest(true, catId, msg.sender, msg.value); AdoptionRequested(catId, msg.value, msg.sender); } /* allows the owner of the cat to accept an adoption request */ function acceptAdoptionRequest(bytes5 catId) onlyCatOwner(catId) { AdoptionRequest storage existingRequest = adoptionRequests[catId]; require(existingRequest.exists); address existingRequester = existingRequest.requester; uint existingPrice = existingRequest.price; adoptionRequests[catId] = AdoptionRequest(false, catId, 0x0, 0); // the adoption request must be cancelled before calling transferCat to prevent refunding the requester. transferCat(catId, msg.sender, existingRequester, existingPrice); } /* allows the requester to cancel their adoption request */ function cancelAdoptionRequest(bytes5 catId) { AdoptionRequest storage existingRequest = adoptionRequests[catId]; require(existingRequest.exists); require(existingRequest.requester == msg.sender); uint price = existingRequest.price; adoptionRequests[catId] = AdoptionRequest(false, catId, 0x0, 0); msg.sender.transfer(price); AdoptionRequestCancelled(catId); } function withdraw() { uint amount = pendingWithdrawals[msg.sender]; pendingWithdrawals[msg.sender] = 0; msg.sender.transfer(amount); } /* owner only functions */ /* disable contract before activation. A safeguard if a bug is found before the contract is activated */ function disableBeforeActivation() onlyOwner inactiveMode { mode = Modes.Disabled; // once the contract is disabled it's mode cannot be changed } /* activates the contract in *Live* mode which sets the searchSeed and enables rescuing */ function activate() onlyOwner inactiveMode { searchSeed = block.blockhash(block.number - 1); // once the searchSeed is set it cannot be changed; mode = Modes.Live; // once the contract is activated it's mode cannot be changed } /* activates the contract in *Test* mode which sets the searchSeed and enables rescuing */ function activateInTestMode() onlyOwner inactiveMode { // searchSeed = 0x5713bdf5d1c3398a8f12f881f0f03b5025b6f9c17a97441a694d5752beb92a3d; // once the searchSeed is set it cannot be changed; mode = Modes.Test; // once the contract is activated it's mode cannot be changed } /* add genesis cats in groups of 16 */ function addGenesisCatGroup() onlyOwner activeMode { require(remainingGenesisCats > 0); bytes5[16] memory newCatIds; uint256 price = (17 - (remainingGenesisCats / 16)) * 300000000000000000; for(uint8 i = 0; i < 16; i++) { uint16 genesisCatIndex = 256 - remainingGenesisCats; bytes5 genesisCatId = (bytes5(genesisCatIndex) << 24) | 0xff00000ca7; newCatIds[i] = genesisCatId; rescueOrder[rescueIndex] = genesisCatId; rescueIndex++; balanceOf[0x0]++; remainingGenesisCats--; adoptionOffers[genesisCatId] = AdoptionOffer(true, genesisCatId, owner, price, 0x0); } GenesisCatsAdded(newCatIds); } /* aggregate getters */ function getCatIds() constant returns (bytes5[]) { bytes5[] memory catIds = new bytes5[](rescueIndex); for (uint i = 0; i < rescueIndex; i++) { catIds[i] = rescueOrder[i]; } return catIds; } function getCatNames() constant returns (bytes32[]) { bytes32[] memory names = new bytes32[](rescueIndex); for (uint i = 0; i < rescueIndex; i++) { names[i] = catNames[rescueOrder[i]]; } return names; } function getCatOwners() constant returns (address[]) { address[] memory owners = new address[](rescueIndex); for (uint i = 0; i < rescueIndex; i++) { owners[i] = catOwners[rescueOrder[i]]; } return owners; } function getCatOfferPrices() constant returns (uint[]) { uint[] memory catOffers = new uint[](rescueIndex); for (uint i = 0; i < rescueIndex; i++) { bytes5 catId = rescueOrder[i]; if(adoptionOffers[catId].exists && adoptionOffers[catId].onlyOfferTo == 0x0) { catOffers[i] = adoptionOffers[catId].price; } } return catOffers; } function getCatRequestPrices() constant returns (uint[]) { uint[] memory catRequests = new uint[](rescueIndex); for (uint i = 0; i < rescueIndex; i++) { bytes5 catId = rescueOrder[i]; catRequests[i] = adoptionRequests[catId].price; } return catRequests; } function getCatDetails(bytes5 catId) constant returns (bytes5 id, address owner, bytes32 name, address onlyOfferTo, uint offerPrice, address requester, uint requestPrice) { return (catId, catOwners[catId], catNames[catId], adoptionOffers[catId].onlyOfferTo, adoptionOffers[catId].price, adoptionRequests[catId].requester, adoptionRequests[catId].price); } /* modifiers */ modifier onlyOwner() { require(msg.sender == owner); _; } modifier inactiveMode() { require(mode == Modes.Inactive); _; } modifier activeMode() { require(mode == Modes.Live || mode == Modes.Test); _; } modifier onlyCatOwner(bytes5 catId) { require(catOwners[catId] == msg.sender); _; } modifier isNotSender(address a) { require(msg.sender != a); _; } /* transfer helper */ function transferCat(bytes5 catId, address from, address to, uint price) private { catOwners[catId] = to; balanceOf[from]--; balanceOf[to]++; adoptionOffers[catId] = AdoptionOffer(false, catId, 0x0, 0, 0x0); // cancel any existing adoption offer when cat is transferred AdoptionRequest storage request = adoptionRequests[catId]; //if the recipient has a pending adoption request, cancel it if(request.requester == to) { pendingWithdrawals[to] += request.price; adoptionRequests[catId] = AdoptionRequest(false, catId, 0x0, 0); } pendingWithdrawals[from] += price; Transfer(from, to, 1); CatAdopted(catId, price, from, to); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"catId","type":"bytes5"},{"name":"price","type":"uint256"}],"name":"makeAdoptionOffer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"activate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"remainingGenesisCats","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"remainingCats","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"catId","type":"bytes5"}],"name":"acceptAdoptionOffer","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"mode","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"catId","type":"bytes5"}],"name":"getCatDetails","outputs":[{"name":"id","type":"bytes5"},{"name":"owner","type":"address"},{"name":"name","type":"bytes32"},{"name":"onlyOfferTo","type":"address"},{"name":"offerPrice","type":"uint256"},{"name":"requester","type":"address"},{"name":"requestPrice","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCatOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes5"}],"name":"catOwners","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rescueOrder","outputs":[{"name":"","type":"bytes5"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"seed","type":"bytes32"}],"name":"rescueCat","outputs":[{"name":"","type":"bytes5"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"catId","type":"bytes5"}],"name":"cancelAdoptionOffer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCatIds","outputs":[{"name":"","type":"bytes5[]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCatNames","outputs":[{"name":"","type":"bytes32[]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"catId","type":"bytes5"},{"name":"catName","type":"bytes32"}],"name":"nameCat","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"activateInTestMode","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes5"}],"name":"adoptionOffers","outputs":[{"name":"exists","type":"bool"},{"name":"catId","type":"bytes5"},{"name":"seller","type":"address"},{"name":"price","type":"uint256"},{"name":"onlyOfferTo","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes5"}],"name":"catNames","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCatRequestPrices","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"catId","type":"bytes5"}],"name":"cancelAdoptionRequest","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"disableBeforeActivation","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"addGenesisCatGroup","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"catId","type":"bytes5"},{"name":"price","type":"uint256"},{"name":"to","type":"address"}],"name":"makeAdoptionOfferToAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"searchSeed","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"imageGenerationCodeMD5","outputs":[{"name":"","type":"bytes16"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes5"}],"name":"adoptionRequests","outputs":[{"name":"exists","type":"bool"},{"name":"catId","type":"bytes5"},{"name":"requester","type":"address"},{"name":"price","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"catId","type":"bytes5"}],"name":"acceptAdoptionRequest","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCatOfferPrices","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"catId","type":"bytes5"}],"name":"makeAdoptionRequest","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"rescueIndex","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"catId","type":"bytes5"},{"name":"to","type":"address"}],"name":"giveCat","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":true,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"catId","type":"bytes5"}],"name":"CatRescued","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"catId","type":"bytes5"},{"indexed":false,"name":"catName","type":"bytes32"}],"name":"CatNamed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"catId","type":"bytes5"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"}],"name":"CatAdopted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"catId","type":"bytes5"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":true,"name":"toAddress","type":"address"}],"name":"AdoptionOffered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"catId","type":"bytes5"}],"name":"AdoptionOfferCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"catId","type":"bytes5"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":true,"name":"from","type":"address"}],"name":"AdoptionRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"catId","type":"bytes5"}],"name":"AdoptionRequestCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"catIds","type":"bytes5[16]"}],"name":"GenesisCatsAdded","type":"event"}]
Contract Creation Code
606060405260008054819060ff19166001825b0217905550600180546001608060020a0319166fdbad5c08ec98bec48490e3c196eec68317905560408051908101604052600881527f4d6f6f6e43617473000000000000000000000000000000000000000000000000602082015260029080516200008292916020019062000179565b5060408051908101604052600481527ff09f90b10000000000000000000000000000000000000000000000000000000060208201526003908051620000cc92916020019062000179565b506004805460ff191690556164006005556006805461630061ffff199091161763ffff0000191663010000001765ffff000000001916905560006110b2555b6000805461010060a860020a03191661010033600160a060020a03160217905560055460065462010000810461ffff9081169181169190910116146200014d57fe5b600554616400146200015b57fe5b600654640100000000900461ffff16156200017257fe5b5b62000223565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001bc57805160ff1916838001178555620001ec565b82800160010185558215620001ec579182015b82811115620001ec578251825591602001919060010190620001cf565b5b50620001fb929150620001ff565b5090565b6200022091905b80821115620001fb576000815560010162000206565b5090565b90565b61278e80620002336000396000f300606060405236156101d55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305ca355781146101da57806306fdde03146101ff5780630f15f4c01461028a5780630ff3687b1461029f57806318160ddd146102c9578063196ee9c7146102ee5780631be7051014610318578063295a52121461032f5780632f59840414610366578063313ce567146103dd57806336ae31ec146104065780633894ca571461046d5780633ccfd60b146104a9578063434b1208146104be5780634946e206146104f15780635281947d146105245780635d89c01a1461054657806370a08231146105ad578063711d649b146105de57806374fe6dea1461064557806376b39cf91461066a5780638edc707b1461067f5780638ff95fa8146106e857806395d89b411461071a57806398f32d1d146107a55780639d8df6dd1461080c578063a318d5211461082e578063a40c8ad014610843578063a420261514610858578063ae4f147614610889578063b269eaff146108ae578063bec6bc67146108e7578063d4a03f6014610947578063d728b6db14610969578063e65bbceb146109d0578063ee04b4b9146109e7578063f3f4370314610a11578063f884e54a14610a42575b600080fd5b34156101e557600080fd5b6101fd600160d860020a031960043516602435610a70565b005b341561020a57600080fd5b610212610bd7565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024f5780820151818401525b602001610236565b50505050905090810190601f16801561027c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029557600080fd5b6101fd610c75565b005b34156102aa57600080fd5b6102b2610cd7565b60405161ffff909116815260200160405180910390f35b34156102d457600080fd5b6102dc610ce7565b60405190815260200160405180910390f35b34156102f957600080fd5b6102b2610ced565b60405161ffff909116815260200160405180910390f35b6101fd600160d860020a031960043516610cf7565b005b341561033a57600080fd5b610342610ddc565b6040518082600381111561035257fe5b60ff16815260200191505060405180910390f35b341561037157600080fd5b610386600160d860020a031960043516610de5565b604051600160d860020a03199097168752600160a060020a0395861660208801526040808801959095529285166060870152608086019190915290921660a084015260c083019190915260e0909101905180910390f35b34156103e857600080fd5b6103f0610e5a565b60405160ff909116815260200160405180910390f35b341561041157600080fd5b610419610e63565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b341561047857600080fd5b61048d600160d860020a031960043516610f4c565b604051600160a060020a03909116815260200160405180910390f35b34156104b457600080fd5b6101fd610f68565b005b34156104c957600080fd5b6104d4600435610fb5565b604051600160d860020a0319909116815260200160405180910390f35b34156104fc57600080fd5b6104d4600435610fe4565b604051600160d860020a0319909116815260200160405180910390f35b341561052f57600080fd5b6101fd600160d860020a031960043516611209565b005b341561055157600080fd5b610419611350565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b34156105b857600080fd5b6102dc600160a060020a036004351661140f565b60405190815260200160405180910390f35b34156105e957600080fd5b610419611422565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b341561065057600080fd5b6101fd600160d860020a0319600435166024356114fb565b005b341561067557600080fd5b6101fd6115d6565b005b341561068a57600080fd5b61069f600160d860020a031960043516611657565b6040519415158552600160d860020a03199093166020850152600160a060020a0391821660408086019190915260608501919091529116608083015260a0909101905180910390f35b34156106f357600080fd5b6102dc600160d860020a03196004351661169e565b60405190815260200160405180910390f35b341561072557600080fd5b6102126116b1565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024f5780820151818401525b602001610236565b50505050905090810190601f16801561027c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107b057600080fd5b61041961174f565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b341561081757600080fd5b6101fd600160d860020a031960043516611834565b005b341561083957600080fd5b6101fd6119a0565b005b341561084e57600080fd5b6101fd6119fb565b005b341561086357600080fd5b6101fd600160d860020a031960043516602435600160a060020a0360443516611d58565b005b341561089457600080fd5b6102dc611ed6565b60405190815260200160405180910390f35b34156108b957600080fd5b6108c1611edd565b6040516fffffffffffffffffffffffffffffffff19909116815260200160405180910390f35b34156108f257600080fd5b610907600160d860020a031960043516611ef6565b6040519315158452600160d860020a03199092166020840152600160a060020a031660408084019190915260608301919091526080909101905180910390f35b341561095257600080fd5b6101fd600160d860020a031960043516611f36565b005b341561097457600080fd5b610419612077565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b6101fd600160d860020a0319600435166121a5565b005b34156109f257600080fd5b6102b261237c565b60405161ffff909116815260200160405180910390f35b3415610a1c57600080fd5b6102dc600160a060020a036004351661238e565b60405190815260200160405180910390f35b3415610a4d57600080fd5b6101fd600160d860020a031960043516600160a060020a03602435166123a1565b005b600160d860020a0319821660009081526110b66020526040902054829033600160a060020a03908116911614610aa557600080fd5b60008211610ab257600080fd5b60a0604051908101604090815260018252600160d860020a031985166020808401829052600160a060020a03331683850152606084018690526000608085018190529182526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151816001015560808201516002919091018054600160a060020a031916600160a060020a03909216919091179055506000600160d860020a031984167f175ebfc78c5d74e638bd7454214416a2a42d10527412f91ac6f2e693ce4344b88460405190815260200160405180910390a35b5b505050565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6d5780601f10610c4257610100808354040283529160200191610c6d565b820191906000526020600020905b815481529060010190602001808311610c5057829003601f168201915b505050505081565b60005433600160a060020a039081166101009092041614610c9557600080fd5b60005b60005460ff166003811115610ca957fe5b14610cb357600080fd5b6000194301406110b255600080546003919060ff19166001835b02179055505b5b5b565b60065462010000900461ffff1681565b60055481565b60065461ffff1681565b600160d860020a0319811660009081526110b360205260409020805460ff161515610d2157600080fd5b6002810154600160a060020a03161580610d4b5750600281015433600160a060020a039081169116145b1515610d5657600080fd5b6001810154341015610d6757600080fd5b8060010154341115610d9e57600181015433600160a060020a031660009081526110b8602052604090208054349290920390910190555b600160d860020a0319821660009081526110b660205260409020546001820154610dd7918491600160a060020a039091169033906123ea565b5b5050565b60005460ff1681565b600160d860020a0319811660009081526110b660209081526040808320546110b58352818420546110b3845282852060028101546001918201546110b49096529390952080549501548695600160a060020a03938416959294841693660100000000000090910416905b919395979092949650565b60045460ff1681565b610e6b6126d1565b610e736126d1565b600654600090640100000000900461ffff16604051805910610e925750595b908082528060200260200182016040525b509150600090505b600654640100000000900461ffff16811015610f43576110b660006007836164008110610ed457fe5b600691828204019190066005025b90546101009190910a900460d860020a02600160d860020a0319168152602081019190915260400160002054600160a060020a0316828281518110610f2357fe5b600160a060020a039092166020928302909101909101525b600101610eab565b8192505b505090565b6110b660205260009081526040902054600160a060020a031681565b600160a060020a03331660008181526110b86020526040808220805492905590919082156108fc0290839051600060405180830381858888f193505050501515610fb157600080fd5b5b50565b6007816164008110610fc357fe5b600691828204019190066005025b915054906101000a900460d860020a0281565b6000808060035b60005460ff166003811115610ffc57fe5b1480611019575060025b60005460ff16600381111561101757fe5b145b151561102457600080fd5b600654600061ffff9091161161103957600080fd5b836110b25460405191825260208201526040908101905190819003902091508160025b1a60f860020a028260015b1a60f860020a028360005b1a60f860020a0217177effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600060f860020a021415156110b157600080fd5b5063ffffffff811660d860020a02600160d860020a0319811660009081526110b66020526040902054600160a060020a0316156110ed57600080fd5b6006548190600790640100000000900461ffff16616400811061110c57fe5b600691828204019190066005025b815464ffffffffff6101009290920a918202191660d860020a909304029190911790556006805465ffff000000001981166401000000009182900461ffff90811660019081018216909302919091178355600160d860020a0319841660008181526110b6602090815260408083208054600160a060020a03191633600160a060020a03169081179091558084526110b7909252918290208054909501909455845461ffff19811690841660001901909316929092179093557f80d2c1a6c75f471130a64fd71b80dc7208f721037766fb7decf53e10f82211cd905160405180910390a38092505b5b5050919050565b600160d860020a0319811660009081526110b66020526040902054819033600160a060020a0390811691161461123e57600080fd5b60a060405190810160409081526000808352600160d860020a03198516602080850182905283850183905260608501839052608085018390529082526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151816001015560808201516002919091018054600160a060020a031916600160a060020a0390921691909117905550600160d860020a031982167f8c299d0cc9eb68636bc5e183d2cfd85044e4af70cbf300f6c2c3f9cf4e72f35960405160405180910390a25b5b5050565b6113586126d1565b6113606126d1565b600654600090640100000000900461ffff1660405180591061137f5750595b908082528060200260200182016040525b509150600090505b600654640100000000900461ffff16811015610f435760078161640081106113bc57fe5b600691828204019190066005025b9054906101000a900460d860020a028282815181106113e557fe5b600160d860020a03199092166020928302909101909101525b600101611398565b8192505b505090565b6110b76020526000908152604090205481565b61142a6126d1565b6114326126d1565b600654600090640100000000900461ffff166040518059106114515750595b908082528060200260200182016040525b509150600090505b600654640100000000900461ffff16811015610f43576110b56000600783616400811061149357fe5b600691828204019190066005025b9054906101000a900460d860020a02600160d860020a031916600160d860020a0319168152602001908152602001600020548282815181106114df57fe5b602090810290910101525b60010161146a565b8192505b505090565b600160d860020a0319821660009081526110b66020526040902054829033600160a060020a0390811691161461153057600080fd5b600160d860020a0319831660009081526110b560205260409020541561155557600080fd5b600160d860020a0319831660009081526110b3602052604090205460ff161561157d57600080fd5b600160d860020a0319831660008181526110b56020526040908190208490557faf93a6d1ccdac374cb23b8a45184a5fbcb33c51e4471f69c088ebc18627fbd0f9084905190815260200160405180910390a25b5b505050565b60005433600160a060020a0390811661010090920416146115f657600080fd5b60005b60005460ff16600381111561160a57fe5b1461161457600080fd5b7f5713bdf5d1c3398a8f12f881f0f03b5025b6f9c17a97441a694d5752beb92a3d6110b255600080546002919060ff1916600183610ccd565b02179055505b5b5b565b6110b36020526000908152604090208054600182015460029092015460ff82169260d860020a61010084040292600160a060020a0366010000000000009091048116921685565b6110b56020526000908152604090205481565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6d5780601f10610c4257610100808354040283529160200191610c6d565b820191906000526020600020905b815481529060010190602001808311610c5057829003601f168201915b505050505081565b6117576126d1565b61175f6126d1565b6006546000908190640100000000900461ffff166040518059106117805750595b908082528060200260200182016040525b509250600091505b600654640100000000900461ffff1682101561182a5760078261640081106117bd57fe5b600691828204019190066005025b9054906101000a900460d860020a0290506110b4600082600160d860020a031916600160d860020a03191681526020019081526020016000206001015483838151811061181457fe5b602090810290910101525b600190910190611799565b8293505b50505090565b600160d860020a0319811660009081526110b460205260408120805490919060ff16151561186157600080fd5b815433600160a060020a039081166601000000000000909204161461188557600080fd5b506001810154608060405190810160409081526000808352600160d860020a031986166020808501829052838501839052606085018390529082526110b49052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a0391909116660100000000000002600080516020612743833981519152909116178155606082015160019091015550600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561196357600080fd5b600160d860020a031983167fdd2c4d3d509ed991f38f011d74ba4029a438713394421a31d518d31bd099845660405160405180910390a25b505050565b60005433600160a060020a0390811661010090920416146119c057600080fd5b60005b60005460ff1660038111156119d457fe5b146119de57600080fd5b600080546001919060ff19168280610ccd565b02179055505b5b5b565b611a03612719565b6000805481908190819033600160a060020a039081166101009092041614611a2a57600080fd5b60035b60005460ff166003811115611a3e57fe5b1480611a5b575060025b60005460ff166003811115611a5957fe5b145b1515611a6657600080fd5b60065460006201000090910461ffff1611611a8057600080fd5b60065460109062010000900461ffff165b0460110361ffff16670429d069189e00000267ffffffffffffffff169350600092505b60108360ff161015611cf357505060065462010000900461ffff9081166101000390811660d860020a02600160d860020a0319166301000000027fff00000ca700000000000000000000000000000000000000000000000000000017808560ff851660108110611b2057fe5b600160d860020a031992909216602090920201526006548190600790640100000000900461ffff166164008110611b5357fe5b600691828204019190066005025b815464ffffffffff6101009290920a918202191660d860020a9093040291909117905560068054600080526110b76020527f8b7b0506e1df5a8448d8eb7314d5008da63b5b23c742acc1ca2fe9008ea3c9988054600190810190915563ffff00001965ffff000000001983166401000000009384900461ffff908116909301831690930292909217918216620100009283900482166000190190911690910217905560a0604051908101604090815260018252600160d860020a031983166020808401829052600080546101009004600160a060020a03168486015260608501899052608085018190529182526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151816001015560808201516002919091018054600160a060020a031916600160a060020a03909216919091179055505b600190920191611ab4565b7fb18efff3589e0e6e1f1fdd8be3f2d2250429a242997d2a6ac3aa6f7ef1296ca985604051808261020080838360005b83811015611d3c5780820151818401525b602001611d23565b5050505090500191505060405180910390a15b5b5b5050505050565b600160d860020a0319831660009081526110b66020526040902054839033600160a060020a03908116911614611d8d57600080fd5b8180600160a060020a031633600160a060020a031614151515611daf57600080fd5b60a0604051908101604090815260018252600160d860020a031987166020808401829052600160a060020a0333811684860152606085018990528716608085015260009182526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151816001015560808201516002919091018054600160a060020a031916600160a060020a0392831617905584169050600160d860020a031986167f175ebfc78c5d74e638bd7454214416a2a42d10527412f91ac6f2e693ce4344b88660405190815260200160405180910390a35b5b505b50505050565b6110b25481565b6001547001000000000000000000000000000000000281565b6110b4602052600090815260409020805460019091015460ff821691610100810460d860020a02916601000000000000909104600160a060020a03169084565b600160d860020a0319811660009081526110b6602052604081205481908190849033600160a060020a03908116911614611f6f57600080fd5b600160d860020a0319851660009081526110b460205260409020805490945060ff161515611f9c57600080fd5b835460018501546601000000000000909104600160a060020a031693509150608060405190810160409081526000808352600160d860020a031988166020808501829052838501839052606085018390529082526110b49052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a0391909116660100000000000002600080516020612743833981519152909116178155606082015160019091015550611d4f853385856123ea565b5b5b5050505050565b61207f6126d1565b6120876126d1565b6006546000908190640100000000900461ffff166040518059106120a85750595b908082528060200260200182016040525b509250600091505b600654640100000000900461ffff1682101561182a5760078261640081106120e557fe5b600691828204019190066005025b90546101009190910a900460d860020a02600160d860020a0319811660009081526110b3602052604090205490915060ff1680156121555750600160d860020a0319811660009081526110b36020526040902060020154600160a060020a0316155b1561218f57600160d860020a0319811660009081526110b3602052604090206001015483838151811061218457fe5b602090810290910101525b5b6001909101906120c1565b8293505b50505090565b600160d860020a0319811660009081526110b66020526040812054600160a060020a039081169033168114156121da57600080fd5b600160d860020a0319831660009081526110b66020526040902054600160a060020a0316151561220957600080fd5b600160d860020a0319831660009081526110b4602052604081209250341161223057600080fd5b6001820154341161224057600080fd5b60008260010154111561227e576001820154825466010000000000009004600160a060020a031660009081526110b860205260409020805490910190555b6080604051908101604090815260018252600160d860020a031985166020808401829052600160a060020a0333168385015234606085015260009182526110b49052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a0391909116660100000000000002600080516020612743833981519152909116178155606082015160019091015550600160a060020a033316600160d860020a031984167f0beedbd4ef5e50660fe5cf7b1274e5d826c6e496020c760b9509e1f21f6962303460405190815260200160405180910390a35b5b505050565b600654640100000000900461ffff1681565b6110b86020526000908152604090205481565b600160d860020a0319821660009081526110b66020526040902054829033600160a060020a039081169116146123d657600080fd5b610bd183338460006123ea565b5b5b505050565b600160d860020a0319841660009081526110b6602090815260408083208054600160a060020a031916600160a060020a0387811691821790925590871684526110b790925280832080546000190190559082528082208054600101905560a0905190810160409081526000808352600160d860020a03198816602080850182905283850183905260608501839052608085018390529082526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a039190911666010000000000000260008051602061274383398151915290911617815560608201518160010155608082015160029091018054600160a060020a03928316600160a060020a0319909116179055600160d860020a0319871660009081526110b46020526040902080549093506601000000000000900481169085161415905061261d576001810154600160a060020a03841660009081526110b860205260409081902080549092019091556080905190810160409081526000808352600160d860020a031988166020808501829052838501839052606085018390529082526110b49052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151600190910155505b600160a060020a0380851660008181526110b8602052604090819020805486019055918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906001905190815260200160405180910390a382600160a060020a031684600160a060020a031686600160d860020a0319167f1d9becf52be84ecb1e1e8de532c6cea871c0903fdcc9675123ca5c3c2cb436258560405190815260200160405180910390a45b5050505050565b60206040519081016040526000815290565b60206040519081016040526000815290565b60206040519081016040526000815290565b60206040519081016040526000815290565b6102006040519081016040526010815b60008152600019909101906020018161272957905050905600ffffffffffff0000000000000000000000000000000000000000ffffffffffffa165627a7a72305820a4e578d3d7c9a384b5985a5957dd2477a19f9d32052121927063bf9f549c60320029
Deployed Bytecode
0x606060405236156101d55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305ca355781146101da57806306fdde03146101ff5780630f15f4c01461028a5780630ff3687b1461029f57806318160ddd146102c9578063196ee9c7146102ee5780631be7051014610318578063295a52121461032f5780632f59840414610366578063313ce567146103dd57806336ae31ec146104065780633894ca571461046d5780633ccfd60b146104a9578063434b1208146104be5780634946e206146104f15780635281947d146105245780635d89c01a1461054657806370a08231146105ad578063711d649b146105de57806374fe6dea1461064557806376b39cf91461066a5780638edc707b1461067f5780638ff95fa8146106e857806395d89b411461071a57806398f32d1d146107a55780639d8df6dd1461080c578063a318d5211461082e578063a40c8ad014610843578063a420261514610858578063ae4f147614610889578063b269eaff146108ae578063bec6bc67146108e7578063d4a03f6014610947578063d728b6db14610969578063e65bbceb146109d0578063ee04b4b9146109e7578063f3f4370314610a11578063f884e54a14610a42575b600080fd5b34156101e557600080fd5b6101fd600160d860020a031960043516602435610a70565b005b341561020a57600080fd5b610212610bd7565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024f5780820151818401525b602001610236565b50505050905090810190601f16801561027c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029557600080fd5b6101fd610c75565b005b34156102aa57600080fd5b6102b2610cd7565b60405161ffff909116815260200160405180910390f35b34156102d457600080fd5b6102dc610ce7565b60405190815260200160405180910390f35b34156102f957600080fd5b6102b2610ced565b60405161ffff909116815260200160405180910390f35b6101fd600160d860020a031960043516610cf7565b005b341561033a57600080fd5b610342610ddc565b6040518082600381111561035257fe5b60ff16815260200191505060405180910390f35b341561037157600080fd5b610386600160d860020a031960043516610de5565b604051600160d860020a03199097168752600160a060020a0395861660208801526040808801959095529285166060870152608086019190915290921660a084015260c083019190915260e0909101905180910390f35b34156103e857600080fd5b6103f0610e5a565b60405160ff909116815260200160405180910390f35b341561041157600080fd5b610419610e63565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b341561047857600080fd5b61048d600160d860020a031960043516610f4c565b604051600160a060020a03909116815260200160405180910390f35b34156104b457600080fd5b6101fd610f68565b005b34156104c957600080fd5b6104d4600435610fb5565b604051600160d860020a0319909116815260200160405180910390f35b34156104fc57600080fd5b6104d4600435610fe4565b604051600160d860020a0319909116815260200160405180910390f35b341561052f57600080fd5b6101fd600160d860020a031960043516611209565b005b341561055157600080fd5b610419611350565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b34156105b857600080fd5b6102dc600160a060020a036004351661140f565b60405190815260200160405180910390f35b34156105e957600080fd5b610419611422565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b341561065057600080fd5b6101fd600160d860020a0319600435166024356114fb565b005b341561067557600080fd5b6101fd6115d6565b005b341561068a57600080fd5b61069f600160d860020a031960043516611657565b6040519415158552600160d860020a03199093166020850152600160a060020a0391821660408086019190915260608501919091529116608083015260a0909101905180910390f35b34156106f357600080fd5b6102dc600160d860020a03196004351661169e565b60405190815260200160405180910390f35b341561072557600080fd5b6102126116b1565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024f5780820151818401525b602001610236565b50505050905090810190601f16801561027c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107b057600080fd5b61041961174f565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b341561081757600080fd5b6101fd600160d860020a031960043516611834565b005b341561083957600080fd5b6101fd6119a0565b005b341561084e57600080fd5b6101fd6119fb565b005b341561086357600080fd5b6101fd600160d860020a031960043516602435600160a060020a0360443516611d58565b005b341561089457600080fd5b6102dc611ed6565b60405190815260200160405180910390f35b34156108b957600080fd5b6108c1611edd565b6040516fffffffffffffffffffffffffffffffff19909116815260200160405180910390f35b34156108f257600080fd5b610907600160d860020a031960043516611ef6565b6040519315158452600160d860020a03199092166020840152600160a060020a031660408084019190915260608301919091526080909101905180910390f35b341561095257600080fd5b6101fd600160d860020a031960043516611f36565b005b341561097457600080fd5b610419612077565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104595780820151818401525b602001610440565b505050509050019250505060405180910390f35b6101fd600160d860020a0319600435166121a5565b005b34156109f257600080fd5b6102b261237c565b60405161ffff909116815260200160405180910390f35b3415610a1c57600080fd5b6102dc600160a060020a036004351661238e565b60405190815260200160405180910390f35b3415610a4d57600080fd5b6101fd600160d860020a031960043516600160a060020a03602435166123a1565b005b600160d860020a0319821660009081526110b66020526040902054829033600160a060020a03908116911614610aa557600080fd5b60008211610ab257600080fd5b60a0604051908101604090815260018252600160d860020a031985166020808401829052600160a060020a03331683850152606084018690526000608085018190529182526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151816001015560808201516002919091018054600160a060020a031916600160a060020a03909216919091179055506000600160d860020a031984167f175ebfc78c5d74e638bd7454214416a2a42d10527412f91ac6f2e693ce4344b88460405190815260200160405180910390a35b5b505050565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6d5780601f10610c4257610100808354040283529160200191610c6d565b820191906000526020600020905b815481529060010190602001808311610c5057829003601f168201915b505050505081565b60005433600160a060020a039081166101009092041614610c9557600080fd5b60005b60005460ff166003811115610ca957fe5b14610cb357600080fd5b6000194301406110b255600080546003919060ff19166001835b02179055505b5b5b565b60065462010000900461ffff1681565b60055481565b60065461ffff1681565b600160d860020a0319811660009081526110b360205260409020805460ff161515610d2157600080fd5b6002810154600160a060020a03161580610d4b5750600281015433600160a060020a039081169116145b1515610d5657600080fd5b6001810154341015610d6757600080fd5b8060010154341115610d9e57600181015433600160a060020a031660009081526110b8602052604090208054349290920390910190555b600160d860020a0319821660009081526110b660205260409020546001820154610dd7918491600160a060020a039091169033906123ea565b5b5050565b60005460ff1681565b600160d860020a0319811660009081526110b660209081526040808320546110b58352818420546110b3845282852060028101546001918201546110b49096529390952080549501548695600160a060020a03938416959294841693660100000000000090910416905b919395979092949650565b60045460ff1681565b610e6b6126d1565b610e736126d1565b600654600090640100000000900461ffff16604051805910610e925750595b908082528060200260200182016040525b509150600090505b600654640100000000900461ffff16811015610f43576110b660006007836164008110610ed457fe5b600691828204019190066005025b90546101009190910a900460d860020a02600160d860020a0319168152602081019190915260400160002054600160a060020a0316828281518110610f2357fe5b600160a060020a039092166020928302909101909101525b600101610eab565b8192505b505090565b6110b660205260009081526040902054600160a060020a031681565b600160a060020a03331660008181526110b86020526040808220805492905590919082156108fc0290839051600060405180830381858888f193505050501515610fb157600080fd5b5b50565b6007816164008110610fc357fe5b600691828204019190066005025b915054906101000a900460d860020a0281565b6000808060035b60005460ff166003811115610ffc57fe5b1480611019575060025b60005460ff16600381111561101757fe5b145b151561102457600080fd5b600654600061ffff9091161161103957600080fd5b836110b25460405191825260208201526040908101905190819003902091508160025b1a60f860020a028260015b1a60f860020a028360005b1a60f860020a0217177effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600060f860020a021415156110b157600080fd5b5063ffffffff811660d860020a02600160d860020a0319811660009081526110b66020526040902054600160a060020a0316156110ed57600080fd5b6006548190600790640100000000900461ffff16616400811061110c57fe5b600691828204019190066005025b815464ffffffffff6101009290920a918202191660d860020a909304029190911790556006805465ffff000000001981166401000000009182900461ffff90811660019081018216909302919091178355600160d860020a0319841660008181526110b6602090815260408083208054600160a060020a03191633600160a060020a03169081179091558084526110b7909252918290208054909501909455845461ffff19811690841660001901909316929092179093557f80d2c1a6c75f471130a64fd71b80dc7208f721037766fb7decf53e10f82211cd905160405180910390a38092505b5b5050919050565b600160d860020a0319811660009081526110b66020526040902054819033600160a060020a0390811691161461123e57600080fd5b60a060405190810160409081526000808352600160d860020a03198516602080850182905283850183905260608501839052608085018390529082526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151816001015560808201516002919091018054600160a060020a031916600160a060020a0390921691909117905550600160d860020a031982167f8c299d0cc9eb68636bc5e183d2cfd85044e4af70cbf300f6c2c3f9cf4e72f35960405160405180910390a25b5b5050565b6113586126d1565b6113606126d1565b600654600090640100000000900461ffff1660405180591061137f5750595b908082528060200260200182016040525b509150600090505b600654640100000000900461ffff16811015610f435760078161640081106113bc57fe5b600691828204019190066005025b9054906101000a900460d860020a028282815181106113e557fe5b600160d860020a03199092166020928302909101909101525b600101611398565b8192505b505090565b6110b76020526000908152604090205481565b61142a6126d1565b6114326126d1565b600654600090640100000000900461ffff166040518059106114515750595b908082528060200260200182016040525b509150600090505b600654640100000000900461ffff16811015610f43576110b56000600783616400811061149357fe5b600691828204019190066005025b9054906101000a900460d860020a02600160d860020a031916600160d860020a0319168152602001908152602001600020548282815181106114df57fe5b602090810290910101525b60010161146a565b8192505b505090565b600160d860020a0319821660009081526110b66020526040902054829033600160a060020a0390811691161461153057600080fd5b600160d860020a0319831660009081526110b560205260409020541561155557600080fd5b600160d860020a0319831660009081526110b3602052604090205460ff161561157d57600080fd5b600160d860020a0319831660008181526110b56020526040908190208490557faf93a6d1ccdac374cb23b8a45184a5fbcb33c51e4471f69c088ebc18627fbd0f9084905190815260200160405180910390a25b5b505050565b60005433600160a060020a0390811661010090920416146115f657600080fd5b60005b60005460ff16600381111561160a57fe5b1461161457600080fd5b7f5713bdf5d1c3398a8f12f881f0f03b5025b6f9c17a97441a694d5752beb92a3d6110b255600080546002919060ff1916600183610ccd565b02179055505b5b5b565b6110b36020526000908152604090208054600182015460029092015460ff82169260d860020a61010084040292600160a060020a0366010000000000009091048116921685565b6110b56020526000908152604090205481565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6d5780601f10610c4257610100808354040283529160200191610c6d565b820191906000526020600020905b815481529060010190602001808311610c5057829003601f168201915b505050505081565b6117576126d1565b61175f6126d1565b6006546000908190640100000000900461ffff166040518059106117805750595b908082528060200260200182016040525b509250600091505b600654640100000000900461ffff1682101561182a5760078261640081106117bd57fe5b600691828204019190066005025b9054906101000a900460d860020a0290506110b4600082600160d860020a031916600160d860020a03191681526020019081526020016000206001015483838151811061181457fe5b602090810290910101525b600190910190611799565b8293505b50505090565b600160d860020a0319811660009081526110b460205260408120805490919060ff16151561186157600080fd5b815433600160a060020a039081166601000000000000909204161461188557600080fd5b506001810154608060405190810160409081526000808352600160d860020a031986166020808501829052838501839052606085018390529082526110b49052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a0391909116660100000000000002600080516020612743833981519152909116178155606082015160019091015550600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561196357600080fd5b600160d860020a031983167fdd2c4d3d509ed991f38f011d74ba4029a438713394421a31d518d31bd099845660405160405180910390a25b505050565b60005433600160a060020a0390811661010090920416146119c057600080fd5b60005b60005460ff1660038111156119d457fe5b146119de57600080fd5b600080546001919060ff19168280610ccd565b02179055505b5b5b565b611a03612719565b6000805481908190819033600160a060020a039081166101009092041614611a2a57600080fd5b60035b60005460ff166003811115611a3e57fe5b1480611a5b575060025b60005460ff166003811115611a5957fe5b145b1515611a6657600080fd5b60065460006201000090910461ffff1611611a8057600080fd5b60065460109062010000900461ffff165b0460110361ffff16670429d069189e00000267ffffffffffffffff169350600092505b60108360ff161015611cf357505060065462010000900461ffff9081166101000390811660d860020a02600160d860020a0319166301000000027fff00000ca700000000000000000000000000000000000000000000000000000017808560ff851660108110611b2057fe5b600160d860020a031992909216602090920201526006548190600790640100000000900461ffff166164008110611b5357fe5b600691828204019190066005025b815464ffffffffff6101009290920a918202191660d860020a9093040291909117905560068054600080526110b76020527f8b7b0506e1df5a8448d8eb7314d5008da63b5b23c742acc1ca2fe9008ea3c9988054600190810190915563ffff00001965ffff000000001983166401000000009384900461ffff908116909301831690930292909217918216620100009283900482166000190190911690910217905560a0604051908101604090815260018252600160d860020a031983166020808401829052600080546101009004600160a060020a03168486015260608501899052608085018190529182526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151816001015560808201516002919091018054600160a060020a031916600160a060020a03909216919091179055505b600190920191611ab4565b7fb18efff3589e0e6e1f1fdd8be3f2d2250429a242997d2a6ac3aa6f7ef1296ca985604051808261020080838360005b83811015611d3c5780820151818401525b602001611d23565b5050505090500191505060405180910390a15b5b5b5050505050565b600160d860020a0319831660009081526110b66020526040902054839033600160a060020a03908116911614611d8d57600080fd5b8180600160a060020a031633600160a060020a031614151515611daf57600080fd5b60a0604051908101604090815260018252600160d860020a031987166020808401829052600160a060020a0333811684860152606085018990528716608085015260009182526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151816001015560808201516002919091018054600160a060020a031916600160a060020a0392831617905584169050600160d860020a031986167f175ebfc78c5d74e638bd7454214416a2a42d10527412f91ac6f2e693ce4344b88660405190815260200160405180910390a35b5b505b50505050565b6110b25481565b6001547001000000000000000000000000000000000281565b6110b4602052600090815260409020805460019091015460ff821691610100810460d860020a02916601000000000000909104600160a060020a03169084565b600160d860020a0319811660009081526110b6602052604081205481908190849033600160a060020a03908116911614611f6f57600080fd5b600160d860020a0319851660009081526110b460205260409020805490945060ff161515611f9c57600080fd5b835460018501546601000000000000909104600160a060020a031693509150608060405190810160409081526000808352600160d860020a031988166020808501829052838501839052606085018390529082526110b49052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a0391909116660100000000000002600080516020612743833981519152909116178155606082015160019091015550611d4f853385856123ea565b5b5b5050505050565b61207f6126d1565b6120876126d1565b6006546000908190640100000000900461ffff166040518059106120a85750595b908082528060200260200182016040525b509250600091505b600654640100000000900461ffff1682101561182a5760078261640081106120e557fe5b600691828204019190066005025b90546101009190910a900460d860020a02600160d860020a0319811660009081526110b3602052604090205490915060ff1680156121555750600160d860020a0319811660009081526110b36020526040902060020154600160a060020a0316155b1561218f57600160d860020a0319811660009081526110b3602052604090206001015483838151811061218457fe5b602090810290910101525b5b6001909101906120c1565b8293505b50505090565b600160d860020a0319811660009081526110b66020526040812054600160a060020a039081169033168114156121da57600080fd5b600160d860020a0319831660009081526110b66020526040902054600160a060020a0316151561220957600080fd5b600160d860020a0319831660009081526110b4602052604081209250341161223057600080fd5b6001820154341161224057600080fd5b60008260010154111561227e576001820154825466010000000000009004600160a060020a031660009081526110b860205260409020805490910190555b6080604051908101604090815260018252600160d860020a031985166020808401829052600160a060020a0333168385015234606085015260009182526110b49052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a0391909116660100000000000002600080516020612743833981519152909116178155606082015160019091015550600160a060020a033316600160d860020a031984167f0beedbd4ef5e50660fe5cf7b1274e5d826c6e496020c760b9509e1f21f6962303460405190815260200160405180910390a35b5b505050565b600654640100000000900461ffff1681565b6110b86020526000908152604090205481565b600160d860020a0319821660009081526110b66020526040902054829033600160a060020a039081169116146123d657600080fd5b610bd183338460006123ea565b5b5b505050565b600160d860020a0319841660009081526110b6602090815260408083208054600160a060020a031916600160a060020a0387811691821790925590871684526110b790925280832080546000190190559082528082208054600101905560a0905190810160409081526000808352600160d860020a03198816602080850182905283850183905260608501839052608085018390529082526110b39052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a039190911666010000000000000260008051602061274383398151915290911617815560608201518160010155608082015160029091018054600160a060020a03928316600160a060020a0319909116179055600160d860020a0319871660009081526110b46020526040902080549093506601000000000000900481169085161415905061261d576001810154600160a060020a03841660009081526110b860205260409081902080549092019091556080905190810160409081526000808352600160d860020a031988166020808501829052838501839052606085018390529082526110b49052208151815460ff19169015151781556020820151815460d860020a9091046101000265ffffffffff001990911617815560408201518154600160a060020a03919091166601000000000000026000805160206127438339815191529091161781556060820151600190910155505b600160a060020a0380851660008181526110b8602052604090819020805486019055918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906001905190815260200160405180910390a382600160a060020a031684600160a060020a031686600160d860020a0319167f1d9becf52be84ecb1e1e8de532c6cea871c0903fdcc9675123ca5c3c2cb436258560405190815260200160405180910390a45b5050505050565b60206040519081016040526000815290565b60206040519081016040526000815290565b60206040519081016040526000815290565b60206040519081016040526000815290565b6102006040519081016040526010815b60008152600019909101906020018161272957905050905600ffffffffffff0000000000000000000000000000000000000000ffffffffffffa165627a7a72305820a4e578d3d7c9a384b5985a5957dd2477a19f9d32052121927063bf9f549c60320029
Swarm Source
bzzr://a4e578d3d7c9a384b5985a5957dd2477a19f9d32052121927063bf9f549c6032
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.