ETH Price: $2,377.90 (+0.37%)

Token

RAcoinToken (RAC)
 

Overview

Max Total Supply

20,000,000,000 RAC

Holders

2,278

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,677 RAC

Value
$0.00
0x944cb8e58615897e7e24d1e5263733c1724c366d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
RAcoinToken

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-30
*/

pragma solidity ^0.4.23;

contract ERC20Interface {
    function totalSupply() public view returns (uint);
    function balanceOf(address _owner) public view returns (uint balance);
    function transfer(address _to, uint _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint _value) public returns (bool success);
    function approve(address _spender, uint _value) public returns (bool success);
    function allowance(address _owner, address _spender) public view returns (uint remaining);
    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
}

/**
 * @title Ownable
 * The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;

    // The Ownable constructor sets the original `owner` 
    // of the contract to the sender account.
    constructor()  public {
        owner = msg.sender;
    } 

    // Throw if called by any account other than the current owner
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    // Allow the current owner to transfer control of the contract to a newOwner
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        owner = newOwner;
    }
}

contract RAcoinToken is Ownable, ERC20Interface {
    string public constant symbol = "RAC";
    string public constant name = "RAcoinToken";
    uint private _totalSupply;
    uint public constant decimals = 18;
    uint private unmintedTokens = 20000000000*uint(10)**decimals; 
    
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    
    //Struct to hold lockup records
    struct LockupRecord {
        uint amount;
        uint unlockTime;
    }
    
    // Balances for each account
    mapping(address => uint) balances;
    
    // Owner of account approves the transfer of an amount to another account
    mapping(address => mapping (address => uint)) allowed; 
    
    // Balances for lockup accounts
    mapping(address => LockupRecord)balancesLockup;



    /**
     ====== JACKPOT IMPLEMENTATION ====== 
     */

    // Percentage for jackpot reserving during tokens transfer, 1% is default
    uint public reservingPercentage = 100;
    
    // Minimum allowed variable percentage for jackpot reserving during tokens transfer, 0.01% is default
    uint public minAllowedReservingPercentage = 1;
    
    // Maximu, allowed variable percentage for jackpot reserving during tokens transfer, 10% is default
    uint public maxAllowedReservingPercentage = 1000;
    
    // Minimum amount of jackpot, before reaching it jackpot cannot be distributed. 
    // Default value is 100,000 RAC
    uint public jackpotMinimumAmount = 100000 * uint(10)**decimals; 
    
    // reservingStep is used for calculating how many times a user will be added to jackpot participants list:
    // times user will be added to jackpotParticipants list = transfer amount / reservingStep
    // the more user transfer tokens using transferWithReserving function the more times he will be added and, 
    // as a result, more chances to win the jackpot. Default value is 10,000 RAC
    uint public reservingStep = 10000 * uint(10)**decimals; 
    
    // The seed is used each time Jackpot is distributing for generating a random number.
    // First seed has some value, after the every turn of the jackpot distribution will be changed 
    uint private seed = 1; // Default seed 
    
    // The maximum allowed times when jackpot amount and distribution time will be set by owner,
    // Used only for token sale jackpot distribution 
    int public maxAllowedManualDistribution = 111; 

    // Either or not clear the jackpot participants list after the Jackpot distribution
    bool public clearJackpotParticipantsAfterDistribution = false;

    // Variable that holds last actual index of jackpotParticipants collection
    uint private index = 0; 

    // The list with Jackpot participants. The more times address is in the list, the more chances to win the Jackpot
    address[] private jackpotParticipants; 

    event SetReservingPercentage(uint _value);
    event SetMinAllowedReservingPercentage(uint _value);
    event SetMaxAllowedReservingPercentage(uint _value);
    event SetReservingStep(uint _value);
    event SetJackpotMinimumAmount(uint _value);
    event AddAddressToJackpotParticipants(address indexed _sender, uint _times);
    
    //Setting the reservingPercentage value, allowed only for owner
    function setReservingPercentage(uint _value) public onlyOwner returns (bool success) {
        assert(_value > 0 && _value < 10000);
        
        reservingPercentage = _value;
        emit SetReservingPercentage(_value);
        return true;
    }
    
    //Setting the minAllowedReservingPercentage value, allowed only for owner
    function setMinAllowedReservingPercentage(uint _value) public onlyOwner returns (bool success) {
        assert(_value > 0 && _value < 10000);
        
        minAllowedReservingPercentage = _value;
        emit SetMinAllowedReservingPercentage(_value);
        return true;
    }
    
    //Setting the maxAllowedReservingPercentage value, allowed only for owner
    function setMaxAllowedReservingPercentage(uint _value) public onlyOwner returns (bool success) {
        assert(_value > 0 && _value < 10000);
        
        minAllowedReservingPercentage = _value;
        emit SetMaxAllowedReservingPercentage(_value);
        return true;
    }
    
    //Setting the reservingStep value, allowed only for owner
    function setReservingStep(uint _value) public onlyOwner returns (bool success) {
        assert(_value > 0);
        reservingStep = _value;
        emit SetReservingStep(_value);
        return true;
    }
    
    //Setting the setJackpotMinimumAmount value, allowed only for owner
    function setJackpotMinimumAmount(uint _value) public onlyOwner returns (bool success) {
        jackpotMinimumAmount = _value;
        emit SetJackpotMinimumAmount(_value);
        return true;
    }

    //Setting the clearJackpotParticipantsAfterDistribution value, allowed only for owner
    function setPoliticsForJackpotParticipantsList(bool _clearAfterDistribution) public onlyOwner returns (bool success) {
        clearJackpotParticipantsAfterDistribution = _clearAfterDistribution;
        return true;
    }
    
    // Empty the jackpot participants list
    function clearJackpotParticipants() public onlyOwner returns (bool success) {
        index = 0;
        return true;
    }
    
    // Using this function a user transfers tokens and participates in operating jackpot 
    // User sets the total transfer amount that includes the Jackpot reserving deposit
    function transferWithReserving(address _to, uint _totalTransfer) public returns (bool success) {
        uint netTransfer = _totalTransfer * (10000 - reservingPercentage) / 10000; 
        require(balances[msg.sender] >= _totalTransfer && (_totalTransfer > netTransfer));
        
        if (transferMain(msg.sender, _to, netTransfer) && (_totalTransfer >= reservingStep)) {
            processJackpotDeposit(_totalTransfer, netTransfer, msg.sender);
        }
        return true;
    }

    // Using this function a user transfers tokens and participates in operating jackpot 
    // User sets the net value of transfer without the Jackpot reserving deposit amount 
    function transferWithReservingNet(address _to, uint _netTransfer) public returns (bool success) {
        uint totalTransfer = _netTransfer * (10000 + reservingPercentage) / 10000; 
        require(balances[msg.sender] >= totalTransfer && (totalTransfer > _netTransfer));
        
        if (transferMain(msg.sender, _to, _netTransfer) && (totalTransfer >= reservingStep)) {
            processJackpotDeposit(totalTransfer, _netTransfer, msg.sender);
        }
        return true;
    }
    
    // Using this function a user transfers tokens and participates in operating jackpot 
    // User sets the total transfer amount that includes the Jackpot reserving deposit and custom reserving percentage
    function transferWithCustomReserving(address _to, uint _totalTransfer, uint _customReservingPercentage) public returns (bool success) {
        require(_customReservingPercentage > minAllowedReservingPercentage && _customReservingPercentage < maxAllowedReservingPercentage);
        uint netTransfer = _totalTransfer * (10000 - _customReservingPercentage) / 10000; 
        require(balances[msg.sender] >= _totalTransfer && (_totalTransfer > netTransfer));
        
        if (transferMain(msg.sender, _to, netTransfer) && (_totalTransfer >= reservingStep)) {
            processJackpotDeposit(_totalTransfer, netTransfer, msg.sender);
        }
        return true;
    }
    
    // Using this function a user transfers tokens and participates in operating jackpot 
    // User sets the net value of transfer without the Jackpot reserving deposit amount and custom reserving percentage
    function transferWithCustomReservingNet(address _to, uint _netTransfer, uint _customReservingPercentage) public returns (bool success) {
        require(_customReservingPercentage > minAllowedReservingPercentage && _customReservingPercentage < maxAllowedReservingPercentage);
        uint totalTransfer = _netTransfer * (10000 + _customReservingPercentage) / 10000; 
        require(balances[msg.sender] >= totalTransfer && (totalTransfer > _netTransfer));
        
        if (transferMain(msg.sender, _to, _netTransfer) && (totalTransfer >= reservingStep)) {
            processJackpotDeposit(totalTransfer, _netTransfer, msg.sender);
        }
        return true;
    }

    // Using this function a spender transfers tokens and make an owner of funds a participant of the operating Jackpot 
    // User sets the total transfer amount that includes the Jackpot reserving deposit
    function transferFromWithReserving(address _from, address _to, uint _totalTransfer) public returns (bool success) {
        uint netTransfer = _totalTransfer * (10000 - reservingPercentage) / 10000; 
        require(balances[_from] >= _totalTransfer && (_totalTransfer > netTransfer));
        
        if (transferFrom(_from, _to, netTransfer) && (_totalTransfer >= reservingStep)) {
            processJackpotDeposit(_totalTransfer, netTransfer, _from);
        }
        return true;
    }

    // Using this function a spender transfers tokens and make an owner of funds a participatants of the operating Jackpot 
    // User set the net value of transfer without the Jackpot reserving deposit amount 
    function transferFromWithReservingNet(address _from, address _to, uint _netTransfer) public returns (bool success) {
        uint totalTransfer = _netTransfer * (10000 + reservingPercentage) / 10000; 
        require(balances[_from] >= totalTransfer && (totalTransfer > _netTransfer));

        if (transferFrom(_from, _to, _netTransfer) && (totalTransfer >= reservingStep)) {
            processJackpotDeposit(totalTransfer, _netTransfer, _from);
        }
        return true;
    }


    // Using this function a spender transfers tokens and make an owner of funds a participant of the operating Jackpot 
    // User sets the total transfer amount that includes the Jackpot reserving deposit
    function transferFromWithCustomReserving(address _from, address _to, uint _totalTransfer, uint _customReservingPercentage) public returns (bool success) {
        require(_customReservingPercentage > minAllowedReservingPercentage && _customReservingPercentage < maxAllowedReservingPercentage);
        uint netTransfer = _totalTransfer * (10000 - _customReservingPercentage) / 10000; 
        require(balances[_from] >= _totalTransfer && (_totalTransfer > netTransfer));
        
        if (transferFrom(_from, _to, netTransfer) && (_totalTransfer >= reservingStep)) {
            processJackpotDeposit(_totalTransfer, netTransfer, _from);
        }
        return true;
    }

    // Using this function a spender transfers tokens and make an owner of funds a participatants of the operating Jackpot 
    // User set the net value of transfer without the Jackpot reserving deposit amount and custom reserving percentage
    function transferFromWithCustomReservingNet(address _from, address _to, uint _netTransfer, uint _customReservingPercentage) public returns (bool success) {
        require(_customReservingPercentage > minAllowedReservingPercentage && _customReservingPercentage < maxAllowedReservingPercentage);
        uint totalTransfer = _netTransfer * (10000 + _customReservingPercentage) / 10000; 
        require(balances[_from] >= totalTransfer && (totalTransfer > _netTransfer));

        if (transferFrom(_from, _to, _netTransfer) && (totalTransfer >= reservingStep)) {
            processJackpotDeposit(totalTransfer, _netTransfer, _from);
        }
        return true;
    }
    
    // Withdraw deposit of Jackpot amount and add address to Jackpot Participants List according to transaction amount
    function processJackpotDeposit(uint _totalTransfer, uint _netTransfer, address _participant) private returns (bool success) {
        addAddressToJackpotParticipants(_participant, _totalTransfer);

        uint jackpotDeposit = _totalTransfer - _netTransfer;
        balances[_participant] -= jackpotDeposit;
        balances[0] += jackpotDeposit;

        emit Transfer(_participant, 0, jackpotDeposit);
        return true;
    }

    // Add address to Jackpot Participants List
    function addAddressToJackpotParticipants(address _participant, uint _transactionAmount) private returns (bool success) {
        uint timesToAdd = _transactionAmount / reservingStep;
        
        for (uint i = 0; i < timesToAdd; i++){
            if(index == jackpotParticipants.length) {
                jackpotParticipants.length += 1;
            }
            jackpotParticipants[index++] = _participant;
        }

        emit AddAddressToJackpotParticipants(_participant, timesToAdd);
        return true;        
    }
    
    // Distribute jackpot. For finding a winner we use random number that is produced by multiplying a previous seed  
    // received from previous jackpot distribution and casted to uint last available block hash. 
    // Remainder from the received random number and total number of participants will give an index of a winner in the Jackpot participants list
    function distributeJackpot(uint _nextSeed) public onlyOwner returns (bool success) {
        assert(balances[0] >= jackpotMinimumAmount);
        assert(_nextSeed > 0);

        uint additionalSeed = uint(blockhash(block.number - 1));
        uint rnd = 0;
        
        while(rnd < index) {
            rnd += additionalSeed * seed;
        }
        
        uint winner = rnd % index;
        balances[jackpotParticipants[winner]] += balances[0];
        emit Transfer(0, jackpotParticipants[winner], balances[0]);
        balances[0] = 0;
        seed = _nextSeed;

        if (clearJackpotParticipantsAfterDistribution) {
            clearJackpotParticipants();
        }
        return true;
    }

    // Distribute Token Sale Jackpot by minting token sale jackpot directly to 0x0 address and calling distributeJackpot function 
    function distributeTokenSaleJackpot(uint _nextSeed, uint _amount) public onlyOwner returns (bool success) {
        require (maxAllowedManualDistribution > 0);
        if (mintTokens(0, _amount) && distributeJackpot(_nextSeed)) {
            maxAllowedManualDistribution--;
        }
        return true;
    }



    /** 
     ====== ERC20 IMPLEMENTATION ====== 
     */
    
    // Return total supply of tokens including locked-up funds and current Jackpot deposit
    function totalSupply() public view returns (uint) {
        return _totalSupply;
    }

    // Get the balance of the specified address
    function balanceOf(address _owner) public view returns (uint balance) {
        return balances[_owner];
    }

    // Transfer token to a specified address   
    function transfer(address _to, uint _value) public returns (bool success) {
        require(balances[msg.sender] >= _value);
        return transferMain(msg.sender, _to, _value);
    }

    // Transfer tokens from one address to another 
    function transferFrom(address _from, address _to, uint _value) public returns (bool success) {
        require(balances[_from] >= _value);
        require(allowed[_from][msg.sender] >= _value);

        if (transferMain(_from, _to, _value)){
            allowed[_from][msg.sender] -= _value;
            return true;
        } else {
            return false;
        }
    }

    // Main transfer function. Checking of balances is made in calling function
    function transferMain(address _from, address _to, uint _value) private returns (bool success) {
        require(_to != address(0));
        assert(balances[_to] + _value >= balances[_to]);
        
        balances[_from] -= _value;
        balances[_to] += _value;
        emit Transfer(_from, _to, _value);
        return true;
    }

    // Approve the passed address to spend the specified amount of tokens on behalf of msg.sender
    function approve(address _spender, uint _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    // Function to check the amount of tokens than an owner allowed to a spender
    function allowance(address _owner, address _spender) public view returns (uint remaining) {
        return allowed[_owner][_spender];
    }
    


    /**
     ====== LOCK-UP IMPLEMENTATION ====== 
     */

    function unlockOwnFunds() public returns (bool success) {
        return unlockFunds(msg.sender);
    }

    function unlockSupervisedFunds(address _from) public onlyOwner returns (bool success) {
        return unlockFunds(_from);
    }
    
    function unlockFunds(address _owner) private returns (bool success) {
        require(balancesLockup[_owner].unlockTime < now && balancesLockup[_owner].amount > 0);

        balances[_owner] += balancesLockup[_owner].amount;
        emit Transfer(_owner, _owner, balancesLockup[_owner].amount);
        balancesLockup[_owner].amount = 0;

        return true;
    }

    function balanceOfLockup(address _owner) public view returns (uint balance, uint unlockTime) {
        return (balancesLockup[_owner].amount, balancesLockup[_owner].unlockTime);
    }



    /**
     ====== TOKENS MINTING IMPLEMENTATION ====== 
     */

    // Mint RAcoin tokens. No more than 20,000,000,000 RAC can be minted
    function mintTokens(address _target, uint _mintedAmount) public onlyOwner returns (bool success) {
        require(_mintedAmount <= unmintedTokens);
        balances[_target] += _mintedAmount;
        unmintedTokens -= _mintedAmount;
        _totalSupply += _mintedAmount;
        
        emit Transfer(1, _target, _mintedAmount); 
        return true;
    }

    // Mint RAcoin locked-up tokens
    // Using different types of minting functions has no effect on total limit of 20,000,000,000 RAC that can be created
    function mintLockupTokens(address _target, uint _mintedAmount, uint _unlockTime) public onlyOwner returns (bool success) {
        require(_mintedAmount <= unmintedTokens);

        balancesLockup[_target].amount += _mintedAmount;
        balancesLockup[_target].unlockTime = _unlockTime;
        unmintedTokens -= _mintedAmount;
        _totalSupply += _mintedAmount;
        
        emit Transfer(1, _target, _mintedAmount); //TODO
        return true;
    }

    // Mint RAcoin tokens for token sale participants and add them to Jackpot list
    // Using different types of minting functions has no effect on total limit of 20,000,000,000 RAC that can be created
    function mintTokensWithIncludingInJackpot(address _target, uint _mintedAmount) public onlyOwner returns (bool success) {
        require(maxAllowedManualDistribution > 0);
        if (mintTokens(_target, _mintedAmount)) {
            addAddressToJackpotParticipants(_target, _mintedAmount);
        }
        return true;
    }

    // Mint RAcoin tokens and approve the passed address to spend the minted amount of tokens
    // Using different types of minting functions has no effect on total limit of 20,000,000,000 RAC that can be created
    function mintTokensWithApproval(address _target, uint _mintedAmount, address _spender) public onlyOwner returns (bool success) {
        require(_mintedAmount <= unmintedTokens);
        balances[_target] += _mintedAmount;
        unmintedTokens -= _mintedAmount;
        _totalSupply += _mintedAmount;
        allowed[_target][_spender] += _mintedAmount;
        
        emit Transfer(1, _target, _mintedAmount);
        return true;
    }

    // After firing this function no more tokens can be created  
    function stopTokenMinting() public onlyOwner returns (bool success) {
        unmintedTokens = 0;
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setReservingPercentage","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"clearJackpotParticipantsAfterDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_totalTransfer","type":"uint256"}],"name":"transferFromWithReserving","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_netTransfer","type":"uint256"},{"name":"_customReservingPercentage","type":"uint256"}],"name":"transferFromWithCustomReservingNet","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_mintedAmount","type":"uint256"}],"name":"mintTokensWithIncludingInJackpot","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reservingPercentage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopTokenMinting","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_netTransfer","type":"uint256"}],"name":"transferFromWithReservingNet","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unlockOwnFunds","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOfLockup","outputs":[{"name":"balance","type":"uint256"},{"name":"unlockTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jackpotMinimumAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_netTransfer","type":"uint256"}],"name":"transferWithReservingNet","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_nextSeed","type":"uint256"}],"name":"distributeJackpot","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setMaxAllowedReservingPercentage","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_mintedAmount","type":"uint256"},{"name":"_unlockTime","type":"uint256"}],"name":"mintLockupTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_nextSeed","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"distributeTokenSaleJackpot","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_totalTransfer","type":"uint256"},{"name":"_customReservingPercentage","type":"uint256"}],"name":"transferWithCustomReserving","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_mintedAmount","type":"uint256"},{"name":"_spender","type":"address"}],"name":"mintTokensWithApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxAllowedManualDistribution","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reservingStep","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setJackpotMinimumAmount","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_totalTransfer","type":"uint256"},{"name":"_customReservingPercentage","type":"uint256"}],"name":"transferFromWithCustomReserving","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxAllowedReservingPercentage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearAfterDistribution","type":"bool"}],"name":"setPoliticsForJackpotParticipantsList","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minAllowedReservingPercentage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"}],"name":"unlockSupervisedFunds","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_netTransfer","type":"uint256"},{"name":"_customReservingPercentage","type":"uint256"}],"name":"transferWithCustomReservingNet","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"clearJackpotParticipants","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setReservingStep","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_mintedAmount","type":"uint256"}],"name":"mintTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_totalTransfer","type":"uint256"}],"name":"transferWithReserving","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setMinAllowedReservingPercentage","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","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":false,"name":"_value","type":"uint256"}],"name":"SetReservingPercentage","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_value","type":"uint256"}],"name":"SetMinAllowedReservingPercentage","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_value","type":"uint256"}],"name":"SetMaxAllowedReservingPercentage","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_value","type":"uint256"}],"name":"SetReservingStep","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_value","type":"uint256"}],"name":"SetJackpotMinimumAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_sender","type":"address"},{"indexed":false,"name":"_times","type":"uint256"}],"name":"AddAddressToJackpotParticipants","type":"event"}]

