ETH Price: $2,268.23 (+7.58%)

Contract

0xf24B487192af0202746F832bB5242896A2e1769e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer54413702018-04-14 21:50:182892 days ago1523742618IN
0xf24B4871...6A2e1769e
0 ETH0.000039211
Transfer51354192018-02-22 9:39:502943 days ago1519292390IN
0xf24B4871...6A2e1769e
0.0002 ETH0.000168368
Transfer50535982018-02-08 15:07:142957 days ago1518102434IN
0xf24B4871...6A2e1769e
0 ETH0.0003915510
Transfer50237642018-02-03 14:48:572962 days ago1517669337IN
0xf24B4871...6A2e1769e
0 ETH0.000196095
Multi Transfer50178092018-02-02 14:49:242963 days ago1517582964IN
0xf24B4871...6A2e1769e
0 ETH0.004360883
Approve50095012018-02-01 4:19:002965 days ago1517458740IN
0xf24B4871...6A2e1769e
0 ETH0.00013793
Transfer50094812018-02-01 4:14:162965 days ago1517458456IN
0xf24B4871...6A2e1769e
0 ETH0.0022299441
Approve50094122018-02-01 3:57:362965 days ago1517457456IN
0xf24B4871...6A2e1769e
0 ETH0.000071773
Approve50094122018-02-01 3:57:362965 days ago1517457456IN
0xf24B4871...6A2e1769e
0 ETH0.000071583
Approve50093672018-02-01 3:46:232965 days ago1517456783IN
0xf24B4871...6A2e1769e
0 ETH0.000071773
Transfer50093562018-02-01 3:43:372965 days ago1517456617IN
0xf24B4871...6A2e1769e
0 ETH0.0022229741
Multi Transfer50093352018-02-01 3:39:372965 days ago1517456377IN
0xf24B4871...6A2e1769e
0 ETH0.000702953
Transfer50005432018-01-30 15:56:322966 days ago1517327792IN
0xf24B4871...6A2e1769e
0 ETH0.0022229741
Multi Transfer49995322018-01-30 11:41:582966 days ago1517312518IN
0xf24B4871...6A2e1769e
0 ETH0.000748533
Multi Transfer49921242018-01-29 5:27:132968 days ago1517203633IN
0xf24B4871...6A2e1769e
0 ETH0.001910583
Multi Transfer49858572018-01-28 4:30:592969 days ago1517113859IN
0xf24B4871...6A2e1769e
0 ETH0.002395013
Multi Transfer49802582018-01-27 6:04:092970 days ago1517033049IN
0xf24B4871...6A2e1769e
0 ETH0.00196173
Multi Transfer49711132018-01-25 17:09:142971 days ago1516900154IN
0xf24B4871...6A2e1769e
0 ETH0.005174321
Multi Transfer49708182018-01-25 15:51:362971 days ago1516895496IN
0xf24B4871...6A2e1769e
0 ETH0.0013797715
Make Administrat...49697152018-01-25 11:27:382971 days ago1516879658IN
0xf24B4871...6A2e1769e
0 ETH0.0018611541
Transfer49696802018-01-25 11:20:302971 days ago1516879230IN
0xf24B4871...6A2e1769e
0 ETH0.0015361739
Transfer49696762018-01-25 11:19:222971 days ago1516879162IN
0xf24B4871...6A2e1769e
0 ETH0.0016280641
Transfer49696562018-01-25 11:14:552971 days ago1516878895IN
0xf24B4871...6A2e1769e
0 ETH0.0016053541
Transfer49696552018-01-25 11:14:302971 days ago1516878870IN
0xf24B4871...6A2e1769e
0 ETH0.0016053541
Multi Transfer49695962018-01-25 11:01:162971 days ago1516878076IN
0xf24B4871...6A2e1769e
0 ETH0.000061862
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KoveredPay

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-01-24
*/

pragma solidity 0.4.19;

contract Admin {

    address public owner;
    mapping(address => bool) public AdminList;

    event AdministratorAdded(address indexed _invoker, address indexed _newAdministrator);
    event AdministratorRemoved(address indexed _invoker, address indexed _removedAdministrator);
    event OwnershipChanged(address indexed _invoker, address indexed _newOwner);

    function Admin() public {
        owner = msg.sender;
    }

    modifier OnlyAdmin() {
        require(msg.sender == owner || AdminList[msg.sender] == true);
        _;
    }

    modifier OnlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function MakeAdministrator(address AddressToAdd) public returns (bool success) {

        require(msg.sender == owner);
        require(AddressToAdd != address(0));
        AdminList[AddressToAdd] = true;
        AdministratorAdded(msg.sender, AddressToAdd);

        return true;

    }

    function RemoveAdministrator(address AddressToRemove) public returns (bool success) {

        require(msg.sender == owner);
        require(AddressToRemove != address(0));
        delete AdminList[AddressToRemove];
        AdministratorRemoved(msg.sender, AddressToRemove);

        return true;

    }

    function ChangeOwner(address AddressToMake) public returns (bool success) {

        require(msg.sender == owner);
        require(AddressToMake != address(0));
        require(owner != AddressToMake);
        owner = AddressToMake;
        OwnershipChanged(msg.sender, AddressToMake);

        return true;

    }

}

