ETH Price: $2,142.14 (-2.79%)

Contract

0x264c273E94B456D7f00A27039F8fBB5e369F3D3E
 

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
Vote70084212019-01-04 10:26:312631 days ago1546597591IN
0x264c273E...e369F3D3E
0 ETH0.000208743
Vote70083212019-01-04 10:00:012631 days ago1546596001IN
0x264c273E...e369F3D3E
0 ETH0.000148323
Vote70082862019-01-04 9:48:592631 days ago1546595339IN
0x264c273E...e369F3D3E
0 ETH0.000241565
Vote70082722019-01-04 9:46:472631 days ago1546595207IN
0x264c273E...e369F3D3E
0 ETH0.000129924
Terminate Propos...70082662019-01-04 9:45:332631 days ago1546595133IN
0x264c273E...e369F3D3E
0 ETH0.000524344
Vote70082572019-01-04 9:43:502631 days ago1546595030IN
0x264c273E...e369F3D3E
0 ETH0.000144153
Terminate Propos...70082322019-01-04 9:36:292631 days ago1546594589IN
0x264c273E...e369F3D3E
0 ETH0.000394113
Vote70019342019-01-03 6:31:402632 days ago1546497100IN
0x264c273E...e369F3D3E
0 ETH0.000227583
Vote70018822019-01-03 6:15:382632 days ago1546496138IN
0x264c273E...e369F3D3E
0 ETH0.00014333
Vote70016152019-01-03 5:03:102632 days ago1546491790IN
0x264c273E...e369F3D3E
0 ETH0.00009612
Update Percentag...70016022019-01-03 4:58:352632 days ago1546491515IN
0x264c273E...e369F3D3E
0 ETH0.0042787322
Vote69983482019-01-02 15:38:482633 days ago1546443528IN
0x264c273E...e369F3D3E
0 ETH0.000076863
Vote69974262019-01-02 11:52:112633 days ago1546429931IN
0x264c273E...e369F3D3E
0 ETH0.000076863
Vote69951462019-01-02 2:40:222633 days ago1546396822IN
0x264c273E...e369F3D3E
0 ETH0.00014313
Update Percentag...69843122018-12-31 6:29:222635 days ago1546237762IN
0x264c273E...e369F3D3E
0 ETH0.0020948810

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x5954fb11...edbB908BF
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
FoundingTeam

Compiler Version
v0.5.1+commit.c8a2cb62

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: FoundingTeam.sol
pragma solidity ^0.5.0;

import "./TripioToken.sol";
import "./Owned.sol";

contract FoundingTeam is Owned {

    // Team with 4 members
    struct Team {
        address m0;
        address m1;
        address m2;
        address m3;
    }

    struct Proposal {
        address sponsor;
        mapping(address => bool) signatures;
        uint256 timestamp;
        uint8 proposalType;
    }

    uint256 public proposalLength = 0;

    // decisions,all proposals are indexed by decisionIndex
    mapping(uint256 => Proposal) public proposalMap;

    mapping (uint256 => mapping (address => uint16)) public suggestedPercentagesMap;
    mapping (uint256 => Team) public suggestedTeamMap;
    mapping (uint256 => uint8) public suggestStatusMap; 
    mapping (uint256 => bool) public suggestTerminalMap;

    Team team;

    // TRIO contract 
    TripioToken tripio;

    // Percentage of funds
    mapping(address => uint16) percentages;

    // Enable 
    bool public enabled;

    address public fundingSource;

    // Timestamps
    uint256[] timestamps;

    // proposalType == 1
    event PercentagesProposalMade(address _sponsor, uint256 _timestamp, uint16 _m0P, uint16 _m1P, uint16 _m2P, uint16 _m3P);

    // proposalType == 2
    event MembersProposalMade(address _sponsor, uint256 _timestamp, address _m0, address _m1, address _m2, address _m3);

    // proposalType == 3
    event StatusProposalMade(address _sponsor, uint256 _timestamp, uint8 _status);

    // proposalType == 4
    event TerminalProposalMade(address _sponsor, uint256 _timestamp, bool _terminal);

    event Vote(address _voter, uint256 _proposalIndex);
    /**
     * This emits when deposited
     */
    event Deposited(address _owner, uint256 _value);

    /**
     * This emits when percentages updated
     */
    event PercentagesUpdated(uint16 _m0, uint16 _m1, uint16 _m2, uint16 _m3);

    /**
     * This emits when members updated
     */
    event MembersUpdated(address _m0, address _m1, address _m2, address _m3);
    
    /**
     * This emits when status updated
     */
    event StatusUpdated(uint8 _status);

    /**
     * This emits when terminated
     */
    event Terminated();

    /**
     * This emits when candied
     */
    event Candy();

    /**
     * @dev Constructor 
     * @param _m0 Team member 0 has 44% found
     * @param _m1 Team member 1 has 25% found
     * @param _m2 Team member 2 has 18.6% found
     * @param _m3 Team member 3 has 12.4% found 
     * @param _trio TRIO contract address
     */
    constructor(address _m0, address _m1, address _m2, address _m3, address _trio, address _fundingSource) public {
        team = Team(_m0, _m1, _m2, _m3);
        percentages[_m0] = 440;
        percentages[_m1] = 250;
        percentages[_m2] = 186;
        percentages[_m3] = 124;

        tripio = TripioToken(_trio);
        fundingSource = _fundingSource;

        enabled = true;
        
        // All timestamps from 2019-06-01 to 2021-05-01
        timestamps.push(1559361600); // 2019-06-01	12:00 
        timestamps.push(1561953600); // 2019-07-01	12:00 
        timestamps.push(1564632000); // 2019-08-01	12:00 
        timestamps.push(1567310400); // 2019-09-01	12:00 
        timestamps.push(1569902400); // 2019-10-01	12:00 
        timestamps.push(1572580800); // 2019-11-01	12:00
        timestamps.push(1575172800); // 2019-12-01	12:00
        timestamps.push(1577851200); // 2020-01-01	12:00
        timestamps.push(1580529600); // 2020-02-01	12:00
        timestamps.push(1583035200); // 2020-03-01	12:00
        timestamps.push(1585713600); // 2020-04-01	12:00
        timestamps.push(1588305600); // 2020-05-01	12:00
        timestamps.push(1590984000); // 2020-06-01	12:00
        timestamps.push(1593576000); // 2020-07-01	12:00
        timestamps.push(1596254400); // 2020-08-01	12:00
        timestamps.push(1598932800); // 2020-09-01	12:00
        timestamps.push(1601524800); // 2020-10-01	12:00
        timestamps.push(1604203200); // 2020-11-01	12:00
        timestamps.push(1606795200); // 2020-12-01	12:00
        timestamps.push(1609473600); // 2021-01-01	12:00
        timestamps.push(1612152000); // 2021-02-01	12:00
        timestamps.push(1614571200); // 2021-03-01	12:00
        timestamps.push(1617249600); // 2021-04-01	12:00
        timestamps.push(1619841600); // 2021-05-01	12:00
    }

    /**
     * Only member
     */
    modifier onlyMember {
        require(team.m0 == msg.sender || team.m1 == msg.sender || team.m2 == msg.sender || team.m3 == msg.sender, "Only member");
        _;
    }

    /**
     * Only owner or members
     */
    modifier onlyOwnerOrMember {
        require(msg.sender == owner || team.m0 == msg.sender || team.m1 == msg.sender || team.m2 == msg.sender || team.m3 == msg.sender, "Only member");
        _;
    }

    function _withdraw() private {
        uint256 tokens = tripio.balanceOf(address(this));
        tripio.transfer(fundingSource, tokens);
    }

    /**
     * query the proposal by proposalLength
     */
    function teamProposal(uint256 _proposalIndex) external view returns(
        address _sponsor,
        bool[] memory _signatures,
        uint256 _timestamp,
        uint8 _proposalType,
        uint16[] memory _percentages,
        address[] memory _members,
        uint8 _status,
        bool _terminal
    ) {
        Proposal storage proposal = proposalMap[_proposalIndex];
        mapping (address => bool) storage signatures = proposal.signatures;
        _signatures = new bool[](4);
        _percentages = new uint16[](4);
        _members = new address[](4);

        _sponsor = proposal.sponsor;
        _signatures[0] = signatures[team.m0];
        _signatures[1] = signatures[team.m1];
        _signatures[2] = signatures[team.m2];
        _signatures[3] = signatures[team.m3];
        _timestamp = proposal.timestamp;
        _proposalType = proposal.proposalType;

        if (_proposalType == 1) {  
            _percentages[0] = suggestedPercentagesMap[_proposalIndex][team.m0];
            _percentages[1] = suggestedPercentagesMap[_proposalIndex][team.m1];
            _percentages[2] = suggestedPercentagesMap[_proposalIndex][team.m2];
            _percentages[3] = suggestedPercentagesMap[_proposalIndex][team.m3];
        } else if (_proposalType == 2) {
            _members[0] = suggestedTeamMap[_proposalIndex].m0;
            _members[1] = suggestedTeamMap[_proposalIndex].m1;
            _members[2] = suggestedTeamMap[_proposalIndex].m2;
            _members[3] = suggestedTeamMap[_proposalIndex].m3;
        } else if (_proposalType == 3) {
            _status = suggestStatusMap[_proposalIndex];
        } else if (_proposalType == 4) {
            _terminal = suggestTerminalMap[_proposalIndex];
        }

    }

    /**
     * Current percentages
     */
    function teamPercentages() external view returns(uint16[] memory _percentages) {
        _percentages = new uint16[](4);
        _percentages[0] = percentages[team.m0];
        _percentages[1] = percentages[team.m1];
        _percentages[2] = percentages[team.m2];
        _percentages[3] = percentages[team.m3];
    }

    /**
     * Current members
     */
    function teamMembers() external view returns(address[] memory _members) {
        _members = new address[](4);
        _members[0] = team.m0;
        _members[1] = team.m1;
        _members[2] = team.m2;
        _members[3] = team.m3;
    }

    /**
     * All schedules 
     */
    function teamTimestamps() external view returns(uint256[] memory _timestamps) {
        _timestamps = new uint256[](timestamps.length);
        for(uint256 i = 0; i < timestamps.length; i++) {
            _timestamps[i] = timestamps[i];
        }
    }

    /**
     * Record fund reserve
     */
    function deposit() external returns(bool) {
        require (msg.sender == fundingSource, "msg.sender must be fundingSource");
        uint256 value = tripio.allowance(msg.sender, address(this));
        require(value > 0, "Value must more than 0");
        tripio.transferFrom(msg.sender, address(this), value);
        
        // Event
        emit Deposited(msg.sender, value);
    }

    /**
     * Make a proposal for updating percentages
     */
    function vote (address _sponsor, uint256 _proposalIndex, uint _proposalType) external onlyMember {
        Proposal storage proposal = proposalMap[_proposalIndex];
        require (proposal.sponsor == _sponsor && proposal.proposalType == _proposalType, "proposal check fail");
        require (proposal.timestamp + 2 days > now, "Expired proposal");

        proposal.signatures[msg.sender] = true;
       
        if (_proposalType == 1) {
            _updatePercentages(_proposalIndex);
        }
        if (_proposalType == 2) {
            _updateMembers(_proposalIndex);
        }
        if (_proposalType == 3) {
            _updateStatus(_proposalIndex);
        }
        if (_proposalType == 4) {
            _terminate(_proposalIndex);
        }

        emit Vote(msg.sender, _proposalIndex);
    }

    /**
     * check if 3/4 agree
     */
    function _isThreeQuarterAgree (Proposal storage _proposal) private view returns (bool res) {
        mapping (address => bool) storage signatures = _proposal.signatures;
        return (
            (signatures[team.m0] && signatures[team.m1] && signatures[team.m2])
            || (signatures[team.m0] && signatures[team.m2] && signatures[team.m3])
            || (signatures[team.m1] && signatures[team.m2] && signatures[team.m3])
        );
    }

    /**
     * check if 4/4 agree
     */
    function _isAllAgree (Proposal storage _proposal) private view returns (bool res) {
        mapping (address => bool) storage signatures = _proposal.signatures;
        return signatures[team.m0] && signatures[team.m1] && signatures[team.m2] && signatures[team.m3];
    }

    function _createProposal (uint8 _proposalType) private {
        Proposal storage proposal = proposalMap[proposalLength];
        proposal.sponsor = msg.sender;
        proposal.signatures[msg.sender] = true;
        proposal.timestamp = now;
        proposal.proposalType = _proposalType;
        proposalLength += 1;
    }

    /**
     * Make a proposal for updating percentages
     */
    function updatePercentagesProposal(uint16 _m0, uint16 _m1, uint16 _m2, uint16 _m3) external onlyMember {
        require (_m0 + _m1 + _m2 + _m3 == 1000, "the sum must be 1000");   
        mapping (address => uint16) storage suggestedPercentage = suggestedPercentagesMap[proposalLength];
        
        suggestedPercentage[team.m0] = _m0;
        suggestedPercentage[team.m1] = _m1;
        suggestedPercentage[team.m2] = _m2;
        suggestedPercentage[team.m3] = _m3;

        _createProposal(1);
        // Event
        emit PercentagesProposalMade(msg.sender, now, _m0, _m1, _m2, _m3);
    }

    function _updatePercentages (uint256 _proposalIndex) private {
        if (_isAllAgree(proposalMap[_proposalIndex])) {        
            percentages[team.m0] = suggestedPercentagesMap[_proposalIndex][team.m0];
            percentages[team.m1] = suggestedPercentagesMap[_proposalIndex][team.m1];
            percentages[team.m2] = suggestedPercentagesMap[_proposalIndex][team.m2];
            percentages[team.m3] = suggestedPercentagesMap[_proposalIndex][team.m3];
            emit PercentagesUpdated(percentages[team.m0], percentages[team.m1], percentages[team.m2], percentages[team.m3]);
        }
    }

    /**
     * Update the team members, need all memebers's signatures
     */
    function updateMembersProposal(address _m0, address _m1, address _m2, address _m3) external onlyMember {
        require (_m0 != address(0) && _m1 != address(0) && _m2 != address(0) && _m3 != address(0), "invalid addresses");
        Team storage suggestedTeam = suggestedTeamMap[proposalLength];

        suggestedTeam.m0 = _m0;
        suggestedTeam.m1 = _m1;
        suggestedTeam.m2 = _m2;
        suggestedTeam.m3 = _m3;

        _createProposal(2);
        // Event
        emit MembersProposalMade(msg.sender, now, _m0, _m1, _m2, _m3);
    }

    function _updateMembers (uint256 _proposalIndex) private {
        if (_isAllAgree(proposalMap[_proposalIndex])) {
            Team memory newTeam = Team(
                suggestedTeamMap[_proposalIndex].m0,
                suggestedTeamMap[_proposalIndex].m1,
                suggestedTeamMap[_proposalIndex].m2,
                suggestedTeamMap[_proposalIndex].m3
            );
            percentages[newTeam.m0] = percentages[team.m0];
            percentages[newTeam.m1] = percentages[team.m1];
            percentages[newTeam.m2] = percentages[team.m2];
            percentages[newTeam.m3] = percentages[team.m3];

            team = newTeam;
            emit MembersUpdated(team.m0, team.m1, team.m2, team.m3);
        }
    }

    /**
     * Update the contract status, enable for 1 or disable for 2
     */
    function updateStatusProposal(uint8 _status) external onlyMember {
        require (_status == 1 || _status == 2, "must be one of 1 and 2");

        suggestStatusMap[proposalLength] = _status;
        _createProposal(3);
        // Event
        emit StatusProposalMade(msg.sender, now, _status);
    }

    function _updateStatus(uint256 _proposalIndex) private {
        if (_isThreeQuarterAgree(proposalMap[_proposalIndex])) {        
            if (suggestStatusMap[_proposalIndex] == 1) {
                enabled = true;               
                // restart and reset timestamps
                for(uint256 i = 0; i < timestamps.length; i++) {
                    if(timestamps[i] != 0 && timestamps[i] < now) {
                        timestamps[i] = 0;
                    }
                }
            } else if (suggestStatusMap[_proposalIndex] == 2) {
                enabled = false;
            }

            // Event
            emit StatusUpdated(suggestStatusMap[_proposalIndex]);
        }
    }

    /**
     * Terminate the contract
     * the remaining candy will transfer to the original owner
     * _terminal cant be false
     */
    function terminateProposal(bool _terminal) external onlyMember {
        require (_terminal, "must true");

        suggestTerminalMap[proposalLength] = _terminal;
        _createProposal(4);
        // Event
        emit TerminalProposalMade(msg.sender, now, _terminal);
    }

    function _terminate(uint256 _proposalIndex) private {
        if (_isAllAgree(proposalMap[_proposalIndex])) {        
            _withdraw();

            // Event
            emit Terminated();
        }
    }

    /**
     * Candy every month
     */
    function candy() external onlyOwnerOrMember {
        require(enabled, "Must enabled");
        // Remaining tokens
        uint256 tokens = tripio.balanceOf(address(this));
        uint256 count = 0;
        for(uint256 i = 0; i < timestamps.length; i++) {
            if(timestamps[i] != 0) {
                count++;
            }
        }
        require(tokens > count && count > 0, "tokens should be larger than count");

        uint256 token0 = tokens * percentages[team.m0]/1000/count;
        uint256 token1 = tokens * percentages[team.m1]/1000/count;
        uint256 token2 = tokens * percentages[team.m2]/1000/count;
        uint256 token3 = tokens * percentages[team.m3]/1000/count;

        uint256 enabledCount = 0;
        for(uint256 i = 0; i < timestamps.length; i++) {
            if(timestamps[i] != 0 && timestamps[i] <= now) {
                enabledCount++;
                if(token0 > 0) {
                    tripio.transfer(team.m0, token0);
                    tokens -= token0;
                }
                if(token1 > 0) {
                    tripio.transfer(team.m1, token1);
                    tokens -= token1;
                }
                if(token2 > 0) {
                    tripio.transfer(team.m2, token2);
                    tokens -= token2;
                }
                if(token3 > 0) {
                    tripio.transfer(team.m3, token3);
                    tokens -= token3;
                }
                timestamps[i] = 0;
            }
        }
        require(enabledCount > 0, "enabledCount cant be zero");

        if(count == 1 && tokens > 0) {
            // withdraw the remaining candy
            _withdraw();
        }

        // Event
        emit Candy();
    }
}