60806040526012600a0a6404a817c80002600255606460065560016007556103e86008556012600a0a620186a0026009556012600a0a61271002600a556001600b55606f600c556000600d60006101000a81548160ff0219169083151502179055506000600e55336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061306d806100b56000396000f30060806040526004361061020f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610214578063095ea7b3146102a4578063111911861461030957806318160ddd1461034e57806318501714146103795780631b6ad60a146103a857806323b872dd1461042d578063313ce567146104b257806335866368146104dd5780633e2d7de11461056c57806343e92866146105d157806356cb6655146105fc5780635caabecf1461062b5780635fe745ea146106b05780636da28481146106df57806370a082311461073d57806371bad4d81461079457806371f6fb88146107bf578063750e75d5146108245780637fdd69f61461086957806388275b68146108ae5780638a17164c1461091d5780638cd0a5731461096c5780638da5cb5b146109db57806391fe7bab14610a3257806395d89b4114610ab7578063967826df14610b47578063a1920f3614610b72578063a87ebcb514610b9d578063a9059cbb14610be2578063ad0096af14610c47578063b9f2d59214610cd6578063be395cd514610d01578063c904a2ee14610d48578063ce23003014610d73578063daaa50c914610dce578063dd62ed3e14610e3d578063e3ec066614610eb4578063e92e4d6314610ee3578063f0dda65c14610f28578063f2fde38b14610f8d578063f4a011be14610fd0578063fa26db7e14611035575b600080fd5b34801561022057600080fd5b5061022961107a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026957808201518184015260208101905061024e565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b057600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110b3565b604051808215151515815260200191505060405180910390f35b34801561031557600080fd5b50610334600480360381019080803590602001909291905050506111a5565b604051808215151515815260200191505060405180910390f35b34801561035a57600080fd5b50610363611262565b6040518082815260200191505060405180910390f35b34801561038557600080fd5b5061038e61126c565b604051808215151515815260200191505060405180910390f35b3480156103b457600080fd5b50610413600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061127f565b604051808215151515815260200191505060405180910390f35b34801561043957600080fd5b50610498600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061132a565b604051808215151515815260200191505060405180910390f35b3480156104be57600080fd5b506104c76114b4565b6040518082815260200191505060405180910390f35b3480156104e957600080fd5b50610552600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506114b9565b604051808215151515815260200191505060405180910390f35b34801561057857600080fd5b506105b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611580565b604051808215151515815260200191505060405180910390f35b3480156105dd57600080fd5b506105e6611613565b6040518082815260200191505060405180910390f35b34801561060857600080fd5b50610611611619565b604051808215151515815260200191505060405180910390f35b34801561063757600080fd5b50610696600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611685565b604051808215151515815260200191505060405180910390f35b3480156106bc57600080fd5b506106c5611730565b604051808215151515815260200191505060405180910390f35b3480156106eb57600080fd5b50610720600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611740565b604051808381526020018281526020019250505060405180910390f35b34801561074957600080fd5b5061077e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117d2565b6040518082815260200191505060405180910390f35b3480156107a057600080fd5b506107a961181b565b6040518082815260200191505060405180910390f35b3480156107cb57600080fd5b5061080a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611821565b604051808215151515815260200191505060405180910390f35b34801561083057600080fd5b5061084f600480360381019080803590602001909291905050506118cb565b604051808215151515815260200191505060405180910390f35b34801561087557600080fd5b5061089460048036038101908080359060200190929190505050611b69565b604051808215151515815260200191505060405180910390f35b3480156108ba57600080fd5b50610903600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611c26565b604051808215151515815260200191505060405180910390f35b34801561092957600080fd5b506109526004803603810190808035906020019092919080359060200190929190505050611da6565b604051808215151515815260200191505060405180910390f35b34801561097857600080fd5b506109c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611e53565b604051808215151515815260200191505060405180910390f35b3480156109e757600080fd5b506109f0611f19565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a3e57600080fd5b50610a9d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f3e565b604051808215151515815260200191505060405180910390f35b348015610ac357600080fd5b50610acc6120fe565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b0c578082015181840152602081019050610af1565b50505050905090810190601f168015610b395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b5357600080fd5b50610b5c612137565b6040518082815260200191505060405180910390f35b348015610b7e57600080fd5b50610b8761213d565b6040518082815260200191505060405180910390f35b348015610ba957600080fd5b50610bc860048036038101908080359060200190929190505050612143565b604051808215151515815260200191505060405180910390f35b348015610bee57600080fd5b50610c2d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121e7565b604051808215151515815260200191505060405180910390f35b348015610c5357600080fd5b50610cbc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061224a565b604051808215151515815260200191505060405180910390f35b348015610ce257600080fd5b50610ceb612311565b6040518082815260200191505060405180910390f35b348015610d0d57600080fd5b50610d2e600480360381019080803515159060200190929190505050612317565b604051808215151515815260200191505060405180910390f35b348015610d5457600080fd5b50610d5d612397565b6040518082815260200191505060405180910390f35b348015610d7f57600080fd5b50610db4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061239d565b604051808215151515815260200191505060405180910390f35b348015610dda57600080fd5b50610e23600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061240a565b604051808215151515815260200191505060405180910390f35b348015610e4957600080fd5b50610e9e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124d0565b6040518082815260200191505060405180910390f35b348015610ec057600080fd5b50610ec9612557565b604051808215151515815260200191505060405180910390f35b348015610eef57600080fd5b50610f0e600480360381019080803590602001909291905050506125c3565b604051808215151515815260200191505060405180910390f35b348015610f3457600080fd5b50610f73600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612673565b604051808215151515815260200191505060405180910390f35b348015610f9957600080fd5b50610fce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127a8565b005b348015610fdc57600080fd5b5061101b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612882565b604051808215151515815260200191505060405180910390f35b34801561104157600080fd5b506110606004803603810190808035906020019092919050505061292c565b604051808215151515815260200191505060405180910390f35b6040805190810160405280600b81526020017f5241636f696e546f6b656e00000000000000000000000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120257600080fd5b600082118015611213575061271082105b151561121b57fe5b816006819055507fb2151209c009c165190c429eac860a3c1bca09ff540b200da0b67313834b7352826040518082815260200191505060405180910390a160019050919050565b6000600154905090565b600d60009054906101000a900460ff1681565b60008061271060065461271003840281151561129757fe5b04905082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156112e857508083115b15156112f357600080fd5b6112fe85858361132a565b801561130c5750600a548310155b1561131e5761131c8382876129e9565b505b60019150509392505050565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561137a57600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561140557600080fd5b611410848484612adc565b156114a85781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600190506114ad565b600090505b9392505050565b601281565b600080600754831180156114ce575060085483105b15156114d957600080fd5b612710836127100185028115156114ec57fe5b04905080600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561153d57508381115b151561154857600080fd5b61155386868661132a565b80156115615750600a548110155b15611573576115718185886129e9565b505b6001915050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115dd57600080fd5b6000600c541315156115ee57600080fd5b6115f88383612673565b15611609576116078383612caf565b505b6001905092915050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561167657600080fd5b60006002819055506001905090565b60008061271060065461271001840281151561169d57fe5b04905080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156116ee57508281115b15156116f957600080fd5b61170485858561132a565b80156117125750600a548110155b15611724576117228184876129e9565b505b60019150509392505050565b600061173b33612dc9565b905090565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491509150915091565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60095481565b60008061271060065461271001840281151561183957fe5b04905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561188a57508281115b151561189557600080fd5b6118a0338585612adc565b80156118ae5750600a548110155b156118c0576118be8184336129e9565b505b600191505092915050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561192c57600080fd5b600954600360008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561196357fe5b60008511151561196f57fe5b6001430340600190049250600091505b600e5482101561199757600b5483028201915061197f565b600e54828115156119a457fe5b069050600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460036000600f848154811015156119e457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600f81815481101515611a6557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36000600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600b81905550600d60009054906101000a900460ff1615611b5d57611b5b612557565b505b60019350505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bc657600080fd5b600082118015611bd7575061271082105b1515611bdf57fe5b816007819055507f7e7474389a69c93c733d84c5565b309afc9ae9a13c4316277c72b36153ee1ac2826040518082815260200191505060405180910390a160019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c8357600080fd5b6002548311151515611c9457600080fd5b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555082600260008282540392505081905550826001600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff1660017fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0357600080fd5b6000600c54131515611e1457600080fd5b611e1f600083612673565b8015611e305750611e2f836118cb565b5b15611e4957600c60008154809291906001900391905055505b6001905092915050565b60008060075483118015611e68575060085483105b1515611e7357600080fd5b61271083612710038502811515611e8657fe5b04905083600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611ed757508084115b1515611ee257600080fd5b611eed338683612adc565b8015611efb5750600a548410155b15611f0d57611f0b8482336129e9565b505b60019150509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f9b57600080fd5b6002548311151515611fac57600080fd5b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550826002600082825403925050819055508260016000828254019250508190555082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff1660017fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b6040805190810160405280600381526020017f524143000000000000000000000000000000000000000000000000000000000081525081565b600c5481565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121a057600080fd5b816009819055507fcd1c0cbd2e826c4fcada0916e93201d74c44dc4581310c3035dac8cf0c607339826040518082815260200191505060405180910390a160019050919050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561223757600080fd5b612242338484612adc565b905092915050565b6000806007548311801561225f575060085483105b151561226a57600080fd5b6127108361271003850281151561227d57fe5b04905083600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156122ce57508084115b15156122d957600080fd5b6122e486868361132a565b80156122f25750600a548410155b15612304576123028482886129e9565b505b6001915050949350505050565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561237457600080fd5b81600d60006101000a81548160ff02191690831515021790555060019050919050565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123fa57600080fd5b61240382612dc9565b9050919050565b6000806007548311801561241f575060085483105b151561242a57600080fd5b6127108361271001850281151561243d57fe5b04905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561248e57508381115b151561249957600080fd5b6124a4338686612adc565b80156124b25750600a548110155b156124c4576124c28185336129e9565b505b60019150509392505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125b457600080fd5b6000600e819055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561262057600080fd5b60008211151561262c57fe5b81600a819055507f5a859d86a70043c199015ae2ec2ef5986339ac7fd8a289a69d55c466e5913c26826040518082815260200191505060405180910390a160019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126d057600080fd5b60025482111515156126e157600080fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600260008282540392505081905550816001600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff1660017fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561280357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561283f57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008061271060065461271003840281151561289a57fe5b04905082600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156128eb57508083115b15156128f657600080fd5b612901338583612adc565b801561290f5750600a548310155b156129215761291f8382336129e9565b505b600191505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561298957600080fd5b60008211801561299a575061271082105b15156129a257fe5b816007819055507f14ef8b429aae72a4fea37675df419c7c5159b3fcd41ace6ecc49d5d02469daf6826040518082815260200191505060405180910390a160019050919050565b6000806129f68386612caf565b50838503905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060008373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612b1957600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110151515612ba557fe5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000806000600a5484811515612cc157fe5b049150600090505b81811015612d6f57600f80549050600e541415612cfa576001600f81818054905001915081612cf89190612ff0565b505b84600f600e600081548092919060010191905055815481101515612d1a57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080600101915050612cc9565b8473ffffffffffffffffffffffffffffffffffffffff167f876dc242d76824ee48d7a13ac897603c91eadbd2785792776b5d59f91fa684f1836040518082815260200191505060405180910390a260019250505092915050565b600042600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154108015612e5e57506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154115b1515612e6957600080fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546040518082815260200191505060405180910390a36000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060019050919050565b81548183558181111561301757818360005260206000209182019101613016919061301c565b5b505050565b61303e91905b8082111561303a576000816000905550600101613022565b5090565b905600a165627a7a723058204df8d3967609d30d5878adb2386b4d4446b7bfb84bc252be0a8f265eae4dde730029

