ETH Price: $2,111.17 (+0.88%)
Gas: 0.04 Gwei

Contract

0x3166C570935a7D8554c8f4eA792ff965D2EFe1f2
 

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
Transfer245469702026-02-27 8:08:2315 days ago1772179703IN
Q DAO Governance Token v1.0
0 ETH0.000003610.07275736
Approve244822622026-02-18 7:35:3524 days ago1771400135IN
Q DAO Governance Token v1.0
0 ETH0.000027211.03380848
Approve238892092025-11-27 9:38:23107 days ago1764236303IN
Q DAO Governance Token v1.0
0 ETH0.000099172.05005654
Approve228016822025-06-28 8:16:23259 days ago1751098583IN
Q DAO Governance Token v1.0
0 ETH0.00006231.27983519
Approve228016422025-06-28 8:08:23259 days ago1751098103IN
Q DAO Governance Token v1.0
0 ETH0.000112912.33454409
Transfer224792742025-05-14 5:14:59305 days ago1747199699IN
Q DAO Governance Token v1.0
0 ETH0.000096541.94008657
Approve221796892025-04-02 7:19:47346 days ago1743578387IN
Q DAO Governance Token v1.0
0 ETH0.00003650.75
Transfer221793012025-04-02 6:01:35346 days ago1743573695IN
Q DAO Governance Token v1.0
0 ETH0.000031850.64040365
Approve220777212025-03-19 1:44:59361 days ago1742348699IN
Q DAO Governance Token v1.0
0 ETH0.00002420.91692038
Approve218571542025-02-16 6:24:23391 days ago1739687063IN
Q DAO Governance Token v1.0
0 ETH0.000077871.6022013
Transfer218571002025-02-16 6:13:23391 days ago1739686403IN
Q DAO Governance Token v1.0
0 ETH0.00006241.25406821
Transfer218476772025-02-14 22:29:47393 days ago1739572187IN
Q DAO Governance Token v1.0
0 ETH0.000096941.94800388
Approve218435772025-02-14 8:41:23393 days ago1739522483IN
Q DAO Governance Token v1.0
0 ETH0.000146973.0229457
Transfer218435082025-02-14 8:27:35393 days ago1739521655IN
Q DAO Governance Token v1.0
0 ETH0.000099482
Approve212421442024-11-22 8:41:47477 days ago1732264907IN
Q DAO Governance Token v1.0
0 ETH0.0005425711.16252055
Approve210254352024-10-23 2:56:35508 days ago1729652195IN
Q DAO Governance Token v1.0
0 ETH0.000182646.91969344
Approve203024452024-07-14 4:46:23609 days ago1720932383IN
Q DAO Governance Token v1.0
0 ETH0.000098872.03370629
Transfer202974872024-07-13 12:08:11609 days ago1720872491IN
Q DAO Governance Token v1.0
0 ETH0.00010852.18144978
Approve202672532024-07-09 6:49:11613 days ago1720507751IN
Q DAO Governance Token v1.0
0 ETH0.000067572.56032619
Approve178994382023-08-12 14:40:59945 days ago1691851259IN
Q DAO Governance Token v1.0
0 ETH0.0004946818.74143868
Transfer176461092023-07-08 2:34:11981 days ago1688783651IN
Q DAO Governance Token v1.0
0 ETH0.0004986715.2664
Transfer176461092023-07-08 2:34:11981 days ago1688783651IN
Q DAO Governance Token v1.0
0 ETH0.000653320
Transfer176461082023-07-08 2:33:59981 days ago1688783639IN
Q DAO Governance Token v1.0
0 ETH0.0004997515.3051
Transfer176461082023-07-08 2:33:59981 days ago1688783639IN
Q DAO Governance Token v1.0
0 ETH0.0006530620
Transfer176461072023-07-08 2:33:47981 days ago1688783627IN
Q DAO Governance Token v1.0
0 ETH0.0004997515.3051
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:
QDAO

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-05-27
*/

pragma solidity ^0.4.24;

contract Multiownable {

    bool public paused = false;
    uint256 public howManyOwnersDecide;
    address[] public owners;
    bytes32[] public allOperations;
    address internal insideCallSender;
    uint256 internal insideCallCount;

    mapping(address => uint) public ownersIndices; // Starts from 1
    mapping(bytes32 => uint) public allOperationsIndicies;

    mapping(bytes32 => uint256) public votesMaskByOperation;
    mapping(bytes32 => uint256) public votesCountByOperation;

    event OperationCreated(bytes32 operation, uint howMany, uint ownersCount, address proposer);
    event OperationUpvoted(bytes32 operation, uint votes, uint howMany, uint ownersCount, address upvoter);
    event OperationPerformed(bytes32 operation, uint howMany, uint ownersCount, address performer);
    event OperationDownvoted(bytes32 operation, uint votes, uint ownersCount,  address downvoter);
    event OperationCancelled(bytes32 operation, address lastCanceller);
    event OwnershipRenounced(address indexed previousOwner);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event Pause();
    event Unpause();

    function isOwner(address wallet) public constant returns(bool) {
        return ownersIndices[wallet] > 0;
    }

    function ownersCount() public view returns(uint) {
        return owners.length;
    }

    function allOperationsCount() public  view returns(uint) {
        return allOperations.length;
    }

    modifier onlyAnyOwner {
        if (checkHowManyOwners(1)) {
            bool update = (insideCallSender == address(0));
            if (update) {
                insideCallSender = msg.sender;
                insideCallCount = 1;
            }
            _;
            if (update) {
                insideCallSender = address(0);
                insideCallCount = 0;
            }
        }
    }

    modifier onlyManyOwners {
        if (checkHowManyOwners(howManyOwnersDecide)) {
            bool update = (insideCallSender == address(0));
            if (update) {
                insideCallSender = msg.sender;
                insideCallCount = howManyOwnersDecide;
            }
            _;
            if (update) {
                insideCallSender = address(0);
                insideCallCount = 0;
            }
        }
    }

    constructor() public {  }

    function checkHowManyOwners(uint howMany) internal returns(bool) {
        if (insideCallSender == msg.sender) {
            require(howMany <= insideCallCount, "checkHowManyOwners: nested owners modifier check require more owners");
            return true;
        }

        uint ownerIndex = ownersIndices[msg.sender] - 1;
        require(ownerIndex < owners.length, "checkHowManyOwners: msg.sender is not an owner");
        bytes32 operation = keccak256(abi.encodePacked(msg.data));

        require((votesMaskByOperation[operation] & (2 ** ownerIndex)) == 0, "checkHowManyOwners: owner already voted for the operation");
        votesMaskByOperation[operation] |= (2 ** ownerIndex);
        uint operationVotesCount = votesCountByOperation[operation] + 1;
        votesCountByOperation[operation] = operationVotesCount;
        if (operationVotesCount == 1) {
            allOperationsIndicies[operation] = allOperations.length;
            allOperations.push(operation);
            emit OperationCreated(operation, howMany, owners.length, msg.sender);
        }
        emit OperationUpvoted(operation, operationVotesCount, howMany, owners.length, msg.sender);

        // If enough owners confirmed the same operation
        if (votesCountByOperation[operation] == howMany) {
            deleteOperation(operation);
            emit OperationPerformed(operation, howMany, owners.length, msg.sender);
            return true;
        }

        return false;
    }

    function deleteOperation(bytes32 operation) internal {
        uint index = allOperationsIndicies[operation];
        if (index < allOperations.length - 1) { // Not last
            allOperations[index] = allOperations[allOperations.length - 1];
            allOperationsIndicies[allOperations[index]] = index;
        }
        allOperations.length--;

        delete votesMaskByOperation[operation];
        delete votesCountByOperation[operation];
        delete allOperationsIndicies[operation];
    }

    function cancelPending(bytes32 operation) public onlyAnyOwner {
        uint ownerIndex = ownersIndices[msg.sender] - 1;
        require((votesMaskByOperation[operation] & (2 ** ownerIndex)) != 0, "cancelPending: operation not found for this user");
        votesMaskByOperation[operation] &= ~(2 ** ownerIndex);
        uint operationVotesCount = votesCountByOperation[operation] - 1;
        votesCountByOperation[operation] = operationVotesCount;
        emit OperationDownvoted(operation, operationVotesCount, owners.length, msg.sender);
        if (operationVotesCount == 0) {
            deleteOperation(operation);
            emit OperationCancelled(operation, msg.sender);
        }
    }

    function transferOwnership(address _newOwner, address _oldOwner) public onlyManyOwners {
        _transferOwnership(_newOwner, _oldOwner);
    }

    function _transferOwnership(address _newOwner, address _oldOwner) internal {
        require(_newOwner != address(0));

        for(uint256 i = 0; i < owners.length; i++) {
            if (_oldOwner == owners[i]) {
                owners[i] = _newOwner;
                ownersIndices[_newOwner] = ownersIndices[_oldOwner];
                ownersIndices[_oldOwner] = 0;
                break;
            }
        }
        emit OwnershipTransferred(_oldOwner, _newOwner);
    }

    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    modifier whenPaused() {
        require(paused);
        _;
    }

    function pause() public onlyManyOwners whenNotPaused {

        paused = true;
        emit Pause();
    }

    function unpause() public onlyManyOwners whenPaused {
        paused = false;
        emit Unpause();
    }
}

