ETH Price: $2,532.28 (+0.95%)

Contract

0x5d2F62bbcfD5069760cE67294315936c0aa97153
 

Overview

ETH Balance

0.04 ETH

Eth Value

$101.29 (@ $2,532.28/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Moderator200367872024-06-07 1:52:59139 days ago1717725179IN
0x5d2F62bb...c0aa97153
0 ETH0.0002778710.44901284
Transfer163343612023-01-04 15:36:35659 days ago1672846595IN
0x5d2F62bb...c0aa97153
0.005 ETH0.0004827722.92932264
Transfer163072322022-12-31 20:47:59663 days ago1672519679IN
0x5d2F62bb...c0aa97153
0.005 ETH0.0003458716.42703443
Transfer163056422022-12-31 15:29:11663 days ago1672500551IN
0x5d2F62bb...c0aa97153
0.01 ETH0.0003421616.25085664
Transfer163032742022-12-31 7:32:47663 days ago1672471967IN
0x5d2F62bb...c0aa97153
0.005 ETH0.0003529116.76154416
Transfer163011212022-12-31 0:19:35663 days ago1672445975IN
0x5d2F62bb...c0aa97153
0.005 ETH0.0004695822.30256844
Transfer163006992022-12-30 22:55:11663 days ago1672440911IN
0x5d2F62bb...c0aa97153
0.005 ETH0.0005974228.37464414
Create Proposal163002132022-12-30 21:17:35664 days ago1672435055IN
0x5d2F62bb...c0aa97153
0 ETH0.0094893917.86017658
Transfer163001632022-12-30 21:07:35664 days ago1672434455IN
0x5d2F62bb...c0aa97153
0.005 ETH0.00046321.99042609
Add Moderator162796172022-12-28 0:18:47666 days ago1672186727IN
0x5d2F62bb...c0aa97153
0 ETH0.00089319.20721365
0x60806040162795862022-12-28 0:12:35666 days ago1672186355IN
 Create: HangryDAO
0 ETH0.0240114613.16169019

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HangryDAO

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-12-28
*/

/**
 *Submitted for verification at Etherscan.io on 2022-11-24
*/

/**
 *Submitted for verification at Etherscan.io on 2022-09-28
*/

// SPDX-License-Identifier: MIT
    pragma solidity ^0.8.17;


interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}


