ERC-20
Overview
Max Total Supply
0 ERC20 ***
Holders
97
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Random
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-04 */ pragma solidity ^0.4.23; contract Random { uint public ticketsNum = 0; mapping(uint => address) internal tickets; mapping(uint => bool) internal payed_back; uint32 public random_num = 0; uint public liveBlocksNumber = 5760; uint public startBlockNumber = 0; uint public endBlockNumber = 0; string public constant name = "Random Daily Lottery"; string public constant symbol = "RND"; uint public constant decimals = 0; uint public constant onePotWei = 10000000000000000; // 1 ticket cost is 0.01 ETH address public inv_contract = 0x1d9Ed8e4c1591384A4b2fbd005ccCBDc58501cc0; // investing contract address public rtm_contract = 0x67e5e779bfc7a93374f273dcaefce0db8b3559c2; // team contract address manager; uint public winners_count = 0; uint public last_winner = 0; uint public others_prize = 0; uint public fee_balance = 0; bool public autopayfee = true; // Events // This generates a publics event on the blockchain that will notify clients event Buy(address indexed sender, uint eth); event Withdraw(address indexed sender, address to, uint eth); event Transfer(address indexed from, address indexed to, uint value); event TransferError(address indexed to, uint value); // event (error): sending ETH from the contract was failed event PayFee(address _to, uint value); // methods with following modifier can only be called by the manager modifier onlyManager() { require(msg.sender == manager); _; } // constructor constructor() public { manager = msg.sender; startBlockNumber = block.number - 1; endBlockNumber = startBlockNumber + liveBlocksNumber; } /// function for straight tickets purchase (sending ETH to the contract address) function() public payable { emit Transfer(msg.sender, 0, 0); require(block.number < endBlockNumber || msg.value < 1000000000000000000); if (msg.value > 0 && last_winner == 0) { uint val = msg.value / onePotWei; uint i = 0; for(i; i < val; i++) { tickets[ticketsNum+i] = msg.sender; } ticketsNum += val; emit Buy(msg.sender, msg.value); } if (block.number >= endBlockNumber) { EndLottery(); } } /// function for ticket sending from owner's address to designated address function transfer(address _to, uint _ticketNum) public { require(msg.sender == tickets[_ticketNum] && _to != address(0)); tickets[_ticketNum] = _to; emit Transfer(msg.sender, _to, _ticketNum); } /// manager's opportunity to write off ETH from the contract, in a case of unforseen contract blocking (possible in only case of more than 24 hours from the moment of lottery ending had passed and a new one has not started) function manager_withdraw() onlyManager public { require(block.number >= endBlockNumber + liveBlocksNumber); msg.sender.transfer(address(this).balance); } /// lottery ending function EndLottery() public payable returns (bool success) { require(block.number >= endBlockNumber); uint tn = ticketsNum; if(tn < 3) { tn = 0; if(msg.value > 0) { msg.sender.transfer(msg.value); } startNewDraw(0); return false; } uint pf = prizeFund(); uint jp1 = percent(pf, 10); uint jp2 = percent(pf, 4); uint jp3 = percent(pf, 1); uint lastbet_prize = onePotWei*10; if(tn < 100) { lastbet_prize = onePotWei; } if(last_winner == 0) { winners_count = percent(tn, 4) + 3; uint prizes = jp1 + jp2 + jp3 + lastbet_prize*2; uint full_prizes = jp1 + jp2 + jp3 + ( lastbet_prize * (winners_count+1)/10 ); if(winners_count < 10) { if(prizes > pf) { others_prize = 0; } else { others_prize = pf - prizes; } } else { if(full_prizes > pf) { others_prize = 0; } else { others_prize = pf - full_prizes; } } sendEth(tickets[getWinningNumber(1)], jp1); sendEth(tickets[getWinningNumber(2)], jp2); sendEth(tickets[getWinningNumber(3)], jp3); last_winner += 3; sendEth(msg.sender, lastbet_prize + msg.value); return true; } if(last_winner < winners_count && others_prize > 0) { uint val = others_prize / winners_count; uint i; uint8 cnt = 0; for(i = last_winner; i < winners_count; i++) { sendEth(tickets[getWinningNumber(i+3)], val); cnt++; if(cnt >= 9) { last_winner = i; return true; } } last_winner = i; if(cnt < 9) { startNewDraw(lastbet_prize + msg.value); } else { sendEth(msg.sender, lastbet_prize + msg.value); } return true; } else { startNewDraw(lastbet_prize + msg.value); } return true; } /// new draw start function startNewDraw(uint _msg_value) internal { ticketsNum = 0; startBlockNumber = block.number - 1; endBlockNumber = startBlockNumber + liveBlocksNumber; random_num += 1; winners_count = 0; last_winner = 0; fee_balance = subZero(address(this).balance, _msg_value); if(msg.value > 0) { sendEth(msg.sender, _msg_value); } // fee_balance = address(this).balance; if(autopayfee) { _payfee(); } } /// sending rewards to the investing, team and marketing contracts function payfee() public { require(fee_balance > 0); uint val = fee_balance; RNDInvestor rinv = RNDInvestor(inv_contract); rinv.takeEther.value( percent(val, 25) )(); rtm_contract.transfer( percent(val, 74) ); fee_balance = 0; emit PayFee(inv_contract, percent(val, 25) ); emit PayFee(rtm_contract, percent(val, 74) ); } function _payfee() internal { if(fee_balance <= 0) { return; } uint val = fee_balance; RNDInvestor rinv = RNDInvestor(inv_contract); rinv.takeEther.value( percent(val, 25) )(); rtm_contract.transfer( percent(val, 74) ); fee_balance = 0; emit PayFee(inv_contract, percent(val, 25) ); emit PayFee(rtm_contract, percent(val, 74) ); } /// function for sending ETH with balance check (does not interrupt the program if balance is not sufficient) function sendEth(address _to, uint _val) internal returns(bool) { if(address(this).balance < _val) { emit TransferError(_to, _val); return false; } _to.transfer(_val); emit Withdraw(address(this), _to, _val); return true; } /// get winning ticket number basing on block hasg (block number is being calculated basing on specified displacement) function getWinningNumber(uint _blockshift) internal constant returns (uint) { return uint(blockhash(endBlockNumber - _blockshift)) % ticketsNum + 1; } /// current amount of jack pot 1 function jackPotA() public view returns (uint) { return percent(prizeFund(), 10); } /// current amount of jack pot 2 function jackPotB() public view returns (uint) { return percent(prizeFund(), 4); } /// current amount of jack pot 3 function jackPotC() public view returns (uint) { return percent(prizeFund(), 1); } /// current amount of prize fund function prizeFund() public view returns (uint) { return ( (ticketsNum * onePotWei) / 100 ) * 90; } /// function for calculating definite percent of a number function percent(uint _val, uint _percent) public pure returns (uint) { return ( _val * _percent ) / 100; } /// returns owner address using ticket number function getTicketOwner(uint _num) public view returns (address) { if(ticketsNum == 0) { return 0; } return tickets[_num]; } /// returns amount of tickets for the current draw in the possession of specified address function getTicketsCount(address _addr) public view returns (uint) { if(ticketsNum == 0) { return 0; } uint num = 0; for(uint i = 0; i < ticketsNum; i++) { if(tickets[i] == _addr) { num++; } } return num; } /// returns amount of tickets for the current draw in the possession of specified address function balanceOf(address _addr) public view returns (uint) { if(ticketsNum == 0) { return 0; } uint num = 0; for(uint i = 0; i < ticketsNum; i++) { if(tickets[i] == _addr) { num++; } } return num; } /// returns tickets numbers for the current draw in the possession of specified address function getTicketsAtAdress(address _address) public view returns(uint[]) { uint[] memory result = new uint[](getTicketsCount(_address)); uint num = 0; for(uint i = 0; i < ticketsNum; i++) { if(tickets[i] == _address) { result[num] = i; num++; } } return result; } /// returns amount of paid rewards for the current draw function getLastWinner() public view returns(uint) { return last_winner+1; } // /// investing contract address change // function setInvContract(address _addr) onlyManager public { // inv_contract = _addr; // } /// team contract address change function setRtmContract(address _addr) onlyManager public { rtm_contract = _addr; } function setAutoPayFee(bool _auto) onlyManager public { autopayfee = _auto; } function contractBalance() public view returns (uint256) { return address(this).balance; } function blockLeft() public view returns (uint256) { if(endBlockNumber > block.number) { return endBlockNumber - block.number; } return 0; } /// method for direct contract replenishment with ETH function deposit() public payable { require(msg.value > 0); } ///Math functions function safeMul(uint a, uint b) internal pure returns (uint) { uint c = a * b; require(a == 0 || c / a == b); return c; } function safeSub(uint a, uint b) internal pure returns (uint) { require(b <= a); return a - b; } function subZero(uint a, uint b) internal pure returns (uint) { if(a < b) { return 0; } return a - b; } function safeAdd(uint a, uint b) internal pure returns (uint) { uint c = a + b; require(c>=a && c>=b); return c; } function destroy() public onlyManager { selfdestruct(manager); } } /** * @title Random Investor Contract * @dev The Investor token contract */ contract RNDInvestor { address public owner; // Token owner address mapping (address => uint256) public balances; // balanceOf address[] public addresses; mapping (address => uint256) public debited; mapping (address => mapping (address => uint256)) allowed; string public standard = 'Random 1.1'; string public constant name = "Random Investor Token"; string public constant symbol = "RINVEST"; uint public constant decimals = 0; uint public constant totalSupply = 2500; uint public raised = 0; uint public ownerPrice = 1 ether; uint public soldAmount = 0; // current sold amount (for current state) bool public buyAllowed = true; bool public transferAllowed = false; State public current_state; // current token state // States enum State { Presale, ICO, Public } // // Events // This generates a publics event on the blockchain that will notify clients event Sent(address from, address to, uint amount); event Buy(address indexed sender, uint eth, uint fbt); event Withdraw(address indexed sender, address to, uint eth); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event Raised(uint _value); event StateSwitch(State newState); // // Modifiers modifier onlyOwner() { require(msg.sender == owner); _; } modifier onlyIfAllowed() { if(!transferAllowed) { require(msg.sender == owner); } _; } // // Functions // // Constructor function RNDInvestor() public { owner = msg.sender; balances[owner] = totalSupply; } // fallback function function() payable public { if(current_state == State.Public) { takeEther(); return; } require(buyAllowed); require(msg.value >= ownerPrice); require(msg.sender != owner); uint wei_value = msg.value; // uint tokens = safeMul(wei_value, ownerPrice); uint tokens = wei_value / ownerPrice; uint cost = tokens * ownerPrice; if(current_state == State.Presale) { tokens = tokens * 2; } uint currentSoldAmount = safeAdd(tokens, soldAmount); if (current_state == State.Presale) { require(currentSoldAmount <= 1000); } require(balances[owner] >= tokens); balances[owner] = safeSub(balances[owner], tokens); balances[msg.sender] = safeAdd(balances[msg.sender], tokens); soldAmount = safeAdd(soldAmount, tokens); uint extra_ether = safeSub(msg.value, cost); if(extra_ether > 0) { msg.sender.transfer(extra_ether); } } function takeEther() payable public { if(msg.value > 0) { raised += msg.value; emit Raised(msg.value); } else { withdraw(); } } function setOwnerPrice(uint _newPrice) public onlyOwner returns (bool success) { ownerPrice = _newPrice; return true; } function setTokenState(State _nextState) public onlyOwner returns (bool success) { bool canSwitchState = (current_state == State.Presale && _nextState == State.ICO) || (current_state == State.Presale && _nextState == State.Public) || (current_state == State.ICO && _nextState == State.Public) ; require(canSwitchState); current_state = _nextState; emit StateSwitch(_nextState); return true; } function setBuyAllowed(bool _allowed) public onlyOwner returns (bool success) { buyAllowed = _allowed; return true; } function allowTransfer() public onlyOwner returns (bool success) { transferAllowed = true; return true; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { if (newOwner != address(0)) { owner = newOwner; } } function safeMul(uint a, uint b) internal pure returns (uint) { uint c = a * b; require(a == 0 || c / a == b); return c; } function safeSub(uint a, uint b) internal pure returns (uint) { require(b <= a); return a - b; } function safeAdd(uint a, uint b) internal pure returns (uint) { uint c = a + b; require(c>=a && c>=b); return c; } function withdraw() public returns (bool success) { uint val = ethBalanceOf(msg.sender); if(val > 0) { msg.sender.transfer(val); debited[msg.sender] += val; return true; } return false; } function ethBalanceOf(address _investor) public view returns (uint256 balance) { uint val = (raised / totalSupply) * balances[_investor]; if(val >= debited[_investor]) { return val - debited[_investor]; } return 0; } function manager_withdraw() onlyOwner public { uint summ = 0; for(uint i = 0; i < addresses.length; i++) { summ += ethBalanceOf(addresses[i]); } require(summ < address(this).balance); msg.sender.transfer(address(this).balance - summ); } function manual_withdraw() public { for(uint i = 0; i < addresses.length; i++) { addresses[i].transfer( ethBalanceOf(addresses[i]) ); } } function checkAddress(address _addr) public returns (bool have_addr) { for(uint i=0; i<addresses.length; i++) { if(addresses[i] == _addr) { return true; } } addresses.push(_addr); return true; } function destroy() public onlyOwner { selfdestruct(owner); } /** * ERC 20 token functions * * https://github.com/ethereum/EIPs/issues/20 */ function transfer(address _to, uint256 _value) public onlyIfAllowed returns (bool success) { if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) { balances[msg.sender] -= _value; balances[_to] += _value; emit Transfer(msg.sender, _to, _value); checkAddress(_to); return true; } else { return false; } } function transferFrom(address _from, address _to, uint256 _value) public onlyIfAllowed returns (bool success) { if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) { balances[_to] += _value; balances[_from] -= _value; allowed[_from][msg.sender] -= _value; emit Transfer(_from, _to, _value); checkAddress(_to); return true; } else { return false; } } function balanceOf(address _owner) public constant returns (uint256 balance) { return balances[_owner]; } function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_spender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"jackPotB","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rtm_contract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fee_balance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jackPotA","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_val","type":"uint256"},{"name":"_percent","type":"uint256"}],"name":"percent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"startBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getTicketsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liveBlocksNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setRtmContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"others_prize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"onePotWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"inv_contract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"last_winner","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contractBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"blockLeft","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"autopayfee","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_ticketNum","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_num","type":"uint256"}],"name":"getTicketOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jackPotC","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"EndLottery","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"endBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"manager_withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ticketsNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"payfee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"random_num","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_auto","type":"bool"}],"name":"setAutoPayFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"prizeFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getTicketsAtAdress","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getLastWinner","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"winners_count","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"eth","type":"uint256"}],"name":"Buy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"eth","type":"uint256"}],"name":"Withdraw","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":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"TransferError","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"PayFee","type":"event"}]
Contract Creation Code
6080604052600080556000600360006101000a81548163ffffffff021916908363ffffffff16021790555061168060045560006005556000600655731d9ed8e4c1591384a4b2fbd005cccbdc58501cc0600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507367e5e779bfc7a93374f273dcaefce0db8b3559c2600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a556000600b556000600c556000600d556001600e60006101000a81548160ff02191690831515021790555034801561011f57600080fd5b5033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001430360058190555060045460055401600681905550611f12806101876000396000f3006080604052600436106101c1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625417561461034a57806306fdde0314610375578063119cbed6146104055780631769f0491461045c578063313ce56714610487578063392ee145146104b257806342318e3d146104dd578063498a4c2d1461052857806354659685146105535780635ac849d2146105aa57806362ebcdcf146105d5578063634fe2a61461061857806370a08231146106435780637a71dee01461069a5780637ccc7e94146106c55780638298c5dc1461071c57806383197ef0146107475780638b7afe2e1461075e57806395d89b41146107895780639902ef5b146108195780639d1be93014610844578063a9059cbb14610873578063ad093409146108c0578063afda2dac1461092d578063b04a3f1c14610958578063b4999e851461097a578063b5402ec3146109a5578063b7caf50a146109bc578063d0e30db0146109e7578063d5e3fbb2146109f1578063edde834914610a08578063ee815eae14610a3f578063f3ac3df514610a6e578063f604620a14610a99578063f88649a114610b31578063fbe6a9b214610b5c575b60008060003373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60006040518082815260200191505060405180910390a360065443108061022c5750670de0b6b3a764000034105b151561023757600080fd5b60003411801561024957506000600b54145b1561033157662386f26fc100003481151561026057fe5b049150600090505b818110156102d35733600160008360005401815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080600101915050610268565b8160008082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e346040518082815260200191505060405180910390a25b6006544310151561034657610344610b87565b505b5050005b34801561035657600080fd5b5061035f610f16565b6040518082815260200191505060405180910390f35b34801561038157600080fd5b5061038a610f2f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041157600080fd5b5061041a610f68565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046857600080fd5b50610471610f8e565b6040518082815260200191505060405180910390f35b34801561049357600080fd5b5061049c610f94565b6040518082815260200191505060405180910390f35b3480156104be57600080fd5b506104c7610f99565b6040518082815260200191505060405180910390f35b3480156104e957600080fd5b506105126004803603810190808035906020019092919080359060200190929190505050610fb2565b6040518082815260200191505060405180910390f35b34801561053457600080fd5b5061053d610fcb565b6040518082815260200191505060405180910390f35b34801561055f57600080fd5b50610594600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd1565b6040518082815260200191505060405180910390f35b3480156105b657600080fd5b506105bf611084565b6040518082815260200191505060405180910390f35b3480156105e157600080fd5b50610616600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061108a565b005b34801561062457600080fd5b5061062d61112a565b6040518082815260200191505060405180910390f35b34801561064f57600080fd5b50610684600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611130565b6040518082815260200191505060405180910390f35b3480156106a657600080fd5b506106af6111e3565b6040518082815260200191505060405180910390f35b3480156106d157600080fd5b506106da6111ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561072857600080fd5b50610731611214565b6040518082815260200191505060405180910390f35b34801561075357600080fd5b5061075c61121a565b005b34801561076a57600080fd5b506107736112b1565b6040518082815260200191505060405180910390f35b34801561079557600080fd5b5061079e6112d0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107de5780820151818401526020810190506107c3565b50505050905090810190601f16801561080b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561082557600080fd5b5061082e611309565b6040518082815260200191505060405180910390f35b34801561085057600080fd5b50610859611329565b604051808215151515815260200191505060405180910390f35b34801561087f57600080fd5b506108be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061133c565b005b3480156108cc57600080fd5b506108eb6004803603810190808035906020019092919050505061149d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093957600080fd5b506109426114ee565b6040518082815260200191505060405180910390f35b610960610b87565b604051808215151515815260200191505060405180910390f35b34801561098657600080fd5b5061098f611507565b6040518082815260200191505060405180910390f35b3480156109b157600080fd5b506109ba61150d565b005b3480156109c857600080fd5b506109d16115de565b6040518082815260200191505060405180910390f35b6109ef6115e4565b005b3480156109fd57600080fd5b50610a066115f5565b005b348015610a1457600080fd5b50610a1d611867565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610a4b57600080fd5b50610a6c60048036038101908080351515906020019092919050505061187d565b005b348015610a7a57600080fd5b50610a836118f6565b6040518082815260200191505060405180910390f35b348015610aa557600080fd5b50610ada600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611918565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610b1d578082015181840152602081019050610b02565b505050509050019250505060405180910390f35b348015610b3d57600080fd5b50610b46611a10565b6040518082815260200191505060405180910390f35b348015610b6857600080fd5b50610b71611a1d565b6040518082815260200191505060405180910390f35b6000806000806000806000806000806000806006544310151515610baa57600080fd5b6000549a5060038b1015610c205760009a506000341115610c0d573373ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610c0b573d6000803e3d6000fd5b505b610c176000611a23565b60009b50610f08565b610c286118f6565b9950610c358a600a610fb2565b9850610c428a6004610fb2565b9750610c4f8a6001610fb2565b9650600a662386f26fc1000002955060648b1015610c7257662386f26fc1000095505b6000600b541415610e03576003610c8a8c6004610fb2565b01600a819055506002860287898b0101019450600a6001600a54018702811515610cb057fe5b0487898b0101019350600a80541015610ce75789851115610cd8576000600c81905550610ce2565b848a03600c819055505b610d07565b89841115610cfc576000600c81905550610d06565b838a03600c819055505b5b610d4d60016000610d186001611ae5565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a611b08565b50610d9460016000610d5f6002611ae5565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1689611b08565b50610ddb60016000610da66003611ae5565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688611b08565b506003600b60008282540192505081905550610df933348801611b08565b5060019b50610f08565b600a54600b54108015610e1857506000600c54115b15610ef857600a54600c54811515610e2c57fe5b04925060009050600b5491505b600a54821015610ebe57610e8b60016000610e5660038601611ae5565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b08565b50808060010191505060098160ff16101515610eb15781600b8190555060019b50610f08565b8180600101925050610e39565b81600b8190555060098160ff161015610ee157610edc348701611a23565b610eef565b610eed33348801611b08565b505b60019b50610f08565b610f03348701611a23565b60019b505b505050505050505050505090565b6000610f2a610f236118f6565b6004610fb2565b905090565b6040805190810160405280601481526020017f52616e646f6d204461696c79204c6f747465727900000000000000000000000081525081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b600081565b6000610fad610fa66118f6565b600a610fb2565b905090565b60006064828402811515610fc257fe5b04905092915050565b60055481565b6000806000806000541415610fe9576000925061107d565b60009150600090505b600054811015611079578373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561106c5781806001019250505b8080600101915050610ff2565b8192505b5050919050565b60045481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110e657600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b600080600080600054141561114857600092506111dc565b60009150600090505b6000548110156111d8578373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111cb5781806001019250505b8080600101915050611151565b8192505b5050919050565b662386f26fc1000081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561127657600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6040805190810160405280600381526020017f524e44000000000000000000000000000000000000000000000000000000000081525081565b60004360065411156113215743600654039050611326565b600090505b90565b600e60009054906101000a900460ff1681565b6001600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156113d75750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15156113e257600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060005414156114b257600090506114e9565b6001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b60006115026114fb6118f6565b6001610fb2565b905090565b60065481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561156957600080fd5b60045460065401431015151561157e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156115db573d6000803e3d6000fd5b50565b60005481565b6000341115156115f357600080fd5b565b6000806000600d5411151561160957600080fd5b600d549150600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16631565c3c861165a846019610fb2565b6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b1580156116a157600080fd5b505af11580156116b5573d6000803e3d6000fd5b5050505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61170184604a610fb2565b9081150290604051600060405180830381858888f1935050505015801561172c573d6000803e3d6000fd5b506000600d819055507ffc3807f0745bd1eb5dc5780a175469ce00b0c68e8fa419b52881041a4f3794cc600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611784846019610fb2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a17ffc3807f0745bd1eb5dc5780a175469ce00b0c68e8fa419b52881041a4f3794cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661181b84604a610fb2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600360009054906101000a900463ffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118d957600080fd5b80600e60006101000a81548160ff02191690831515021790555050565b6000605a6064662386f26fc100006000540281151561191157fe5b0402905090565b60608060008061192785610fd1565b6040519080825280602002602001820160405280156119555781602001602082028038833980820191505090505b50925060009150600090505b600054811015611a05578473ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156119f8578083838151811015156119e157fe5b906020019060200201818152505081806001019250505b8080600101915050611961565b829350505050919050565b60006001600b5401905090565b600a5481565b6000808190555060014303600581905550600454600554016006819055506001600360008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff1602179055506000600a819055506000600b81905550611aa93073ffffffffffffffffffffffffffffffffffffffff163182611c54565b600d819055506000341115611ac457611ac23382611b08565b505b600e60009054906101000a900460ff1615611ae257611ae1611c73565b5b50565b6000600160005483600654034060019004811515611aff57fe5b06019050919050565b6000813073ffffffffffffffffffffffffffffffffffffffff16311015611b80578273ffffffffffffffffffffffffffffffffffffffff167f55b12570518c9cbe020a73b7f15c4f882caf03d1318b65e7e28d95a328b03867836040518082815260200191505060405180910390a260009050611c4e565b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611bc6573d6000803e3d6000fd5b503073ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb8484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a2600190505b92915050565b600081831015611c675760009050611c6d565b81830390505b92915050565b6000806000600d54111515611c8757611ee2565b600d549150600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16631565c3c8611cd8846019610fb2565b6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b5050505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611d7f84604a610fb2565b9081150290604051600060405180830381858888f19350505050158015611daa573d6000803e3d6000fd5b506000600d819055507ffc3807f0745bd1eb5dc5780a175469ce00b0c68e8fa419b52881041a4f3794cc600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e02846019610fb2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a17ffc3807f0745bd1eb5dc5780a175469ce00b0c68e8fa419b52881041a4f3794cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e9984604a610fb2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505600a165627a7a72305820125a3f374f4e18c1fe41e568178109814d2e6a11996004f3e51344d52681835b0029
Deployed Bytecode
0x6080604052600436106101c1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625417561461034a57806306fdde0314610375578063119cbed6146104055780631769f0491461045c578063313ce56714610487578063392ee145146104b257806342318e3d146104dd578063498a4c2d1461052857806354659685146105535780635ac849d2146105aa57806362ebcdcf146105d5578063634fe2a61461061857806370a08231146106435780637a71dee01461069a5780637ccc7e94146106c55780638298c5dc1461071c57806383197ef0146107475780638b7afe2e1461075e57806395d89b41146107895780639902ef5b146108195780639d1be93014610844578063a9059cbb14610873578063ad093409146108c0578063afda2dac1461092d578063b04a3f1c14610958578063b4999e851461097a578063b5402ec3146109a5578063b7caf50a146109bc578063d0e30db0146109e7578063d5e3fbb2146109f1578063edde834914610a08578063ee815eae14610a3f578063f3ac3df514610a6e578063f604620a14610a99578063f88649a114610b31578063fbe6a9b214610b5c575b60008060003373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60006040518082815260200191505060405180910390a360065443108061022c5750670de0b6b3a764000034105b151561023757600080fd5b60003411801561024957506000600b54145b1561033157662386f26fc100003481151561026057fe5b049150600090505b818110156102d35733600160008360005401815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080600101915050610268565b8160008082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e346040518082815260200191505060405180910390a25b6006544310151561034657610344610b87565b505b5050005b34801561035657600080fd5b5061035f610f16565b6040518082815260200191505060405180910390f35b34801561038157600080fd5b5061038a610f2f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041157600080fd5b5061041a610f68565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046857600080fd5b50610471610f8e565b6040518082815260200191505060405180910390f35b34801561049357600080fd5b5061049c610f94565b6040518082815260200191505060405180910390f35b3480156104be57600080fd5b506104c7610f99565b6040518082815260200191505060405180910390f35b3480156104e957600080fd5b506105126004803603810190808035906020019092919080359060200190929190505050610fb2565b6040518082815260200191505060405180910390f35b34801561053457600080fd5b5061053d610fcb565b6040518082815260200191505060405180910390f35b34801561055f57600080fd5b50610594600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd1565b6040518082815260200191505060405180910390f35b3480156105b657600080fd5b506105bf611084565b6040518082815260200191505060405180910390f35b3480156105e157600080fd5b50610616600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061108a565b005b34801561062457600080fd5b5061062d61112a565b6040518082815260200191505060405180910390f35b34801561064f57600080fd5b50610684600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611130565b6040518082815260200191505060405180910390f35b3480156106a657600080fd5b506106af6111e3565b6040518082815260200191505060405180910390f35b3480156106d157600080fd5b506106da6111ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561072857600080fd5b50610731611214565b6040518082815260200191505060405180910390f35b34801561075357600080fd5b5061075c61121a565b005b34801561076a57600080fd5b506107736112b1565b6040518082815260200191505060405180910390f35b34801561079557600080fd5b5061079e6112d0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107de5780820151818401526020810190506107c3565b50505050905090810190601f16801561080b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561082557600080fd5b5061082e611309565b6040518082815260200191505060405180910390f35b34801561085057600080fd5b50610859611329565b604051808215151515815260200191505060405180910390f35b34801561087f57600080fd5b506108be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061133c565b005b3480156108cc57600080fd5b506108eb6004803603810190808035906020019092919050505061149d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093957600080fd5b506109426114ee565b6040518082815260200191505060405180910390f35b610960610b87565b604051808215151515815260200191505060405180910390f35b34801561098657600080fd5b5061098f611507565b6040518082815260200191505060405180910390f35b3480156109b157600080fd5b506109ba61150d565b005b3480156109c857600080fd5b506109d16115de565b6040518082815260200191505060405180910390f35b6109ef6115e4565b005b3480156109fd57600080fd5b50610a066115f5565b005b348015610a1457600080fd5b50610a1d611867565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610a4b57600080fd5b50610a6c60048036038101908080351515906020019092919050505061187d565b005b348015610a7a57600080fd5b50610a836118f6565b6040518082815260200191505060405180910390f35b348015610aa557600080fd5b50610ada600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611918565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610b1d578082015181840152602081019050610b02565b505050509050019250505060405180910390f35b348015610b3d57600080fd5b50610b46611a10565b6040518082815260200191505060405180910390f35b348015610b6857600080fd5b50610b71611a1d565b6040518082815260200191505060405180910390f35b6000806000806000806000806000806000806006544310151515610baa57600080fd5b6000549a5060038b1015610c205760009a506000341115610c0d573373ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610c0b573d6000803e3d6000fd5b505b610c176000611a23565b60009b50610f08565b610c286118f6565b9950610c358a600a610fb2565b9850610c428a6004610fb2565b9750610c4f8a6001610fb2565b9650600a662386f26fc1000002955060648b1015610c7257662386f26fc1000095505b6000600b541415610e03576003610c8a8c6004610fb2565b01600a819055506002860287898b0101019450600a6001600a54018702811515610cb057fe5b0487898b0101019350600a80541015610ce75789851115610cd8576000600c81905550610ce2565b848a03600c819055505b610d07565b89841115610cfc576000600c81905550610d06565b838a03600c819055505b5b610d4d60016000610d186001611ae5565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a611b08565b50610d9460016000610d5f6002611ae5565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1689611b08565b50610ddb60016000610da66003611ae5565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688611b08565b506003600b60008282540192505081905550610df933348801611b08565b5060019b50610f08565b600a54600b54108015610e1857506000600c54115b15610ef857600a54600c54811515610e2c57fe5b04925060009050600b5491505b600a54821015610ebe57610e8b60016000610e5660038601611ae5565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b08565b50808060010191505060098160ff16101515610eb15781600b8190555060019b50610f08565b8180600101925050610e39565b81600b8190555060098160ff161015610ee157610edc348701611a23565b610eef565b610eed33348801611b08565b505b60019b50610f08565b610f03348701611a23565b60019b505b505050505050505050505090565b6000610f2a610f236118f6565b6004610fb2565b905090565b6040805190810160405280601481526020017f52616e646f6d204461696c79204c6f747465727900000000000000000000000081525081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b600081565b6000610fad610fa66118f6565b600a610fb2565b905090565b60006064828402811515610fc257fe5b04905092915050565b60055481565b6000806000806000541415610fe9576000925061107d565b60009150600090505b600054811015611079578373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561106c5781806001019250505b8080600101915050610ff2565b8192505b5050919050565b60045481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110e657600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b600080600080600054141561114857600092506111dc565b60009150600090505b6000548110156111d8578373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111cb5781806001019250505b8080600101915050611151565b8192505b5050919050565b662386f26fc1000081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561127657600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6040805190810160405280600381526020017f524e44000000000000000000000000000000000000000000000000000000000081525081565b60004360065411156113215743600654039050611326565b600090505b90565b600e60009054906101000a900460ff1681565b6001600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156113d75750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15156113e257600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060005414156114b257600090506114e9565b6001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b60006115026114fb6118f6565b6001610fb2565b905090565b60065481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561156957600080fd5b60045460065401431015151561157e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156115db573d6000803e3d6000fd5b50565b60005481565b6000341115156115f357600080fd5b565b6000806000600d5411151561160957600080fd5b600d549150600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16631565c3c861165a846019610fb2565b6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b1580156116a157600080fd5b505af11580156116b5573d6000803e3d6000fd5b5050505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61170184604a610fb2565b9081150290604051600060405180830381858888f1935050505015801561172c573d6000803e3d6000fd5b506000600d819055507ffc3807f0745bd1eb5dc5780a175469ce00b0c68e8fa419b52881041a4f3794cc600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611784846019610fb2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a17ffc3807f0745bd1eb5dc5780a175469ce00b0c68e8fa419b52881041a4f3794cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661181b84604a610fb2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600360009054906101000a900463ffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118d957600080fd5b80600e60006101000a81548160ff02191690831515021790555050565b6000605a6064662386f26fc100006000540281151561191157fe5b0402905090565b60608060008061192785610fd1565b6040519080825280602002602001820160405280156119555781602001602082028038833980820191505090505b50925060009150600090505b600054811015611a05578473ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156119f8578083838151811015156119e157fe5b906020019060200201818152505081806001019250505b8080600101915050611961565b829350505050919050565b60006001600b5401905090565b600a5481565b6000808190555060014303600581905550600454600554016006819055506001600360008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff1602179055506000600a819055506000600b81905550611aa93073ffffffffffffffffffffffffffffffffffffffff163182611c54565b600d819055506000341115611ac457611ac23382611b08565b505b600e60009054906101000a900460ff1615611ae257611ae1611c73565b5b50565b6000600160005483600654034060019004811515611aff57fe5b06019050919050565b6000813073ffffffffffffffffffffffffffffffffffffffff16311015611b80578273ffffffffffffffffffffffffffffffffffffffff167f55b12570518c9cbe020a73b7f15c4f882caf03d1318b65e7e28d95a328b03867836040518082815260200191505060405180910390a260009050611c4e565b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611bc6573d6000803e3d6000fd5b503073ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb8484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a2600190505b92915050565b600081831015611c675760009050611c6d565b81830390505b92915050565b6000806000600d54111515611c8757611ee2565b600d549150600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16631565c3c8611cd8846019610fb2565b6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b5050505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611d7f84604a610fb2565b9081150290604051600060405180830381858888f19350505050158015611daa573d6000803e3d6000fd5b506000600d819055507ffc3807f0745bd1eb5dc5780a175469ce00b0c68e8fa419b52881041a4f3794cc600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e02846019610fb2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a17ffc3807f0745bd1eb5dc5780a175469ce00b0c68e8fa419b52881041a4f3794cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e9984604a610fb2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505600a165627a7a72305820125a3f374f4e18c1fe41e568178109814d2e6a11996004f3e51344d52681835b0029
Swarm Source
bzzr://125a3f374f4e18c1fe41e568178109814d2e6a11996004f3e51344d52681835b
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.