File 2 of 3: Owned.sol
pragma solidity ^0.5.0;

/**
 * Owned contract
 */
contract Owned {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed from, address indexed to);

    /**
     * Constructor
     */
    constructor() public {
        owner = msg.sender;
    }

    /**
     * @dev Only the owner of contract
     */ 
    modifier onlyOwner {
        require(msg.sender == owner, "Only owner");
        _;
    }
    
    /**
     * @dev transfer the ownership to other
     *      - Only the owner can operate
     */ 
    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }

    /** 
     * @dev Accept the ownership from last owner
     */ 
    function acceptOwnership() public {
        require(msg.sender == newOwner, "Only new owner");
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

File 3 of 3: TripioToken.sol
pragma solidity ^0.5.0;

contract TripioToken {
    string public name;
    string public symbol;
    uint8 public decimals;
    function transfer(address _to, uint256 _value) public returns (bool);
    function balanceOf(address who) public view returns (uint256);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool);
    function approve(address _spender, uint256 _value) public returns (bool);
    function allowance(address owner, address spender) public view returns (uint256);
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"teamMembers","outputs":[{"name":"_members","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"suggestTerminalMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"enabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"suggestedTeamMap","outputs":[{"name":"m0","type":"address"},{"name":"m1","type":"address"},{"name":"m2","type":"address"},{"name":"m3","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamTimestamps","outputs":[{"name":"_timestamps","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sponsor","type":"address"},{"name":"_proposalIndex","type":"uint256"},{"name":"_proposalType","type":"uint256"}],"name":"vote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_status","type":"uint8"}],"name":"updateStatusProposal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proposalLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_m0","type":"address"},{"name":"_m1","type":"address"},{"name":"_m2","type":"address"},{"name":"_m3","type":"address"}],"name":"updateMembersProposal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamPercentages","outputs":[{"name":"_percentages","type":"uint16[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"proposalMap","outputs":[{"name":"sponsor","type":"address"},{"name":"timestamp","type":"uint256"},{"name":"proposalType","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"suggestStatusMap","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingSource","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_m0","type":"uint16"},{"name":"_m1","type":"uint16"},{"name":"_m2","type":"uint16"},{"name":"_m3","type":"uint16"}],"name":"updatePercentagesProposal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_terminal","type":"bool"}],"name":"terminateProposal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_proposalIndex","type":"uint256"}],"name":"teamProposal","outputs":[{"name":"_sponsor","type":"address"},{"name":"_signatures","type":"bool[]"},{"name":"_timestamp","type":"uint256"},{"name":"_proposalType","type":"uint8"},{"name":"_percentages","type":"uint16[]"},{"name":"_members","type":"address[]"},{"name":"_status","type":"uint8"},{"name":"_terminal","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"candy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"suggestedPercentagesMap","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_m0","type":"address"},{"name":"_m1","type":"address"},{"name":"_m2","type":"address"},{"name":"_m3","type":"address"},{"name":"_trio","type":"address"},{"name":"_fundingSource","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_sponsor","type":"address"},{"indexed":false,"name":"_timestamp","type":"uint256"},{"indexed":false,"name":"_m0P","type":"uint16"},{"indexed":false,"name":"_m1P","type":"uint16"},{"indexed":false,"name":"_m2P","type":"uint16"},{"indexed":false,"name":"_m3P","type":"uint16"}],"name":"PercentagesProposalMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_sponsor","type":"address"},{"indexed":false,"name":"_timestamp","type":"uint256"},{"indexed":false,"name":"_m0","type":"address"},{"indexed":false,"name":"_m1","type":"address"},{"indexed":false,"name":"_m2","type":"address"},{"indexed":false,"name":"_m3","type":"address"}],"name":"MembersProposalMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_sponsor","type":"address"},{"indexed":false,"name":"_timestamp","type":"uint256"},{"indexed":false,"name":"_status","type":"uint8"}],"name":"StatusProposalMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_sponsor","type":"address"},{"indexed":false,"name":"_timestamp","type":"uint256"},{"indexed":false,"name":"_terminal","type":"bool"}],"name":"TerminalProposalMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_voter","type":"address"},{"indexed":false,"name":"_proposalIndex","type":"uint256"}],"name":"Vote","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_owner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_m0","type":"uint16"},{"indexed":false,"name":"_m1","type":"uint16"},{"indexed":false,"name":"_m2","type":"uint16"},{"indexed":false,"name":"_m3","type":"uint16"}],"name":"PercentagesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_m0","type":"address"},{"indexed":false,"name":"_m1","type":"address"},{"indexed":false,"name":"_m2","type":"address"},{"indexed":false,"name":"_m3","type":"address"}],"name":"MembersUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_status","type":"uint8"}],"name":"StatusUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"Terminated","type":"event"},{"anonymous":false,"inputs":[],"name":"Candy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

0x6080604052600060025534801561001557600080fd5b5060405160c080613008833981018060405260c081101561003557600080fd5b50805160208083015160408085015160608087015160808089015160a09099015160008054600160a060020a03199081163317825587519384018852600160a060020a039a8b16808552988b16848b01819052968b16848901819052948b16939095018390526008805486168917905560098054861687179055600a8054861685179055600b8054861684179055968752600d909752848620805461ffff199081166101b8179091559386528486208054851660fa1790559085528385208054841660ba17905584529183208054909116607c179055600c80549585169590911694909417909355600e805460ff19939092166101000261010060a860020a031990921691909117919091166001908117909155600f8054808301825592819052635cf1f8407f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8029384015580548083018255635d1985409084015580548083018255635d4263c09084015580548083018255635d6b42409084015580548083018255635d92cf409084015580548083018255635dbbadc09084015580548083018255635de33ac09084015580548083018255635e0c19409084015580548083018255635e34f7c09084015580548083018255635e5b33409084015580548083018255635e8411c09084015580548083018255635eab9ec09084015580548083018255635ed47d409084015580548083018255635efc0a409084015580548083018255635f24e8c09084015580548083018255635f4dc7409084015580548083018255635f7554409084015580548083018255635f9e32c09084015580548083018255635fc5bfc09084015580548083018255635fee9e4090840155805480830182556360177cc0908401558054808301825563603c66c090840155805480830182556360654540908401558054918201905563608cd240910155612d0a806102fe6000396000f3fe60806040526004361061012c577c010000000000000000000000000000000000000000000000000000000060003504630432dc9b81146101315780630b3fd64e14610196578063238dafe0146101d457806325a03ebe146101e957806326ac0fab146102475780632a4a1b731461025c578063313b78591461029d57806339557d3d146102ca578063544097a5146102f15780635b1e42a91461033c5780635bf01d4c14610351578063604c3ad4146103a657806379ba5097146103e65780638da5cb5b146103fb578063a9fe5c301461042c578063c184846314610441578063ca967e4714610487578063d0e30db0146104b3578063d4ee1d90146104c8578063e3f017a7146104dd578063f2fde38b1461061a578063f616ce3c1461064d578063fe254a3d14610662575b600080fd5b34801561013d57600080fd5b506101466106b2565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018257818101518382015260200161016a565b505050509050019250505060405180910390f35b3480156101a257600080fd5b506101c0600480360360208110156101b957600080fd5b5035610789565b604080519115158252519081900360200190f35b3480156101e057600080fd5b506101c061079e565b3480156101f557600080fd5b506102136004803603602081101561020c57600080fd5b50356107a7565b60408051600160a060020a039586168152938516602085015291841683830152909216606082015290519081900360800190f35b34801561025357600080fd5b506101466107df565b34801561026857600080fd5b5061029b6004803603606081101561027f57600080fd5b50600160a060020a03813516906020810135906040013561085a565b005b3480156102a957600080fd5b5061029b600480360360208110156102c057600080fd5b503560ff16610a77565b3480156102d657600080fd5b506102df610bdf565b60408051918252519081900360200190f35b3480156102fd57600080fd5b5061029b6004803603608081101561031457600080fd5b50600160a060020a038135811691602081013582169160408201358116916060013516610be5565b34801561034857600080fd5b50610146610dec565b34801561035d57600080fd5b5061037b6004803603602081101561037457600080fd5b5035610f13565b60408051600160a060020a039094168452602084019290925260ff1682820152519081900360600190f35b3480156103b257600080fd5b506103d0600480360360208110156103c957600080fd5b5035610f42565b6040805160ff9092168252519081900360200190f35b3480156103f257600080fd5b5061029b610f57565b34801561040757600080fd5b5061041061102a565b60408051600160a060020a039092168252519081900360200190f35b34801561043857600080fd5b50610410611039565b34801561044d57600080fd5b5061029b6004803603608081101561046457600080fd5b5061ffff813581169160208101358216916040820135811691606001351661104d565b34801561049357600080fd5b5061029b600480360360208110156104aa57600080fd5b5035151561122c565b3480156104bf57600080fd5b506101c061137e565b3480156104d457600080fd5b506104106115b6565b3480156104e957600080fd5b506105076004803603602081101561050057600080fd5b50356115c5565b60408051600160a060020a038a16815290810187905260ff8087166060830152831660c082015281151560e082015261010060208083018281528a51928401929092528951608084019160a08501916101208601918d8101910280838360005b8381101561057f578181015183820152602001610567565b50505050905001848103835288818151815260200191508051906020019060200280838360005b838110156105be5781810151838201526020016105a6565b50505050905001848103825287818151815260200191508051906020019060200280838360005b838110156105fd5781810151838201526020016105e5565b505050509050019b50505050505050505050505060405180910390f35b34801561062657600080fd5b5061029b6004803603602081101561063d57600080fd5b5035600160a060020a03166119e1565b34801561065957600080fd5b5061029b611a72565b34801561066e57600080fd5b5061069b6004803603604081101561068557600080fd5b5080359060200135600160a060020a031661212f565b6040805161ffff9092168252519081900360200190f35b60408051600480825260a082019092526060916020820160808038833950506008548251929350600160a060020a03169183915060009081106106f157fe5b600160a060020a039283166020918202909201015260095482519116908290600190811061071b57fe5b600160a060020a0392831660209182029092010152600a5482519116908290600290811061074557fe5b600160a060020a0392831660209182029092010152600b5482519116908290600390811061076f57fe5b600160a060020a0390921660209283029091019091015290565b60076020526000908152604090205460ff1681565b600e5460ff1681565b6005602052600090815260409020805460018201546002830154600390930154600160a060020a039283169391831692918216911684565b600f54604080518281526020808402820101909152606091801561080d578160200160208202803883390190505b50905060005b600f5481101561085657600f80548290811061082b57fe5b9060005260206000200154828281518110151561084457fe5b60209081029091010152600101610813565b5090565b600854600160a060020a031633148061087d5750600954600160a060020a031633145b806108925750600a54600160a060020a031633145b806108a75750600b54600160a060020a031633145b15156108eb576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b60008281526003602052604090208054600160a060020a03858116911614801561091b5750600381015460ff1682145b1515610971576040805160e560020a62461bcd02815260206004820152601360248201527f70726f706f73616c20636865636b206661696c00000000000000000000000000604482015290519081900360640190fd5b4281600201546202a300011115156109d3576040805160e560020a62461bcd02815260206004820152601060248201527f457870697265642070726f706f73616c00000000000000000000000000000000604482015290519081900360640190fd5b33600090815260018281016020526040909120805460ff191682179055821415610a0057610a0083612150565b8160021415610a1257610a1283612293565b8160031415610a2457610a2483612794565b8160041415610a3657610a36836128c6565b604080513381526020810185905281517ff668ead05c744b9178e571d2edb452e72baf6529c8d72160e64e59b50d865bd0929181900390910190a150505050565b600854600160a060020a0316331480610a9a5750600954600160a060020a031633145b80610aaf5750600a54600160a060020a031633145b80610ac45750600b54600160a060020a031633145b1515610b08576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b8060ff1660011480610b1d57508060ff166002145b1515610b73576040805160e560020a62461bcd02815260206004820152601660248201527f6d757374206265206f6e65206f66203120616e64203200000000000000000000604482015290519081900360640190fd5b6002546000908152600660205260409020805460ff191660ff8316179055610b9b6003612916565b6040805133815242602082015260ff83168183015290517f04e114e42d1cdbb671e1062280e484a33bb8c325b0b8c96a598e735fc4fa175d9181900360600190a150565b60025481565b600854600160a060020a0316331480610c085750600954600160a060020a031633145b80610c1d5750600a54600160a060020a031633145b80610c325750600b54600160a060020a031633145b1515610c76576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b600160a060020a03841615801590610c965750600160a060020a03831615155b8015610caa5750600160a060020a03821615155b8015610cbe5750600160a060020a03811615155b1515610d14576040805160e560020a62461bcd02815260206004820152601160248201527f696e76616c696420616464726573736573000000000000000000000000000000604482015290519081900360640190fd5b6002805460009081526005602052604090208054600160a060020a0380881673ffffffffffffffffffffffffffffffffffffffff1992831617835560018301805488831690841617905582840180548783169084161790556003830180549186169190921617905590610d8690612916565b60408051338152426020820152600160a060020a038088168284015280871660608301528086166080830152841660a082015290517fca3a8cd31d445f3e9e8f7ffa194c18016084b060d2fd8835ee926b7c58275fe59181900360c00190a15050505050565b60408051600480825260a08201909252606091602082016080803883395050600854600160a060020a03166000908152600d6020526040812054835193945061ffff16928492508110610e3b57fe5b61ffff9283166020918202909201810191909152600954600160a060020a03166000908152600d9091526040902054825191169082906001908110610e7c57fe5b61ffff9283166020918202909201810191909152600a54600160a060020a03166000908152600d9091526040902054825191169082906002908110610ebd57fe5b61ffff9283166020918202909201810191909152600b54600160a060020a03166000908152600d9091526040902054825191169082906003908110610efe57fe5b61ffff90921660209283029091019091015290565b6003602081905260009182526040909120805460028201549190920154600160a060020a039092169160ff1683565b60066020526000908152604090205460ff1681565b600154600160a060020a03163314610fb9576040805160e560020a62461bcd02815260206004820152600e60248201527f4f6e6c79206e6577206f776e6572000000000000000000000000000000000000604482015290519081900360640190fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600e546101009004600160a060020a031681565b600854600160a060020a03163314806110705750600954600160a060020a031633145b806110855750600a54600160a060020a031633145b8061109a5750600b54600160a060020a031633145b15156110de576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b6103e861ffff858501840183011614611141576040805160e560020a62461bcd02815260206004820152601460248201527f7468652073756d206d7573742062652031303030000000000000000000000000604482015290519081900360640190fd5b6002546000908152600460209081526040808320600854600160a060020a03908116855292819052818420805461ffff808b1661ffff19928316179092556009548516865283862080548a8416908316179055600a54851686528386208054898416908316179055600b549094168552919093208054918516919092161790556111cb6001612916565b6040805133815242602082015261ffff8088168284015280871660608301528086166080830152841660a082015290517fab6c49deab0c0f0515fdcd0930f6ef11f5b8353de2b3e79d82322fcdd56767399181900360c00190a15050505050565b600854600160a060020a031633148061124f5750600954600160a060020a031633145b806112645750600a54600160a060020a031633145b806112795750600b54600160a060020a031633145b15156112bd576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b801515611314576040805160e560020a62461bcd02815260206004820152600960248201527f6d75737420747275650000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6002546000908152600760205260409020805460ff191682151517905561133b6004612916565b604080513381524260208201528215158183015290517f2363c49edaa76508900962352eccd8414872fbaba980822752ded1144b993b609181900360600190a150565b600e546000906101009004600160a060020a031633146113e8576040805160e560020a62461bcd02815260206004820181905260248201527f6d73672e73656e646572206d7573742062652066756e64696e67536f75726365604482015290519081900360640190fd5b600c54604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051600092600160a060020a03169163dd62ed3e916044808301926020929190829003018186803b15801561145257600080fd5b505afa158015611466573d6000803e3d6000fd5b505050506040513d602081101561147c57600080fd5b50519050600081116114d8576040805160e560020a62461bcd02815260206004820152601660248201527f56616c7565206d757374206d6f7265207468616e203000000000000000000000604482015290519081900360640190fd5b600c54604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561154b57600080fd5b505af115801561155f573d6000803e3d6000fd5b505050506040513d602081101561157557600080fd5b5050604080513381526020810183905281517f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4929181900390910190a15090565b600154600160a060020a031681565b6000818152600360205260408082208151600480825260a08201909352606092849283928592839285928392600183019190816020016020820280388339505060408051600480825260a08201909252929b50905060208201608080388339505060408051600480825260a08201909252929850905060208201608080388339019050508254600854600160a060020a039081166000908152602085905260408120548d51929093169d5092975060ff909116918b91811061168357fe5b9115156020928302909101820152600954600160a060020a03166000908152908290526040902054895160ff909116908a9060019081106116c057fe5b9115156020928302909101820152600a54600160a060020a03166000908152908290526040902054895160ff909116908a9060029081106116fd57fe5b9115156020928302909101820152600b54600160a060020a03166000908152908290526040902054895160ff909116908a90600390811061173a57fe5b9115156020928302909101909101526002820154600383015490985060ff16965060018714156118885760008b8152600460209081526040808320600854600160a060020a03168452909152812054875161ffff909116918891811061179c57fe5b61ffff928316602091820290920181019190915260008d8152600482526040808220600954600160a060020a0316835290925220548751911690879060019081106117e357fe5b61ffff928316602091820290920181019190915260008d8152600482526040808220600a54600160a060020a03168352909252205487519116908790600290811061182a57fe5b61ffff928316602091820290920181019190915260008d8152600482526040808220600b54600160a060020a03168352909252205487519116908790600390811061187157fe5b61ffff9092166020928302909101909101526119d4565b8660ff166002141561198e5760008b8152600560205260408120548651600160a060020a0390911691879181106118bb57fe5b600160a060020a03928316602091820290920181019190915260008d8152600590915260409020600190810154875192169187919081106118f857fe5b600160a060020a03928316602091820290920181019190915260008d81526005909152604090206002908101548751921691879190811061193557fe5b600160a060020a03928316602091820290920181019190915260008d81526005909152604090206003908101548751921691879190811061197257fe5b600160a060020a039092166020928302909101909101526119d4565b8660ff16600314156119b35760008b81526006602052604090205460ff1693506119d4565b8660ff16600414156119d45760008b81526007602052604090205460ff1692505b5050919395975091939597565b600054600160a060020a03163314611a43576040805160e560020a62461bcd02815260206004820152600a60248201527f4f6e6c79206f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331480611a955750600854600160a060020a031633145b80611aaa5750600954600160a060020a031633145b80611abf5750600a54600160a060020a031633145b80611ad45750600b54600160a060020a031633145b1515611b18576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b600e5460ff161515611b74576040805160e560020a62461bcd02815260206004820152600c60248201527f4d75737420656e61626c65640000000000000000000000000000000000000000604482015290519081900360640190fd5b600c54604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015611bd857600080fd5b505afa158015611bec573d6000803e3d6000fd5b505050506040513d6020811015611c0257600080fd5b505190506000805b600f54811015611c4257600f805482908110611c2257fe5b60009182526020909120015415611c3a576001909101905b600101611c0a565b508082118015611c525750600081115b1515611cce576040805160e560020a62461bcd02815260206004820152602260248201527f746f6b656e732073686f756c64206265206c6172676572207468616e20636f7560448201527f6e74000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600854600160a060020a03166000908152600d602052604081205482906103e89061ffff16850204811515611cff57fe5b600954600160a060020a03166000908152600d60205260408120549290910492509083906103e89061ffff16860204811515611d3757fe5b600a54600160a060020a03166000908152600d60205260408120549290910492509084906103e89061ffff16870204811515611d6f57fe5b600b54600160a060020a03166000908152600d60205260408120549290910492509085906103e89061ffff16880204811515611da757fe5b0490506000805b600f5481101561208757600f805482908110611dc657fe5b9060005260206000200154600014158015611dfa575042600f82815481101515611dec57fe5b906000526020600020015411155b1561207f576001909101906000861115611e9c57600c546008546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018a90529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015611e6a57600080fd5b505af1158015611e7e573d6000803e3d6000fd5b505050506040513d6020811015611e9457600080fd5b505096859003965b6000851115611f3357600c546009546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018990529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015611f0157600080fd5b505af1158015611f15573d6000803e3d6000fd5b505050506040513d6020811015611f2b57600080fd5b505096849003965b6000841115611fca57600c54600a546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018890529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015611f9857600080fd5b505af1158015611fac573d6000803e3d6000fd5b505050506040513d6020811015611fc257600080fd5b505096839003965b600083111561206157600c54600b546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018790529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561202f57600080fd5b505af1158015612043573d6000803e3d6000fd5b505050506040513d602081101561205957600080fd5b505096829003965b6000600f8281548110151561207257fe5b6000918252602090912001555b600101611dae565b50600081116120e0576040805160e560020a62461bcd02815260206004820152601960248201527f656e61626c6564436f756e742063616e74206265207a65726f00000000000000604482015290519081900360640190fd5b8560011480156120f05750600087115b156120fd576120fd612987565b6040517f8b552a7a408d5da57840eb5dca843eefed378e5ed808849ed3174c831a4fa99f90600090a150505050505050565b600460209081526000928352604080842090915290825290205461ffff1681565b600081815260036020526040902061216790612aa9565b1561229057600081815260046020908152604080832060088054600160a060020a03908116865282855283862054600d808752858820805461ffff1990811661ffff948516179091556009805485168a52868952878a2054838a52888b2080548416918616919091179055600a805486168b52878a52888b2054848b52898c2080548516918716919091179055600b805487168c52978a52888b2054938a52888b2080549093169385169390931790915593548316885285882054935483168852858820549054831688528588205494549092168752958490205484519287168352908616948201949094529084168183015291909216606082015290517f667051e9b7531879a33ee48303dd5ae5deca2c5275047f034bf9b661c74ae4c89181900360800190a15b50565b60008181526003602052604090206122aa90612aa9565b15612290576122b7612c97565b6080604051908101604052806005600085815260200190815260200160002060000160009054906101000a9004600160a060020a0316600160a060020a031681526020016005600085815260200190815260200160002060010160009054906101000a9004600160a060020a0316600160a060020a031681526020016005600085815260200190815260200160002060020160009054906101000a9004600160a060020a0316600160a060020a031681526020016005600085815260200190815260200160002060030160009054906101000a9004600160a060020a0316600160a060020a03168152509050600d6000600860000160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060009054906101000a900461ffff16600d60008360000151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600d6000600860010160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060009054906101000a900461ffff16600d60008360200151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600d6000600860020160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060009054906101000a900461ffff16600d60008360400151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600d6000600860030160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060009054906101000a900461ffff16600d60008360600151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080600860008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060408201518160020160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160030160006101000a815481600160a060020a030219169083600160a060020a031602179055509050507f9bca8ac3ed4479e2d348c82e517750c36f6e5253d7ae99c523c48c7c3aaac13b600860000160009054906101000a9004600160a060020a0316600860010160009054906101000a9004600160a060020a0316600860020160009054906101000a9004600160a060020a0316600860030160009054906101000a9004600160a060020a03166040518085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200194505050505060405180910390a15050565b60008181526003602052604090206127ab90612b44565b156122905760008181526006602052604090205460ff166001141561285657600e805460ff1916600117905560005b600f5481101561285057600f8054829081106127f257fe5b9060005260206000200154600014158015612825575042600f8281548110151561281857fe5b9060005260206000200154105b15612848576000600f8281548110151561283b57fe5b6000918252602090912001555b6001016127da565b5061287b565b60008181526006602052604090205460ff166002141561287b57600e805460ff191690555b60008181526006602090815260409182902054825160ff909116815291517f7101a660456a4e2f94e6b0ccd3d6a034724e26130a817471aaf5a3de8fba384a9281900390910190a150565b60008181526003602052604090206128dd90612aa9565b15612290576128ea612987565b6040517f56a9f39a7e827c383642a56b2ca4614ea9e1e7553a99dac156511be09dd1449590600090a150565b600280546000908152600360208181526040808420805473ffffffffffffffffffffffffffffffffffffffff1916339081178255855260018082019093529320805460ff199081168317909155428486015592909101805460ff959095169490921693909317905580549091019055565b600c54604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b1580156129eb57600080fd5b505afa1580156129ff573d6000803e3d6000fd5b505050506040513d6020811015612a1557600080fd5b5051600c54600e546040805160e060020a63a9059cbb028152600160a060020a036101009093048316600482015260248101859052905193945091169163a9059cbb916044808201926020929091908290030181600087803b158015612a7a57600080fd5b505af1158015612a8e573d6000803e3d6000fd5b505050506040513d6020811015612aa457600080fd5b505050565b600854600160a060020a03166000908152600182016020819052604082205460ff168015612af15750600954600160a060020a031660009081526020829052604090205460ff165b8015612b175750600a54600160a060020a031660009081526020829052604090205460ff165b8015612b3d5750600b54600160a060020a031660009081526020829052604090205460ff165b9392505050565b600854600160a060020a03166000908152600182016020819052604082205460ff168015612b8c5750600954600160a060020a031660009081526020829052604090205460ff165b8015612bb25750600a54600160a060020a031660009081526020829052604090205460ff165b80612c225750600854600160a060020a031660009081526020829052604090205460ff168015612bfc5750600a54600160a060020a031660009081526020829052604090205460ff165b8015612c225750600b54600160a060020a031660009081526020829052604090205460ff165b80612b3d5750600954600160a060020a031660009081526020829052604090205460ff168015612b175750600a54600160a060020a031660009081526020829052604090205460ff168015612b3d5750600b54600160a060020a03166000908152602091909152604090205460ff1692915050565b6040805160808101825260008082526020820181905291810182905260608101919091529056fe4f6e6c79206d656d626572000000000000000000000000000000000000000000a165627a7a72305820178454e93410ba2a2183e57a623bcc64b74522efa12e495fc185158ce8048545002900000000000000000000000083e65dbfd247c5da36d33f67431be85bf0fdd2a20000000000000000000000003ea6680e25873d736a9bb921e754353d7ac2ab6200000000000000000000000099a8ebdfd2101dacad6313eba309620fb5f8dd3700000000000000000000000033b59aff70fe19c4392e0af686313ff831bd18a60000000000000000000000008b40761142b9aa6dc8964e61d0585995425c3d94000000000000000000000000448dd187b515d8ee64131c00a975a7941e330198

Deployed Bytecode

0x60806040526004361061012c577c010000000000000000000000000000000000000000000000000000000060003504630432dc9b81146101315780630b3fd64e14610196578063238dafe0146101d457806325a03ebe146101e957806326ac0fab146102475780632a4a1b731461025c578063313b78591461029d57806339557d3d146102ca578063544097a5146102f15780635b1e42a91461033c5780635bf01d4c14610351578063604c3ad4146103a657806379ba5097146103e65780638da5cb5b146103fb578063a9fe5c301461042c578063c184846314610441578063ca967e4714610487578063d0e30db0146104b3578063d4ee1d90146104c8578063e3f017a7146104dd578063f2fde38b1461061a578063f616ce3c1461064d578063fe254a3d14610662575b600080fd5b34801561013d57600080fd5b506101466106b2565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018257818101518382015260200161016a565b505050509050019250505060405180910390f35b3480156101a257600080fd5b506101c0600480360360208110156101b957600080fd5b5035610789565b604080519115158252519081900360200190f35b3480156101e057600080fd5b506101c061079e565b3480156101f557600080fd5b506102136004803603602081101561020c57600080fd5b50356107a7565b60408051600160a060020a039586168152938516602085015291841683830152909216606082015290519081900360800190f35b34801561025357600080fd5b506101466107df565b34801561026857600080fd5b5061029b6004803603606081101561027f57600080fd5b50600160a060020a03813516906020810135906040013561085a565b005b3480156102a957600080fd5b5061029b600480360360208110156102c057600080fd5b503560ff16610a77565b3480156102d657600080fd5b506102df610bdf565b60408051918252519081900360200190f35b3480156102fd57600080fd5b5061029b6004803603608081101561031457600080fd5b50600160a060020a038135811691602081013582169160408201358116916060013516610be5565b34801561034857600080fd5b50610146610dec565b34801561035d57600080fd5b5061037b6004803603602081101561037457600080fd5b5035610f13565b60408051600160a060020a039094168452602084019290925260ff1682820152519081900360600190f35b3480156103b257600080fd5b506103d0600480360360208110156103c957600080fd5b5035610f42565b6040805160ff9092168252519081900360200190f35b3480156103f257600080fd5b5061029b610f57565b34801561040757600080fd5b5061041061102a565b60408051600160a060020a039092168252519081900360200190f35b34801561043857600080fd5b50610410611039565b34801561044d57600080fd5b5061029b6004803603608081101561046457600080fd5b5061ffff813581169160208101358216916040820135811691606001351661104d565b34801561049357600080fd5b5061029b600480360360208110156104aa57600080fd5b5035151561122c565b3480156104bf57600080fd5b506101c061137e565b3480156104d457600080fd5b506104106115b6565b3480156104e957600080fd5b506105076004803603602081101561050057600080fd5b50356115c5565b60408051600160a060020a038a16815290810187905260ff8087166060830152831660c082015281151560e082015261010060208083018281528a51928401929092528951608084019160a08501916101208601918d8101910280838360005b8381101561057f578181015183820152602001610567565b50505050905001848103835288818151815260200191508051906020019060200280838360005b838110156105be5781810151838201526020016105a6565b50505050905001848103825287818151815260200191508051906020019060200280838360005b838110156105fd5781810151838201526020016105e5565b505050509050019b50505050505050505050505060405180910390f35b34801561062657600080fd5b5061029b6004803603602081101561063d57600080fd5b5035600160a060020a03166119e1565b34801561065957600080fd5b5061029b611a72565b34801561066e57600080fd5b5061069b6004803603604081101561068557600080fd5b5080359060200135600160a060020a031661212f565b6040805161ffff9092168252519081900360200190f35b60408051600480825260a082019092526060916020820160808038833950506008548251929350600160a060020a03169183915060009081106106f157fe5b600160a060020a039283166020918202909201015260095482519116908290600190811061071b57fe5b600160a060020a0392831660209182029092010152600a5482519116908290600290811061074557fe5b600160a060020a0392831660209182029092010152600b5482519116908290600390811061076f57fe5b600160a060020a0390921660209283029091019091015290565b60076020526000908152604090205460ff1681565b600e5460ff1681565b6005602052600090815260409020805460018201546002830154600390930154600160a060020a039283169391831692918216911684565b600f54604080518281526020808402820101909152606091801561080d578160200160208202803883390190505b50905060005b600f5481101561085657600f80548290811061082b57fe5b9060005260206000200154828281518110151561084457fe5b60209081029091010152600101610813565b5090565b600854600160a060020a031633148061087d5750600954600160a060020a031633145b806108925750600a54600160a060020a031633145b806108a75750600b54600160a060020a031633145b15156108eb576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b60008281526003602052604090208054600160a060020a03858116911614801561091b5750600381015460ff1682145b1515610971576040805160e560020a62461bcd02815260206004820152601360248201527f70726f706f73616c20636865636b206661696c00000000000000000000000000604482015290519081900360640190fd5b4281600201546202a300011115156109d3576040805160e560020a62461bcd02815260206004820152601060248201527f457870697265642070726f706f73616c00000000000000000000000000000000604482015290519081900360640190fd5b33600090815260018281016020526040909120805460ff191682179055821415610a0057610a0083612150565b8160021415610a1257610a1283612293565b8160031415610a2457610a2483612794565b8160041415610a3657610a36836128c6565b604080513381526020810185905281517ff668ead05c744b9178e571d2edb452e72baf6529c8d72160e64e59b50d865bd0929181900390910190a150505050565b600854600160a060020a0316331480610a9a5750600954600160a060020a031633145b80610aaf5750600a54600160a060020a031633145b80610ac45750600b54600160a060020a031633145b1515610b08576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b8060ff1660011480610b1d57508060ff166002145b1515610b73576040805160e560020a62461bcd02815260206004820152601660248201527f6d757374206265206f6e65206f66203120616e64203200000000000000000000604482015290519081900360640190fd5b6002546000908152600660205260409020805460ff191660ff8316179055610b9b6003612916565b6040805133815242602082015260ff83168183015290517f04e114e42d1cdbb671e1062280e484a33bb8c325b0b8c96a598e735fc4fa175d9181900360600190a150565b60025481565b600854600160a060020a0316331480610c085750600954600160a060020a031633145b80610c1d5750600a54600160a060020a031633145b80610c325750600b54600160a060020a031633145b1515610c76576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b600160a060020a03841615801590610c965750600160a060020a03831615155b8015610caa5750600160a060020a03821615155b8015610cbe5750600160a060020a03811615155b1515610d14576040805160e560020a62461bcd02815260206004820152601160248201527f696e76616c696420616464726573736573000000000000000000000000000000604482015290519081900360640190fd5b6002805460009081526005602052604090208054600160a060020a0380881673ffffffffffffffffffffffffffffffffffffffff1992831617835560018301805488831690841617905582840180548783169084161790556003830180549186169190921617905590610d8690612916565b60408051338152426020820152600160a060020a038088168284015280871660608301528086166080830152841660a082015290517fca3a8cd31d445f3e9e8f7ffa194c18016084b060d2fd8835ee926b7c58275fe59181900360c00190a15050505050565b60408051600480825260a08201909252606091602082016080803883395050600854600160a060020a03166000908152600d6020526040812054835193945061ffff16928492508110610e3b57fe5b61ffff9283166020918202909201810191909152600954600160a060020a03166000908152600d9091526040902054825191169082906001908110610e7c57fe5b61ffff9283166020918202909201810191909152600a54600160a060020a03166000908152600d9091526040902054825191169082906002908110610ebd57fe5b61ffff9283166020918202909201810191909152600b54600160a060020a03166000908152600d9091526040902054825191169082906003908110610efe57fe5b61ffff90921660209283029091019091015290565b6003602081905260009182526040909120805460028201549190920154600160a060020a039092169160ff1683565b60066020526000908152604090205460ff1681565b600154600160a060020a03163314610fb9576040805160e560020a62461bcd02815260206004820152600e60248201527f4f6e6c79206e6577206f776e6572000000000000000000000000000000000000604482015290519081900360640190fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600e546101009004600160a060020a031681565b600854600160a060020a03163314806110705750600954600160a060020a031633145b806110855750600a54600160a060020a031633145b8061109a5750600b54600160a060020a031633145b15156110de576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b6103e861ffff858501840183011614611141576040805160e560020a62461bcd02815260206004820152601460248201527f7468652073756d206d7573742062652031303030000000000000000000000000604482015290519081900360640190fd5b6002546000908152600460209081526040808320600854600160a060020a03908116855292819052818420805461ffff808b1661ffff19928316179092556009548516865283862080548a8416908316179055600a54851686528386208054898416908316179055600b549094168552919093208054918516919092161790556111cb6001612916565b6040805133815242602082015261ffff8088168284015280871660608301528086166080830152841660a082015290517fab6c49deab0c0f0515fdcd0930f6ef11f5b8353de2b3e79d82322fcdd56767399181900360c00190a15050505050565b600854600160a060020a031633148061124f5750600954600160a060020a031633145b806112645750600a54600160a060020a031633145b806112795750600b54600160a060020a031633145b15156112bd576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b801515611314576040805160e560020a62461bcd02815260206004820152600960248201527f6d75737420747275650000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6002546000908152600760205260409020805460ff191682151517905561133b6004612916565b604080513381524260208201528215158183015290517f2363c49edaa76508900962352eccd8414872fbaba980822752ded1144b993b609181900360600190a150565b600e546000906101009004600160a060020a031633146113e8576040805160e560020a62461bcd02815260206004820181905260248201527f6d73672e73656e646572206d7573742062652066756e64696e67536f75726365604482015290519081900360640190fd5b600c54604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051600092600160a060020a03169163dd62ed3e916044808301926020929190829003018186803b15801561145257600080fd5b505afa158015611466573d6000803e3d6000fd5b505050506040513d602081101561147c57600080fd5b50519050600081116114d8576040805160e560020a62461bcd02815260206004820152601660248201527f56616c7565206d757374206d6f7265207468616e203000000000000000000000604482015290519081900360640190fd5b600c54604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561154b57600080fd5b505af115801561155f573d6000803e3d6000fd5b505050506040513d602081101561157557600080fd5b5050604080513381526020810183905281517f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4929181900390910190a15090565b600154600160a060020a031681565b6000818152600360205260408082208151600480825260a08201909352606092849283928592839285928392600183019190816020016020820280388339505060408051600480825260a08201909252929b50905060208201608080388339505060408051600480825260a08201909252929850905060208201608080388339019050508254600854600160a060020a039081166000908152602085905260408120548d51929093169d5092975060ff909116918b91811061168357fe5b9115156020928302909101820152600954600160a060020a03166000908152908290526040902054895160ff909116908a9060019081106116c057fe5b9115156020928302909101820152600a54600160a060020a03166000908152908290526040902054895160ff909116908a9060029081106116fd57fe5b9115156020928302909101820152600b54600160a060020a03166000908152908290526040902054895160ff909116908a90600390811061173a57fe5b9115156020928302909101909101526002820154600383015490985060ff16965060018714156118885760008b8152600460209081526040808320600854600160a060020a03168452909152812054875161ffff909116918891811061179c57fe5b61ffff928316602091820290920181019190915260008d8152600482526040808220600954600160a060020a0316835290925220548751911690879060019081106117e357fe5b61ffff928316602091820290920181019190915260008d8152600482526040808220600a54600160a060020a03168352909252205487519116908790600290811061182a57fe5b61ffff928316602091820290920181019190915260008d8152600482526040808220600b54600160a060020a03168352909252205487519116908790600390811061187157fe5b61ffff9092166020928302909101909101526119d4565b8660ff166002141561198e5760008b8152600560205260408120548651600160a060020a0390911691879181106118bb57fe5b600160a060020a03928316602091820290920181019190915260008d8152600590915260409020600190810154875192169187919081106118f857fe5b600160a060020a03928316602091820290920181019190915260008d81526005909152604090206002908101548751921691879190811061193557fe5b600160a060020a03928316602091820290920181019190915260008d81526005909152604090206003908101548751921691879190811061197257fe5b600160a060020a039092166020928302909101909101526119d4565b8660ff16600314156119b35760008b81526006602052604090205460ff1693506119d4565b8660ff16600414156119d45760008b81526007602052604090205460ff1692505b5050919395975091939597565b600054600160a060020a03163314611a43576040805160e560020a62461bcd02815260206004820152600a60248201527f4f6e6c79206f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331480611a955750600854600160a060020a031633145b80611aaa5750600954600160a060020a031633145b80611abf5750600a54600160a060020a031633145b80611ad45750600b54600160a060020a031633145b1515611b18576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020612cbf833981519152604482015290519081900360640190fd5b600e5460ff161515611b74576040805160e560020a62461bcd02815260206004820152600c60248201527f4d75737420656e61626c65640000000000000000000000000000000000000000604482015290519081900360640190fd5b600c54604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015611bd857600080fd5b505afa158015611bec573d6000803e3d6000fd5b505050506040513d6020811015611c0257600080fd5b505190506000805b600f54811015611c4257600f805482908110611c2257fe5b60009182526020909120015415611c3a576001909101905b600101611c0a565b508082118015611c525750600081115b1515611cce576040805160e560020a62461bcd02815260206004820152602260248201527f746f6b656e732073686f756c64206265206c6172676572207468616e20636f7560448201527f6e74000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600854600160a060020a03166000908152600d602052604081205482906103e89061ffff16850204811515611cff57fe5b600954600160a060020a03166000908152600d60205260408120549290910492509083906103e89061ffff16860204811515611d3757fe5b600a54600160a060020a03166000908152600d60205260408120549290910492509084906103e89061ffff16870204811515611d6f57fe5b600b54600160a060020a03166000908152600d60205260408120549290910492509085906103e89061ffff16880204811515611da757fe5b0490506000805b600f5481101561208757600f805482908110611dc657fe5b9060005260206000200154600014158015611dfa575042600f82815481101515611dec57fe5b906000526020600020015411155b1561207f576001909101906000861115611e9c57600c546008546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018a90529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015611e6a57600080fd5b505af1158015611e7e573d6000803e3d6000fd5b505050506040513d6020811015611e9457600080fd5b505096859003965b6000851115611f3357600c546009546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018990529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015611f0157600080fd5b505af1158015611f15573d6000803e3d6000fd5b505050506040513d6020811015611f2b57600080fd5b505096849003965b6000841115611fca57600c54600a546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018890529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015611f9857600080fd5b505af1158015611fac573d6000803e3d6000fd5b505050506040513d6020811015611fc257600080fd5b505096839003965b600083111561206157600c54600b546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018790529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561202f57600080fd5b505af1158015612043573d6000803e3d6000fd5b505050506040513d602081101561205957600080fd5b505096829003965b6000600f8281548110151561207257fe5b6000918252602090912001555b600101611dae565b50600081116120e0576040805160e560020a62461bcd02815260206004820152601960248201527f656e61626c6564436f756e742063616e74206265207a65726f00000000000000604482015290519081900360640190fd5b8560011480156120f05750600087115b156120fd576120fd612987565b6040517f8b552a7a408d5da57840eb5dca843eefed378e5ed808849ed3174c831a4fa99f90600090a150505050505050565b600460209081526000928352604080842090915290825290205461ffff1681565b600081815260036020526040902061216790612aa9565b1561229057600081815260046020908152604080832060088054600160a060020a03908116865282855283862054600d808752858820805461ffff1990811661ffff948516179091556009805485168a52868952878a2054838a52888b2080548416918616919091179055600a805486168b52878a52888b2054848b52898c2080548516918716919091179055600b805487168c52978a52888b2054938a52888b2080549093169385169390931790915593548316885285882054935483168852858820549054831688528588205494549092168752958490205484519287168352908616948201949094529084168183015291909216606082015290517f667051e9b7531879a33ee48303dd5ae5deca2c5275047f034bf9b661c74ae4c89181900360800190a15b50565b60008181526003602052604090206122aa90612aa9565b15612290576122b7612c97565b6080604051908101604052806005600085815260200190815260200160002060000160009054906101000a9004600160a060020a0316600160a060020a031681526020016005600085815260200190815260200160002060010160009054906101000a9004600160a060020a0316600160a060020a031681526020016005600085815260200190815260200160002060020160009054906101000a9004600160a060020a0316600160a060020a031681526020016005600085815260200190815260200160002060030160009054906101000a9004600160a060020a0316600160a060020a03168152509050600d6000600860000160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060009054906101000a900461ffff16600d60008360000151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600d6000600860010160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060009054906101000a900461ffff16600d60008360200151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600d6000600860020160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060009054906101000a900461ffff16600d60008360400151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550600d6000600860030160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060009054906101000a900461ffff16600d60008360600151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080600860008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060408201518160020160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160030160006101000a815481600160a060020a030219169083600160a060020a031602179055509050507f9bca8ac3ed4479e2d348c82e517750c36f6e5253d7ae99c523c48c7c3aaac13b600860000160009054906101000a9004600160a060020a0316600860010160009054906101000a9004600160a060020a0316600860020160009054906101000a9004600160a060020a0316600860030160009054906101000a9004600160a060020a03166040518085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200194505050505060405180910390a15050565b60008181526003602052604090206127ab90612b44565b156122905760008181526006602052604090205460ff166001141561285657600e805460ff1916600117905560005b600f5481101561285057600f8054829081106127f257fe5b9060005260206000200154600014158015612825575042600f8281548110151561281857fe5b9060005260206000200154105b15612848576000600f8281548110151561283b57fe5b6000918252602090912001555b6001016127da565b5061287b565b60008181526006602052604090205460ff166002141561287b57600e805460ff191690555b60008181526006602090815260409182902054825160ff909116815291517f7101a660456a4e2f94e6b0ccd3d6a034724e26130a817471aaf5a3de8fba384a9281900390910190a150565b60008181526003602052604090206128dd90612aa9565b15612290576128ea612987565b6040517f56a9f39a7e827c383642a56b2ca4614ea9e1e7553a99dac156511be09dd1449590600090a150565b600280546000908152600360208181526040808420805473ffffffffffffffffffffffffffffffffffffffff1916339081178255855260018082019093529320805460ff199081168317909155428486015592909101805460ff959095169490921693909317905580549091019055565b600c54604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b1580156129eb57600080fd5b505afa1580156129ff573d6000803e3d6000fd5b505050506040513d6020811015612a1557600080fd5b5051600c54600e546040805160e060020a63a9059cbb028152600160a060020a036101009093048316600482015260248101859052905193945091169163a9059cbb916044808201926020929091908290030181600087803b158015612a7a57600080fd5b505af1158015612a8e573d6000803e3d6000fd5b505050506040513d6020811015612aa457600080fd5b505050565b600854600160a060020a03166000908152600182016020819052604082205460ff168015612af15750600954600160a060020a031660009081526020829052604090205460ff165b8015612b175750600a54600160a060020a031660009081526020829052604090205460ff165b8015612b3d5750600b54600160a060020a031660009081526020829052604090205460ff165b9392505050565b600854600160a060020a03166000908152600182016020819052604082205460ff168015612b8c5750600954600160a060020a031660009081526020829052604090205460ff165b8015612bb25750600a54600160a060020a031660009081526020829052604090205460ff165b80612c225750600854600160a060020a031660009081526020829052604090205460ff168015612bfc5750600a54600160a060020a031660009081526020829052604090205460ff165b8015612c225750600b54600160a060020a031660009081526020829052604090205460ff165b80612b3d5750600954600160a060020a031660009081526020829052604090205460ff168015612b175750600a54600160a060020a031660009081526020829052604090205460ff168015612b3d5750600b54600160a060020a03166000908152602091909152604090205460ff1692915050565b6040805160808101825260008082526020820181905291810182905260608101919091529056fe4f6e6c79206d656d626572000000000000000000000000000000000000000000a165627a7a72305820178454e93410ba2a2183e57a623bcc64b74522efa12e495fc185158ce80485450029

Deployed Bytecode Sourcemap

76:16298:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7182:240;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7182:240:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7182:240:0;;;;;;;;;;;;;;;;;751:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;751:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;751:51:0;;:::i;:::-;;;;;;;;;;;;;;;;;;959:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;959:19:0;;;:::i;639:49::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;639:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;639:49:0;;:::i;:::-;;;;-1:-1:-1;;;;;639:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7466:252;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7466:252:0;;;:::i;8224:811::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8224:811:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8224:811:0;;;;;;;;;;;;;:::i;:::-;;12923:303;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12923:303:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12923:303:0;;;;:::i;400:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;400:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;11548:548;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11548:548:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;11548:548:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;6819:318::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6819:318:0;;;:::i;500:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;500:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;500:47:0;;:::i;:::-;;;;-1:-1:-1;;;;;500:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;694:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;694:50:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;694:50:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;730:209:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;730:209:1;;;:::i;72:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;72:20:1;;;:::i;:::-;;;;-1:-1:-1;;;;;72:20:1;;;;;;;;;;;;;;985:28:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;985:28:0;;;:::i;10251:599::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10251:599:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;10251:599:0;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14090:277::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14090:277:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14090:277:0;;;;:::i;7767:387::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7767:387:0;;;:::i;98:23:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;98:23:1;;;:::i;5027:1743:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5027:1743:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5027:1743:0;;:::i;:::-;;;;-1:-1:-1;;;;;5027:1743:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5027:1743:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5027:1743:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5027:1743:0;;;;;;;;;;;;;;;;;;;;;;;;;;557:100:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;557:100:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;557:100:1;-1:-1:-1;;;;;557:100:1;;:::i;14631:1741:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14631:1741:0;;;:::i;554:79::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:79:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:79:0;;;;;;-1:-1:-1;;;;;554:79:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;7182:240;7275:16;;;7289:1;7275:16;;;;;;;;;7227:25;;7275:16;;;17:15:-1;;105:10;7275:16:0;88:34:-1;-1:-1;;7315:4:0;:7;7301:11;;;;-1:-1:-1;;;;;;7315:7:0;;7301:11;;-1:-1:-1;7315:7:0;;7301:11;;;;;;-1:-1:-1;;;;;7301:21:0;;;:11;;;;;;;;:21;7346:7;;7332:11;;7346:7;;;7332:8;;7346:7;;7332:11;;;;;;-1:-1:-1;;;;;7332:21:0;;;:11;;;;;;;;:21;7377:7;;7363:11;;7377:7;;;7363:8;;7377:7;;7363:11;;;;;;-1:-1:-1;;;;;7363:21:0;;;:11;;;;;;;;:21;7408:7;;7394:11;;7408:7;;;7394:8;;7408:7;;7394:11;;;;;;-1:-1:-1;;;;;7394:21:0;;;:11;;;;;;;;;;:21;7182:240;:::o;751:51::-;;;;;;;;;;;;;;;:::o;959:19::-;;;;;;:::o;639:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;639:49:0;;;;;;;;;;;;;;:::o;7466:252::-;7582:10;:17;7568:32;;;;;;;;;;;;;;;;7514:28;;7568:32;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;7568:32:0;-1:-1:-1;7554:46:0;-1:-1:-1;7614:9:0;7610:102;7633:10;:17;7629:21;;7610:102;;;7688:10;:13;;7699:1;;7688:13;;;;;;;;;;;;;;7671:11;7683:1;7671:14;;;;;;;;;;;;;;;;;;:30;7652:3;;7610:102;;;;7466:252;:::o;8224:811::-;4434:4;:7;-1:-1:-1;;;;;4434:7:0;4445:10;4434:21;;:46;;-1:-1:-1;4459:7:0;;-1:-1:-1;;;;;4459:7:0;4470:10;4459:21;4434:46;:71;;;-1:-1:-1;4484:7:0;;-1:-1:-1;;;;;4484:7:0;4495:10;4484:21;4434:71;:96;;;-1:-1:-1;4509:7:0;;-1:-1:-1;;;;;4509:7:0;4520:10;4509:21;4434:96;4426:120;;;;;;;-1:-1:-1;;;;;4426:120:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4426:120:0;;;;;;;;;;;;;;;8331:25;8359:27;;;:11;:27;;;;;8405:16;;-1:-1:-1;;;;;8405:28:0;;;:16;;:28;:70;;;;-1:-1:-1;8437:21:0;;;;;;:38;;8405:70;8396:103;;;;;;;-1:-1:-1;;;;;8396:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8548:3;8518:8;:18;;;8539:6;8518:27;:33;8509:63;;;;;;;-1:-1:-1;;;;;8509:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8603:10;8583:31;;;;8617:4;8583:19;;;:31;;;;;;:38;;-1:-1:-1;;8583:38:0;;;;;8643:18;;8639:83;;;8677:34;8696:14;8677:18;:34::i;:::-;8735:13;8752:1;8735:18;8731:79;;;8769:30;8784:14;8769;:30::i;:::-;8823:13;8840:1;8823:18;8819:78;;;8857:29;8871:14;8857:13;:29::i;:::-;8910:13;8927:1;8910:18;8906:75;;;8944:26;8955:14;8944:10;:26::i;:::-;8996:32;;;9001:10;8996:32;;;;;;;;;;;;;;;;;;;;;4556:1;8224:811;;;:::o;12923:303::-;4434:4;:7;-1:-1:-1;;;;;4434:7:0;4445:10;4434:21;;:46;;-1:-1:-1;4459:7:0;;-1:-1:-1;;;;;4459:7:0;4470:10;4459:21;4434:46;:71;;;-1:-1:-1;4484:7:0;;-1:-1:-1;;;;;4484:7:0;4495:10;4484:21;4434:71;:96;;;-1:-1:-1;4509:7:0;;-1:-1:-1;;;;;4509:7:0;4520:10;4509:21;4434:96;4426:120;;;;;;;-1:-1:-1;;;;;4426:120:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4426:120:0;;;;;;;;;;;;;;;13007:7;:12;;13018:1;13007:12;:28;;;;13023:7;:12;;13034:1;13023:12;13007:28;12998:64;;;;;;;-1:-1:-1;;;;;12998:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13090:14;;13073:32;;;;:16;:32;;;;;:42;;-1:-1:-1;;13073:42:0;;;;;;;13125:18;13141:1;13125:15;:18::i;:::-;13175:44;;;13194:10;13175:44;;13206:3;13175:44;;;;;;;;;;;;;;;;;;;;;;12923:303;:::o;400:33::-;;;;:::o;11548:548::-;4434:4;:7;-1:-1:-1;;;;;4434:7:0;4445:10;4434:21;;:46;;-1:-1:-1;4459:7:0;;-1:-1:-1;;;;;4459:7:0;4470:10;4459:21;4434:46;:71;;;-1:-1:-1;4484:7:0;;-1:-1:-1;;;;;4484:7:0;4495:10;4484:21;4434:71;:96;;;-1:-1:-1;4509:7:0;;-1:-1:-1;;;;;4509:7:0;4520:10;4509:21;4434:96;4426:120;;;;;;;-1:-1:-1;;;;;4426:120:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4426:120:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11670:17:0;;;;;;:38;;-1:-1:-1;;;;;;11691:17:0;;;;11670:38;:59;;;;-1:-1:-1;;;;;;11712:17:0;;;;11670:59;:80;;;;-1:-1:-1;;;;;;11733:17:0;;;;11670:80;11661:111;;;;;;;-1:-1:-1;;;;;11661:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11828:14;;;11782:26;11811:32;;;:16;:32;;;;;11854:22;;-1:-1:-1;;;;;11854:22:0;;;-1:-1:-1;;11854:22:0;;;;;;;11886:16;;:22;;;;;;;;;;;11918:16;;;:22;;;;;;;;;;;11950:16;;;:22;;;;;;;;;;;;11811:32;11983:18;;:15;:18::i;:::-;12033:56;;;12053:10;12033:56;;12065:3;12033:56;;;;-1:-1:-1;;;;;12033:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4556:1;11548:548;;;;:::o;6819:318::-;6923:15;;;6936:1;6923:15;;;;;;;;;6868:28;;6923:15;;;17::-1;;105:10;6923:15:0;88:34:-1;-1:-1;;6978:4:0;:7;-1:-1:-1;;;;;6978:7:0;6966:20;;;;:11;:20;;;;;;6948:15;;;;-1:-1:-1;6966:20:0;;;6948:15;;-1:-1:-1;6948:15:0;;;;;;:38;;;;:15;;;;;;;;;:38;;;;7026:7;;-1:-1:-1;;;;;7026:7:0;7014:20;;;;:11;:20;;;;;;;6996:15;;7014:20;;;6996:12;;7026:7;;6996:15;;;;;;:38;;;;:15;;;;;;;;;:38;;;;7074:7;;-1:-1:-1;;;;;7074:7:0;7062:20;;;;:11;:20;;;;;;;7044:15;;7062:20;;;7044:12;;7074:7;;7044:15;;;;;;:38;;;;:15;;;;;;;;;:38;;;;7122:7;;-1:-1:-1;;;;;7122:7:0;7110:20;;;;:11;:20;;;;;;;7092:15;;7110:20;;;7092:12;;7122:7;;7092:15;;;;;;:38;;;;:15;;;;;;;;;;:38;6819:318;:::o;500:47::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;500:47:0;;;;;;;:::o;694:50::-;;;;;;;;;;;;;;;:::o;730:209:1:-;796:8;;-1:-1:-1;;;;;796:8:1;782:10;:22;774:49;;;;;-1:-1:-1;;;;;774:49:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;866:8;;;859:5;;838:37;;-1:-1:-1;;;;;866:8:1;;;;859:5;;;;838:37;;;893:8;;;;885:16;;-1:-1:-1;;885:16:1;;;-1:-1:-1;;;;;893:8:1;;885:16;;;;911:21;;;730:209::o;72:20::-;;;-1:-1:-1;;;;;72:20:1;;:::o;985:28:0:-;;;;;;-1:-1:-1;;;;;985:28:0;;:::o;10251:599::-;4434:4;:7;-1:-1:-1;;;;;4434:7:0;4445:10;4434:21;;:46;;-1:-1:-1;4459:7:0;;-1:-1:-1;;;;;4459:7:0;4470:10;4459:21;4434:46;:71;;;-1:-1:-1;4484:7:0;;-1:-1:-1;;;;;4484:7:0;4495:10;4484:21;4434:71;:96;;;-1:-1:-1;4509:7:0;;-1:-1:-1;;;;;4509:7:0;4520:10;4509:21;4434:96;4426:120;;;;;;;-1:-1:-1;;;;;4426:120:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4426:120:0;;;;;;;;;;;;;;;10398:4;10373:29;:9;;;:15;;:21;;:29;;10364:63;;;;;-1:-1:-1;;;;;10364:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10522:14;;10440:55;10498:39;;;:23;:39;;;;;;;;10576:4;:7;-1:-1:-1;;;;;10576:7:0;;;10556:28;;;;;;;;;:34;;;;;;-1:-1:-1;;10556:34:0;;;;;;;10620:7;;;;10600:28;;;;;:34;;;;;;;;;;;10664:7;;;;10644:28;;;;;:34;;;;;;;;;;;10708:7;;;;;10688:28;;;;;;:34;;;;;;;;;;;;10733:18;10576:7;10733:15;:18::i;:::-;10783:60;;;10807:10;10783:60;;10819:3;10783:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4556:1;10251:599;;;;:::o;14090:277::-;4434:4;:7;-1:-1:-1;;;;;4434:7:0;4445:10;4434:21;;:46;;-1:-1:-1;4459:7:0;;-1:-1:-1;;;;;4459:7:0;4470:10;4459:21;4434:46;:71;;;-1:-1:-1;4484:7:0;;-1:-1:-1;;;;;4484:7:0;4495:10;4484:21;4434:71;:96;;;-1:-1:-1;4509:7:0;;-1:-1:-1;;;;;4509:7:0;4520:10;4509:21;4434:96;4426:120;;;;;;;-1:-1:-1;;;;;4426:120:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4426:120:0;;;;;;;;;;;;;;;14172:9;14163:32;;;;;;;-1:-1:-1;;;;;14163:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14225:14;;14206:34;;;;:18;:34;;;;;:46;;-1:-1:-1;;14206:46:0;;;;;;;14262:18;14278:1;14262:15;:18::i;:::-;14312:48;;;14333:10;14312:48;;14345:3;14312:48;;;;;;;;;;;;;;;;;;;;;;14090:277;:::o;7767:387::-;7842:13;;7803:4;;7842:13;;;-1:-1:-1;;;;;7842:13:0;7828:10;:27;7819:73;;;;;-1:-1:-1;;;;;7819:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7918:6;;:43;;;;;;7935:10;7918:43;;;;7955:4;7918:43;;;;;;7902:13;;-1:-1:-1;;;;;7918:6:0;;:16;;:43;;;;;;;;;;;;;;:6;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;7918:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7918:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7918:43:0;;-1:-1:-1;7987:1:0;7979:9;;7971:44;;;;;-1:-1:-1;;;;;7971:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8025:6;;:53;;;;;;8045:10;8025:53;;;;8065:4;8025:53;;;;;;;;;;;;-1:-1:-1;;;;;8025:6:0;;;;:19;;:53;;;;;;;;;;;;;;;:6;;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;8025:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8025:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;8119:28:0;;;8129:10;8119:28;;8025:53;8119:28;;;;;;;;;;;;;;;;;;7767:387;;:::o;98:23:1:-;;;-1:-1:-1;;;;;98:23:1;;:::o;5027:1743:0:-;5104:16;5377:27;;;:11;:27;;;;;;5504:13;;5515:1;5504:13;;;;;;;;;5130:25;;5104:16;;;;5130:25;;;;5104:16;;;;5461:19;;;;5504:13;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;;5542:15:0;;;5555:1;5542:15;;;;;;;;;5490:27;;-1:-1:-1;5555:1:0;-1:-1:-1;5542:15:0;;;17::-1;;105:10;5542:15:0;88:34:-1;-1:-1;;5578:16:0;;;5592:1;5578:16;;;;;;;;;5527:30;;-1:-1:-1;5592:1:0;-1:-1:-1;5578:16:0;;;17:15:-1;;105:10;5578:16:0;88:34:-1;136:17;;-1:-1;;5616:16:0;;5670:4;:7;-1:-1:-1;;;;;5670:7:0;;;5616:16;5659:19;;;;;;;;;;;5642:14;;5616:16;;;;;-1:-1:-1;5567:27:0;;-1:-1:-1;5659:19:0;;;;;5642:11;;:14;;;;;;:36;;;:14;;;;;;;;;:36;5716:7;;-1:-1:-1;;;;;5716:7:0;5705:19;;;;;;;;;;;;5688:14;;5705:19;;;;;5688:11;;5716:7;;5688:14;;;;;;:36;;;:14;;;;;;;;;:36;5762:7;;-1:-1:-1;;;;;5762:7:0;5751:19;;;;;;;;;;;;5734:14;;5751:19;;;;;5734:11;;5762:7;;5734:14;;;;;;:36;;;:14;;;;;;;;;:36;5808:7;;-1:-1:-1;;;;;5808:7:0;5797:19;;;;;;;;;;;;5780:14;;5797:19;;;;;5780:11;;5808:7;;5780:14;;;;;;:36;;;:14;;;;;;;;;;:36;5839:18;;;;5883:21;;;;5839:18;;-1:-1:-1;5883:21:0;;;-1:-1:-1;5883:21:0;5919:18;;5915:848;;;5973:39;;;;:23;:39;;;;;;;;6013:4;:7;-1:-1:-1;;;;;6013:7:0;5973:48;;;;;;;;5955:15;;5973:48;;;;;5955:12;;:15;;;;;;:66;;;;:15;;;;;;;;;:66;;;;6053:39;;;;:23;:39;;;;;;6093:7;;-1:-1:-1;;;;;6093:7:0;6053:48;;;;;;;6035:15;;6053:48;;;6035:12;;6093:7;;6035:15;;;;;;:66;;;;:15;;;;;;;;;:66;;;;6133:39;;;;:23;:39;;;;;;6173:7;;-1:-1:-1;;;;;6173:7:0;6133:48;;;;;;;6115:15;;6133:48;;;6115:12;;6173:7;;6115:15;;;;;;:66;;;;:15;;;;;;;;;:66;;;;6213:39;;;;:23;:39;;;;;;6253:7;;-1:-1:-1;;;;;6253:7:0;6213:48;;;;;;;6195:15;;6213:48;;;6195:12;;6253:7;;6195:15;;;;;;:66;;;;:15;;;;;;;;;;:66;5915:848;;;6282:13;:18;;6299:1;6282:18;6278:485;;;6330:32;;;;:16;:32;;;;;:35;6316:11;;-1:-1:-1;;;;;6330:35:0;;;;6316:8;;:11;;;;;;-1:-1:-1;;;;;6316:49:0;;;:11;;;;;;;;;:49;;;;6393:32;;;;:16;:32;;;;;;:35;;;;;6379:11;;6393:35;;;6379:8;;6393:35;6379:11;;;;;;-1:-1:-1;;;;;6379:49:0;;;:11;;;;;;;;;:49;;;;6456:32;;;;:16;:32;;;;;;:35;;;;;6442:11;;6456:35;;;6442:8;;6456:35;6442:11;;;;;;-1:-1:-1;;;;;6442:49:0;;;:11;;;;;;;;;:49;;;;6519:32;;;;:16;:32;;;;;;:35;;;;;6505:11;;6519:35;;;6505:8;;6519:35;6505:11;;;;;;-1:-1:-1;;;;;6505:49:0;;;:11;;;;;;;;;;:49;6278:485;;;6575:13;:18;;6592:1;6575:18;6571:192;;;6619:32;;;;:16;:32;;;;;;;;;-1:-1:-1;6571:192:0;;;6672:13;:18;;6689:1;6672:18;6668:95;;;6718:34;;;;:18;:34;;;;;;;;;-1:-1:-1;6668:95:0;5027:1743;;;;;;;;;;;:::o;557:100:1:-;407:5;;-1:-1:-1;;;;;407:5:1;393:10;:19;385:42;;;;;-1:-1:-1;;;;;385:42:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;630:8;:20;;-1:-1:-1;;630:20:1;-1:-1:-1;;;;;630:20:1;;;;;;;;;;557:100::o;14631:1741:0:-;4674:5;;-1:-1:-1;;;;;4674:5:0;4660:10;:19;;:44;;-1:-1:-1;4683:4:0;:7;-1:-1:-1;;;;;4683:7:0;4694:10;4683:21;4660:44;:69;;;-1:-1:-1;4708:7:0;;-1:-1:-1;;;;;4708:7:0;4719:10;4708:21;4660:69;:94;;;-1:-1:-1;4733:7:0;;-1:-1:-1;;;;;4733:7:0;4744:10;4733:21;4660:94;:119;;;-1:-1:-1;4758:7:0;;-1:-1:-1;;;;;4758:7:0;4769:10;4758:21;4660:119;4652:143;;;;;;;-1:-1:-1;;;;;4652:143:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4652:143:0;;;;;;;;;;;;;;;14693:7;;;;14685:32;;;;;;;-1:-1:-1;;;;;14685:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14772:6;;:31;;;;;;14797:4;14772:31;;;;;;14755:14;;-1:-1:-1;;;;;14772:6:0;;:16;;:31;;;;;;;;;;;;;;:6;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;14772:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14772:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14772:31:0;;-1:-1:-1;14813:13:0;;14840:134;14863:10;:17;14859:21;;14840:134;;;14904:10;:13;;14915:1;;14904:13;;;;;;;;;;;;;;;;:18;14901:63;;14942:7;;;;;14901:63;14882:3;;14840:134;;;;15000:5;14991:6;:14;:27;;;;;15017:1;15009:5;:9;14991:27;14983:74;;;;;;;-1:-1:-1;;;;;14983:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15106:4;:7;-1:-1:-1;;;;;15106:7:0;15068:14;15094:20;;;:11;:20;;;;;;15120:5;;15115:4;;15094:20;;15085:29;;:34;:40;;;;;;;15173:7;;-1:-1:-1;;;;;15173:7:0;15135:14;15161:20;;;:11;:20;;;;;;15085:40;;;;;-1:-1:-1;15135:14:0;15187:5;;15182:4;;15161:20;;15152:29;;:34;:40;;;;;;;15240:7;;-1:-1:-1;;;;;15240:7:0;15202:14;15228:20;;;:11;:20;;;;;;15152:40;;;;;-1:-1:-1;15202:14:0;15254:5;;15249:4;;15228:20;;15219:29;;:34;:40;;;;;;;15307:7;;-1:-1:-1;;;;;15307:7:0;15269:14;15295:20;;;:11;:20;;;;;;15219:40;;;;;-1:-1:-1;15269:14:0;15321:5;;15316:4;;15295:20;;15286:29;;:34;:40;;;;;;;;;-1:-1:-1;15337:20:0;;15371:772;15394:10;:17;15390:21;;15371:772;;;15435:10;:13;;15446:1;;15435:13;;;;;;;;;;;;;;15452:1;15435:18;;:42;;;;;15474:3;15457:10;15468:1;15457:13;;;;;;;;;;;;;;;;;;:20;;15435:42;15432:701;;;15497:14;;;;;15541:1;15532:10;;15529:126;;;15566:6;;15582:4;:7;15566:32;;;-1:-1:-1;;;;;15566:32:0;;-1:-1:-1;;;;;15582:7:0;;;15566:32;;;;;;;;;;;;:6;;;;;:15;;:32;;;;;;;;;;;;;;:6;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;15566:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15566:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;15620:16:0;;;;;15529:126;15684:1;15675:6;:10;15672:126;;;15709:6;;15725:7;;15709:32;;;-1:-1:-1;;;;;15709:32:0;;-1:-1:-1;;;;;15725:7:0;;;15709:32;;;;;;;;;;;;:6;;;;;:15;;:32;;;;;;;;;;;;;;:6;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;15709:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15709:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;15763:16:0;;;;;15672:126;15827:1;15818:6;:10;15815:126;;;15852:6;;15868:7;;15852:32;;;-1:-1:-1;;;;;15852:32:0;;-1:-1:-1;;;;;15868:7:0;;;15852:32;;;;;;;;;;;;:6;;;;;:15;;:32;;;;;;;;;;;;;;:6;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;15852:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15852:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;15906:16:0;;;;;15815:126;15970:1;15961:6;:10;15958:126;;;15995:6;;16011:7;;15995:32;;;-1:-1:-1;;;;;15995:32:0;;-1:-1:-1;;;;;16011:7:0;;;15995:32;;;;;;;;;;;;:6;;;;;:15;;:32;;;;;;;;;;;;;;:6;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;15995:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15995:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;16049:16:0;;;;;15958:126;16117:1;16101:10;16112:1;16101:13;;;;;;;;;;;;;;;;;;;:17;15432:701;15413:3;;15371:772;;;-1:-1:-1;16175:1:0;16160:16;;16152:54;;;;;-1:-1:-1;;;;;16152:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16220:5;16229:1;16220:10;:24;;;;;16243:1;16234:6;:10;16220:24;16217:109;;;16304:11;:9;:11::i;:::-;16358:7;;;;;;;4805:1;;;;;;;14631:1741::o;554:79::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10856:607::-;10943:27;;;;:11;:27;;;;;10931:40;;:11;:40::i;:::-;10927:530;;;11018:39;;;;:23;:39;;;;;;;;11058:4;:7;;-1:-1:-1;;;;;11058:7:0;;;11018:48;;;;;;;;;10995:11;:20;;;;;;:71;;-1:-1:-1;;10995:71:0;;;11018:48;;;;10995:71;;;;11143:7;;;;;11103:48;;;;;;;;;11080:20;;;;;;:71;;;;11103:48;;;11080:71;;;;;;11228:7;;;;;11188:48;;;;;;;;;11165:20;;;;;;:71;;;;11188:48;;;11165:71;;;;;;11313:7;;;;;11273:48;;;;;;;;;11250:20;;;;;;:71;;;;;11273:48;;;11250:71;;;;;;;11371:7;;;;11359:20;;;;;;11393:7;;;;11381:20;;;;;;11415:7;;;;11403:20;;;;;;11437:7;;;;;11425:20;;;;;;;11340:106;;11359:20;;;11340:106;;11381:20;;;11340:106;;;;;;;11403:20;;;11340:106;;;;11425:20;;;;11340:106;;;;;;;;;;;;;;;10927:530;10856:607;:::o;12102:734::-;12185:27;;;;:11;:27;;;;;12173:40;;:11;:40::i;:::-;12169:661;;;12229:19;;:::i;:::-;12251:230;;;;;;;;;12273:16;:32;12290:14;12273:32;;;;;;;;;;;:35;;;;;;;;;;-1:-1:-1;;;;;12273:35:0;-1:-1:-1;;;;;12251:230:0;;;;;12326:16;:32;12343:14;12326:32;;;;;;;;;;;:35;;;;;;;;;;-1:-1:-1;;;;;12326:35:0;-1:-1:-1;;;;;12251:230:0;;;;;12379:16;:32;12396:14;12379:32;;;;;;;;;;;:35;;;;;;;;;;-1:-1:-1;;;;;12379:35:0;-1:-1:-1;;;;;12251:230:0;;;;;12432:16;:32;12449:14;12432:32;;;;;;;;;;;:35;;;;;;;;;;-1:-1:-1;;;;;12432:35:0;-1:-1:-1;;;;;12251:230:0;;;;12229:252;;12521:11;:20;12533:4;:7;;;;;;;;;;-1:-1:-1;;;;;12533:7:0;-1:-1:-1;;;;;12521:20:0;-1:-1:-1;;;;;12521:20:0;;;;;;;;;;;;;;;;;;;;;;12495:11;:23;12507:7;:10;;;-1:-1:-1;;;;;12495:23:0;-1:-1:-1;;;;;12495:23:0;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;12581:11;:20;12593:4;:7;;;;;;;;;;-1:-1:-1;;;;;12593:7:0;-1:-1:-1;;;;;12581:20:0;-1:-1:-1;;;;;12581:20:0;;;;;;;;;;;;;;;;;;;;;;12555:11;:23;12567:7;:10;;;-1:-1:-1;;;;;12555:23:0;-1:-1:-1;;;;;12555:23:0;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;12641:11;:20;12653:4;:7;;;;;;;;;;-1:-1:-1;;;;;12653:7:0;-1:-1:-1;;;;;12641:20:0;-1:-1:-1;;;;;12641:20:0;;;;;;;;;;;;;;;;;;;;;;12615:11;:23;12627:7;:10;;;-1:-1:-1;;;;;12615:23:0;-1:-1:-1;;;;;12615:23:0;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;12701:11;:20;12713:4;:7;;;;;;;;;;-1:-1:-1;;;;;12713:7:0;-1:-1:-1;;;;;12701:20:0;-1:-1:-1;;;;;12701:20:0;;;;;;;;;;;;;;;;;;;;;;12675:11;:23;12687:7;:10;;;-1:-1:-1;;;;;12675:23:0;-1:-1:-1;;;;;12675:23:0;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;12743:7;12736:4;:14;;;;;;;;;;;;;-1:-1:-1;;;;;12736:14:0;;;;;-1:-1:-1;;;;;12736:14:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12736:14:0;;;;;-1:-1:-1;;;;;12736:14:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12736:14:0;;;;;-1:-1:-1;;;;;12736:14:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12736:14:0;;;;;-1:-1:-1;;;;;12736:14:0;;;;;;;;;12769:50;12784:4;:7;;;;;;;;;;-1:-1:-1;;;;;12784:7:0;12793:4;:7;;;;;;;;;;-1:-1:-1;;;;;12793:7:0;12802:4;:7;;;;;;;;;;-1:-1:-1;;;;;12802:7:0;12811:4;:7;;;;;;;;;;-1:-1:-1;;;;;12811:7:0;12769:50;;;;-1:-1:-1;;;;;12769:50:0;-1:-1:-1;;;;;12769:50:0;;;;;;-1:-1:-1;;;;;12769:50:0;-1:-1:-1;;;;;12769:50:0;;;;;;-1:-1:-1;;;;;12769:50:0;-1:-1:-1;;;;;12769:50:0;;;;;;-1:-1:-1;;;;;12769:50:0;-1:-1:-1;;;;;12769:50:0;;;;;;;;;;;;;;;;;;12169:661;12102:734;:::o;13232:712::-;13322:27;;;;:11;:27;;;;;13301:49;;:20;:49::i;:::-;13297:641;;;13378:32;;;;:16;:32;;;;;;;;;:37;13374:466;;;13435:7;:14;;-1:-1:-1;;13435:14:0;13445:4;13435:14;;;:7;13530:199;13553:10;:17;13549:21;;13530:199;;;13602:10;:13;;13613:1;;13602:13;;;;;;;;;;;;;;13619:1;13602:18;;:41;;;;;13640:3;13624:10;13635:1;13624:13;;;;;;;;;;;;;;;;;;:19;13602:41;13599:112;;;13687:1;13671:10;13682:1;13671:13;;;;;;;;;;;;;;;;;;;:17;13599:112;13572:3;;13530:199;;;;13374:466;;;13753:32;;;;:16;:32;;;;;;;;13789:1;13753:37;13749:91;;;13810:7;:15;;-1:-1:-1;;13810:15:0;;;13749:91;13894:32;;;;:16;:32;;;;;;;;;;13880:47;;13894:32;;;;13880:47;;;;;;;;;;;;;;13232:712;:::o;14373:211::-;14451:27;;;;:11;:27;;;;;14439:40;;:11;:40::i;:::-;14435:143;;;14503:11;:9;:11::i;:::-;14555:12;;;;;;;14373:211;:::o;9857:324::-;9962:14;;;9922:25;9950:27;;;:11;:27;;;;;;;;9987:29;;-1:-1:-1;;9987:29:0;10006:10;9987:29;;;;;10026:31;;9987:29;10026:19;;;:31;;;;;:38;;-1:-1:-1;;10026:38:0;;;;;;;;10095:3;10074:18;;;:24;10108:21;;;;:37;;10026:38;10108:37;;;;;;;;;;;;;;10155:19;;;;;;;9857:324::o;4819:142::-;4875:6;;:31;;;;;;4900:4;4875:31;;;;;;4858:14;;-1:-1:-1;;;;;4875:6:0;;:16;;:31;;;;;;;;;;;;;;:6;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;4875:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4875:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4875:31:0;4916:6;;4932:13;;4916:38;;;-1:-1:-1;;;;;4916:38:0;;-1:-1:-1;;;;;4916:6:0;4932:13;;;;;4916:38;;;;;;;;;;;;4875:31;;-1:-1:-1;4916:6:0;;;:15;;:38;;;;;4875:31;;4916:38;;;;;;;;-1:-1:-1;4916:6:0;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;4916:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4916:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;4819:142:0:o;9580:271::-;9767:4;:7;-1:-1:-1;;;;;9767:7:0;9652:8;9756:19;;;9719:20;;;9756:19;;;;;;;;;;:42;;;;-1:-1:-1;9790:7:0;;-1:-1:-1;;;;;9790:7:0;9779:19;;;;;;;;;;;;;;9756:42;:65;;;;-1:-1:-1;9813:7:0;;-1:-1:-1;;;;;9813:7:0;9802:19;;;;;;;;;;;;;;9756:65;:88;;;;-1:-1:-1;9836:7:0;;-1:-1:-1;;;;;9836:7:0;9825:19;;;;;;;;;;;;;;9756:88;9749:95;9580:271;-1:-1:-1;;;9580:271:0:o;9083:449::-;9294:4;:7;-1:-1:-1;;;;;9294:7:0;9164:8;9283:19;;;9231:20;;;9283:19;;;;;;;;;;:42;;;;-1:-1:-1;9317:7:0;;-1:-1:-1;;;;;9317:7:0;9306:19;;;;;;;;;;;;;;9283:42;:65;;;;-1:-1:-1;9340:7:0;;-1:-1:-1;;;;;9340:7:0;9329:19;;;;;;;;;;;;;;9283:65;9282:150;;;-1:-1:-1;9377:4:0;:7;-1:-1:-1;;;;;9377:7:0;9366:19;;;;;;;;;;;;;;:42;;;;-1:-1:-1;9400:7:0;;-1:-1:-1;;;;;9400:7:0;9389:19;;;;;;;;;;;;;;9366:42;:65;;;;-1:-1:-1;9423:7:0;;-1:-1:-1;;;;;9423:7:0;9412:19;;;;;;;;;;;;;;9366:65;9282:233;;;-1:-1:-1;9460:7:0;;-1:-1:-1;;;;;9460:7:0;9449:19;;;;;;;;;;;;;;:42;;;;-1:-1:-1;9483:7:0;;-1:-1:-1;;;;;9483:7:0;9472:19;;;;;;;;;;;;;;9449:65;;;;-1:-1:-1;9506:7:0;;-1:-1:-1;;;;;9506:7:0;9495:19;;;;;;;;;;;;;;;;9083:449;-1:-1:-1;;9083:449:0:o;76:16298::-;;;;;;;;;-1:-1:-1;76:16298:0;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://178454e93410ba2a2183e57a623bcc64b74522efa12e495fc185158ce8048545

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.