interface IERC721 is IERC165 {
   
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    function balanceOf(address owner) external view returns (uint256 balance);
    function ownerOf(uint256 tokenId) external view returns (address owner);
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;
    function approve(address to, uint256 tokenId) external;
    function setApprovalForAll(address operator, bool _approved) external;
    function getApproved(uint256 tokenId) external view returns (address operator);
    function isApprovedForAll(address owner, address operator) external view returns (bool);
}


    interface IERC20 {
    
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


    contract HangryDAO{

        // variables
        uint256 public counters;
                    // mapping
        mapping(address=>bool) public admins;    
        mapping(address=>bool) public moderators;
        mapping(uint256=>proposal) public submittedProposal;   

    constructor() {
        admins[msg.sender] =true;
    }

     
    //////////////////////////////////////////////
                    // structure
    struct proposal{
        uint256 proposalID;
        string title;
        string description;
        uint256 startingDate;
        uint256 endingDate;
        bool poll;
        string result;
        bool approved;
                     }

                    // modifiers

    modifier OnlyAdmin(){
        require(admins[msg.sender] ==true , "Ownable: caller is not the admin");
        _;
    } 

    modifier Onlymoderators(){
        require(moderators[msg.sender] ==true , "Ownable: caller is not the moderator");
        _;
    }


        
    //////////////////////////////////////////////
                    //admin functionality

//  ADMIN of the contract make new admins
    // param _Addr : new admin address
    // only callable by any of the existing admins
    function addAdmins(address _Addr) public OnlyAdmin {
        admins[_Addr] =true;
    }

//  ADMIN of the contract  remove admins
    // param _Addr : existing admin address
    // only callable by any of the existing admins

    function removeAdmins(address _Addr) public OnlyAdmin {
        admins[_Addr] =false;
    }

//  ADMIN of the contract  add moderators
    // param _Addr : new moderator address
    // only callable by any of the existing admins

    function addModerator(address _Addr) public OnlyAdmin {
        moderators[_Addr] =true;
    }

//  ADMIN of the contract  remove moderators
    // param _Addr : existing moderator address
    // only callable by any of the existing admins

    function removeModerator(address _Addr) public OnlyAdmin {
        moderators[_Addr] =false;
    }

            //////////////////////////////////////////////
                        //modifiers functionality

    // moderator of this contract can add the proposal
    // params _title: is the title of proposal (a string)
    // _description: description of the proposal (a string)
    // _ending time: end time of proposal (integer)
    // _poll: must be in true/false (boolean)
    //  _result: result of the proposal (a string)


    function createProposal( string memory _title, string memory _description,/* uint256 _startingDate,*/
     uint256 _endingDate, bool _poll, string memory _result) public Onlymoderators {
         submittedProposal[counters].proposalID=counters;
         submittedProposal[counters].title=_title;
         submittedProposal[counters].description=_description;
         submittedProposal[counters].startingDate=block.timestamp;
         submittedProposal[counters].endingDate=_endingDate;
         submittedProposal[counters].poll=_poll;
         submittedProposal[counters].result=_result;
         counters++;
    }


// only moderator address can delete the some specific proposal 
// param _countNumber : proposal number

    function deleteProposal(uint256 _countNumber) public Onlymoderators {
         submittedProposal[_countNumber].proposalID=0;
         submittedProposal[_countNumber].title="";
         submittedProposal[_countNumber].description="";
         submittedProposal[_countNumber].startingDate=0;
         submittedProposal[_countNumber].endingDate=0;
         submittedProposal[_countNumber].poll=false;
         submittedProposal[_countNumber].result="";
         counters--;
    }
    
    // only moderator address can approved the some specific proposal 
// param _countNumber : proposal number
// _status : is the status of proposal must be in true/false (boolean)


    function approvedProposal(uint256 _countNumber,bool _status) public Onlymoderators{
        submittedProposal[_countNumber].approved=_status;
    }

        // only moderator address can edit the the some specific proposal 
// param _proposalID : is proposal number (integer)
 // params _title: is the title of proposal (a string)
    // _description: description of the proposal (a string)
    // _ending time: end time of proposal (integer)
    // _poll: must be in true/false (boolean)
    //  _result: result of the proposal (a string)

    function editProposal(uint256 _proposalID, string memory _title, string memory _description,/* uint256 _startingDate,*/
     uint256 _endingDate, bool _poll, string memory _result) public Onlymoderators {
         submittedProposal[_proposalID].proposalID=_proposalID;
         submittedProposal[_proposalID].title=_title;
         submittedProposal[_proposalID].description=_description;
         submittedProposal[_proposalID].startingDate=block.timestamp;
         submittedProposal[_proposalID].endingDate=_endingDate;
         submittedProposal[_proposalID].poll=_poll;
         submittedProposal[_proposalID].result=_result;
        
    }

    // recieves the eth
      receive() external payable {
      
    }

    //owner withdrawal
    // param _addr : erc20 token address
    // _amount : number of tokens

    function withdrawERC(IERC20 _addr,uint256 _amount) public OnlyAdmin{
        IERC20(_addr).transfer(msg.sender,_amount);
    }


    
    //owner withdrawal
    // param _addr : erc721 token address
    // _amount : tokenID
    
    function withdrawERC721(IERC721 _addr,uint256 _amount) public OnlyAdmin{
        IERC721(_addr).transferFrom(address(this),msg.sender,_amount);
    }

    //owner withdrawal
    // _amount : number of eth to withdraw

    function rescueEther(uint256 _amount) public OnlyAdmin{
        payable(msg.sender).transfer(_amount);
    }

    function depositNFT(IERC721 _NFTaddr,uint256 _tokenID) public OnlyAdmin{
        _NFTaddr.transferFrom(msg.sender,address(this),_tokenID);
    }




}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"_Addr","type":"address"}],"name":"addAdmins","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_Addr","type":"address"}],"name":"addModerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"admins","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_countNumber","type":"uint256"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"approvedProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"counters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_title","type":"string"},{"internalType":"string","name":"_description","type":"string"},{"internalType":"uint256","name":"_endingDate","type":"uint256"},{"internalType":"bool","name":"_poll","type":"bool"},{"internalType":"string","name":"_result","type":"string"}],"name":"createProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_countNumber","type":"uint256"}],"name":"deleteProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC721","name":"_NFTaddr","type":"address"},{"internalType":"uint256","name":"_tokenID","type":"uint256"}],"name":"depositNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalID","type":"uint256"},{"internalType":"string","name":"_title","type":"string"},{"internalType":"string","name":"_description","type":"string"},{"internalType":"uint256","name":"_endingDate","type":"uint256"},{"internalType":"bool","name":"_poll","type":"bool"},{"internalType":"string","name":"_result","type":"string"}],"name":"editProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"moderators","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_Addr","type":"address"}],"name":"removeAdmins","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_Addr","type":"address"}],"name":"removeModerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"submittedProposal","outputs":[{"internalType":"uint256","name":"proposalID","type":"uint256"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startingDate","type":"uint256"},{"internalType":"uint256","name":"endingDate","type":"uint256"},{"internalType":"bool","name":"poll","type":"bool"},{"internalType":"string","name":"result","type":"string"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_addr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawERC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC721","name":"_addr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fbc806100776000396000f3fe6080604052600436106100f75760003560e01c80639b5b9b181161008a578063cb69ff5111610059578063cb69ff5114610317578063e304f6ee1461035b578063f3e414f814610384578063f7210633146103ad576100fe565b80639b5b9b18146102735780639c79f4491461029c578063a4ef9df4146102c5578063b532e4cb146102ee576100fe565b80638259d553116100c65780638259d553146101cf578063869d785f146101f8578063898dccd5146102215780638c4a378e1461024a576100fe565b806314d0f1ba146101035780632afac82e14610140578063429b62e514610169578063499b7bfa146101a6576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a600480360381019061012591906113f9565b6103d8565b6040516101379190611441565b60405180910390f35b34801561014c57600080fd5b5061016760048036038101906101629190611604565b6103f8565b005b34801561017557600080fd5b50610190600480360381019061018b91906113f9565b61059d565b60405161019d9190611441565b60405180910390f35b3480156101b257600080fd5b506101cd60048036038101906101c891906113f9565b6105bd565b005b3480156101db57600080fd5b506101f660048036038101906101f191906116d3565b6106ab565b005b34801561020457600080fd5b5061021f600480360381019061021a91906113f9565b610874565b005b34801561022d57600080fd5b5061024860048036038101906102439190611700565b610962565b005b34801561025657600080fd5b50610271600480360381019061026c91906117e1565b610ae8565b005b34801561027f57600080fd5b5061029a6004803603810190610295919061185f565b610bad565b005b3480156102a857600080fd5b506102c360048036038101906102be91906116d3565b610cb3565b005b3480156102d157600080fd5b506102ec60048036038101906102e791906118dd565b610d90565b005b3480156102fa57600080fd5b50610315600480360381019061031091906113f9565b610ea6565b005b34801561032357600080fd5b5061033e600480360381019061033991906116d3565b610f94565b6040516103529897969594939291906119ab565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906113f9565b61118e565b005b34801561039057600080fd5b506103ab60048036038101906103a6919061185f565b61127b565b005b3480156103b957600080fd5b506103c2611381565b6040516103cf9190611a3e565b60405180910390f35b60026020528060005260406000206000915054906101000a900460ff1681565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461048b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048290611acb565b60405180910390fd5b60005460036000805481526020019081526020016000206000018190555084600360008054815260200190815260200160002060010190816104cd9190611cf7565b5083600360008054815260200190815260200160002060020190816104f29190611cf7565b50426003600080548152602001908152602001600020600301819055508260036000805481526020019081526020016000206004018190555081600360008054815260200190815260200160002060050160006101000a81548160ff021916908315150217905550806003600080548152602001908152602001600020600601908161057e9190611cf7565b5060008081548092919061059190611df8565b91905055505050505050565b60016020528060005260406000206000915054906101000a900460ff1681565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064790611e8c565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461073e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073590611acb565b60405180910390fd5b600060036000838152602001908152602001600020600001819055506040518060200160405280600081525060036000838152602001908152602001600020600101908161078c9190611cf7565b50604051806020016040528060008152506003600083815260200190815260200160002060020190816107bf9190611cf7565b50600060036000838152602001908152602001600020600301819055506000600360008381526020019081526020016000206004018190555060006003600083815260200190815260200160002060050160006101000a81548160ff021916908315150217905550604051806020016040528060008152506003600083815260200190815260200160002060060190816108599190611cf7565b5060008081548092919061086c90611eac565b919050555050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe90611e8c565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec90611acb565b60405180910390fd5b85600360008881526020019081526020016000206000018190555084600360008881526020019081526020016000206001019081610a339190611cf7565b5083600360008881526020019081526020016000206002019081610a579190611cf7565b50426003600088815260200190815260200160002060030181905550826003600088815260200190815260200160002060040181905550816003600088815260200190815260200160002060050160006101000a81548160ff02191690831515021790555080600360008881526020019081526020016000206006019081610adf9190611cf7565b50505050505050565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290611acb565b60405180910390fd5b806003600084815260200190815260200160002060070160006101000a81548160ff0219169083151502179055505050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611e8c565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610c7d93929190611ee4565b600060405180830381600087803b158015610c9757600080fd5b505af1158015610cab573d6000803e3d6000fd5b505050505050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90611e8c565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d8c573d6000803e3d6000fd5b5050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1a90611e8c565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610e5e929190611f1b565b6020604051808303816000875af1158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea19190611f59565b505050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090611e8c565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6003602052806000526040600020600091509050806000015490806001018054610fbd90611b1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe990611b1a565b80156110365780601f1061100b57610100808354040283529160200191611036565b820191906000526020600020905b81548152906001019060200180831161101957829003601f168201915b50505050509080600201805461104b90611b1a565b80601f016020809104026020016040519081016040528092919081815260200182805461107790611b1a565b80156110c45780601f10611099576101008083540402835291602001916110c4565b820191906000526020600020905b8154815290600101906020018083116110a757829003601f168201915b5050505050908060030154908060040154908060050160009054906101000a900460ff16908060060180546110f890611b1a565b80601f016020809104026020016040519081016040528092919081815260200182805461112490611b1a565b80156111715780601f1061114657610100808354040283529160200191611171565b820191906000526020600020905b81548152906001019060200180831161115457829003601f168201915b5050505050908060070160009054906101000a900460ff16905088565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121890611e8c565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590611e8c565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd3033846040518463ffffffff1660e01b815260040161134b93929190611ee4565b600060405180830381600087803b15801561136557600080fd5b505af1158015611379573d6000803e3d6000fd5b505050505050565b60005481565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113c68261139b565b9050919050565b6113d6816113bb565b81146113e157600080fd5b50565b6000813590506113f3816113cd565b92915050565b60006020828403121561140f5761140e611391565b5b600061141d848285016113e4565b91505092915050565b60008115159050919050565b61143b81611426565b82525050565b60006020820190506114566000830184611432565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6114af82611466565b810181811067ffffffffffffffff821117156114ce576114cd611477565b5b80604052505050565b60006114e1611387565b90506114ed82826114a6565b919050565b600067ffffffffffffffff82111561150d5761150c611477565b5b61151682611466565b9050602081019050919050565b82818337600083830152505050565b6000611545611540846114f2565b6114d7565b90508281526020810184848401111561156157611560611461565b5b61156c848285611523565b509392505050565b600082601f8301126115895761158861145c565b5b8135611599848260208601611532565b91505092915050565b6000819050919050565b6115b5816115a2565b81146115c057600080fd5b50565b6000813590506115d2816115ac565b92915050565b6115e181611426565b81146115ec57600080fd5b50565b6000813590506115fe816115d8565b92915050565b600080600080600060a086880312156116205761161f611391565b5b600086013567ffffffffffffffff81111561163e5761163d611396565b5b61164a88828901611574565b955050602086013567ffffffffffffffff81111561166b5761166a611396565b5b61167788828901611574565b9450506040611688888289016115c3565b9350506060611699888289016115ef565b925050608086013567ffffffffffffffff8111156116ba576116b9611396565b5b6116c688828901611574565b9150509295509295909350565b6000602082840312156116e9576116e8611391565b5b60006116f7848285016115c3565b91505092915050565b60008060008060008060c0878903121561171d5761171c611391565b5b600061172b89828a016115c3565b965050602087013567ffffffffffffffff81111561174c5761174b611396565b5b61175889828a01611574565b955050604087013567ffffffffffffffff81111561177957611778611396565b5b61178589828a01611574565b945050606061179689828a016115c3565b93505060806117a789828a016115ef565b92505060a087013567ffffffffffffffff8111156117c8576117c7611396565b5b6117d489828a01611574565b9150509295509295509295565b600080604083850312156117f8576117f7611391565b5b6000611806858286016115c3565b9250506020611817858286016115ef565b9150509250929050565b600061182c826113bb565b9050919050565b61183c81611821565b811461184757600080fd5b50565b60008135905061185981611833565b92915050565b6000806040838503121561187657611875611391565b5b60006118848582860161184a565b9250506020611895858286016115c3565b9150509250929050565b60006118aa826113bb565b9050919050565b6118ba8161189f565b81146118c557600080fd5b50565b6000813590506118d7816118b1565b92915050565b600080604083850312156118f4576118f3611391565b5b6000611902858286016118c8565b9250506020611913858286016115c3565b9150509250929050565b611926816115a2565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561196657808201518184015260208101905061194b565b60008484015250505050565b600061197d8261192c565b6119878185611937565b9350611997818560208601611948565b6119a081611466565b840191505092915050565b6000610100820190506119c1600083018b61191d565b81810360208301526119d3818a611972565b905081810360408301526119e78189611972565b90506119f6606083018861191d565b611a03608083018761191d565b611a1060a0830186611432565b81810360c0830152611a228185611972565b9050611a3160e0830184611432565b9998505050505050505050565b6000602082019050611a53600083018461191d565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206d6f64657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b6000611ab5602483611937565b9150611ac082611a59565b604082019050919050565b60006020820190508181036000830152611ae481611aa8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b3257607f821691505b602082108103611b4557611b44611aeb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611bad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611b70565b611bb78683611b70565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611bf4611bef611bea846115a2565b611bcf565b6115a2565b9050919050565b6000819050919050565b611c0e83611bd9565b611c22611c1a82611bfb565b848454611b7d565b825550505050565b600090565b611c37611c2a565b611c42818484611c05565b505050565b5b81811015611c6657611c5b600082611c2f565b600181019050611c48565b5050565b601f821115611cab57611c7c81611b4b565b611c8584611b60565b81016020851015611c94578190505b611ca8611ca085611b60565b830182611c47565b50505b505050565b600082821c905092915050565b6000611cce60001984600802611cb0565b1980831691505092915050565b6000611ce78383611cbd565b9150826002028217905092915050565b611d008261192c565b67ffffffffffffffff811115611d1957611d18611477565b5b611d238254611b1a565b611d2e828285611c6a565b600060209050601f831160018114611d615760008415611d4f578287015190505b611d598582611cdb565b865550611dc1565b601f198416611d6f86611b4b565b60005b82811015611d9757848901518255600182019150602085019450602081019050611d72565b86831015611db45784890151611db0601f891682611cbd565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e03826115a2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611e3557611e34611dc9565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f74207468652061646d696e600082015250565b6000611e76602083611937565b9150611e8182611e40565b602082019050919050565b60006020820190508181036000830152611ea581611e69565b9050919050565b6000611eb7826115a2565b915060008203611eca57611ec9611dc9565b5b600182039050919050565b611ede816113bb565b82525050565b6000606082019050611ef96000830186611ed5565b611f066020830185611ed5565b611f13604083018461191d565b949350505050565b6000604082019050611f306000830185611ed5565b611f3d602083018461191d565b9392505050565b600081519050611f53816115d8565b92915050565b600060208284031215611f6f57611f6e611391565b5b6000611f7d84828501611f44565b9150509291505056fea2646970667358221220003bc701118a1ad662949ae74c539a6715552ee2305d35f57201915504ec387364736f6c63430008110033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c80639b5b9b181161008a578063cb69ff5111610059578063cb69ff5114610317578063e304f6ee1461035b578063f3e414f814610384578063f7210633146103ad576100fe565b80639b5b9b18146102735780639c79f4491461029c578063a4ef9df4146102c5578063b532e4cb146102ee576100fe565b80638259d553116100c65780638259d553146101cf578063869d785f146101f8578063898dccd5146102215780638c4a378e1461024a576100fe565b806314d0f1ba146101035780632afac82e14610140578063429b62e514610169578063499b7bfa146101a6576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a600480360381019061012591906113f9565b6103d8565b6040516101379190611441565b60405180910390f35b34801561014c57600080fd5b5061016760048036038101906101629190611604565b6103f8565b005b34801561017557600080fd5b50610190600480360381019061018b91906113f9565b61059d565b60405161019d9190611441565b60405180910390f35b3480156101b257600080fd5b506101cd60048036038101906101c891906113f9565b6105bd565b005b3480156101db57600080fd5b506101f660048036038101906101f191906116d3565b6106ab565b005b34801561020457600080fd5b5061021f600480360381019061021a91906113f9565b610874565b005b34801561022d57600080fd5b5061024860048036038101906102439190611700565b610962565b005b34801561025657600080fd5b50610271600480360381019061026c91906117e1565b610ae8565b005b34801561027f57600080fd5b5061029a6004803603810190610295919061185f565b610bad565b005b3480156102a857600080fd5b506102c360048036038101906102be91906116d3565b610cb3565b005b3480156102d157600080fd5b506102ec60048036038101906102e791906118dd565b610d90565b005b3480156102fa57600080fd5b50610315600480360381019061031091906113f9565b610ea6565b005b34801561032357600080fd5b5061033e600480360381019061033991906116d3565b610f94565b6040516103529897969594939291906119ab565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906113f9565b61118e565b005b34801561039057600080fd5b506103ab60048036038101906103a6919061185f565b61127b565b005b3480156103b957600080fd5b506103c2611381565b6040516103cf9190611a3e565b60405180910390f35b60026020528060005260406000206000915054906101000a900460ff1681565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461048b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048290611acb565b60405180910390fd5b60005460036000805481526020019081526020016000206000018190555084600360008054815260200190815260200160002060010190816104cd9190611cf7565b5083600360008054815260200190815260200160002060020190816104f29190611cf7565b50426003600080548152602001908152602001600020600301819055508260036000805481526020019081526020016000206004018190555081600360008054815260200190815260200160002060050160006101000a81548160ff021916908315150217905550806003600080548152602001908152602001600020600601908161057e9190611cf7565b5060008081548092919061059190611df8565b91905055505050505050565b60016020528060005260406000206000915054906101000a900460ff1681565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064790611e8c565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461073e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073590611acb565b60405180910390fd5b600060036000838152602001908152602001600020600001819055506040518060200160405280600081525060036000838152602001908152602001600020600101908161078c9190611cf7565b50604051806020016040528060008152506003600083815260200190815260200160002060020190816107bf9190611cf7565b50600060036000838152602001908152602001600020600301819055506000600360008381526020019081526020016000206004018190555060006003600083815260200190815260200160002060050160006101000a81548160ff021916908315150217905550604051806020016040528060008152506003600083815260200190815260200160002060060190816108599190611cf7565b5060008081548092919061086c90611eac565b919050555050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe90611e8c565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec90611acb565b60405180910390fd5b85600360008881526020019081526020016000206000018190555084600360008881526020019081526020016000206001019081610a339190611cf7565b5083600360008881526020019081526020016000206002019081610a579190611cf7565b50426003600088815260200190815260200160002060030181905550826003600088815260200190815260200160002060040181905550816003600088815260200190815260200160002060050160006101000a81548160ff02191690831515021790555080600360008881526020019081526020016000206006019081610adf9190611cf7565b50505050505050565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290611acb565b60405180910390fd5b806003600084815260200190815260200160002060070160006101000a81548160ff0219169083151502179055505050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611e8c565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610c7d93929190611ee4565b600060405180830381600087803b158015610c9757600080fd5b505af1158015610cab573d6000803e3d6000fd5b505050505050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90611e8c565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d8c573d6000803e3d6000fd5b5050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1a90611e8c565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610e5e929190611f1b565b6020604051808303816000875af1158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea19190611f59565b505050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090611e8c565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6003602052806000526040600020600091509050806000015490806001018054610fbd90611b1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe990611b1a565b80156110365780601f1061100b57610100808354040283529160200191611036565b820191906000526020600020905b81548152906001019060200180831161101957829003601f168201915b50505050509080600201805461104b90611b1a565b80601f016020809104026020016040519081016040528092919081815260200182805461107790611b1a565b80156110c45780601f10611099576101008083540402835291602001916110c4565b820191906000526020600020905b8154815290600101906020018083116110a757829003601f168201915b5050505050908060030154908060040154908060050160009054906101000a900460ff16908060060180546110f890611b1a565b80601f016020809104026020016040519081016040528092919081815260200182805461112490611b1a565b80156111715780601f1061114657610100808354040283529160200191611171565b820191906000526020600020905b81548152906001019060200180831161115457829003601f168201915b5050505050908060070160009054906101000a900460ff16905088565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121890611e8c565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590611e8c565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd3033846040518463ffffffff1660e01b815260040161134b93929190611ee4565b600060405180830381600087803b15801561136557600080fd5b505af1158015611379573d6000803e3d6000fd5b505050505050565b60005481565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113c68261139b565b9050919050565b6113d6816113bb565b81146113e157600080fd5b50565b6000813590506113f3816113cd565b92915050565b60006020828403121561140f5761140e611391565b5b600061141d848285016113e4565b91505092915050565b60008115159050919050565b61143b81611426565b82525050565b60006020820190506114566000830184611432565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6114af82611466565b810181811067ffffffffffffffff821117156114ce576114cd611477565b5b80604052505050565b60006114e1611387565b90506114ed82826114a6565b919050565b600067ffffffffffffffff82111561150d5761150c611477565b5b61151682611466565b9050602081019050919050565b82818337600083830152505050565b6000611545611540846114f2565b6114d7565b90508281526020810184848401111561156157611560611461565b5b61156c848285611523565b509392505050565b600082601f8301126115895761158861145c565b5b8135611599848260208601611532565b91505092915050565b6000819050919050565b6115b5816115a2565b81146115c057600080fd5b50565b6000813590506115d2816115ac565b92915050565b6115e181611426565b81146115ec57600080fd5b50565b6000813590506115fe816115d8565b92915050565b600080600080600060a086880312156116205761161f611391565b5b600086013567ffffffffffffffff81111561163e5761163d611396565b5b61164a88828901611574565b955050602086013567ffffffffffffffff81111561166b5761166a611396565b5b61167788828901611574565b9450506040611688888289016115c3565b9350506060611699888289016115ef565b925050608086013567ffffffffffffffff8111156116ba576116b9611396565b5b6116c688828901611574565b9150509295509295909350565b6000602082840312156116e9576116e8611391565b5b60006116f7848285016115c3565b91505092915050565b60008060008060008060c0878903121561171d5761171c611391565b5b600061172b89828a016115c3565b965050602087013567ffffffffffffffff81111561174c5761174b611396565b5b61175889828a01611574565b955050604087013567ffffffffffffffff81111561177957611778611396565b5b61178589828a01611574565b945050606061179689828a016115c3565b93505060806117a789828a016115ef565b92505060a087013567ffffffffffffffff8111156117c8576117c7611396565b5b6117d489828a01611574565b9150509295509295509295565b600080604083850312156117f8576117f7611391565b5b6000611806858286016115c3565b9250506020611817858286016115ef565b9150509250929050565b600061182c826113bb565b9050919050565b61183c81611821565b811461184757600080fd5b50565b60008135905061185981611833565b92915050565b6000806040838503121561187657611875611391565b5b60006118848582860161184a565b9250506020611895858286016115c3565b9150509250929050565b60006118aa826113bb565b9050919050565b6118ba8161189f565b81146118c557600080fd5b50565b6000813590506118d7816118b1565b92915050565b600080604083850312156118f4576118f3611391565b5b6000611902858286016118c8565b9250506020611913858286016115c3565b9150509250929050565b611926816115a2565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561196657808201518184015260208101905061194b565b60008484015250505050565b600061197d8261192c565b6119878185611937565b9350611997818560208601611948565b6119a081611466565b840191505092915050565b6000610100820190506119c1600083018b61191d565b81810360208301526119d3818a611972565b905081810360408301526119e78189611972565b90506119f6606083018861191d565b611a03608083018761191d565b611a1060a0830186611432565b81810360c0830152611a228185611972565b9050611a3160e0830184611432565b9998505050505050505050565b6000602082019050611a53600083018461191d565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206d6f64657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b6000611ab5602483611937565b9150611ac082611a59565b604082019050919050565b60006020820190508181036000830152611ae481611aa8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b3257607f821691505b602082108103611b4557611b44611aeb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611bad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611b70565b611bb78683611b70565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611bf4611bef611bea846115a2565b611bcf565b6115a2565b9050919050565b6000819050919050565b611c0e83611bd9565b611c22611c1a82611bfb565b848454611b7d565b825550505050565b600090565b611c37611c2a565b611c42818484611c05565b505050565b5b81811015611c6657611c5b600082611c2f565b600181019050611c48565b5050565b601f821115611cab57611c7c81611b4b565b611c8584611b60565b81016020851015611c94578190505b611ca8611ca085611b60565b830182611c47565b50505b505050565b600082821c905092915050565b6000611cce60001984600802611cb0565b1980831691505092915050565b6000611ce78383611cbd565b9150826002028217905092915050565b611d008261192c565b67ffffffffffffffff811115611d1957611d18611477565b5b611d238254611b1a565b611d2e828285611c6a565b600060209050601f831160018114611d615760008415611d4f578287015190505b611d598582611cdb565b865550611dc1565b601f198416611d6f86611b4b565b60005b82811015611d9757848901518255600182019150602085019450602081019050611d72565b86831015611db45784890151611db0601f891682611cbd565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e03826115a2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611e3557611e34611dc9565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f74207468652061646d696e600082015250565b6000611e76602083611937565b9150611e8182611e40565b602082019050919050565b60006020820190508181036000830152611ea581611e69565b9050919050565b6000611eb7826115a2565b915060008203611eca57611ec9611dc9565b5b600182039050919050565b611ede816113bb565b82525050565b6000606082019050611ef96000830186611ed5565b611f066020830185611ed5565b611f13604083018461191d565b949350505050565b6000604082019050611f306000830185611ed5565b611f3d602083018461191d565b9392505050565b600081519050611f53816115d8565b92915050565b600060208284031215611f6f57611f6e611391565b5b6000611f7d84828501611f44565b9150509291505056fea2646970667358221220003bc701118a1ad662949ae74c539a6715552ee2305d35f57201915504ec387364736f6c63430008110033

Deployed Bytecode Sourcemap

2184:6117:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4723:625;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2303:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3675:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5467:485;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4170:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6710:655;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6153:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8144:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8026:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7554:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3917:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2405:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;3437:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7797:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2237:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2354:40;;;;;;;;;;;;;;;;;;;;;;:::o;4723:625::-;3119:4;3094:29;;:10;:22;3105:10;3094:22;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;3086:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4960:8:::1;;4921:17;:27;4939:8:::0;::::1;4921:27;;;;;;;;;;;:38;;:47;;;;5014:6;4980:17;:27;4998:8:::0;::::1;4980:27;;;;;;;;;;;:33;;:40;;;;;;:::i;:::-;;5072:12;5032:17;:27;5050:8:::0;::::1;5032:27;;;;;;;;;;;:39;;:52;;;;;;:::i;:::-;;5137:15;5096:17;:27;5114:8:::0;::::1;5096:27;;;;;;;;;;;:40;;:56;;;;5203:11;5164:17;:27;5182:8:::0;::::1;5164:27;;;;;;;;;;;:38;;:50;;;;5259:5;5226:17;:27;5244:8:::0;::::1;5226:27;;;;;;;;;;;:32;;;:38;;;;;;;;;;;;;;;;;;5311:7;5276:17;:27;5294:8:::0;::::1;5276:27;;;;;;;;;;;:34;;:42;;;;;;:::i;:::-;;5330:8;::::0;:10:::1;;;;;;;;;:::i;:::-;;;;;;4723:625:::0;;;;;:::o;2303:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;3675:93::-;2979:4;2958:25;;:6;:18;2965:10;2958:18;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;2950:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;3755:5:::1;3740:6;:13;3747:5;3740:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;3675:93:::0;:::o;5467:485::-;3119:4;3094:29;;:10;:22;3105:10;3094:22;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;3086:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5590:1:::1;5547:17;:31;5565:12;5547:31;;;;;;;;;;;:42;;:44;;;;5603:40;;;;;;;;;;;::::0;:17:::1;:31;5621:12;5603:31;;;;;;;;;;;:37;;:40;;;;;;:::i;:::-;;5655:46;;;;;;;;;;;::::0;:17:::1;:31;5673:12;5655:31;;;;;;;;;;;:43;;:46;;;;;;:::i;:::-;;5758:1;5713:17;:31;5731:12;5713:31;;;;;;;;;;;:44;;:46;;;;5814:1;5771:17;:31;5789:12;5771:31;;;;;;;;;;;:42;;:44;;;;5864:5;5827:17;:31;5845:12;5827:31;;;;;;;;;;;:36;;;:42;;;;;;;;;;;;;;;;;;5881:41;;;;;;;;;;;::::0;:17:::1;:31;5899:12;5881:31;;;;;;;;;;;:38;;:41;;;;;;:::i;:::-;;5934:8;::::0;:10:::1;;;;;;;;;:::i;:::-;;;;;;5467:485:::0;:::o;4170:100::-;2979:4;2958:25;;:6;:18;2965:10;2958:18;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;2950:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4257:5:::1;4238:10;:17;4249:5;4238:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;4170:100:::0;:::o;6710:655::-;3119:4;3094:29;;:10;:22;3105:10;3094:22;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;3086:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;6968:11:::1;6926:17;:30;6944:11;6926:30;;;;;;;;;;;:41;;:53;;;;7028:6;6991:17;:30;7009:11;6991:30;;;;;;;;;;;:36;;:43;;;;;;:::i;:::-;;7089:12;7046:17;:30;7064:11;7046:30;;;;;;;;;;;:42;;:55;;;;;;:::i;:::-;;7157:15;7113:17;:30;7131:11;7113:30;;;;;;;;;;;:43;;:59;;;;7226:11;7184:17;:30;7202:11;7184:30;;;;;;;;;;;:41;;:53;;;;7285:5;7249:17;:30;7267:11;7249:30;;;;;;;;;;;:35;;;:41;;;;;;;;;;;;;;;;;;7340:7;7302:17;:30;7320:11;7302:30;;;;;;;;;;;:37;;:45;;;;;;:::i;:::-;;6710:655:::0;;;;;;:::o;6153:149::-;3119:4;3094:29;;:10;:22;3105:10;3094:22;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;3086:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;6287:7:::1;6246:17;:31;6264:12;6246:31;;;;;;;;;;;:40;;;:48;;;;;;;;;;;;;;;;;;6153:149:::0;;:::o;8144:146::-;2979:4;2958:25;;:6;:18;2965:10;2958:18;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;2950:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8226:8:::1;:21;;;8248:10;8267:4;8273:8;8226:56;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8144:146:::0;;:::o;8026:110::-;2979:4;2958:25;;:6;:18;2965:10;2958:18;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;2950:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8099:10:::1;8091:28;;:37;8120:7;8091:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;8026:110:::0;:::o;7554:128::-;2979:4;2958:25;;:6;:18;2965:10;2958:18;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;2950:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7639:5:::1;7632:22;;;7655:10;7666:7;7632:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7554:128:::0;;:::o;3917:96::-;2979:4;2958:25;;:6;:18;2965:10;2958:18;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;2950:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4001:4:::1;3982:10;:17;3993:5;3982:17;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;3917:96:::0;:::o;2405:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3437:89::-;2979:4;2958:25;;:6;:18;2965:10;2958:18;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;2950:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;3514:4:::1;3499:6:::0;:13:::1;3506:5;3499:13;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;3437:89:::0;:::o;7797:151::-;2979:4;2958:25;;:6;:18;2965:10;2958:18;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;2950:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7887:5:::1;7879:27;;;7915:4;7921:10;7932:7;7879:61;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7797:151:::0;;:::o;2237:23::-;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:117::-;1712:1;1709;1702:12;1726:117;1835:1;1832;1825:12;1849:102;1890:6;1941:2;1937:7;1932:2;1925:5;1921:14;1917:28;1907:38;;1849:102;;;:::o;1957:180::-;2005:77;2002:1;1995:88;2102:4;2099:1;2092:15;2126:4;2123:1;2116:15;2143:281;2226:27;2248:4;2226:27;:::i;:::-;2218:6;2214:40;2356:6;2344:10;2341:22;2320:18;2308:10;2305:34;2302:62;2299:88;;;2367:18;;:::i;:::-;2299:88;2407:10;2403:2;2396:22;2186:238;2143:281;;:::o;2430:129::-;2464:6;2491:20;;:::i;:::-;2481:30;;2520:33;2548:4;2540:6;2520:33;:::i;:::-;2430:129;;;:::o;2565:308::-;2627:4;2717:18;2709:6;2706:30;2703:56;;;2739:18;;:::i;:::-;2703:56;2777:29;2799:6;2777:29;:::i;:::-;2769:37;;2861:4;2855;2851:15;2843:23;;2565:308;;;:::o;2879:146::-;2976:6;2971:3;2966;2953:30;3017:1;3008:6;3003:3;2999:16;2992:27;2879:146;;;:::o;3031:425::-;3109:5;3134:66;3150:49;3192:6;3150:49;:::i;:::-;3134:66;:::i;:::-;3125:75;;3223:6;3216:5;3209:21;3261:4;3254:5;3250:16;3299:3;3290:6;3285:3;3281:16;3278:25;3275:112;;;3306:79;;:::i;:::-;3275:112;3396:54;3443:6;3438:3;3433;3396:54;:::i;:::-;3115:341;3031:425;;;;;:::o;3476:340::-;3532:5;3581:3;3574:4;3566:6;3562:17;3558:27;3548:122;;3589:79;;:::i;:::-;3548:122;3706:6;3693:20;3731:79;3806:3;3798:6;3791:4;3783:6;3779:17;3731:79;:::i;:::-;3722:88;;3538:278;3476:340;;;;:::o;3822:77::-;3859:7;3888:5;3877:16;;3822:77;;;:::o;3905:122::-;3978:24;3996:5;3978:24;:::i;:::-;3971:5;3968:35;3958:63;;4017:1;4014;4007:12;3958:63;3905:122;:::o;4033:139::-;4079:5;4117:6;4104:20;4095:29;;4133:33;4160:5;4133:33;:::i;:::-;4033:139;;;;:::o;4178:116::-;4248:21;4263:5;4248:21;:::i;:::-;4241:5;4238:32;4228:60;;4284:1;4281;4274:12;4228:60;4178:116;:::o;4300:133::-;4343:5;4381:6;4368:20;4359:29;;4397:30;4421:5;4397:30;:::i;:::-;4300:133;;;;:::o;4439:1445::-;4561:6;4569;4577;4585;4593;4642:3;4630:9;4621:7;4617:23;4613:33;4610:120;;;4649:79;;:::i;:::-;4610:120;4797:1;4786:9;4782:17;4769:31;4827:18;4819:6;4816:30;4813:117;;;4849:79;;:::i;:::-;4813:117;4954:63;5009:7;5000:6;4989:9;4985:22;4954:63;:::i;:::-;4944:73;;4740:287;5094:2;5083:9;5079:18;5066:32;5125:18;5117:6;5114:30;5111:117;;;5147:79;;:::i;:::-;5111:117;5252:63;5307:7;5298:6;5287:9;5283:22;5252:63;:::i;:::-;5242:73;;5037:288;5364:2;5390:53;5435:7;5426:6;5415:9;5411:22;5390:53;:::i;:::-;5380:63;;5335:118;5492:2;5518:50;5560:7;5551:6;5540:9;5536:22;5518:50;:::i;:::-;5508:60;;5463:115;5645:3;5634:9;5630:19;5617:33;5677:18;5669:6;5666:30;5663:117;;;5699:79;;:::i;:::-;5663:117;5804:63;5859:7;5850:6;5839:9;5835:22;5804:63;:::i;:::-;5794:73;;5588:289;4439:1445;;;;;;;;:::o;5890:329::-;5949:6;5998:2;5986:9;5977:7;5973:23;5969:32;5966:119;;;6004:79;;:::i;:::-;5966:119;6124:1;6149:53;6194:7;6185:6;6174:9;6170:22;6149:53;:::i;:::-;6139:63;;6095:117;5890:329;;;;:::o;6225:1591::-;6356:6;6364;6372;6380;6388;6396;6445:3;6433:9;6424:7;6420:23;6416:33;6413:120;;;6452:79;;:::i;:::-;6413:120;6572:1;6597:53;6642:7;6633:6;6622:9;6618:22;6597:53;:::i;:::-;6587:63;;6543:117;6727:2;6716:9;6712:18;6699:32;6758:18;6750:6;6747:30;6744:117;;;6780:79;;:::i;:::-;6744:117;6885:63;6940:7;6931:6;6920:9;6916:22;6885:63;:::i;:::-;6875:73;;6670:288;7025:2;7014:9;7010:18;6997:32;7056:18;7048:6;7045:30;7042:117;;;7078:79;;:::i;:::-;7042:117;7183:63;7238:7;7229:6;7218:9;7214:22;7183:63;:::i;:::-;7173:73;;6968:288;7295:2;7321:53;7366:7;7357:6;7346:9;7342:22;7321:53;:::i;:::-;7311:63;;7266:118;7423:3;7450:50;7492:7;7483:6;7472:9;7468:22;7450:50;:::i;:::-;7440:60;;7394:116;7577:3;7566:9;7562:19;7549:33;7609:18;7601:6;7598:30;7595:117;;;7631:79;;:::i;:::-;7595:117;7736:63;7791:7;7782:6;7771:9;7767:22;7736:63;:::i;:::-;7726:73;;7520:289;6225:1591;;;;;;;;:::o;7822:468::-;7887:6;7895;7944:2;7932:9;7923:7;7919:23;7915:32;7912:119;;;7950:79;;:::i;:::-;7912:119;8070:1;8095:53;8140:7;8131:6;8120:9;8116:22;8095:53;:::i;:::-;8085:63;;8041:117;8197:2;8223:50;8265:7;8256:6;8245:9;8241:22;8223:50;:::i;:::-;8213:60;;8168:115;7822:468;;;;;:::o;8296:111::-;8348:7;8377:24;8395:5;8377:24;:::i;:::-;8366:35;;8296:111;;;:::o;8413:152::-;8501:39;8534:5;8501:39;:::i;:::-;8494:5;8491:50;8481:78;;8555:1;8552;8545:12;8481:78;8413:152;:::o;8571:169::-;8632:5;8670:6;8657:20;8648:29;;8686:48;8728:5;8686:48;:::i;:::-;8571:169;;;;:::o;8746:504::-;8829:6;8837;8886:2;8874:9;8865:7;8861:23;8857:32;8854:119;;;8892:79;;:::i;:::-;8854:119;9012:1;9037:68;9097:7;9088:6;9077:9;9073:22;9037:68;:::i;:::-;9027:78;;8983:132;9154:2;9180:53;9225:7;9216:6;9205:9;9201:22;9180:53;:::i;:::-;9170:63;;9125:118;8746:504;;;;;:::o;9256:110::-;9307:7;9336:24;9354:5;9336:24;:::i;:::-;9325:35;;9256:110;;;:::o;9372:150::-;9459:38;9491:5;9459:38;:::i;:::-;9452:5;9449:49;9439:77;;9512:1;9509;9502:12;9439:77;9372:150;:::o;9528:167::-;9588:5;9626:6;9613:20;9604:29;;9642:47;9683:5;9642:47;:::i;:::-;9528:167;;;;:::o;9701:502::-;9783:6;9791;9840:2;9828:9;9819:7;9815:23;9811:32;9808:119;;;9846:79;;:::i;:::-;9808:119;9966:1;9991:67;10050:7;10041:6;10030:9;10026:22;9991:67;:::i;:::-;9981:77;;9937:131;10107:2;10133:53;10178:7;10169:6;10158:9;10154:22;10133:53;:::i;:::-;10123:63;;10078:118;9701:502;;;;;:::o;10209:118::-;10296:24;10314:5;10296:24;:::i;:::-;10291:3;10284:37;10209:118;;:::o;10333:99::-;10385:6;10419:5;10413:12;10403:22;;10333:99;;;:::o;10438:169::-;10522:11;10556:6;10551:3;10544:19;10596:4;10591:3;10587:14;10572:29;;10438:169;;;;:::o;10613:246::-;10694:1;10704:113;10718:6;10715:1;10712:13;10704:113;;;10803:1;10798:3;10794:11;10788:18;10784:1;10779:3;10775:11;10768:39;10740:2;10737:1;10733:10;10728:15;;10704:113;;;10851:1;10842:6;10837:3;10833:16;10826:27;10675:184;10613:246;;;:::o;10865:377::-;10953:3;10981:39;11014:5;10981:39;:::i;:::-;11036:71;11100:6;11095:3;11036:71;:::i;:::-;11029:78;;11116:65;11174:6;11169:3;11162:4;11155:5;11151:16;11116:65;:::i;:::-;11206:29;11228:6;11206:29;:::i;:::-;11201:3;11197:39;11190:46;;10957:285;10865:377;;;;:::o;11248:1246::-;11585:4;11623:3;11612:9;11608:19;11600:27;;11637:71;11705:1;11694:9;11690:17;11681:6;11637:71;:::i;:::-;11755:9;11749:4;11745:20;11740:2;11729:9;11725:18;11718:48;11783:78;11856:4;11847:6;11783:78;:::i;:::-;11775:86;;11908:9;11902:4;11898:20;11893:2;11882:9;11878:18;11871:48;11936:78;12009:4;12000:6;11936:78;:::i;:::-;11928:86;;12024:72;12092:2;12081:9;12077:18;12068:6;12024:72;:::i;:::-;12106:73;12174:3;12163:9;12159:19;12150:6;12106:73;:::i;:::-;12189:67;12251:3;12240:9;12236:19;12227:6;12189:67;:::i;:::-;12304:9;12298:4;12294:20;12288:3;12277:9;12273:19;12266:49;12332:78;12405:4;12396:6;12332:78;:::i;:::-;12324:86;;12420:67;12482:3;12471:9;12467:19;12458:6;12420:67;:::i;:::-;11248:1246;;;;;;;;;;;:::o;12500:222::-;12593:4;12631:2;12620:9;12616:18;12608:26;;12644:71;12712:1;12701:9;12697:17;12688:6;12644:71;:::i;:::-;12500:222;;;;:::o;12728:223::-;12868:34;12864:1;12856:6;12852:14;12845:58;12937:6;12932:2;12924:6;12920:15;12913:31;12728:223;:::o;12957:366::-;13099:3;13120:67;13184:2;13179:3;13120:67;:::i;:::-;13113:74;;13196:93;13285:3;13196:93;:::i;:::-;13314:2;13309:3;13305:12;13298:19;;12957:366;;;:::o;13329:419::-;13495:4;13533:2;13522:9;13518:18;13510:26;;13582:9;13576:4;13572:20;13568:1;13557:9;13553:17;13546:47;13610:131;13736:4;13610:131;:::i;:::-;13602:139;;13329:419;;;:::o;13754:180::-;13802:77;13799:1;13792:88;13899:4;13896:1;13889:15;13923:4;13920:1;13913:15;13940:320;13984:6;14021:1;14015:4;14011:12;14001:22;;14068:1;14062:4;14058:12;14089:18;14079:81;;14145:4;14137:6;14133:17;14123:27;;14079:81;14207:2;14199:6;14196:14;14176:18;14173:38;14170:84;;14226:18;;:::i;:::-;14170:84;13991:269;13940:320;;;:::o;14266:141::-;14315:4;14338:3;14330:11;;14361:3;14358:1;14351:14;14395:4;14392:1;14382:18;14374:26;;14266:141;;;:::o;14413:93::-;14450:6;14497:2;14492;14485:5;14481:14;14477:23;14467:33;;14413:93;;;:::o;14512:107::-;14556:8;14606:5;14600:4;14596:16;14575:37;;14512:107;;;;:::o;14625:393::-;14694:6;14744:1;14732:10;14728:18;14767:97;14797:66;14786:9;14767:97;:::i;:::-;14885:39;14915:8;14904:9;14885:39;:::i;:::-;14873:51;;14957:4;14953:9;14946:5;14942:21;14933:30;;15006:4;14996:8;14992:19;14985:5;14982:30;14972:40;;14701:317;;14625:393;;;;;:::o;15024:60::-;15052:3;15073:5;15066:12;;15024:60;;;:::o;15090:142::-;15140:9;15173:53;15191:34;15200:24;15218:5;15200:24;:::i;:::-;15191:34;:::i;:::-;15173:53;:::i;:::-;15160:66;;15090:142;;;:::o;15238:75::-;15281:3;15302:5;15295:12;;15238:75;;;:::o;15319:269::-;15429:39;15460:7;15429:39;:::i;:::-;15490:91;15539:41;15563:16;15539:41;:::i;:::-;15531:6;15524:4;15518:11;15490:91;:::i;:::-;15484:4;15477:105;15395:193;15319:269;;;:::o;15594:73::-;15639:3;15594:73;:::o;15673:189::-;15750:32;;:::i;:::-;15791:65;15849:6;15841;15835:4;15791:65;:::i;:::-;15726:136;15673:189;;:::o;15868:186::-;15928:120;15945:3;15938:5;15935:14;15928:120;;;15999:39;16036:1;16029:5;15999:39;:::i;:::-;15972:1;15965:5;15961:13;15952:22;;15928:120;;;15868:186;;:::o;16060:543::-;16161:2;16156:3;16153:11;16150:446;;;16195:38;16227:5;16195:38;:::i;:::-;16279:29;16297:10;16279:29;:::i;:::-;16269:8;16265:44;16462:2;16450:10;16447:18;16444:49;;;16483:8;16468:23;;16444:49;16506:80;16562:22;16580:3;16562:22;:::i;:::-;16552:8;16548:37;16535:11;16506:80;:::i;:::-;16165:431;;16150:446;16060:543;;;:::o;16609:117::-;16663:8;16713:5;16707:4;16703:16;16682:37;;16609:117;;;;:::o;16732:169::-;16776:6;16809:51;16857:1;16853:6;16845:5;16842:1;16838:13;16809:51;:::i;:::-;16805:56;16890:4;16884;16880:15;16870:25;;16783:118;16732:169;;;;:::o;16906:295::-;16982:4;17128:29;17153:3;17147:4;17128:29;:::i;:::-;17120:37;;17190:3;17187:1;17183:11;17177:4;17174:21;17166:29;;16906:295;;;;:::o;17206:1395::-;17323:37;17356:3;17323:37;:::i;:::-;17425:18;17417:6;17414:30;17411:56;;;17447:18;;:::i;:::-;17411:56;17491:38;17523:4;17517:11;17491:38;:::i;:::-;17576:67;17636:6;17628;17622:4;17576:67;:::i;:::-;17670:1;17694:4;17681:17;;17726:2;17718:6;17715:14;17743:1;17738:618;;;;18400:1;18417:6;18414:77;;;18466:9;18461:3;18457:19;18451:26;18442:35;;18414:77;18517:67;18577:6;18570:5;18517:67;:::i;:::-;18511:4;18504:81;18373:222;17708:887;;17738:618;17790:4;17786:9;17778:6;17774:22;17824:37;17856:4;17824:37;:::i;:::-;17883:1;17897:208;17911:7;17908:1;17905:14;17897:208;;;17990:9;17985:3;17981:19;17975:26;17967:6;17960:42;18041:1;18033:6;18029:14;18019:24;;18088:2;18077:9;18073:18;18060:31;;17934:4;17931:1;17927:12;17922:17;;17897:208;;;18133:6;18124:7;18121:19;18118:179;;;18191:9;18186:3;18182:19;18176:26;18234:48;18276:4;18268:6;18264:17;18253:9;18234:48;:::i;:::-;18226:6;18219:64;18141:156;18118:179;18343:1;18339;18331:6;18327:14;18323:22;18317:4;18310:36;17745:611;;;17708:887;;17298:1303;;;17206:1395;;:::o;18607:180::-;18655:77;18652:1;18645:88;18752:4;18749:1;18742:15;18776:4;18773:1;18766:15;18793:233;18832:3;18855:24;18873:5;18855:24;:::i;:::-;18846:33;;18901:66;18894:5;18891:77;18888:103;;18971:18;;:::i;:::-;18888:103;19018:1;19011:5;19007:13;19000:20;;18793:233;;;:::o;19032:182::-;19172:34;19168:1;19160:6;19156:14;19149:58;19032:182;:::o;19220:366::-;19362:3;19383:67;19447:2;19442:3;19383:67;:::i;:::-;19376:74;;19459:93;19548:3;19459:93;:::i;:::-;19577:2;19572:3;19568:12;19561:19;;19220:366;;;:::o;19592:419::-;19758:4;19796:2;19785:9;19781:18;19773:26;;19845:9;19839:4;19835:20;19831:1;19820:9;19816:17;19809:47;19873:131;19999:4;19873:131;:::i;:::-;19865:139;;19592:419;;;:::o;20017:171::-;20056:3;20079:24;20097:5;20079:24;:::i;:::-;20070:33;;20125:4;20118:5;20115:15;20112:41;;20133:18;;:::i;:::-;20112:41;20180:1;20173:5;20169:13;20162:20;;20017:171;;;:::o;20194:118::-;20281:24;20299:5;20281:24;:::i;:::-;20276:3;20269:37;20194:118;;:::o;20318:442::-;20467:4;20505:2;20494:9;20490:18;20482:26;;20518:71;20586:1;20575:9;20571:17;20562:6;20518:71;:::i;:::-;20599:72;20667:2;20656:9;20652:18;20643:6;20599:72;:::i;:::-;20681;20749:2;20738:9;20734:18;20725:6;20681:72;:::i;:::-;20318:442;;;;;;:::o;20766:332::-;20887:4;20925:2;20914:9;20910:18;20902:26;;20938:71;21006:1;20995:9;20991:17;20982:6;20938:71;:::i;:::-;21019:72;21087:2;21076:9;21072:18;21063:6;21019:72;:::i;:::-;20766:332;;;;;:::o;21104:137::-;21158:5;21189:6;21183:13;21174:22;;21205:30;21229:5;21205:30;:::i;:::-;21104:137;;;;:::o;21247:345::-;21314:6;21363:2;21351:9;21342:7;21338:23;21334:32;21331:119;;;21369:79;;:::i;:::-;21331:119;21489:1;21514:61;21567:7;21558:6;21547:9;21543:22;21514:61;:::i;:::-;21504:71;;21460:125;21247:345;;;;:::o

Swarm Source

ipfs://003bc701118a1ad662949ae74c539a6715552ee2305d35f57201915504ec3873

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.