contract GovernanceMigratable is Multiownable {
    mapping(address => bool) public governanceContracts;

    event GovernanceContractAdded(address addr);
    event GovernanceContractRemoved(address addr);

    modifier onlyGovernanceContracts() {
        require(governanceContracts[msg.sender]);
        _;
    }

    function addAddressToGovernanceContract(address addr) onlyManyOwners public returns(bool success) {
        if (!governanceContracts[addr]) {
            governanceContracts[addr] = true;
            emit GovernanceContractAdded(addr);
            success = true;
        }
    }

    function removeAddressFromGovernanceContract(address addr) onlyManyOwners public returns(bool success) {
        if (governanceContracts[addr]) {
            governanceContracts[addr] = false;
            emit GovernanceContractRemoved(addr);
            success = true;
        }
    }
}

contract ERC20Basic {
    function totalSupply() public view returns (uint256);
    function balanceOf(address _who) public view returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

library SafeMath {

    function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {

        if (_a == 0) {
            return 0;
        }

        c = _a * _b;
        assert(c / _a == _b);
        return c;
    }

    function div(uint256 _a, uint256 _b) internal pure returns (uint256) {


        return _a / _b;
    }

    function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
        assert(_b <= _a);
        return _a - _b;
    }


    function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
        c = _a + _b;
        assert(c >= _a);
        return c;
    }
}

contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) internal balances;

    uint256 internal totalSupply_;

    /**
    * @dev Total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    /**
    * @dev Transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_value <= balances[msg.sender]);
        require(_to != address(0));

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }

}

contract ERC20 is ERC20Basic {
    function allowance(address _owner, address _spender)
    public view returns (uint256);

    function transferFrom(address _from, address _to, uint256 _value)
    public returns (bool);

    function approve(address _spender, uint256 _value) public returns (bool);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) internal allowed;


    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */
    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    )
    public
    returns (bool)
    {
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        require(_to != address(0));

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(
        address _owner,
        address _spender
    )
    public
    view
    returns (uint256)
    {
        return allowed[_owner][_spender];
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to increase the allowance by.
     */
    function increaseApproval(
        address _spender,
        uint256 _addedValue
    )
    public
    returns (bool)
    {
        allowed[msg.sender][_spender] = (
        allowed[msg.sender][_spender].add(_addedValue));
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     * approve should be called when allowed[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseApproval(
        address _spender,
        uint256 _subtractedValue
    )
    public
    returns (bool)
    {
        uint256 oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue >= oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

contract DetailedERC20 is ERC20 {
    string public name;
    string public symbol;
    uint8 public decimals;

    constructor(string _name, string _symbol, uint8 _decimals) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }
}

contract QDAOBurnableToken is BasicToken {

    event Burn(address indexed burner, uint256 value);

    function _burn(address _who, uint256 _value) internal {
        require(_value <= balances[_who]);

        balances[_who] = balances[_who].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
        emit Burn(_who, _value);
        emit Transfer(_who, address(0), _value);
    }
}

contract QDAOPausableToken is StandardToken, GovernanceMigratable {

    function transfer(
        address _to,
        uint256 _value
    )
    public
    whenNotPaused
    returns (bool)
    {
        return super.transfer(_to, _value);
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    )
    public
    whenNotPaused
    returns (bool)
    {
        return super.transferFrom(_from, _to, _value);
    }

    function approve(
        address _spender,
        uint256 _value
    )
    public
    whenNotPaused
    returns (bool)
    {
        return super.approve(_spender, _value);
    }

    function increaseApproval(
        address _spender,
        uint _addedValue
    )
    public
    whenNotPaused
    returns (bool success)
    {
        return super.increaseApproval(_spender, _addedValue);
    }

    function decreaseApproval(
        address _spender,
        uint _subtractedValue
    )
    public
    whenNotPaused
    returns (bool success)
    {
        return super.decreaseApproval(_spender, _subtractedValue);
    }
}

contract QDAO is StandardToken, QDAOBurnableToken, DetailedERC20, QDAOPausableToken  {

    event Mint(address indexed to, uint256 amount);

    uint8 constant DECIMALS = 18;

    constructor(address _firstOwner,
        address _secondOwner,
        address _thirdOwner,
        address _fourthOwner,
        address _fifthOwner) DetailedERC20("Q DAO Governance token v1.0", "QDAO", DECIMALS) public {

        owners.push(_firstOwner);
        owners.push(_secondOwner);
        owners.push(_thirdOwner);
        owners.push(_fourthOwner);
        owners.push(_fifthOwner);
        owners.push(msg.sender);

        ownersIndices[_firstOwner] = 1;
        ownersIndices[_secondOwner] = 2;
        ownersIndices[_thirdOwner] = 3;
        ownersIndices[_fourthOwner] = 4;
        ownersIndices[_fifthOwner] = 5;
        ownersIndices[msg.sender] = 6;

        howManyOwnersDecide = 4;
    }

    function mint(address _to, uint256 _amount) external onlyGovernanceContracts() returns (bool){
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Mint(_to, _amount);
        emit Transfer(address(0), _to, _amount);
        return true;
    }

    function approveForOtherContracts(address _sender, address _spender, uint256 _value) external onlyGovernanceContracts() {
        allowed[_sender][_spender] = _value;
        emit Approval(_sender, _spender, _value);
    }

    function burnFrom(address _to, uint256 _amount) external onlyGovernanceContracts() returns (bool) {
        allowed[_to][msg.sender] = _amount;
        transferFrom(_to, msg.sender, _amount);
        _burn(msg.sender, _amount);
        return true;
    }

    function transferMany(address[] _recipients, uint[] _values) public onlyGovernanceContracts() {
        require(_recipients.length == _values.length);
        require(_recipients.length > 0);

        for(uint i = 0; i < _recipients.length; i++) {
            address recipient = _recipients[i];
            uint value = _values[i];

            require(recipient != address(0) && value != 0);

            balances[msg.sender] = balances[msg.sender].sub(value);
            balances[recipient] = balances[recipient].add(value);
            emit Transfer(msg.sender, recipient, value);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approveForOtherContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allOperationsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"howManyOwnersDecide","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"wallet","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"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":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allOperations","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"governanceContracts","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesMaskByOperation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"},{"name":"_oldOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"addAddressToGovernanceContract","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"operation","type":"bytes32"}],"name":"cancelPending","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesCountByOperation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipients","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"transferMany","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownersIndices","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","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":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"allOperationsIndicies","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"removeAddressFromGovernanceContract","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_firstOwner","type":"address"},{"name":"_secondOwner","type":"address"},{"name":"_thirdOwner","type":"address"},{"name":"_fourthOwner","type":"address"},{"name":"_fifthOwner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"GovernanceContractAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"GovernanceContractRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"howMany","type":"uint256"},{"indexed":false,"name":"ownersCount","type":"uint256"},{"indexed":false,"name":"proposer","type":"address"}],"name":"OperationCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"votes","type":"uint256"},{"indexed":false,"name":"howMany","type":"uint256"},{"indexed":false,"name":"ownersCount","type":"uint256"},{"indexed":false,"name":"upvoter","type":"address"}],"name":"OperationUpvoted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"howMany","type":"uint256"},{"indexed":false,"name":"ownersCount","type":"uint256"},{"indexed":false,"name":"performer","type":"address"}],"name":"OperationPerformed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"votes","type":"uint256"},{"indexed":false,"name":"ownersCount","type":"uint256"},{"indexed":false,"name":"downvoter","type":"address"}],"name":"OperationDownvoted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"lastCanceller","type":"address"}],"name":"OperationCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526000600560016101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405160a080620040d883398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050506040805190810160405280601b81526020017f512044414f20476f7665726e616e636520746f6b656e2076312e3000000000008152506040805190810160405280600481526020017f5144414f0000000000000000000000000000000000000000000000000000000081525060128260039080519060200190620000fe9291906200054b565b508160049080519060200190620001179291906200054b565b5080600560006101000a81548160ff021916908360ff16021790555050505060078590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060078490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060078390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060078290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060078190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060073390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506002600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506003600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506004600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506005600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506006600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060046006819055505050505050620005fa565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200058e57805160ff1916838001178555620005bf565b82800160010185558215620005bf579182015b82811115620005be578251825591602001919060010190620005a1565b5b509050620005ce9190620005d2565b5090565b620005f791905b80821115620005f3576000816000905550600101620005d9565b5090565b90565b613ace806200060a6000396000f3006080604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c27146101a657806306fdde0314610213578063095ea7b3146102a357806316d8039c1461030857806318160ddd1461037557806322f2f89a146103a057806323b872dd146103cb5780632f4a81df146104505780632f54bf6e1461047b578063313ce567146104d65780633f4ba83a1461050757806340c10f191461051e578063431ab2331461058357806350500a8a146105cc578063568b5915146106275780635c975abb1461066c578063661884631461069b5780636d4354211461070057806370a082311461076357806379cc6790146107ba57806381ab5b0e1461081f5780638456cb591461087a578063893372ca1461089157806390a53085146108c257806395d89b4114610907578063a9059cbb14610997578063b7fc6612146109fc578063b948854614610aa5578063cc047a0414610ad0578063d73dd62314610b27578063dd62ed3e14610b8c578063ea1a264414610c03578063f666cd3714610c48575b600080fd5b3480156101b257600080fd5b506101d160048036038101908080359060200190929190505050610ca3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021f57600080fd5b50610228610ce1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026857808201518184015260208101905061024d565b50505050905090810190601f1680156102955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102af57600080fd5b506102ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d7f565b604051808215151515815260200191505060405180910390f35b34801561031457600080fd5b50610373600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610daf565b005b34801561038157600080fd5b5061038a610ef2565b6040518082815260200191505060405180910390f35b3480156103ac57600080fd5b506103b5610efc565b6040518082815260200191505060405180910390f35b3480156103d757600080fd5b50610436600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b604051808215151515815260200191505060405180910390f35b34801561045c57600080fd5b50610465610f3b565b6040518082815260200191505060405180910390f35b34801561048757600080fd5b506104bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f41565b604051808215151515815260200191505060405180910390f35b3480156104e257600080fd5b506104eb610f8c565b604051808260ff1660ff16815260200191505060405180910390f35b34801561051357600080fd5b5061051c610f9f565b005b34801561052a57600080fd5b50610569600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061110d565b604051808215151515815260200191505060405180910390f35b34801561058f57600080fd5b506105ae600480360381019080803590602001909291905050506112d3565b60405180826000191660001916815260200191505060405180910390f35b3480156105d857600080fd5b5061060d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112f6565b604051808215151515815260200191505060405180910390f35b34801561063357600080fd5b506106566004803603810190808035600019169060200190929190505050611316565b6040518082815260200191505060405180910390f35b34801561067857600080fd5b5061068161132e565b604051808215151515815260200191505060405180910390f35b3480156106a757600080fd5b506106e6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611341565b604051808215151515815260200191505060405180910390f35b34801561070c57600080fd5b50610761600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611371565b005b34801561076f57600080fd5b506107a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611489565b6040518082815260200191505060405180910390f35b3480156107c657600080fd5b50610805600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114d1565b604051808215151515815260200191505060405180910390f35b34801561082b57600080fd5b50610860600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115cc565b604051808215151515815260200191505060405180910390f35b34801561088657600080fd5b5061088f6117ef565b005b34801561089d57600080fd5b506108c0600480360381019080803560001916906020019092919050505061195e565b005b3480156108ce57600080fd5b506108f16004803603810190808035600019169060200190929190505050611cee565b6040518082815260200191505060405180910390f35b34801561091357600080fd5b5061091c611d06565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561095c578082015181840152602081019050610941565b50505050905090810190601f1680156109895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109a357600080fd5b506109e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611da4565b604051808215151515815260200191505060405180910390f35b348015610a0857600080fd5b50610aa36004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611dd4565b005b348015610ab157600080fd5b50610aba61207b565b6040518082815260200191505060405180910390f35b348015610adc57600080fd5b50610b11600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612088565b6040518082815260200191505060405180910390f35b348015610b3357600080fd5b50610b72600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506120a0565b604051808215151515815260200191505060405180910390f35b348015610b9857600080fd5b50610bed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d0565b6040518082815260200191505060405180910390f35b348015610c0f57600080fd5b50610c326004803603810190808035600019169060200190929190505050612157565b6040518082815260200191505060405180910390f35b348015610c5457600080fd5b50610c89600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061216f565b604051808215151515815260200191505060405180910390f35b600781815481101515610cb257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d775780601f10610d4c57610100808354040283529160200191610d77565b820191906000526020600020905b815481529060010190602001808311610d5a57829003601f168201915b505050505081565b6000600560019054906101000a900460ff16151515610d9d57600080fd5b610da78383612391565b905092915050565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610e0757600080fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600154905090565b6000600880549050905090565b6000600560019054906101000a900460ff16151515610f2757600080fd5b610f32848484612483565b90509392505050565b60065481565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b600560009054906101000a900460ff1681565b6000610fac60065461283e565b1561110a57600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156110565733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b600560019054906101000a900460ff16151561107157600080fd5b6000600560016101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a18015611109576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561116757600080fd5b61117c82600154612e4a90919063ffffffff16565b6001819055506111d3826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6008818154811015156112e257fe5b906000526020600020016000915090505481565b600f6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915090505481565b600560019054906101000a900460ff1681565b6000600560019054906101000a900460ff1615151561135f57600080fd5b6113698383612e66565b905092915050565b600061137e60065461283e565b1561148457600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156114285733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b61143283836130f8565b8015611483576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561152b57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115b7833384610f09565b506115c23383613345565b6001905092915050565b6000806115da60065461283e565b156117e957600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156116845733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611797576001600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc8b076565c11e989d811cc9ebc33f3fc9d6a635f402f80ca900c7c126ba8874883604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600191505b80156117e8576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50919050565b60006117fc60065461283e565b1561195b57600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156118a65733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b600560019054906101000a900460ff161515156118c257600080fd5b6001600560016101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1801561195a576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50565b600080600061196d600161283e565b15611ce857600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161490508015611a165733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a819055505b6001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403925060008360020a600d60008760001916600019168152602001908152602001600020541614151515611b1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f63616e63656c50656e64696e673a206f7065726174696f6e206e6f7420666f7581526020017f6e6420666f72207468697320757365720000000000000000000000000000000081525060400191505060405180910390fd5b8260020a19600d60008660001916600019168152602001908152602001600020600082825416925050819055506001600e600086600019166000191681526020019081526020016000205403915081600e60008660001916600019168152602001908152602001600020819055507f3e0a7036018b5a2a3c5d0afa14e51998ef3cf98c38e4289a8897222b3acf75a78483600780549050336040518085600019166000191681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a16000821415611c9657611c22846134f8565b7f55e0dd61c29aac6fc36807628300ad3e3ec68655ae76ae4002f7fb101496fa9f84336040518083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b8015611ce7576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50505050565b600e6020528060005260406000206000915090505481565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d9c5780601f10611d7157610100808354040283529160200191611d9c565b820191906000526020600020905b815481529060010190602001808311611d7f57829003601f168201915b505050505081565b6000600560019054906101000a900460ff16151515611dc257600080fd5b611dcc838361361c565b905092915050565b6000806000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611e3157600080fd5b83518551141515611e4157600080fd5b60008551111515611e5157600080fd5b600092505b8451831015612074578483815181101515611e6d57fe5b9060200190602002015191508383815181101515611e8757fe5b906020019060200201519050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611ed1575060008114155b1515611edc57600080fd5b611f2d816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fc0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38280600101935050611e56565b5050505050565b6000600780549050905090565b600b6020528060005260406000206000915090505481565b6000600560019054906101000a900460ff161515156120be57600080fd5b6120c88383613855565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c6020528060005260406000206000915090505481565b60008061217d60065461283e565b1561238b57600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156122275733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612339576000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6143afc7a354e1ab1c3f52714297bfe2a0958df8cd9e15f84953a51264bb52bc83604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600191505b801561238a576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50919050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156124d257600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561255d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561259957600080fd5b6125ea826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061267d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061274e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000806000803373ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561296957600a548511151515612960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001807f636865636b486f774d616e794f776e6572733a206e6573746564206f776e657281526020017f73206d6f64696669657220636865636b2072657175697265206d6f7265206f7781526020017f6e6572730000000000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b60019350612e42565b6001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403925060078054905083101515612a50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f636865636b486f774d616e794f776e6572733a206d73672e73656e646572206981526020017f73206e6f7420616e206f776e657200000000000000000000000000000000000081525060400191505060405180910390fd5b600036604051602001808383808284378201915050925050506040516020818303038152906040526040518082805190602001908083835b602083101515612aad5780518252602082019150602081019050602083039250612a88565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060008360020a600d600085600019166000191681526020019081526020016000205416141515612b9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f636865636b486f774d616e794f776e6572733a206f776e657220616c7265616481526020017f7920766f74656420666f7220746865206f7065726174696f6e0000000000000081525060400191505060405180910390fd5b8260020a600d60008460001916600019168152602001908152602001600020600082825417925050819055506001600e600084600019166000191681526020019081526020016000205401905080600e60008460001916600019168152602001908152602001600020819055506001811415612cf057600880549050600c600084600019166000191681526020019081526020016000208190555060088290806001815401808255809150509060018203906000526020600020016000909192909190915090600019169055507f6bab0114f9524353d2d33e64edd3ebbd16e21edd57de2226ba76c310a7ce22658286600780549050336040518085600019166000191681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a15b7f8dd9582c6577aea81973b5adeb6c135f6e18565d99578b7ba0c9377437ec0221828287600780549050336040518086600019166000191681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390a184600e60008460001916600019168152602001908152602001600020541415612e3d57612dac826134f8565b7f8a11c8ca99994c292318ce367f65bf6ff61d390bc814b3588496f6fbcc32807a8286600780549050336040518085600019166000191681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a160019350612e42565b600093505b505050919050565b60008183019050828110151515612e5d57fe5b80905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515612f78576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061300c565b612f8b838261383c90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561313557600080fd5b600090505b6007805490508110156132e65760078181548110151561315657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156132d957826007828154811015156131c457fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132e6565b808060010191505061313a565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561339257600080fd5b6133e3816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061343a8160015461383c90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600c600083600019166000191681526020019081526020016000205490506001600880549050038110156135a557600860016008805490500381548110151561353f57fe5b906000526020600020015460088281548110151561355957fe5b90600052602060002001816000191690555080600c600060088481548110151561357f57fe5b906000526020600020015460001916600019168152602001908152602001600020819055505b60088054809190600190036135ba9190613a51565b50600d6000836000191660001916815260200190815260200160002060009055600e6000836000191660001916815260200190815260200160002060009055600c60008360001916600019168152602001908152602001600020600090555050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561366b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156136a757600080fd5b6136f8826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061378b826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561384a57fe5b818303905092915050565b60006138e682600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b815481835581811115613a7857818360005260206000209182019101613a779190613a7d565b5b505050565b613a9f91905b80821115613a9b576000816000905550600101613a83565b5090565b905600a165627a7a723058207756894b70c41d7fc24048c02d3d4ded3abeac7f273a4bff4e1d2c2b3b78cbdd002900000000000000000000000098111289e72f43e528f9c0fe879f56805b57efe50000000000000000000000007f5c5d68c03952837c1265f7b23c68804bfd20b4000000000000000000000000b5c143a5514a6e53a3c42f4d2027486ce7104fde000000000000000000000000168630128e92967e37fbb835e91d217426063f72000000000000000000000000623534d7cd1bda347790fab7c668309a7e2ad141

Deployed Bytecode

0x6080604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c27146101a657806306fdde0314610213578063095ea7b3146102a357806316d8039c1461030857806318160ddd1461037557806322f2f89a146103a057806323b872dd146103cb5780632f4a81df146104505780632f54bf6e1461047b578063313ce567146104d65780633f4ba83a1461050757806340c10f191461051e578063431ab2331461058357806350500a8a146105cc578063568b5915146106275780635c975abb1461066c578063661884631461069b5780636d4354211461070057806370a082311461076357806379cc6790146107ba57806381ab5b0e1461081f5780638456cb591461087a578063893372ca1461089157806390a53085146108c257806395d89b4114610907578063a9059cbb14610997578063b7fc6612146109fc578063b948854614610aa5578063cc047a0414610ad0578063d73dd62314610b27578063dd62ed3e14610b8c578063ea1a264414610c03578063f666cd3714610c48575b600080fd5b3480156101b257600080fd5b506101d160048036038101908080359060200190929190505050610ca3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021f57600080fd5b50610228610ce1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026857808201518184015260208101905061024d565b50505050905090810190601f1680156102955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102af57600080fd5b506102ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d7f565b604051808215151515815260200191505060405180910390f35b34801561031457600080fd5b50610373600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610daf565b005b34801561038157600080fd5b5061038a610ef2565b6040518082815260200191505060405180910390f35b3480156103ac57600080fd5b506103b5610efc565b6040518082815260200191505060405180910390f35b3480156103d757600080fd5b50610436600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b604051808215151515815260200191505060405180910390f35b34801561045c57600080fd5b50610465610f3b565b6040518082815260200191505060405180910390f35b34801561048757600080fd5b506104bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f41565b604051808215151515815260200191505060405180910390f35b3480156104e257600080fd5b506104eb610f8c565b604051808260ff1660ff16815260200191505060405180910390f35b34801561051357600080fd5b5061051c610f9f565b005b34801561052a57600080fd5b50610569600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061110d565b604051808215151515815260200191505060405180910390f35b34801561058f57600080fd5b506105ae600480360381019080803590602001909291905050506112d3565b60405180826000191660001916815260200191505060405180910390f35b3480156105d857600080fd5b5061060d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112f6565b604051808215151515815260200191505060405180910390f35b34801561063357600080fd5b506106566004803603810190808035600019169060200190929190505050611316565b6040518082815260200191505060405180910390f35b34801561067857600080fd5b5061068161132e565b604051808215151515815260200191505060405180910390f35b3480156106a757600080fd5b506106e6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611341565b604051808215151515815260200191505060405180910390f35b34801561070c57600080fd5b50610761600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611371565b005b34801561076f57600080fd5b506107a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611489565b6040518082815260200191505060405180910390f35b3480156107c657600080fd5b50610805600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114d1565b604051808215151515815260200191505060405180910390f35b34801561082b57600080fd5b50610860600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115cc565b604051808215151515815260200191505060405180910390f35b34801561088657600080fd5b5061088f6117ef565b005b34801561089d57600080fd5b506108c0600480360381019080803560001916906020019092919050505061195e565b005b3480156108ce57600080fd5b506108f16004803603810190808035600019169060200190929190505050611cee565b6040518082815260200191505060405180910390f35b34801561091357600080fd5b5061091c611d06565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561095c578082015181840152602081019050610941565b50505050905090810190601f1680156109895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109a357600080fd5b506109e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611da4565b604051808215151515815260200191505060405180910390f35b348015610a0857600080fd5b50610aa36004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611dd4565b005b348015610ab157600080fd5b50610aba61207b565b6040518082815260200191505060405180910390f35b348015610adc57600080fd5b50610b11600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612088565b6040518082815260200191505060405180910390f35b348015610b3357600080fd5b50610b72600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506120a0565b604051808215151515815260200191505060405180910390f35b348015610b9857600080fd5b50610bed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d0565b6040518082815260200191505060405180910390f35b348015610c0f57600080fd5b50610c326004803603810190808035600019169060200190929190505050612157565b6040518082815260200191505060405180910390f35b348015610c5457600080fd5b50610c89600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061216f565b604051808215151515815260200191505060405180910390f35b600781815481101515610cb257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d775780601f10610d4c57610100808354040283529160200191610d77565b820191906000526020600020905b815481529060010190602001808311610d5a57829003601f168201915b505050505081565b6000600560019054906101000a900460ff16151515610d9d57600080fd5b610da78383612391565b905092915050565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610e0757600080fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600154905090565b6000600880549050905090565b6000600560019054906101000a900460ff16151515610f2757600080fd5b610f32848484612483565b90509392505050565b60065481565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b600560009054906101000a900460ff1681565b6000610fac60065461283e565b1561110a57600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156110565733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b600560019054906101000a900460ff16151561107157600080fd5b6000600560016101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a18015611109576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561116757600080fd5b61117c82600154612e4a90919063ffffffff16565b6001819055506111d3826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6008818154811015156112e257fe5b906000526020600020016000915090505481565b600f6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915090505481565b600560019054906101000a900460ff1681565b6000600560019054906101000a900460ff1615151561135f57600080fd5b6113698383612e66565b905092915050565b600061137e60065461283e565b1561148457600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156114285733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b61143283836130f8565b8015611483576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561152b57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115b7833384610f09565b506115c23383613345565b6001905092915050565b6000806115da60065461283e565b156117e957600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156116845733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611797576001600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc8b076565c11e989d811cc9ebc33f3fc9d6a635f402f80ca900c7c126ba8874883604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600191505b80156117e8576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50919050565b60006117fc60065461283e565b1561195b57600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156118a65733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b600560019054906101000a900460ff161515156118c257600080fd5b6001600560016101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1801561195a576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50565b600080600061196d600161283e565b15611ce857600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161490508015611a165733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a819055505b6001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403925060008360020a600d60008760001916600019168152602001908152602001600020541614151515611b1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f63616e63656c50656e64696e673a206f7065726174696f6e206e6f7420666f7581526020017f6e6420666f72207468697320757365720000000000000000000000000000000081525060400191505060405180910390fd5b8260020a19600d60008660001916600019168152602001908152602001600020600082825416925050819055506001600e600086600019166000191681526020019081526020016000205403915081600e60008660001916600019168152602001908152602001600020819055507f3e0a7036018b5a2a3c5d0afa14e51998ef3cf98c38e4289a8897222b3acf75a78483600780549050336040518085600019166000191681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a16000821415611c9657611c22846134f8565b7f55e0dd61c29aac6fc36807628300ad3e3ec68655ae76ae4002f7fb101496fa9f84336040518083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b8015611ce7576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50505050565b600e6020528060005260406000206000915090505481565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d9c5780601f10611d7157610100808354040283529160200191611d9c565b820191906000526020600020905b815481529060010190602001808311611d7f57829003601f168201915b505050505081565b6000600560019054906101000a900460ff16151515611dc257600080fd5b611dcc838361361c565b905092915050565b6000806000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611e3157600080fd5b83518551141515611e4157600080fd5b60008551111515611e5157600080fd5b600092505b8451831015612074578483815181101515611e6d57fe5b9060200190602002015191508383815181101515611e8757fe5b906020019060200201519050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611ed1575060008114155b1515611edc57600080fd5b611f2d816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fc0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38280600101935050611e56565b5050505050565b6000600780549050905090565b600b6020528060005260406000206000915090505481565b6000600560019054906101000a900460ff161515156120be57600080fd5b6120c88383613855565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c6020528060005260406000206000915090505481565b60008061217d60065461283e565b1561238b57600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905080156122275733600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600a819055505b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612339576000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6143afc7a354e1ab1c3f52714297bfe2a0958df8cd9e15f84953a51264bb52bc83604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600191505b801561238a576000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a819055505b5b50919050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156124d257600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561255d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561259957600080fd5b6125ea826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061267d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061274e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000806000803373ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561296957600a548511151515612960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001807f636865636b486f774d616e794f776e6572733a206e6573746564206f776e657281526020017f73206d6f64696669657220636865636b2072657175697265206d6f7265206f7781526020017f6e6572730000000000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b60019350612e42565b6001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403925060078054905083101515612a50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f636865636b486f774d616e794f776e6572733a206d73672e73656e646572206981526020017f73206e6f7420616e206f776e657200000000000000000000000000000000000081525060400191505060405180910390fd5b600036604051602001808383808284378201915050925050506040516020818303038152906040526040518082805190602001908083835b602083101515612aad5780518252602082019150602081019050602083039250612a88565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060008360020a600d600085600019166000191681526020019081526020016000205416141515612b9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f636865636b486f774d616e794f776e6572733a206f776e657220616c7265616481526020017f7920766f74656420666f7220746865206f7065726174696f6e0000000000000081525060400191505060405180910390fd5b8260020a600d60008460001916600019168152602001908152602001600020600082825417925050819055506001600e600084600019166000191681526020019081526020016000205401905080600e60008460001916600019168152602001908152602001600020819055506001811415612cf057600880549050600c600084600019166000191681526020019081526020016000208190555060088290806001815401808255809150509060018203906000526020600020016000909192909190915090600019169055507f6bab0114f9524353d2d33e64edd3ebbd16e21edd57de2226ba76c310a7ce22658286600780549050336040518085600019166000191681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a15b7f8dd9582c6577aea81973b5adeb6c135f6e18565d99578b7ba0c9377437ec0221828287600780549050336040518086600019166000191681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390a184600e60008460001916600019168152602001908152602001600020541415612e3d57612dac826134f8565b7f8a11c8ca99994c292318ce367f65bf6ff61d390bc814b3588496f6fbcc32807a8286600780549050336040518085600019166000191681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a160019350612e42565b600093505b505050919050565b60008183019050828110151515612e5d57fe5b80905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515612f78576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061300c565b612f8b838261383c90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561313557600080fd5b600090505b6007805490508110156132e65760078181548110151561315657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156132d957826007828154811015156131c457fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132e6565b808060010191505061313a565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561339257600080fd5b6133e3816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061343a8160015461383c90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600c600083600019166000191681526020019081526020016000205490506001600880549050038110156135a557600860016008805490500381548110151561353f57fe5b906000526020600020015460088281548110151561355957fe5b90600052602060002001816000191690555080600c600060088481548110151561357f57fe5b906000526020600020015460001916600019168152602001908152602001600020819055505b60088054809190600190036135ba9190613a51565b50600d6000836000191660001916815260200190815260200160002060009055600e6000836000191660001916815260200190815260200160002060009055600c60008360001916600019168152602001908152602001600020600090555050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561366b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156136a757600080fd5b6136f8826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461383c90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061378b826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561384a57fe5b818303905092915050565b60006138e682600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4a90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b815481835581811115613a7857818360005260206000209182019101613a779190613a7d565b5b505050565b613a9f91905b80821115613a9b576000816000905550600101613a83565b5090565b905600a165627a7a723058207756894b70c41d7fc24048c02d3d4ded3abeac7f273a4bff4e1d2c2b3b78cbdd0029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000098111289e72f43e528f9c0fe879f56805b57efe50000000000000000000000007f5c5d68c03952837c1265f7b23c68804bfd20b4000000000000000000000000b5c143a5514a6e53a3c42f4d2027486ce7104fde000000000000000000000000168630128e92967e37fbb835e91d217426063f72000000000000000000000000623534d7cd1bda347790fab7c668309a7e2ad141

-----Decoded View---------------
Arg [0] : _firstOwner (address): 0x98111289e72f43E528f9C0Fe879F56805B57efE5
Arg [1] : _secondOwner (address): 0x7f5c5d68C03952837c1265f7B23c68804bfd20b4
Arg [2] : _thirdOwner (address): 0xb5C143A5514A6E53A3C42f4d2027486Ce7104Fde
Arg [3] : _fourthOwner (address): 0x168630128E92967E37FBB835e91d217426063f72
Arg [4] : _fifthOwner (address): 0x623534D7cD1Bda347790FAB7C668309A7E2ad141

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 00000000000000000000000098111289e72f43e528f9c0fe879f56805b57efe5
Arg [1] : 0000000000000000000000007f5c5d68c03952837c1265f7b23c68804bfd20b4
Arg [2] : 000000000000000000000000b5c143a5514a6e53a3c42f4d2027486ce7104fde
Arg [3] : 000000000000000000000000168630128e92967e37fbb835e91d217426063f72
Arg [4] : 000000000000000000000000623534d7cd1bda347790fab7c668309a7e2ad141


Deployed Bytecode Sourcemap

15750:2362:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;133:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;133:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13937:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13937:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13937:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15084:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15084:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16994:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16994:225:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8368:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8368:91:0;;;;;;;;;;;;;;;;;;;;;;;1434:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1434:103:0;;;;;;;;;;;;;;;;;;;;;;;14856:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14856:220:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;92:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;92:34:0;;;;;;;;;;;;;;;;;;;;;;;1216:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1216:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13989:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13989:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6133:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6133:110:0;;;;;;16675:311;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16675:311:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;163:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;163:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6303:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6303:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;412:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;59:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;59:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;15511:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15511:232:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5207:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5207:146:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9208:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9208:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17227:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17227:259:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6581:285;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6581:285:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6015:110:0;;;;;;4491:708;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4491:708:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;474:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13962:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13962:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13962:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14667:181;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14667:181:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17494:615;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17494:615:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1338:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1338:88:0;;;;;;;;;;;;;;;;;;;;;;;281:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15281:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15281:222:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11907:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11907:179:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;350:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;350:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6874:292;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6874:292:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;133:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13937:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15084:189::-;15205:4;5904:6;;;;;;;;;;;5903:7;5895:16;;;;;;;;15234:31;15248:8;15258:6;15234:13;:31::i;:::-;15227:38;;15084:189;;;;:::o;16994:225::-;6521:19;:31;6541:10;6521:31;;;;;;;;;;;;;;;;;;;;;;;;;6513:40;;;;;;;;17154:6;17125:7;:16;17133:7;17125:16;;;;;;;;;;;;;;;:26;17142:8;17125:26;;;;;;;;;;;;;;;:35;;;;17194:8;17176:35;;17185:7;17176:35;;;17204:6;17176:35;;;;;;;;;;;;;;;;;;16994:225;;;:::o;8368:91::-;8412:7;8439:12;;8432:19;;8368:91;:::o;1434:103::-;1485:4;1509:13;:20;;;;1502:27;;1434:103;:::o;14856:220::-;15001:4;5904:6;;;;;;;;;;;5903:7;5895:16;;;;;;;;15030:38;15049:5;15056:3;15061:6;15030:18;:38::i;:::-;15023:45;;14856:220;;;;;:::o;92:34::-;;;;:::o;1216:114::-;1273:4;1321:1;1297:13;:21;1311:6;1297:21;;;;;;;;;;;;;;;;:25;1290:32;;1216:114;;;:::o;13989:21::-;;;;;;;;;;;;;:::o;6133:110::-;2060:11;2004:39;2023:19;;2004:18;:39::i;:::-;2000:408;;;2103:1;2075:30;;:16;;;;;;;;;;;:30;;;2060:46;;2125:6;2121:132;;;2171:10;2152:16;;:29;;;;;;;;;;;;;;;;;;2218:19;;2200:15;:37;;;;2121:132;5980:6;;;;;;;;;;;5972:15;;;;;;;;6205:5;6196:6;;:14;;;;;;;;;;;;;;;;;;6226:9;;;;;;;;;;2287:6;2283:114;;;2341:1;2314:16;;:29;;;;;;;;;;;;;;;;;;2380:1;2362:15;:19;;;;2283:114;2000:408;6133:110;:::o;16675:311::-;16763:4;6521:19;:31;6541:10;6521:31;;;;;;;;;;;;;;;;;;;;;;;;;6513:40;;;;;;;;16794:25;16811:7;16794:12;;:16;;:25;;;;:::i;:::-;16779:12;:40;;;;16846:26;16864:7;16846:8;:13;16855:3;16846:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;16830:8;:13;16839:3;16830:13;;;;;;;;;;;;;;;:42;;;;16893:3;16888:18;;;16898:7;16888:18;;;;;;;;;;;;;;;;;;16943:3;16922:34;;16939:1;16922:34;;;16948:7;16922:34;;;;;;;;;;;;;;;;;;16974:4;16967:11;;16675:311;;;;:::o;163:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6303:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;412:55::-;;;;;;;;;;;;;;;;;:::o;59:26::-;;;;;;;;;;;;;:::o;15511:232::-;15648:12;5904:6;;;;;;;;;;;5903:7;5895:16;;;;;;;;15685:50;15708:8;15718:16;15685:22;:50::i;:::-;15678:57;;15511:232;;;;:::o;5207:146::-;2060:11;2004:39;2023:19;;2004:18;:39::i;:::-;2000:408;;;2103:1;2075:30;;:16;;;;;;;;;;;:30;;;2060:46;;2125:6;2121:132;;;2171:10;2152:16;;:29;;;;;;;;;;;;;;;;;;2218:19;;2200:15;:37;;;;2121:132;5305:40;5324:9;5335;5305:18;:40::i;:::-;2287:6;2283:114;;;2341:1;2314:16;;:29;;;;;;;;;;;;;;;;;;2380:1;2362:15;:19;;;;2283:114;2000:408;5207:146;;;:::o;9208:107::-;9264:7;9291:8;:16;9300:6;9291:16;;;;;;;;;;;;;;;;9284:23;;9208:107;;;:::o;17227:259::-;17319:4;6521:19;:31;6541:10;6521:31;;;;;;;;;;;;;;;;;;;;;;;;;6513:40;;;;;;;;17363:7;17336;:12;17344:3;17336:12;;;;;;;;;;;;;;;:24;17349:10;17336:24;;;;;;;;;;;;;;;:34;;;;17381:38;17394:3;17399:10;17411:7;17381:12;:38::i;:::-;;17430:26;17436:10;17448:7;17430:5;:26::i;:::-;17474:4;17467:11;;17227:259;;;;:::o;6581:285::-;6665:12;2060:11;2004:39;2023:19;;2004:18;:39::i;:::-;2000:408;;;2103:1;2075:30;;:16;;;;;;;;;;;:30;;;2060:46;;2125:6;2121:132;;;2171:10;2152:16;;:29;;;;;;;;;;;;;;;;;;2218:19;;2200:15;:37;;;;2121:132;6695:19;:25;6715:4;6695:25;;;;;;;;;;;;;;;;;;;;;;;;;6694:26;6690:169;;;6765:4;6737:19;:25;6757:4;6737:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;6789:29;6813:4;6789:29;;;;;;;;;;;;;;;;;;;;;;6843:4;6833:14;;6690:169;2287:6;2283:114;;;2341:1;2314:16;;:29;;;;;;;;;;;;;;;;;;2380:1;2362:15;:19;;;;2283:114;2000:408;6581:285;;;;:::o;6015:110::-;2060:11;2004:39;2023:19;;2004:18;:39::i;:::-;2000:408;;;2103:1;2075:30;;:16;;;;;;;;;;;:30;;;2060:46;;2125:6;2121:132;;;2171:10;2152:16;;:29;;;;;;;;;;;;;;;;;;2218:19;;2200:15;:37;;;;2121:132;5904:6;;;;;;;;;;;5903:7;5895:16;;;;;;;;6090:4;6081:6;;:13;;;;;;;;;;;;;;;;;;6110:7;;;;;;;;;;2287:6;2283:114;;;2341:1;2314:16;;:29;;;;;;;;;;;;;;;;;;2380:1;2362:15;:19;;;;2283:114;2000:408;6015:110;:::o;4491:708::-;4564:15;4816:24;1620:11;1582:21;1601:1;1582:18;:21::i;:::-;1578:372;;;1663:1;1635:30;;:16;;;;;;;;;;;:30;;;1620:46;;1685:6;1681:114;;;1731:10;1712:16;;:29;;;;;;;;;;;;;;;;;;1778:1;1760:15;:19;;;;1681:114;4610:1;4582:13;:25;4596:10;4582:25;;;;;;;;;;;;;;;;:29;4564:47;;4687:1;4671:10;4666:1;:15;4631:20;:31;4652:9;4631:31;;;;;;;;;;;;;;;;;;:51;4630:58;;4622:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4794:10;4789:1;:15;4787:18;4752:20;:31;4773:9;4752:31;;;;;;;;;;;;;;;;;;:53;;;;;;;;;;;4878:1;4843:21;:32;4865:9;4843:32;;;;;;;;;;;;;;;;;;:36;4816:63;;4925:19;4890:21;:32;4912:9;4890:32;;;;;;;;;;;;;;;;;:54;;;;4960:77;4979:9;4990:19;5011:6;:13;;;;5026:10;4960:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5075:1;5052:19;:24;5048:144;;;5093:26;5109:9;5093:15;:26::i;:::-;5139:41;5158:9;5169:10;5139:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5048:144;1829:6;1825:114;;;1883:1;1856:16;;:29;;;;;;;;;;;;;;;;;;1922:1;1904:15;:19;;;;1825:114;1578:372;4491:708;;;;:::o;474:56::-;;;;;;;;;;;;;;;;;:::o;13962:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14667:181::-;14784:4;5904:6;;;;;;;;;;;5903:7;5895:16;;;;;;;;14813:27;14828:3;14833:6;14813:14;:27::i;:::-;14806:34;;14667:181;;;;:::o;17494:615::-;17703:6;17759:17;17808:10;6521:19;:31;6541:10;6521:31;;;;;;;;;;;;;;;;;;;;;;;;;6513:40;;;;;;;;17629:7;:14;17607:11;:18;:36;17599:45;;;;;;;;17684:1;17663:11;:18;:22;17655:31;;;;;;;;17712:1;17703:10;;17699:403;17719:11;:18;17715:1;:22;17699:403;;;17779:11;17791:1;17779:14;;;;;;;;;;;;;;;;;;17759:34;;17821:7;17829:1;17821:10;;;;;;;;;;;;;;;;;;17808:23;;17877:1;17856:23;;:9;:23;;;;:37;;;;;17892:1;17883:5;:10;;17856:37;17848:46;;;;;;;;17934:31;17959:5;17934:8;:20;17943:10;17934:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;17911:8;:20;17920:10;17911:20;;;;;;;;;;;;;;;:54;;;;18002:30;18026:5;18002:8;:19;18011:9;18002:19;;;;;;;;;;;;;;;;:23;;:30;;;;:::i;:::-;17980:8;:19;17989:9;17980:19;;;;;;;;;;;;;;;:52;;;;18073:9;18052:38;;18061:10;18052:38;;;18084:5;18052:38;;;;;;;;;;;;;;;;;;17739:3;;;;;;;17699:403;;;17494:615;;;;;:::o;1338:88::-;1381:4;1405:6;:13;;;;1398:20;;1338:88;:::o;281:45::-;;;;;;;;;;;;;;;;;:::o;15281:222::-;15413:12;5904:6;;;;;;;;;;;5903:7;5895:16;;;;;;;;15450:45;15473:8;15483:11;15450:22;:45::i;:::-;15443:52;;15281:222;;;;:::o;11907:179::-;12021:7;12053;:15;12061:6;12053:15;;;;;;;;;;;;;;;:25;12069:8;12053:25;;;;;;;;;;;;;;;;12046:32;;11907:179;;;;:::o;350:53::-;;;;;;;;;;;;;;;;;:::o;6874:292::-;6963:12;2060:11;2004:39;2023:19;;2004:18;:39::i;:::-;2000:408;;;2103:1;2075:30;;:16;;;;;;;;;;;:30;;;2060:46;;2125:6;2121:132;;;2171:10;2152:16;;:29;;;;;;;;;;;;;;;;;;2218:19;;2200:15;:37;;;;2121:132;6992:19;:25;7012:4;6992:25;;;;;;;;;;;;;;;;;;;;;;;;;6988:171;;;7062:5;7034:19;:25;7054:4;7034:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;7087:31;7113:4;7087:31;;;;;;;;;;;;;;;;;;;;;;7143:4;7133:14;;6988:171;2287:6;2283:114;;;2341:1;2314:16;;:29;;;;;;;;;;;;;;;;;;2380:1;2362:15;:19;;;;2283:114;2000:408;6874:292;;;;:::o;11360:206::-;11427:4;11476:6;11444:7;:19;11452:10;11444:19;;;;;;;;;;;;;;;:29;11464:8;11444:29;;;;;;;;;;;;;;;:38;;;;11519:8;11498:38;;11507:10;11498:38;;;11529:6;11498:38;;;;;;;;;;;;;;;;;;11554:4;11547:11;;11360:206;;;;:::o;10174:537::-;10300:4;10340:8;:15;10349:5;10340:15;;;;;;;;;;;;;;;;10330:6;:25;;10322:34;;;;;;;;10385:7;:14;10393:5;10385:14;;;;;;;;;;;;;;;:26;10400:10;10385:26;;;;;;;;;;;;;;;;10375:6;:36;;10367:45;;;;;;;;10446:1;10431:17;;:3;:17;;;;10423:26;;;;;;;;10480:27;10500:6;10480:8;:15;10489:5;10480:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10462:8;:15;10471:5;10462:15;;;;;;;;;;;;;;;:45;;;;10534:25;10552:6;10534:8;:13;10543:3;10534:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10518:8;:13;10527:3;10518:13;;;;;;;;;;;;;;;:41;;;;10599:38;10630:6;10599:7;:14;10607:5;10599:14;;;;;;;;;;;;;;;:26;10614:10;10599:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;10570:7;:14;10578:5;10570:14;;;;;;;;;;;;;;;:26;10585:10;10570:26;;;;;;;;;;;;;;;:67;;;;10669:3;10653:28;;10662:5;10653:28;;;10674:6;10653:28;;;;;;;;;;;;;;;;;;10699:4;10692:11;;10174:537;;;;;:::o;2456:1503::-;2515:4;2740:15;2894:17;3166:24;2556:10;2536:30;;:16;;;;;;;;;;;:30;;;2532:196;;;2602:15;;2591:7;:26;;2583:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2712:4;2705:11;;;;2532:196;2786:1;2758:13;:25;2772:10;2758:25;;;;;;;;;;;;;;;;:29;2740:47;;2819:6;:13;;;;2806:10;:26;2798:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2941:8;;2924:26;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2924:26:0;;;2914:37;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2914:37:0;;;;;;;;;;;;;;;;2894:57;;3029:1;3013:10;3008:1;:15;2973:20;:31;2994:9;2973:31;;;;;;;;;;;;;;;;;;:51;2972:58;2964:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3144:10;3139:1;:15;3103:20;:31;3124:9;3103:31;;;;;;;;;;;;;;;;;;:52;;;;;;;;;;;3228:1;3193:21;:32;3215:9;3193:32;;;;;;;;;;;;;;;;;;:36;3166:63;;3275:19;3240:21;:32;3262:9;3240:32;;;;;;;;;;;;;;;;;:54;;;;3332:1;3309:19;:24;3305:239;;;3385:13;:20;;;;3350:21;:32;3372:9;3350:32;;;;;;;;;;;;;;;;;:55;;;;3420:13;3439:9;3420:29;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3420:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3469:63;3486:9;3497:7;3506:6;:13;;;;3521:10;3469:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3305:239;3559:84;3576:9;3587:19;3608:7;3617:6;:13;;;;3632:10;3559:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3754:7;3718:21;:32;3740:9;3718:32;;;;;;;;;;;;;;;;;;:43;3714:213;;;3778:26;3794:9;3778:15;:26::i;:::-;3824:65;3843:9;3854:7;3863:6;:13;;;;3878:10;3824:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3911:4;3904:11;;;;3714:213;3946:5;3939:12;;2456:1503;;;;;;;:::o;7982:146::-;8042:9;8073:2;8068;:7;8064:11;;8098:2;8093:1;:7;;8086:15;;;;;;8119:1;8112:8;;7982:146;;;;:::o;13392:497::-;13513:4;13535:16;13554:7;:19;13562:10;13554:19;;;;;;;;;;;;;;;:29;13574:8;13554:29;;;;;;;;;;;;;;;;13535:48;;13618:8;13598:16;:28;;13594:189;;;13675:1;13643:7;:19;13651:10;13643:19;;;;;;;;;;;;;;;:29;13663:8;13643:29;;;;;;;;;;;;;;;:33;;;;13594:189;;;13741:30;13754:16;13741:8;:12;;:30;;;;:::i;:::-;13709:7;:19;13717:10;13709:19;;;;;;;;;;;;;;;:29;13729:8;13709:29;;;;;;;;;;;;;;;:62;;;;13594:189;13819:8;13798:61;;13807:10;13798:61;;;13829:7;:19;13837:10;13829:19;;;;;;;;;;;;;;;:29;13849:8;13829:29;;;;;;;;;;;;;;;;13798:61;;;;;;;;;;;;;;;;;;13877:4;13870:11;;13392:497;;;;;:::o;5361:490::-;5496:9;5476:1;5455:23;;:9;:23;;;;5447:32;;;;;;;;5508:1;5496:13;;5492:294;5515:6;:13;;;;5511:1;:17;5492:294;;;5567:6;5574:1;5567:9;;;;;;;;;;;;;;;;;;;;;;;;;;;5554:22;;:9;:22;;;5550:225;;;5609:9;5597:6;5604:1;5597:9;;;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;5664:13;:24;5678:9;5664:24;;;;;;;;;;;;;;;;5637:13;:24;5651:9;5637:24;;;;;;;;;;;;;;;:51;;;;5734:1;5707:13;:24;5721:9;5707:24;;;;;;;;;;;;;;;:28;;;;5754:5;;5550:225;5530:3;;;;;;;5492:294;;;5833:9;5801:42;;5822:9;5801:42;;;;;;;;;;;;5361:490;;;:::o;14289:296::-;14372:8;:14;14381:4;14372:14;;;;;;;;;;;;;;;;14362:6;:24;;14354:33;;;;;;;;14417:26;14436:6;14417:8;:14;14426:4;14417:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;14400:8;:14;14409:4;14400:14;;;;;;;;;;;;;;;:43;;;;14469:24;14486:6;14469:12;;:16;;:24;;;;:::i;:::-;14454:12;:39;;;;14514:4;14509:18;;;14520:6;14509:18;;;;;;;;;;;;;;;;;;14566:1;14543:34;;14552:4;14543:34;;;14570:6;14543:34;;;;;;;;;;;;;;;;;;14289:296;;:::o;3967:516::-;4031:10;4044:21;:32;4066:9;4044:32;;;;;;;;;;;;;;;;;;4031:45;;4122:1;4099:13;:20;;;;:24;4091:5;:32;4087:205;;;4175:13;4212:1;4189:13;:20;;;;:24;4175:39;;;;;;;;;;;;;;;;;;4152:13;4166:5;4152:20;;;;;;;;;;;;;;;;;:62;;;;;;;4275:5;4229:21;:43;4251:13;4265:5;4251:20;;;;;;;;;;;;;;;;;;4229:43;;;;;;;;;;;;;;;;;:51;;;;4087:205;4302:13;:22;;;;;;;;;;;;:::i;:::-;;4344:20;:31;4365:9;4344:31;;;;;;;;;;;;;;;;;4337:38;;;4393:21;:32;4415:9;4393:32;;;;;;;;;;;;;;;;;4386:39;;;4443:21;:32;4465:9;4443:32;;;;;;;;;;;;;;;;;4436:39;;;3967:516;;:::o;8632:355::-;8695:4;8730:8;:20;8739:10;8730:20;;;;;;;;;;;;;;;;8720:6;:30;;8712:39;;;;;;;;8785:1;8770:17;;:3;:17;;;;8762:26;;;;;;;;8824:32;8849:6;8824:8;:20;8833:10;8824:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8801:8;:20;8810:10;8801:20;;;;;;;;;;;;;;;:55;;;;8883:25;8901:6;8883:8;:13;8892:3;8883:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8867:8;:13;8876:3;8867:13;;;;;;;;;;;;;;;:41;;;;8945:3;8924:33;;8933:10;8924:33;;;8950:6;8924:33;;;;;;;;;;;;;;;;;;8975:4;8968:11;;8632:355;;;;:::o;7843:129::-;7903:7;7936:2;7930;:8;;7923:16;;;;;;7962:2;7957;:7;7950:14;;7843:129;;;;:::o;12569:335::-;12685:4;12750:46;12784:11;12750:7;:19;12758:10;12750:19;;;;;;;;;;;;;;;:29;12770:8;12750:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;12707:7;:19;12715:10;12707:19;;;;;;;;;;;;;;;:29;12727:8;12707:29;;;;;;;;;;;;;;;:90;;;;12834:8;12813:61;;12822:10;12813:61;;;12844:7;:19;12852:10;12844:19;;;;;;;;;;;;;;;:29;12864:8;12844:29;;;;;;;;;;;;;;;;12813:61;;;;;;;;;;;;;;;;;;12892:4;12885:11;;12569:335;;;;:::o;15750:2362::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://7756894b70c41d7fc24048c02d3d4ded3abeac7f273a4bff4e1d2c2b3b78cbdd

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.