contract KoveredPay is Admin {

    bytes4 public symbol = "KVP";
    bytes16 public name = "KoveredPay";
    uint8 public decimals = 18;
    uint256 constant TotalSupply = 50000000000000000000000000;

    bool public TransfersEnabled;
    uint256 public TrustlessTransactions_TransactionHeight = 0;
    uint256 public MediatedTransactions_TransactionHeight = 0;
    uint128 public TrustlessTransaction_Protection_Seconds = 259200;
    uint128 public MediatedTransaction_Protection_Seconds = 2620800;
    address public InitialOwnerAddress = address(0);
    address public CoreMediator = address(0);
    uint256 public MediatorFees = 0;
    uint256 public LockInExpiry = 0;

    mapping(address => uint256) public UserBalances;
    mapping(address => mapping(address => uint256)) public Allowance;

    struct TrustlessTransaction {
        address _sender;
        address _receiver;
        uint256 _kvp_amount;
        bool _statusModified;
        bool _credited;
        bool _refunded;
        uint256 _time;
    }

    struct MediatedTransaction {
        address _sender;
        address _receiver;
        bool _mediator;
        uint256 _kvp_amount;
        uint256 _fee_amount;
        bool _satisfaction;
        bool _statusModified;
        bool _credited;
        uint256 _time;
    }

    mapping(uint256 => TrustlessTransaction) public TrustlessTransactions_Log;
    mapping(uint256 => MediatedTransaction) public MediatedTransactions_Log;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Trustless_Transfer(uint256 _id, address indexed _from, address indexed _to, uint256 _value);
    event Mediated_Transfer(uint256 _id, address indexed _from, address indexed _to, uint256 _value);
    event TrustlessTransferStatusModified(uint256 _transactionId, bool _newStatus);
    event MediatedTransferStatusModified(uint256 _transactionId, bool _newStatus);
    event TrustlessTransaction_Refunded(uint256 _transactionId, uint256 _amount);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a * b;
        require(a == 0 || c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        return c;
    }

    function KoveredPay() public {

        UserBalances[msg.sender] = TotalSupply;
        CoreMediator = msg.sender;
        InitialOwnerAddress = msg.sender;
        LockInExpiry = add(block.timestamp, 15778463);
        TransfersEnabled = true;

    }

    function AlterMediatorSettings(address _newAddress, uint128 _fees) public OnlyAdmin returns (bool success) {

        CoreMediator = _newAddress;
        MediatorFees = _fees;

        return true;

    }

    function ChangeProtectionTime(uint _type, uint128 _seconds) public OnlyAdmin returns (bool success) {

        if (_type == 1) {
            TrustlessTransaction_Protection_Seconds = _seconds;
        } else {
            MediatedTransaction_Protection_Seconds = _seconds;
        }

        return true;

    }

    function TransferStatus(bool _newStatus) public OnlyAdmin returns (bool success) {

        TransfersEnabled = _newStatus;

        return true;

    }

    function TransferValidation(address sender, address recipient, uint256 amount) private view returns (bool success) {

        require(TransfersEnabled == true);
        require(amount > 0);
        require(recipient != address(0));
        require(UserBalances[sender] >= amount);
        require(sub(UserBalances[sender], amount) >= 0);
        require(add(UserBalances[recipient], amount) > UserBalances[recipient]);

        if (sender == InitialOwnerAddress && block.timestamp < LockInExpiry) {
            require(sub(UserBalances[sender], amount) >= 10000000000000000000000000);
        }

        return true;

    }

    function MultiTransfer(address[] _destinations, uint256[] _values) public OnlyAdmin returns (uint256) {

        uint256 i = 0;

        while (i < _destinations.length) {
            transfer(_destinations[i], _values[i]);
            i += 1;
        }

        return (i);

    }

    function transfer(address receiver, uint256 amount) public returns (bool _status) {

        require(TransferValidation(msg.sender, receiver, amount));
        UserBalances[msg.sender] = sub(UserBalances[msg.sender], amount);
        UserBalances[receiver] = add(UserBalances[receiver], amount);
        Transfer(msg.sender, receiver, amount);
        return true;

    }

    function transferFrom(address _owner, address _receiver, uint256 _amount) public returns (bool _status) {

        require(TransferValidation(_owner, _receiver, _amount));
        require(sub(Allowance[_owner][msg.sender], _amount) >= _amount);
        Allowance[_owner][msg.sender] = sub(Allowance[_owner][msg.sender], _amount);
        UserBalances[_owner] = sub(UserBalances[_owner], _amount);
        UserBalances[_receiver] = add(UserBalances[_receiver], _amount);
        Transfer(_owner, _receiver, _amount);
        return true;

    }

    function Send_TrustlessTransaction(address receiver, uint256 amount) public returns (uint256 transferId) {

        require(TransferValidation(msg.sender, receiver, amount));
        UserBalances[msg.sender] = sub(UserBalances[msg.sender], amount);
        TrustlessTransactions_TransactionHeight = TrustlessTransactions_TransactionHeight + 1;
        TrustlessTransactions_Log[TrustlessTransactions_TransactionHeight] = TrustlessTransaction(msg.sender, receiver, amount, false, false, false, block.timestamp);
        Trustless_Transfer(TrustlessTransactions_TransactionHeight, msg.sender, receiver, amount);
        return TrustlessTransactions_TransactionHeight;

    }

    function Send_MediatedTransaction(address receiver, uint256 amount) public returns (uint256 transferId) {

        require(TransferValidation(msg.sender, receiver, amount));
        UserBalances[msg.sender] = sub(UserBalances[msg.sender], amount);
        MediatedTransactions_TransactionHeight = MediatedTransactions_TransactionHeight + 1;
        MediatedTransactions_Log[MediatedTransactions_TransactionHeight] = MediatedTransaction(msg.sender, receiver, false, amount, 0, false, false, false, block.timestamp);
        Mediated_Transfer(MediatedTransactions_TransactionHeight, msg.sender, receiver, amount);
        return MediatedTransactions_TransactionHeight;

    }

    function Appoint_Mediator(uint256 _txid) public returns (bool success) {

        if (MediatedTransactions_Log[_txid]._sender == msg.sender || MediatedTransactions_Log[_txid]._receiver == msg.sender) {

            uint256 sent_on = MediatedTransactions_Log[_txid]._time;
            uint256 right_now = block.timestamp;
            uint256 difference = sub(right_now, sent_on);

            require(MediatedTransactions_Log[_txid]._mediator == false);
            require(MediatedTransactions_Log[_txid]._satisfaction == false);
            require(MediatedTransactions_Log[_txid]._statusModified == false);
            require(difference <= MediatedTransaction_Protection_Seconds);
            require(MediatedTransactions_Log[_txid]._credited == false);
            require(MediatedTransactions_Log[_txid]._kvp_amount >= MediatorFees);

            MediatedTransactions_Log[_txid]._mediator = true;
            MediatedTransactions_Log[_txid]._fee_amount = MediatorFees;

            return true;

        } else {

            return false;

        }

    }

    function Alter_TrustlessTransaction(uint256 _transactionId, bool _newStatus) public returns (bool _response) {

        uint256 sent_on = TrustlessTransactions_Log[_transactionId]._time;
        uint256 right_now = block.timestamp;
        uint256 difference = sub(right_now, sent_on);

        require(TransfersEnabled == true);
        require(TrustlessTransactions_Log[_transactionId]._statusModified == false);
        require(difference <= TrustlessTransaction_Protection_Seconds);
        require(TrustlessTransactions_Log[_transactionId]._sender == msg.sender);
        require(TrustlessTransactions_Log[_transactionId]._refunded == false);
        require(TrustlessTransactions_Log[_transactionId]._credited == false);

        if (_newStatus == true) {

            UserBalances[TrustlessTransactions_Log[_transactionId]._receiver] = add(UserBalances[TrustlessTransactions_Log[_transactionId]._receiver], TrustlessTransactions_Log[_transactionId]._kvp_amount);
            TrustlessTransactions_Log[_transactionId]._credited = true;

        } else {

            UserBalances[TrustlessTransactions_Log[_transactionId]._sender] = add(UserBalances[TrustlessTransactions_Log[_transactionId]._sender], TrustlessTransactions_Log[_transactionId]._kvp_amount);

        }

        TrustlessTransactions_Log[_transactionId]._statusModified = true;
        TrustlessTransferStatusModified(_transactionId, _newStatus);

        return true;

    }

    function Alter_MediatedTransaction(uint256 _transactionId, bool _newStatus) public returns (bool _response) {

        require(TransfersEnabled == true);
        require(MediatedTransactions_Log[_transactionId]._mediator == true);
        require(MediatedTransactions_Log[_transactionId]._statusModified == false);
        require(CoreMediator == msg.sender);
        require(MediatedTransactions_Log[_transactionId]._credited == false);

        uint256 newAmount = sub(MediatedTransactions_Log[_transactionId]._kvp_amount, MediatedTransactions_Log[_transactionId]._fee_amount);

        if (newAmount < 0) {
            newAmount = 0;
        }

        if (_newStatus == true) {

            UserBalances[MediatedTransactions_Log[_transactionId]._receiver] = add(UserBalances[MediatedTransactions_Log[_transactionId]._receiver], newAmount);
            MediatedTransactions_Log[_transactionId]._credited = true;

        } else {

            UserBalances[MediatedTransactions_Log[_transactionId]._sender] = add(UserBalances[MediatedTransactions_Log[_transactionId]._sender], newAmount);

        }

        UserBalances[CoreMediator] = add(UserBalances[CoreMediator], MediatedTransactions_Log[_transactionId]._fee_amount);

        MediatedTransactions_Log[_transactionId]._statusModified = true;
        MediatedTransferStatusModified(_transactionId, _newStatus);

        return true;

    }

    function Refund_TrustlessTransaction(uint256 _transactionId) public returns (bool _response) {

        require(TransfersEnabled == true);
        require(TrustlessTransactions_Log[_transactionId]._refunded == false);
        require(TrustlessTransactions_Log[_transactionId]._statusModified == true);
        require(TrustlessTransactions_Log[_transactionId]._credited == true);
        require(TrustlessTransactions_Log[_transactionId]._receiver == msg.sender);
        require(TransferValidation(msg.sender, TrustlessTransactions_Log[_transactionId]._sender, TrustlessTransactions_Log[_transactionId]._kvp_amount));
        require(sub(UserBalances[TrustlessTransactions_Log[_transactionId]._sender], TrustlessTransactions_Log[_transactionId]._kvp_amount) > 0);
        UserBalances[TrustlessTransactions_Log[_transactionId]._sender] = add(UserBalances[TrustlessTransactions_Log[_transactionId]._sender], TrustlessTransactions_Log[_transactionId]._kvp_amount);
        TrustlessTransactions_Log[_transactionId]._refunded = true;
        TrustlessTransaction_Refunded(_transactionId, TrustlessTransactions_Log[_transactionId]._kvp_amount);

        return true;

    }

    function Update_TrustlessTransaction(uint256 _transactionId) public returns (bool _response) {

        uint256 sent_on = TrustlessTransactions_Log[_transactionId]._time;
        uint256 right_now = block.timestamp;
        uint256 difference = sub(right_now, sent_on);

        require(TransfersEnabled == true);
        require(TrustlessTransactions_Log[_transactionId]._statusModified == false);
        require(difference > TrustlessTransaction_Protection_Seconds);
        require(TrustlessTransactions_Log[_transactionId]._refunded == false);
        require(TrustlessTransactions_Log[_transactionId]._credited == false);

        UserBalances[TrustlessTransactions_Log[_transactionId]._receiver] = add(UserBalances[TrustlessTransactions_Log[_transactionId]._receiver], TrustlessTransactions_Log[_transactionId]._kvp_amount);
        TrustlessTransactions_Log[_transactionId]._credited = true;
        TrustlessTransactions_Log[_transactionId]._statusModified = true;
        TrustlessTransferStatusModified(_transactionId, true);

        return true;

    }

    function Express_Satisfaction_MediatedTransaction(uint256 _transactionId) public returns (bool _response) {

        require(TransfersEnabled == true);
        require(MediatedTransactions_Log[_transactionId]._sender == msg.sender);
        require(MediatedTransactions_Log[_transactionId]._mediator == false);
        require(MediatedTransactions_Log[_transactionId]._statusModified == false);
        require(MediatedTransactions_Log[_transactionId]._credited == false);
        require(MediatedTransactions_Log[_transactionId]._satisfaction == false);

        UserBalances[MediatedTransactions_Log[_transactionId]._receiver] = add(UserBalances[MediatedTransactions_Log[_transactionId]._receiver], MediatedTransactions_Log[_transactionId]._kvp_amount);
        MediatedTransactions_Log[_transactionId]._credited = true;
        MediatedTransactions_Log[_transactionId]._statusModified = true;
        MediatedTransactions_Log[_transactionId]._satisfaction = true;
        MediatedTransferStatusModified(_transactionId, true);

        return true;

    }

    function Update_MediatedTransaction(uint256 _transactionId) public returns (bool _response) {

        uint256 sent_on = MediatedTransactions_Log[_transactionId]._time;
        uint256 right_now = block.timestamp;
        uint256 difference = sub(right_now, sent_on);

        require(TransfersEnabled == true);
        require(difference > MediatedTransaction_Protection_Seconds);
        require(MediatedTransactions_Log[_transactionId]._mediator == false);
        require(MediatedTransactions_Log[_transactionId]._statusModified == false);
        require(MediatedTransactions_Log[_transactionId]._credited == false);
        require(MediatedTransactions_Log[_transactionId]._satisfaction == false);

        UserBalances[MediatedTransactions_Log[_transactionId]._sender] = add(UserBalances[MediatedTransactions_Log[_transactionId]._sender], MediatedTransactions_Log[_transactionId]._kvp_amount);

        MediatedTransactions_Log[_transactionId]._statusModified = true;
        MediatedTransferStatusModified(_transactionId, false);

        return true;

    }

    function View_TrustlessTransaction_Info(uint256 _transactionId) public view returns (
        address _sender,
        address _receiver,
        uint256 _kvp_amount,
        uint256 _time
    ) {

        return (TrustlessTransactions_Log[_transactionId]._sender, TrustlessTransactions_Log[_transactionId]._receiver, TrustlessTransactions_Log[_transactionId]._kvp_amount, TrustlessTransactions_Log[_transactionId]._time);

    }

    function View_MediatedTransaction_Info(uint256 _transactionId) public view returns (
        address _sender,
        address _receiver,
        uint256 _kvp_amount,
        uint256 _fee_amount,
        uint256 _time
    ) {

        return (MediatedTransactions_Log[_transactionId]._sender, MediatedTransactions_Log[_transactionId]._receiver, MediatedTransactions_Log[_transactionId]._kvp_amount, MediatedTransactions_Log[_transactionId]._fee_amount, MediatedTransactions_Log[_transactionId]._time);

    }

    function View_TrustlessTransaction_Status(uint256 _transactionId) public view returns (
        bool _statusModified,
        bool _credited,
        bool _refunded
    ) {

        return (TrustlessTransactions_Log[_transactionId]._statusModified, TrustlessTransactions_Log[_transactionId]._credited, TrustlessTransactions_Log[_transactionId]._refunded);

    }

    function View_MediatedTransaction_Status(uint256 _transactionId) public view returns (
        bool _satisfaction,
        bool _statusModified,
        bool _credited
    ) {

        return (MediatedTransactions_Log[_transactionId]._satisfaction, MediatedTransactions_Log[_transactionId]._statusModified, MediatedTransactions_Log[_transactionId]._credited);

    }

    function approve(address spender, uint256 amount) public returns (bool approved) {
        require(amount > 0);
        require(UserBalances[spender] > 0);
        Allowance[msg.sender][spender] = amount;
        Approval(msg.sender, spender, amount);
        return true;
    }

    function balanceOf(address _address) public view returns (uint256 balance) {
        return UserBalances[_address];
    }

    function allowance(address owner, address spender) public view returns (uint256 smount_allowed) {
        return Allowance[owner][spender];
    }

    function totalSupply() public pure returns (uint256 _supply) {
        return TotalSupply;
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"bytes16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"AdminList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_destinations","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"MultiTransfer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"approved","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"View_TrustlessTransaction_Status","outputs":[{"name":"_statusModified","type":"bool"},{"name":"_credited","type":"bool"},{"name":"_refunded","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"View_MediatedTransaction_Status","outputs":[{"name":"_satisfaction","type":"bool"},{"name":"_statusModified","type":"bool"},{"name":"_credited","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"View_MediatedTransaction_Info","outputs":[{"name":"_sender","type":"address"},{"name":"_receiver","type":"address"},{"name":"_kvp_amount","type":"uint256"},{"name":"_fee_amount","type":"uint256"},{"name":"_time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"Send_MediatedTransaction","outputs":[{"name":"transferId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_supply","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"Refund_TrustlessTransaction","outputs":[{"name":"_response","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"_status","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"AddressToAdd","type":"address"}],"name":"MakeAdministrator","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TrustlessTransaction_Protection_Seconds","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"AddressToRemove","type":"address"}],"name":"RemoveAdministrator","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"Allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"View_TrustlessTransaction_Info","outputs":[{"name":"_sender","type":"address"},{"name":"_receiver","type":"address"},{"name":"_kvp_amount","type":"uint256"},{"name":"_time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"Update_TrustlessTransaction","outputs":[{"name":"_response","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"UserBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"MediatedTransactions_Log","outputs":[{"name":"_sender","type":"address"},{"name":"_receiver","type":"address"},{"name":"_mediator","type":"bool"},{"name":"_kvp_amount","type":"uint256"},{"name":"_fee_amount","type":"uint256"},{"name":"_satisfaction","type":"bool"},{"name":"_statusModified","type":"bool"},{"name":"_credited","type":"bool"},{"name":"_time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newAddress","type":"address"},{"name":"_fees","type":"uint128"}],"name":"AlterMediatorSettings","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"Update_MediatedTransaction","outputs":[{"name":"_response","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"InitialOwnerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MediatedTransactions_TransactionHeight","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CoreMediator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"_status","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_transactionId","type":"uint256"},{"name":"_newStatus","type":"bool"}],"name":"Alter_TrustlessTransaction","outputs":[{"name":"_response","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TrustlessTransactions_TransactionHeight","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"Express_Satisfaction_MediatedTransaction","outputs":[{"name":"_response","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newStatus","type":"bool"}],"name":"TransferStatus","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"Send_TrustlessTransaction","outputs":[{"name":"transferId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MediatedTransaction_Protection_Seconds","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_type","type":"uint256"},{"name":"_seconds","type":"uint128"}],"name":"ChangeProtectionTime","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":"smount_allowed","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LockInExpiry","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transactionId","type":"uint256"},{"name":"_newStatus","type":"bool"}],"name":"Alter_MediatedTransaction","outputs":[{"name":"_response","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TransfersEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"AddressToMake","type":"address"}],"name":"ChangeOwner","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"TrustlessTransactions_Log","outputs":[{"name":"_sender","type":"address"},{"name":"_receiver","type":"address"},{"name":"_kvp_amount","type":"uint256"},{"name":"_statusModified","type":"bool"},{"name":"_credited","type":"bool"},{"name":"_refunded","type":"bool"},{"name":"_time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MediatorFees","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_txid","type":"uint256"}],"name":"Appoint_Mediator","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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":"_id","type":"uint256"},{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Trustless_Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_id","type":"uint256"},{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Mediated_Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_transactionId","type":"uint256"},{"indexed":false,"name":"_newStatus","type":"bool"}],"name":"TrustlessTransferStatusModified","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_transactionId","type":"uint256"},{"indexed":false,"name":"_newStatus","type":"bool"}],"name":"MediatedTransferStatusModified","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_transactionId","type":"uint256"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"TrustlessTransaction_Refunded","type":"event"},{"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":"_invoker","type":"address"},{"indexed":true,"name":"_newAdministrator","type":"address"}],"name":"AdministratorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_removedAdministrator","type":"address"}],"name":"AdministratorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnershipChanged","type":"event"}]

60606040527f4b56500000000000000000000000000000000000000000000000000000000000600260006101000a81548163ffffffff02191690837c0100000000000000000000000000000000000000000000000000000000900402179055507f4b6f766572656450617900000000000000000000000000000000000000000000600260046101000a8154816fffffffffffffffffffffffffffffffff0219169083700100000000000000000000000000000000900402179055506012600260146101000a81548160ff021916908360ff160217905550600060035560006004556203f480600560006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506227fd80600560106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060085560006009553415620001f257600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a295be96e64066972000000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003264262f0c29f6200034d6401000000000262004780176401000000009004565b6009819055506001600260156101000a81548160ff0219169083151502179055506200036f565b60008082840190508381101515156200036557600080fd5b8091505092915050565b6147cd806200037f6000396000f30060606040526004361061021a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461021f57806307fb28e21461026e5780630896937e146102bf578063095ea7b31461036d5780630a4fa201146103c75780630d6495ef14610418578063138acb80146104695780631578a1231461051457806318160ddd1461056a5780631f5bb9f81461059357806323b872dd146105ce578063247121e314610647578063305bcfab14610698578063313ce567146106e55780635e40a439146107145780636dcdd00f146107655780636f584bd8146107d157806370a082311461087557806376124db7146108c257806377f3f782146108fd5780637960d19b1461094a5780637aa3ff6714610a215780637fc8fd9e14610a8d5780638da5cb5b14610ac857806395d89b4114610b1d5780639b86599914610b845780639bc33b8a14610bd9578063a2c52c4d14610c02578063a9059cbb14610c57578063b5d7606714610cb1578063bf3986ba14610cf7578063c402e44614610d20578063c994698014610d5b578063cb7c225e14610d98578063d129ee3814610dee578063d5db941014610e3b578063dd62ed3e14610e91578063de090b2514610efd578063de0d708314610f26578063eadb248114610f6c578063f285329214610f99578063f623d7a714610fea578063fefacee1146110af578063ff67577a146110d8575b600080fd5b341561022a57600080fd5b610232611113565b60405180826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b341561027957600080fd5b6102a5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611136565b604051808215151515815260200191505060405180910390f35b34156102ca57600080fd5b61035760048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611156565b6040518082815260200191505060405180910390f35b341561037857600080fd5b6103ad600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061126b565b604051808215151515815260200191505060405180910390f35b34156103d257600080fd5b6103e860048080359060200190919050506113b9565b60405180841515151581526020018315151515815260200182151515158152602001935050505060405180910390f35b341561042357600080fd5b6104396004808035906020019091905050611437565b60405180841515151581526020018315151515815260200182151515158152602001935050505060405180910390f35b341561047457600080fd5b61048a60048080359060200190919050506114b5565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019550505050505060405180910390f35b341561051f57600080fd5b610554600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611583565b6040518082815260200191505060405180910390f35b341561057557600080fd5b61057d61186c565b6040518082815260200191505060405180910390f35b341561059e57600080fd5b6105b4600480803590602001909190505061187f565b604051808215151515815260200191505060405180910390f35b34156105d957600080fd5b61062d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611c55565b604051808215151515815260200191505060405180910390f35b341561065257600080fd5b61067e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f8f565b604051808215151515815260200191505060405180910390f35b34156106a357600080fd5b6106ab6120e2565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f057600080fd5b6106f8612104565b604051808260ff1660ff16815260200191505060405180910390f35b341561071f57600080fd5b61074b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612117565b604051808215151515815260200191505060405180910390f35b341561077057600080fd5b6107bb600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612262565b6040518082815260200191505060405180910390f35b34156107dc57600080fd5b6107f26004808035906020019091905050612287565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b341561088057600080fd5b6108ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612338565b6040518082815260200191505060405180910390f35b34156108cd57600080fd5b6108e36004808035906020019091905050612381565b604051808215151515815260200191505060405180910390f35b341561090857600080fd5b610934600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061266d565b6040518082815260200191505060405180910390f35b341561095557600080fd5b61096b6004808035906020019091905050612685565b604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200188151515158152602001878152602001868152602001851515151581526020018415151515815260200183151515158152602001828152602001995050505050505050505060405180910390f35b3415610a2c57600080fd5b610a73600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356fffffffffffffffffffffffffffffffff16906020019091905050612747565b604051808215151515815260200191505060405180910390f35b3415610a9857600080fd5b610aae6004808035906020019091905050612863565b604051808215151515815260200191505060405180910390f35b3415610ad357600080fd5b610adb612b56565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b2857600080fd5b610b30612b7b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3415610b8f57600080fd5b610b97612baa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610be457600080fd5b610bec612bd0565b6040518082815260200191505060405180910390f35b3415610c0d57600080fd5b610c15612bd6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c6257600080fd5b610c97600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612bfc565b604051808215151515815260200191505060405180910390f35b3415610cbc57600080fd5b610cdd60048080359060200190919080351515906020019091905050612d9b565b604051808215151515815260200191505060405180910390f35b3415610d0257600080fd5b610d0a613219565b6040518082815260200191505060405180910390f35b3415610d2b57600080fd5b610d41600480803590602001909190505061321f565b604051808215151515815260200191505060405180910390f35b3415610d6657600080fd5b610d7e60048080351515906020019091905050613573565b604051808215151515815260200191505060405180910390f35b3415610da357600080fd5b610dd8600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061364e565b6040518082815260200191505060405180910390f35b3415610df957600080fd5b610e016138fb565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610e4657600080fd5b610e7760048080359060200190919080356fffffffffffffffffffffffffffffffff1690602001909190505061391d565b604051808215151515815260200191505060405180910390f35b3415610e9c57600080fd5b610ee7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613a60565b6040518082815260200191505060405180910390f35b3415610f0857600080fd5b610f10613ae7565b6040518082815260200191505060405180910390f35b3415610f3157600080fd5b610f5260048080359060200190919080351515906020019091905050613aed565b604051808215151515815260200191505060405180910390f35b3415610f7757600080fd5b610f7f613feb565b604051808215151515815260200191505060405180910390f35b3415610fa457600080fd5b610fd0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613ffe565b604051808215151515815260200191505060405180910390f35b3415610ff557600080fd5b61100b6004808035906020019091905050614196565b604051808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185151515158152602001841515151581526020018315151515815260200182815260200197505050505050505060405180910390f35b34156110ba57600080fd5b6110c261423f565b6040518082815260200191505060405180910390f35b34156110e357600080fd5b6110f96004808035906020019091905050614245565b604051808215151515815260200191505060405180910390f35b600260049054906101000a90047001000000000000000000000000000000000281565b60016020528060005260406000206000915054906101000a900460ff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611204575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561120f57600080fd5b600090505b835181101561126157611255848281518110151561122e57fe5b90602001906020020151848381518110151561124657fe5b90602001906020020151612bfc565b50600181019050611214565b8091505092915050565b6000808211151561127b57600080fd5b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156112c957600080fd5b81600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000806000600c600085815260200190815260200160002060030160009054906101000a900460ff16600c600086815260200190815260200160002060030160019054906101000a900460ff16600c600087815260200190815260200160002060030160029054906101000a900460ff169250925092509193909250565b6000806000600d600085815260200190815260200160002060040160009054906101000a900460ff16600d600086815260200190815260200160002060040160019054906101000a900460ff16600d600087815260200190815260200160002060040160029054906101000a900460ff169250925092509193909250565b6000806000806000600d600087815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d600088815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d600089815260200190815260200160002060020154600d60008a815260200190815260200160002060030154600d60008b8152602001908152602001600020600501549450945094509450945091939590929450565b60006115903384846144e9565b151561159b57600080fd5b6115e4600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160045401600481905550610120604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018381526020016000815260200160001515815260200160001515815260200160001515815260200142815250600d6000600454815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff021916908315150217905550606082015181600201556080820151816003015560a08201518160040160006101000a81548160ff02191690831515021790555060c08201518160040160016101000a81548160ff02191690831515021790555060e08201518160040160026101000a81548160ff02191690831515021790555061010082015181600501559050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f88bac2b8bf4e20e610fee1169e642f8c4cff6cea195a7f1c73cc33c98fef649960045485604051808381526020018281526020019250505060405180910390a3600454905092915050565b60006a295be96e64066972000000905090565b600060011515600260159054906101000a900460ff1615151415156118a357600080fd5b60001515600c600084815260200190815260200160002060030160029054906101000a900460ff1615151415156118d957600080fd5b60011515600c600084815260200190815260200160002060030160009054906101000a900460ff16151514151561190f57600080fd5b60011515600c600084815260200190815260200160002060030160019054906101000a900460ff16151514151561194557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600c600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156119b557600080fd5b611a0c33600c600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c6000868152602001908152602001600020600201546144e9565b1515611a1757600080fd5b6000611aae600a6000600c600087815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600086815260200190815260200160002060020154614764565b111515611aba57600080fd5b611b4f600a6000600c600086815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600085815260200190815260200160002060020154614780565b600a6000600c600086815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c600084815260200190815260200160002060030160026101000a81548160ff0219169083151502179055507f5701e9c0679ce0b9034b65c08789962e3c370c8d89e5d1210c40bcd7c6c5e02482600c600085815260200190815260200160002060020154604051808381526020018281526020019250505060405180910390a160019050919050565b6000611c628484846144e9565b1515611c6d57600080fd5b81611cf4600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484614764565b10151515611d0157600080fd5b611d87600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e50600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611edc600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614780565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561202857600080fd5b60018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fa2f792d5cab45450daed47916f25d9bd3443d275c51ecbccfbeb727a3b4eda0e60405160405180910390a360019050919050565b600560009054906101000a90046fffffffffffffffffffffffffffffffff1681565b600260149054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561217457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156121b057600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f427e024ace7a7942bc6f60715750c0c5f36943fb5b21734a3d4bedddefd2f84e60405160405180910390a360019050919050565b600b602052816000526040600020602052806000526040600020600091509150505481565b600080600080600c600086815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c600087815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c600088815260200190815260200160002060020154600c60008981526020019081526020016000206004015493509350935093509193509193565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600080600c60008681526020019081526020016000206004015492504291506123ad8284614764565b905060011515600260159054906101000a900460ff1615151415156123d157600080fd5b60001515600c600087815260200190815260200160002060030160009054906101000a900460ff16151514151561240757600080fd5b600560009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168111151561244557600080fd5b60001515600c600087815260200190815260200160002060030160029054906101000a900460ff16151514151561247b57600080fd5b60001515600c600087815260200190815260200160002060030160019054906101000a900460ff1615151415156124b157600080fd5b612546600a6000600c600089815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600088815260200190815260200160002060020154614780565b600a6000600c600089815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c600087815260200190815260200160002060030160016101000a81548160ff0219169083151502179055506001600c600087815260200190815260200160002060030160006101000a81548160ff0219169083151502179055507f903230751b9d0dc3d52e4b2bd30de3c46ff2373e6e670f4e8f3425915568333f85600160405180838152602001821515151581526020019250505060405180910390a160019350505050919050565b600a6020528060005260406000206000915090505481565b600d6020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154908060040160009054906101000a900460ff16908060040160019054906101000a900460ff16908060040160029054906101000a900460ff16908060050154905089565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806127f4575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156127ff57600080fd5b82600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816fffffffffffffffffffffffffffffffff166008819055506001905092915050565b600080600080600d600086815260200190815260200160002060050154925042915061288f8284614764565b905060011515600260159054906101000a900460ff1615151415156128b357600080fd5b600560109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16811115156128f157600080fd5b60001515600d600087815260200190815260200160002060010160149054906101000a900460ff16151514151561292757600080fd5b60001515600d600087815260200190815260200160002060040160019054906101000a900460ff16151514151561295d57600080fd5b60001515600d600087815260200190815260200160002060040160029054906101000a900460ff16151514151561299357600080fd5b60001515600d600087815260200190815260200160002060040160009054906101000a900460ff1615151415156129c957600080fd5b612a5e600a6000600d600089815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d600088815260200190815260200160002060020154614780565b600a6000600d600089815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600087815260200190815260200160002060040160016101000a81548160ff0219169083151502179055507fcb4c88ae5357f975a9efb9832fa122a2de72cd6d72bf10f92ad951b1226cc7bc85600060405180838152602001821515151581526020019250505060405180910390a160019350505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a90047c01000000000000000000000000000000000000000000000000000000000281565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612c093384846144e9565b1515612c1457600080fd5b612c5d600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ce9600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614780565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600080600c6000878152602001908152602001600020600401549250429150612dc78284614764565b905060011515600260159054906101000a900460ff161515141515612deb57600080fd5b60001515600c600088815260200190815260200160002060030160009054906101000a900460ff161515141515612e2157600080fd5b600560009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168111151515612e6057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600c600088815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ed057600080fd5b60001515600c600088815260200190815260200160002060030160029054906101000a900460ff161515141515612f0657600080fd5b60001515600c600088815260200190815260200160002060030160019054906101000a900460ff161515141515612f3c57600080fd5b60011515851515141561308b57612fde600a6000600c60008a815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600089815260200190815260200160002060020154614780565b600a6000600c60008a815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c600088815260200190815260200160002060030160016101000a81548160ff02191690831515021790555061319a565b613120600a6000600c60008a815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600089815260200190815260200160002060020154614780565b600a6000600c60008a815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600c600088815260200190815260200160002060030160006101000a81548160ff0219169083151502179055507f903230751b9d0dc3d52e4b2bd30de3c46ff2373e6e670f4e8f3425915568333f868660405180838152602001821515151581526020019250505060405180910390a16001935050505092915050565b60035481565b600060011515600260159054906101000a900460ff16151514151561324357600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156132b357600080fd5b60001515600d600084815260200190815260200160002060010160149054906101000a900460ff1615151415156132e957600080fd5b60001515600d600084815260200190815260200160002060040160019054906101000a900460ff16151514151561331f57600080fd5b60001515600d600084815260200190815260200160002060040160029054906101000a900460ff16151514151561335557600080fd5b60001515600d600084815260200190815260200160002060040160009054906101000a900460ff16151514151561338b57600080fd5b613420600a6000600d600086815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d600085815260200190815260200160002060020154614780565b600a6000600d600086815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600084815260200190815260200160002060040160026101000a81548160ff0219169083151502179055506001600d600084815260200190815260200160002060040160016101000a81548160ff0219169083151502179055506001600d600084815260200190815260200160002060040160006101000a81548160ff0219169083151502179055507fcb4c88ae5357f975a9efb9832fa122a2de72cd6d72bf10f92ad951b1226cc7bc82600160405180838152602001821515151581526020019250505060405180910390a160019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613620575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561362b57600080fd5b81600260156101000a81548160ff02191690831515021790555060019050919050565b600061365b3384846144e9565b151561366657600080fd5b6136af600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003540160038190555060e0604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160001515815260200160001515815260200160001515815260200142815250600c6000600354815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548160ff02191690831515021790555060a08201518160030160026101000a81548160ff02191690831515021790555060c082015181600401559050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f080991e41c181cddd6930872b5b9a74cc635b2155a1e211e21dcf0b6afd5725660035485604051808381526020018281526020019250505060405180910390a3600354905092915050565b600560109054906101000a90046fffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806139ca575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156139d557600080fd5b6001831415613a1c5781600560006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550613a56565b81600560106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b60008060011515600260159054906101000a900460ff161515141515613b1257600080fd5b60011515600d600086815260200190815260200160002060010160149054906101000a900460ff161515141515613b4857600080fd5b60001515600d600086815260200190815260200160002060040160019054906101000a900460ff161515141515613b7e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613bda57600080fd5b60001515600d600086815260200190815260200160002060040160029054906101000a900460ff161515141515613c1057600080fd5b613c46600d600086815260200190815260200160002060020154600d600087815260200190815260200160002060030154614764565b90506000811015613c5657600090505b600115158315151415613d8f57613ce2600a6000600d600088815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482614780565b600a6000600d600088815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600086815260200190815260200160002060040160026101000a81548160ff021916908315150217905550613e88565b613e0e600a6000600d600088815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482614780565b600a6000600d600088815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b613f09600a6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d600087815260200190815260200160002060030154614780565b600a6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600086815260200190815260200160002060040160016101000a81548160ff0219169083151502179055507fcb4c88ae5357f975a9efb9832fa122a2de72cd6d72bf10f92ad951b1226cc7bc848460405180838152602001821515151581526020019250505060405180910390a1600191505092915050565b600260159054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561405b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561409757600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156140f357600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a360019050919050565b600c6020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060040154905087565b60085481565b6000806000803373ffffffffffffffffffffffffffffffffffffffff16600d600087815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061431c57503373ffffffffffffffffffffffffffffffffffffffff16600d600087815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156144dc57600d60008681526020019081526020016000206005015492504291506143478284614764565b905060001515600d600087815260200190815260200160002060010160149054906101000a900460ff16151514151561437f57600080fd5b60001515600d600087815260200190815260200160002060040160009054906101000a900460ff1615151415156143b557600080fd5b60001515600d600087815260200190815260200160002060040160019054906101000a900460ff1615151415156143eb57600080fd5b600560109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16811115151561442a57600080fd5b60001515600d600087815260200190815260200160002060040160029054906101000a900460ff16151514151561446057600080fd5b600854600d6000878152602001908152602001600020600201541015151561448757600080fd5b6001600d600087815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600854600d600087815260200190815260200160002060030181905550600193506144e1565b600093505b505050919050565b600060011515600260159054906101000a900460ff16151514151561450d57600080fd5b60008211151561451c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561455857600080fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156145a657600080fd5b60006145f1600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484614764565b101515156145fe57600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614687600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484614780565b11151561469357600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156146f1575060095442105b15614759576a084595161401484a00000061474b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484614764565b1015151561475857600080fd5b5b600190509392505050565b600082821115151561477557600080fd5b818303905092915050565b600080828401905083811015151561479757600080fd5b80915050929150505600a165627a7a72305820f130fe43aadf683c87b572b5681c70b1da68951ca64fdd2d36245c94bba9f0000029

Deployed Bytecode

0x60606040526004361061021a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461021f57806307fb28e21461026e5780630896937e146102bf578063095ea7b31461036d5780630a4fa201146103c75780630d6495ef14610418578063138acb80146104695780631578a1231461051457806318160ddd1461056a5780631f5bb9f81461059357806323b872dd146105ce578063247121e314610647578063305bcfab14610698578063313ce567146106e55780635e40a439146107145780636dcdd00f146107655780636f584bd8146107d157806370a082311461087557806376124db7146108c257806377f3f782146108fd5780637960d19b1461094a5780637aa3ff6714610a215780637fc8fd9e14610a8d5780638da5cb5b14610ac857806395d89b4114610b1d5780639b86599914610b845780639bc33b8a14610bd9578063a2c52c4d14610c02578063a9059cbb14610c57578063b5d7606714610cb1578063bf3986ba14610cf7578063c402e44614610d20578063c994698014610d5b578063cb7c225e14610d98578063d129ee3814610dee578063d5db941014610e3b578063dd62ed3e14610e91578063de090b2514610efd578063de0d708314610f26578063eadb248114610f6c578063f285329214610f99578063f623d7a714610fea578063fefacee1146110af578063ff67577a146110d8575b600080fd5b341561022a57600080fd5b610232611113565b60405180826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b341561027957600080fd5b6102a5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611136565b604051808215151515815260200191505060405180910390f35b34156102ca57600080fd5b61035760048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611156565b6040518082815260200191505060405180910390f35b341561037857600080fd5b6103ad600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061126b565b604051808215151515815260200191505060405180910390f35b34156103d257600080fd5b6103e860048080359060200190919050506113b9565b60405180841515151581526020018315151515815260200182151515158152602001935050505060405180910390f35b341561042357600080fd5b6104396004808035906020019091905050611437565b60405180841515151581526020018315151515815260200182151515158152602001935050505060405180910390f35b341561047457600080fd5b61048a60048080359060200190919050506114b5565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019550505050505060405180910390f35b341561051f57600080fd5b610554600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611583565b6040518082815260200191505060405180910390f35b341561057557600080fd5b61057d61186c565b6040518082815260200191505060405180910390f35b341561059e57600080fd5b6105b4600480803590602001909190505061187f565b604051808215151515815260200191505060405180910390f35b34156105d957600080fd5b61062d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611c55565b604051808215151515815260200191505060405180910390f35b341561065257600080fd5b61067e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f8f565b604051808215151515815260200191505060405180910390f35b34156106a357600080fd5b6106ab6120e2565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f057600080fd5b6106f8612104565b604051808260ff1660ff16815260200191505060405180910390f35b341561071f57600080fd5b61074b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612117565b604051808215151515815260200191505060405180910390f35b341561077057600080fd5b6107bb600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612262565b6040518082815260200191505060405180910390f35b34156107dc57600080fd5b6107f26004808035906020019091905050612287565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b341561088057600080fd5b6108ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612338565b6040518082815260200191505060405180910390f35b34156108cd57600080fd5b6108e36004808035906020019091905050612381565b604051808215151515815260200191505060405180910390f35b341561090857600080fd5b610934600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061266d565b6040518082815260200191505060405180910390f35b341561095557600080fd5b61096b6004808035906020019091905050612685565b604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200188151515158152602001878152602001868152602001851515151581526020018415151515815260200183151515158152602001828152602001995050505050505050505060405180910390f35b3415610a2c57600080fd5b610a73600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356fffffffffffffffffffffffffffffffff16906020019091905050612747565b604051808215151515815260200191505060405180910390f35b3415610a9857600080fd5b610aae6004808035906020019091905050612863565b604051808215151515815260200191505060405180910390f35b3415610ad357600080fd5b610adb612b56565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b2857600080fd5b610b30612b7b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3415610b8f57600080fd5b610b97612baa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610be457600080fd5b610bec612bd0565b6040518082815260200191505060405180910390f35b3415610c0d57600080fd5b610c15612bd6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c6257600080fd5b610c97600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612bfc565b604051808215151515815260200191505060405180910390f35b3415610cbc57600080fd5b610cdd60048080359060200190919080351515906020019091905050612d9b565b604051808215151515815260200191505060405180910390f35b3415610d0257600080fd5b610d0a613219565b6040518082815260200191505060405180910390f35b3415610d2b57600080fd5b610d41600480803590602001909190505061321f565b604051808215151515815260200191505060405180910390f35b3415610d6657600080fd5b610d7e60048080351515906020019091905050613573565b604051808215151515815260200191505060405180910390f35b3415610da357600080fd5b610dd8600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061364e565b6040518082815260200191505060405180910390f35b3415610df957600080fd5b610e016138fb565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610e4657600080fd5b610e7760048080359060200190919080356fffffffffffffffffffffffffffffffff1690602001909190505061391d565b604051808215151515815260200191505060405180910390f35b3415610e9c57600080fd5b610ee7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613a60565b6040518082815260200191505060405180910390f35b3415610f0857600080fd5b610f10613ae7565b6040518082815260200191505060405180910390f35b3415610f3157600080fd5b610f5260048080359060200190919080351515906020019091905050613aed565b604051808215151515815260200191505060405180910390f35b3415610f7757600080fd5b610f7f613feb565b604051808215151515815260200191505060405180910390f35b3415610fa457600080fd5b610fd0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613ffe565b604051808215151515815260200191505060405180910390f35b3415610ff557600080fd5b61100b6004808035906020019091905050614196565b604051808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185151515158152602001841515151581526020018315151515815260200182815260200197505050505050505060405180910390f35b34156110ba57600080fd5b6110c261423f565b6040518082815260200191505060405180910390f35b34156110e357600080fd5b6110f96004808035906020019091905050614245565b604051808215151515815260200191505060405180910390f35b600260049054906101000a90047001000000000000000000000000000000000281565b60016020528060005260406000206000915054906101000a900460ff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611204575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561120f57600080fd5b600090505b835181101561126157611255848281518110151561122e57fe5b90602001906020020151848381518110151561124657fe5b90602001906020020151612bfc565b50600181019050611214565b8091505092915050565b6000808211151561127b57600080fd5b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156112c957600080fd5b81600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000806000600c600085815260200190815260200160002060030160009054906101000a900460ff16600c600086815260200190815260200160002060030160019054906101000a900460ff16600c600087815260200190815260200160002060030160029054906101000a900460ff169250925092509193909250565b6000806000600d600085815260200190815260200160002060040160009054906101000a900460ff16600d600086815260200190815260200160002060040160019054906101000a900460ff16600d600087815260200190815260200160002060040160029054906101000a900460ff169250925092509193909250565b6000806000806000600d600087815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d600088815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d600089815260200190815260200160002060020154600d60008a815260200190815260200160002060030154600d60008b8152602001908152602001600020600501549450945094509450945091939590929450565b60006115903384846144e9565b151561159b57600080fd5b6115e4600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160045401600481905550610120604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018381526020016000815260200160001515815260200160001515815260200160001515815260200142815250600d6000600454815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff021916908315150217905550606082015181600201556080820151816003015560a08201518160040160006101000a81548160ff02191690831515021790555060c08201518160040160016101000a81548160ff02191690831515021790555060e08201518160040160026101000a81548160ff02191690831515021790555061010082015181600501559050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f88bac2b8bf4e20e610fee1169e642f8c4cff6cea195a7f1c73cc33c98fef649960045485604051808381526020018281526020019250505060405180910390a3600454905092915050565b60006a295be96e64066972000000905090565b600060011515600260159054906101000a900460ff1615151415156118a357600080fd5b60001515600c600084815260200190815260200160002060030160029054906101000a900460ff1615151415156118d957600080fd5b60011515600c600084815260200190815260200160002060030160009054906101000a900460ff16151514151561190f57600080fd5b60011515600c600084815260200190815260200160002060030160019054906101000a900460ff16151514151561194557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600c600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156119b557600080fd5b611a0c33600c600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c6000868152602001908152602001600020600201546144e9565b1515611a1757600080fd5b6000611aae600a6000600c600087815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600086815260200190815260200160002060020154614764565b111515611aba57600080fd5b611b4f600a6000600c600086815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600085815260200190815260200160002060020154614780565b600a6000600c600086815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c600084815260200190815260200160002060030160026101000a81548160ff0219169083151502179055507f5701e9c0679ce0b9034b65c08789962e3c370c8d89e5d1210c40bcd7c6c5e02482600c600085815260200190815260200160002060020154604051808381526020018281526020019250505060405180910390a160019050919050565b6000611c628484846144e9565b1515611c6d57600080fd5b81611cf4600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484614764565b10151515611d0157600080fd5b611d87600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e50600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611edc600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614780565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561202857600080fd5b60018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fa2f792d5cab45450daed47916f25d9bd3443d275c51ecbccfbeb727a3b4eda0e60405160405180910390a360019050919050565b600560009054906101000a90046fffffffffffffffffffffffffffffffff1681565b600260149054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561217457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156121b057600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f427e024ace7a7942bc6f60715750c0c5f36943fb5b21734a3d4bedddefd2f84e60405160405180910390a360019050919050565b600b602052816000526040600020602052806000526040600020600091509150505481565b600080600080600c600086815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c600087815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c600088815260200190815260200160002060020154600c60008981526020019081526020016000206004015493509350935093509193509193565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600080600c60008681526020019081526020016000206004015492504291506123ad8284614764565b905060011515600260159054906101000a900460ff1615151415156123d157600080fd5b60001515600c600087815260200190815260200160002060030160009054906101000a900460ff16151514151561240757600080fd5b600560009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168111151561244557600080fd5b60001515600c600087815260200190815260200160002060030160029054906101000a900460ff16151514151561247b57600080fd5b60001515600c600087815260200190815260200160002060030160019054906101000a900460ff1615151415156124b157600080fd5b612546600a6000600c600089815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600088815260200190815260200160002060020154614780565b600a6000600c600089815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c600087815260200190815260200160002060030160016101000a81548160ff0219169083151502179055506001600c600087815260200190815260200160002060030160006101000a81548160ff0219169083151502179055507f903230751b9d0dc3d52e4b2bd30de3c46ff2373e6e670f4e8f3425915568333f85600160405180838152602001821515151581526020019250505060405180910390a160019350505050919050565b600a6020528060005260406000206000915090505481565b600d6020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154908060040160009054906101000a900460ff16908060040160019054906101000a900460ff16908060040160029054906101000a900460ff16908060050154905089565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806127f4575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156127ff57600080fd5b82600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816fffffffffffffffffffffffffffffffff166008819055506001905092915050565b600080600080600d600086815260200190815260200160002060050154925042915061288f8284614764565b905060011515600260159054906101000a900460ff1615151415156128b357600080fd5b600560109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16811115156128f157600080fd5b60001515600d600087815260200190815260200160002060010160149054906101000a900460ff16151514151561292757600080fd5b60001515600d600087815260200190815260200160002060040160019054906101000a900460ff16151514151561295d57600080fd5b60001515600d600087815260200190815260200160002060040160029054906101000a900460ff16151514151561299357600080fd5b60001515600d600087815260200190815260200160002060040160009054906101000a900460ff1615151415156129c957600080fd5b612a5e600a6000600d600089815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d600088815260200190815260200160002060020154614780565b600a6000600d600089815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600087815260200190815260200160002060040160016101000a81548160ff0219169083151502179055507fcb4c88ae5357f975a9efb9832fa122a2de72cd6d72bf10f92ad951b1226cc7bc85600060405180838152602001821515151581526020019250505060405180910390a160019350505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a90047c01000000000000000000000000000000000000000000000000000000000281565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612c093384846144e9565b1515612c1457600080fd5b612c5d600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ce9600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614780565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600080600c6000878152602001908152602001600020600401549250429150612dc78284614764565b905060011515600260159054906101000a900460ff161515141515612deb57600080fd5b60001515600c600088815260200190815260200160002060030160009054906101000a900460ff161515141515612e2157600080fd5b600560009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168111151515612e6057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600c600088815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ed057600080fd5b60001515600c600088815260200190815260200160002060030160029054906101000a900460ff161515141515612f0657600080fd5b60001515600c600088815260200190815260200160002060030160019054906101000a900460ff161515141515612f3c57600080fd5b60011515851515141561308b57612fde600a6000600c60008a815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600089815260200190815260200160002060020154614780565b600a6000600c60008a815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c600088815260200190815260200160002060030160016101000a81548160ff02191690831515021790555061319a565b613120600a6000600c60008a815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c600089815260200190815260200160002060020154614780565b600a6000600c60008a815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600c600088815260200190815260200160002060030160006101000a81548160ff0219169083151502179055507f903230751b9d0dc3d52e4b2bd30de3c46ff2373e6e670f4e8f3425915568333f868660405180838152602001821515151581526020019250505060405180910390a16001935050505092915050565b60035481565b600060011515600260159054906101000a900460ff16151514151561324357600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156132b357600080fd5b60001515600d600084815260200190815260200160002060010160149054906101000a900460ff1615151415156132e957600080fd5b60001515600d600084815260200190815260200160002060040160019054906101000a900460ff16151514151561331f57600080fd5b60001515600d600084815260200190815260200160002060040160029054906101000a900460ff16151514151561335557600080fd5b60001515600d600084815260200190815260200160002060040160009054906101000a900460ff16151514151561338b57600080fd5b613420600a6000600d600086815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d600085815260200190815260200160002060020154614780565b600a6000600d600086815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600084815260200190815260200160002060040160026101000a81548160ff0219169083151502179055506001600d600084815260200190815260200160002060040160016101000a81548160ff0219169083151502179055506001600d600084815260200190815260200160002060040160006101000a81548160ff0219169083151502179055507fcb4c88ae5357f975a9efb9832fa122a2de72cd6d72bf10f92ad951b1226cc7bc82600160405180838152602001821515151581526020019250505060405180910390a160019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613620575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561362b57600080fd5b81600260156101000a81548160ff02191690831515021790555060019050919050565b600061365b3384846144e9565b151561366657600080fd5b6136af600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614764565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003540160038190555060e0604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160001515815260200160001515815260200160001515815260200142815250600c6000600354815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548160ff02191690831515021790555060a08201518160030160026101000a81548160ff02191690831515021790555060c082015181600401559050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f080991e41c181cddd6930872b5b9a74cc635b2155a1e211e21dcf0b6afd5725660035485604051808381526020018281526020019250505060405180910390a3600354905092915050565b600560109054906101000a90046fffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806139ca575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156139d557600080fd5b6001831415613a1c5781600560006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550613a56565b81600560106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b60008060011515600260159054906101000a900460ff161515141515613b1257600080fd5b60011515600d600086815260200190815260200160002060010160149054906101000a900460ff161515141515613b4857600080fd5b60001515600d600086815260200190815260200160002060040160019054906101000a900460ff161515141515613b7e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613bda57600080fd5b60001515600d600086815260200190815260200160002060040160029054906101000a900460ff161515141515613c1057600080fd5b613c46600d600086815260200190815260200160002060020154600d600087815260200190815260200160002060030154614764565b90506000811015613c5657600090505b600115158315151415613d8f57613ce2600a6000600d600088815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482614780565b600a6000600d600088815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600086815260200190815260200160002060040160026101000a81548160ff021916908315150217905550613e88565b613e0e600a6000600d600088815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482614780565b600a6000600d600088815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b613f09600a6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d600087815260200190815260200160002060030154614780565b600a6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600086815260200190815260200160002060040160016101000a81548160ff0219169083151502179055507fcb4c88ae5357f975a9efb9832fa122a2de72cd6d72bf10f92ad951b1226cc7bc848460405180838152602001821515151581526020019250505060405180910390a1600191505092915050565b600260159054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561405b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561409757600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156140f357600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a360019050919050565b600c6020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060040154905087565b60085481565b6000806000803373ffffffffffffffffffffffffffffffffffffffff16600d600087815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061431c57503373ffffffffffffffffffffffffffffffffffffffff16600d600087815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156144dc57600d60008681526020019081526020016000206005015492504291506143478284614764565b905060001515600d600087815260200190815260200160002060010160149054906101000a900460ff16151514151561437f57600080fd5b60001515600d600087815260200190815260200160002060040160009054906101000a900460ff1615151415156143b557600080fd5b60001515600d600087815260200190815260200160002060040160019054906101000a900460ff1615151415156143eb57600080fd5b600560109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16811115151561442a57600080fd5b60001515600d600087815260200190815260200160002060040160029054906101000a900460ff16151514151561446057600080fd5b600854600d6000878152602001908152602001600020600201541015151561448757600080fd5b6001600d600087815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600854600d600087815260200190815260200160002060030181905550600193506144e1565b600093505b505050919050565b600060011515600260159054906101000a900460ff16151514151561450d57600080fd5b60008211151561451c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561455857600080fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156145a657600080fd5b60006145f1600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484614764565b101515156145fe57600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614687600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484614780565b11151561469357600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156146f1575060095442105b15614759576a084595161401484a00000061474b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484614764565b1015151561475857600080fd5b5b600190509392505050565b600082821115151561477557600080fd5b818303905092915050565b600080828401905083811015151561479757600080fd5b80915050929150505600a165627a7a72305820f130fe43aadf683c87b572b5681c70b1da68951ca64fdd2d36245c94bba9f0000029

Swarm Source

bzzr://f130fe43aadf683c87b572b5681c70b1da68951ca64fdd2d36245c94bba9f000

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.