Deployed Bytecode

0x60806040526004361061020f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610214578063095ea7b3146102a4578063111911861461030957806318160ddd1461034e57806318501714146103795780631b6ad60a146103a857806323b872dd1461042d578063313ce567146104b257806335866368146104dd5780633e2d7de11461056c57806343e92866146105d157806356cb6655146105fc5780635caabecf1461062b5780635fe745ea146106b05780636da28481146106df57806370a082311461073d57806371bad4d81461079457806371f6fb88146107bf578063750e75d5146108245780637fdd69f61461086957806388275b68146108ae5780638a17164c1461091d5780638cd0a5731461096c5780638da5cb5b146109db57806391fe7bab14610a3257806395d89b4114610ab7578063967826df14610b47578063a1920f3614610b72578063a87ebcb514610b9d578063a9059cbb14610be2578063ad0096af14610c47578063b9f2d59214610cd6578063be395cd514610d01578063c904a2ee14610d48578063ce23003014610d73578063daaa50c914610dce578063dd62ed3e14610e3d578063e3ec066614610eb4578063e92e4d6314610ee3578063f0dda65c14610f28578063f2fde38b14610f8d578063f4a011be14610fd0578063fa26db7e14611035575b600080fd5b34801561022057600080fd5b5061022961107a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026957808201518184015260208101905061024e565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b057600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110b3565b604051808215151515815260200191505060405180910390f35b34801561031557600080fd5b50610334600480360381019080803590602001909291905050506111a5565b604051808215151515815260200191505060405180910390f35b34801561035a57600080fd5b50610363611262565b6040518082815260200191505060405180910390f35b34801561038557600080fd5b5061038e61126c565b604051808215151515815260200191505060405180910390f35b3480156103b457600080fd5b50610413600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061127f565b604051808215151515815260200191505060405180910390f35b34801561043957600080fd5b50610498600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061132a565b604051808215151515815260200191505060405180910390f35b3480156104be57600080fd5b506104c76114b4565b6040518082815260200191505060405180910390f35b3480156104e957600080fd5b50610552600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506114b9565b604051808215151515815260200191505060405180910390f35b34801561057857600080fd5b506105b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611580565b604051808215151515815260200191505060405180910390f35b3480156105dd57600080fd5b506105e6611613565b6040518082815260200191505060405180910390f35b34801561060857600080fd5b50610611611619565b604051808215151515815260200191505060405180910390f35b34801561063757600080fd5b50610696600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611685565b604051808215151515815260200191505060405180910390f35b3480156106bc57600080fd5b506106c5611730565b604051808215151515815260200191505060405180910390f35b3480156106eb57600080fd5b50610720600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611740565b604051808381526020018281526020019250505060405180910390f35b34801561074957600080fd5b5061077e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117d2565b6040518082815260200191505060405180910390f35b3480156107a057600080fd5b506107a961181b565b6040518082815260200191505060405180910390f35b3480156107cb57600080fd5b5061080a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611821565b604051808215151515815260200191505060405180910390f35b34801561083057600080fd5b5061084f600480360381019080803590602001909291905050506118cb565b604051808215151515815260200191505060405180910390f35b34801561087557600080fd5b5061089460048036038101908080359060200190929190505050611b69565b604051808215151515815260200191505060405180910390f35b3480156108ba57600080fd5b50610903600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611c26565b604051808215151515815260200191505060405180910390f35b34801561092957600080fd5b506109526004803603810190808035906020019092919080359060200190929190505050611da6565b604051808215151515815260200191505060405180910390f35b34801561097857600080fd5b506109c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611e53565b604051808215151515815260200191505060405180910390f35b3480156109e757600080fd5b506109f0611f19565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a3e57600080fd5b50610a9d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f3e565b604051808215151515815260200191505060405180910390f35b348015610ac357600080fd5b50610acc6120fe565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b0c578082015181840152602081019050610af1565b50505050905090810190601f168015610b395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b5357600080fd5b50610b5c612137565b6040518082815260200191505060405180910390f35b348015610b7e57600080fd5b50610b8761213d565b6040518082815260200191505060405180910390f35b348015610ba957600080fd5b50610bc860048036038101908080359060200190929190505050612143565b604051808215151515815260200191505060405180910390f35b348015610bee57600080fd5b50610c2d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121e7565b604051808215151515815260200191505060405180910390f35b348015610c5357600080fd5b50610cbc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061224a565b604051808215151515815260200191505060405180910390f35b348015610ce257600080fd5b50610ceb612311565b6040518082815260200191505060405180910390f35b348015610d0d57600080fd5b50610d2e600480360381019080803515159060200190929190505050612317565b604051808215151515815260200191505060405180910390f35b348015610d5457600080fd5b50610d5d612397565b6040518082815260200191505060405180910390f35b348015610d7f57600080fd5b50610db4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061239d565b604051808215151515815260200191505060405180910390f35b348015610dda57600080fd5b50610e23600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061240a565b604051808215151515815260200191505060405180910390f35b348015610e4957600080fd5b50610e9e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124d0565b6040518082815260200191505060405180910390f35b348015610ec057600080fd5b50610ec9612557565b604051808215151515815260200191505060405180910390f35b348015610eef57600080fd5b50610f0e600480360381019080803590602001909291905050506125c3565b604051808215151515815260200191505060405180910390f35b348015610f3457600080fd5b50610f73600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612673565b604051808215151515815260200191505060405180910390f35b348015610f9957600080fd5b50610fce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127a8565b005b348015610fdc57600080fd5b5061101b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612882565b604051808215151515815260200191505060405180910390f35b34801561104157600080fd5b506110606004803603810190808035906020019092919050505061292c565b604051808215151515815260200191505060405180910390f35b6040805190810160405280600b81526020017f5241636f696e546f6b656e00000000000000000000000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120257600080fd5b600082118015611213575061271082105b151561121b57fe5b816006819055507fb2151209c009c165190c429eac860a3c1bca09ff540b200da0b67313834b7352826040518082815260200191505060405180910390a160019050919050565b6000600154905090565b600d60009054906101000a900460ff1681565b60008061271060065461271003840281151561129757fe5b04905082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156112e857508083115b15156112f357600080fd5b6112fe85858361132a565b801561130c5750600a548310155b1561131e5761131c8382876129e9565b505b60019150509392505050565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561137a57600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561140557600080fd5b611410848484612adc565b156114a85781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600190506114ad565b600090505b9392505050565b601281565b600080600754831180156114ce575060085483105b15156114d957600080fd5b612710836127100185028115156114ec57fe5b04905080600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561153d57508381115b151561154857600080fd5b61155386868661132a565b80156115615750600a548110155b15611573576115718185886129e9565b505b6001915050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115dd57600080fd5b6000600c541315156115ee57600080fd5b6115f88383612673565b15611609576116078383612caf565b505b6001905092915050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561167657600080fd5b60006002819055506001905090565b60008061271060065461271001840281151561169d57fe5b04905080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156116ee57508281115b15156116f957600080fd5b61170485858561132a565b80156117125750600a548110155b15611724576117228184876129e9565b505b60019150509392505050565b600061173b33612dc9565b905090565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491509150915091565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60095481565b60008061271060065461271001840281151561183957fe5b04905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561188a57508281115b151561189557600080fd5b6118a0338585612adc565b80156118ae5750600a548110155b156118c0576118be8184336129e9565b505b600191505092915050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561192c57600080fd5b600954600360008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561196357fe5b60008511151561196f57fe5b6001430340600190049250600091505b600e5482101561199757600b5483028201915061197f565b600e54828115156119a457fe5b069050600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460036000600f848154811015156119e457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600f81815481101515611a6557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36000600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600b81905550600d60009054906101000a900460ff1615611b5d57611b5b612557565b505b60019350505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bc657600080fd5b600082118015611bd7575061271082105b1515611bdf57fe5b816007819055507f7e7474389a69c93c733d84c5565b309afc9ae9a13c4316277c72b36153ee1ac2826040518082815260200191505060405180910390a160019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c8357600080fd5b6002548311151515611c9457600080fd5b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555082600260008282540392505081905550826001600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff1660017fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0357600080fd5b6000600c54131515611e1457600080fd5b611e1f600083612673565b8015611e305750611e2f836118cb565b5b15611e4957600c60008154809291906001900391905055505b6001905092915050565b60008060075483118015611e68575060085483105b1515611e7357600080fd5b61271083612710038502811515611e8657fe5b04905083600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611ed757508084115b1515611ee257600080fd5b611eed338683612adc565b8015611efb5750600a548410155b15611f0d57611f0b8482336129e9565b505b60019150509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f9b57600080fd5b6002548311151515611fac57600080fd5b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550826002600082825403925050819055508260016000828254019250508190555082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff1660017fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b6040805190810160405280600381526020017f524143000000000000000000000000000000000000000000000000000000000081525081565b600c5481565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121a057600080fd5b816009819055507fcd1c0cbd2e826c4fcada0916e93201d74c44dc4581310c3035dac8cf0c607339826040518082815260200191505060405180910390a160019050919050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561223757600080fd5b612242338484612adc565b905092915050565b6000806007548311801561225f575060085483105b151561226a57600080fd5b6127108361271003850281151561227d57fe5b04905083600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156122ce57508084115b15156122d957600080fd5b6122e486868361132a565b80156122f25750600a548410155b15612304576123028482886129e9565b505b6001915050949350505050565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561237457600080fd5b81600d60006101000a81548160ff02191690831515021790555060019050919050565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123fa57600080fd5b61240382612dc9565b9050919050565b6000806007548311801561241f575060085483105b151561242a57600080fd5b6127108361271001850281151561243d57fe5b04905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561248e57508381115b151561249957600080fd5b6124a4338686612adc565b80156124b25750600a548110155b156124c4576124c28185336129e9565b505b60019150509392505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125b457600080fd5b6000600e819055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561262057600080fd5b60008211151561262c57fe5b81600a819055507f5a859d86a70043c199015ae2ec2ef5986339ac7fd8a289a69d55c466e5913c26826040518082815260200191505060405180910390a160019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126d057600080fd5b60025482111515156126e157600080fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600260008282540392505081905550816001600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff1660017fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561280357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561283f57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008061271060065461271003840281151561289a57fe5b04905082600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156128eb57508083115b15156128f657600080fd5b612901338583612adc565b801561290f5750600a548310155b156129215761291f8382336129e9565b505b600191505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561298957600080fd5b60008211801561299a575061271082105b15156129a257fe5b816007819055507f14ef8b429aae72a4fea37675df419c7c5159b3fcd41ace6ecc49d5d02469daf6826040518082815260200191505060405180910390a160019050919050565b6000806129f68386612caf565b50838503905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060008373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612b1957600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110151515612ba557fe5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000806000600a5484811515612cc157fe5b049150600090505b81811015612d6f57600f80549050600e541415612cfa576001600f81818054905001915081612cf89190612ff0565b505b84600f600e600081548092919060010191905055815481101515612d1a57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080600101915050612cc9565b8473ffffffffffffffffffffffffffffffffffffffff167f876dc242d76824ee48d7a13ac897603c91eadbd2785792776b5d59f91fa684f1836040518082815260200191505060405180910390a260019250505092915050565b600042600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154108015612e5e57506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154115b1515612e6957600080fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546040518082815260200191505060405180910390a36000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060019050919050565b81548183558181111561301757818360005260206000209182019101613016919061301c565b5b505050565b61303e91905b8082111561303a576000816000905550600101613022565b5090565b905600a165627a7a723058204df8d3967609d30d5878adb2386b4d4446b7bfb84bc252be0a8f265eae4dde730029

Swarm Source

bzzr://4df8d3967609d30d5878adb2386b4d4446b7bfb84bc252be0a8f265eae4dde73
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.