S Price: $0.470376 (+0.33%)

Contract

0xC2717B08D5AB57672C149C71e3A6979625AB8313

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Submit Entry Fee127286942025-03-09 22:25:4939 days ago1741559149IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee127187052025-03-09 21:17:2839 days ago1741555048IN
0xC2717B08...625AB8313
1 S0.0034155357.86
Submit Entry Fee127001692025-03-09 19:13:5939 days ago1741547639IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee126739872025-03-09 16:33:1539 days ago1741537995IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee126705242025-03-09 16:09:4239 days ago1741536582IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee126597252025-03-09 14:50:0739 days ago1741531807IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee126555192025-03-09 14:17:2639 days ago1741529846IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee126506992025-03-09 13:44:1139 days ago1741527851IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee126483092025-03-09 13:27:4539 days ago1741526865IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee125192122025-03-08 19:56:5140 days ago1741463811IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee124702482025-03-08 13:55:0740 days ago1741442107IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee123410442025-03-07 21:17:1641 days ago1741382236IN
0xC2717B08...625AB8313
1 S0.00281150.0001
Submit Entry Fee122858972025-03-07 15:17:4741 days ago1741360667IN
0xC2717B08...625AB8313
1 S0.003092155
Submit Entry Fee122669102025-03-07 13:11:1941 days ago1741353079IN
0xC2717B08...625AB8313
1 S0.0032472955.01
Submit Entry Fee120794392025-03-06 15:55:5642 days ago1741276556IN
0xC2717B08...625AB8313
1 S0.0035713760.5
Submit Entry Fee120475822025-03-06 12:36:5942 days ago1741264619IN
0xC2717B08...625AB8313
1 S0.003092155
Submit Entry Fee118659172025-03-05 16:50:5943 days ago1741193459IN
0xC2717B08...625AB8313
1 S0.003092155
Submit Entry Fee118646332025-03-05 16:42:3843 days ago1741192958IN
0xC2717B08...625AB8313
1 S0.003092155
Submit Entry Fee118077822025-03-05 10:26:0643 days ago1741170366IN
0xC2717B08...625AB8313
1 S0.0034987659.27
Submit Entry Fee105548762025-02-27 15:27:4449 days ago1740670064IN
0xC2717B08...625AB8313
1 S0.0032472955.01
Submit Entry Fee100468122025-02-25 12:05:2751 days ago1740485127IN
0xC2717B08...625AB8313
1 S0.0048501163
Submit Entry Fee26144002025-01-05 18:52:51102 days ago1736103171IN
0xC2717B08...625AB8313
1 S0.000061841.1
Submit Entry Fee24061522025-01-03 21:35:13104 days ago1735940113IN
0xC2717B08...625AB8313
1 S0.000064931.1
Submit Entry Fee23097532025-01-03 0:58:41105 days ago1735865921IN
0xC2717B08...625AB8313
1 S0.000064931.1
Submit Entry Fee22737232025-01-02 16:46:37105 days ago1735836397IN
0xC2717B08...625AB8313
1 S0.000061841.1
VIEW ADVANCED FILTER

Latest 15 internal transactions

Parent Transaction Hash Block From To
134465922025-03-13 12:12:1135 days ago1741867931
0xC2717B08...625AB8313
2.690625 S
134465922025-03-13 12:12:1135 days ago1741867931
0xC2717B08...625AB8313
0.590625 S
134465922025-03-13 12:12:1135 days ago1741867931
0xC2717B08...625AB8313
1.18125 S
134465922025-03-13 12:12:1135 days ago1741867931
0xC2717B08...625AB8313
2.3625 S
134465922025-03-13 12:12:1135 days ago1741867931
0xC2717B08...625AB8313
4.725 S
134465922025-03-13 12:12:1135 days ago1741867931
0xC2717B08...625AB8313
9.45 S
26239722025-01-05 20:50:19102 days ago1736110219
0xC2717B08...625AB8313
1.0625 S
26239722025-01-05 20:50:19102 days ago1736110219
0xC2717B08...625AB8313
0.5625 S
26239722025-01-05 20:50:19102 days ago1736110219
0xC2717B08...625AB8313
1.125 S
26239722025-01-05 20:50:19102 days ago1736110219
0xC2717B08...625AB8313
2.25 S
19184422024-12-29 16:47:53109 days ago1735490873
0xC2717B08...625AB8313
1.875 S
19184422024-12-29 16:47:53109 days ago1735490873
0xC2717B08...625AB8313
0.675 S
19184422024-12-29 16:47:53109 days ago1735490873
0xC2717B08...625AB8313
1.35 S
19184422024-12-29 16:47:53109 days ago1735490873
0xC2717B08...625AB8313
2.7 S
19184422024-12-29 16:47:53109 days ago1735490873
0xC2717B08...625AB8313
5.4 S
Loading...
Loading

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

Contract Name:
TournamentFactory

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at SonicScan.org on 2024-12-14
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.2 <0.9.0;

contract TournamentFactory {

    uint256 private constant DECIMALS_18 = 10**18;

    // Struct to store each tournament details
    struct Tournament {
        uint256 id;
        uint256 endDate;
        uint256 entryFee;
        uint256 prizePool;
        string  hashId;
    }
    

    address public owner;
    address public gameDev;
    uint256 private tournamentId;

    // Mapping of tournamentId => player's registration
    mapping(uint256 => mapping(address => bool)) public registeredPlayers;

    // Array to store history of tournaments
    Tournament[] public tournamentHistory;

    // Current active tournament
    Tournament public currentTournament;


    // Modifiers
    modifier onlyAdmin() {
        require((msg.sender == owner || msg.sender == gameDev), "Not admin!");
        _;
    }

    modifier activeTournament() {
        require(block.timestamp <= currentTournament.endDate, "Tournament is not active.");
        _;
    }

    modifier tournamentEnded() {
        require(block.timestamp > currentTournament.endDate, "Tournament has not ended yet.");
        _;
    }

    constructor() {
        // Set Game Owner address
        owner = address(0x5B38Da6a701c568545dCfcB03FcB875f56beddC4);

        // Set Game Developer address
        gameDev = address(0x315F9ECF3cf32a44fFb0d50ec5c828CBeF2B03B3);

        // Initialize history with a null(inactive) tournament
        tournamentId = 0;
        tournamentHistory.push(currentTournament);
    }

    // Change contract owner address
    function changeOwnership(address _newOwner) external {
        require(msg.sender == owner, "Only the current owner can change ownership.");
        require(_newOwner != address(0x00), "New owner address can not be zero.");
        owner = _newOwner;
    }

    // Change game developer address
    function changeGameDev(address _newGameDev) external {
        require(msg.sender == gameDev, "Only the current game developer can change ownership.");
        require(_newGameDev != address(0x00), "New gameDev address can not be zero.");
        gameDev = _newGameDev;
    }

    // Way to refund player's entry fee if necessary. 
    function refundEntryFee(address _player) external onlyAdmin activeTournament {

        require(registeredPlayers[currentTournament.id][_player], "Player has not registered for this tournament.");
        require(address(this).balance >= currentTournament.entryFee, "Not enough balance to refund.");

        payable(_player).transfer(currentTournament.entryFee);
        currentTournament.prizePool -= currentTournament.entryFee;
        registeredPlayers[currentTournament.id][_player] = false;

    }

    // Create a new tournament with the given parameters
    function createTournament(uint256 _timePeriod, uint256 _entryFee, string calldata _hashId) external onlyAdmin {
        
        require(_timePeriod > 0, "Tournament time period must be greater than 0.");

        // Initialize tournament values
        currentTournament.id = ++tournamentId;
        currentTournament.hashId = _hashId;
        currentTournament.endDate = (block.timestamp + _timePeriod);
        currentTournament.entryFee = _entryFee * DECIMALS_18;
        currentTournament.prizePool = 0;

    }

    // Way to end the current tournament if necessary. 
    function endTournament() external  onlyAdmin activeTournament {
        currentTournament.endDate = block.timestamp;
    }

    // Fetches if a player has registered for this tournament
    function hasRegistered(address _player) external view returns (bool) {
        return registeredPlayers[currentTournament.id][_player];
    }

    // Collect a player's entry fee. Refund if already registered
    function submitEntryFee() external payable activeTournament {
        
        require(registeredPlayers[currentTournament.id][msg.sender] == false, "Player address already registered.");
        require(msg.value >= currentTournament.entryFee, "Entry fee must be paid in full.");
        
        // Refund anything left over after paying entry fee
        payable(msg.sender).transfer(msg.value - currentTournament.entryFee);
        
        // Update prize pool & register player
        currentTournament.prizePool += currentTournament.entryFee;
        registeredPlayers[currentTournament.id][msg.sender] = true;

    }

    // Distribute the prize pool to the top 10 players
    function distributePrizes(address[] memory _winners) external payable onlyAdmin tournamentEnded {
        
        require(_winners.length > 0, "Must provide winners to distribute prizes.");
        
        uint256 prizePool = currentTournament.prizePool * 90 / 100;

        for (uint256 i = 0; i < _winners.length; i++) {
            
            // Calculate the player's prize
            uint256 prize = (prizePool / 2);
            
            // Break if contract balance not have enough
            if (prize > address(this).balance) {
                break;
            }

            // Transfer the calculated prize to the top players
            payable(_winners[i]).transfer(prize);
            prizePool -= prize;
                        
        }

        if (address(this).balance > 0) {
            // Transfer remaining 10% prize pool to the game developer
            payable(gameDev).transfer(address(this).balance);
        }
        
        // Add tournament to history before deactivating
        tournamentHistory.push(currentTournament);
        
        // Set current tournament to inactive 
        currentTournament = tournamentHistory[0];
        
    }

    // Fetches current tournament entry fee
    function getCurrentEntryFee() external view returns (uint256) {
        return currentTournament.entryFee;
    }

    // Fetches current tournament hash id
    function getCurrentHashId() external view returns (string memory) {
        return currentTournament.hashId;
    }

    // Fetches current tournament prize pool
    function getCurrentPrizePool() external view returns (uint256) {
        return currentTournament.prizePool;
    }

    // Fetches current tournament details               
    function getCurrentTournament() external view returns (uint256, uint256, uint256, uint256, string  memory) {
        return (
            currentTournament.id,
            currentTournament.endDate,
            currentTournament.entryFee,
            currentTournament.prizePool,
            currentTournament.hashId
        );
    }

    // Fetches previous tournament details
    function getPriorTournament(uint256 _tournamentId) external view returns (uint256, uint256, uint256, uint256, string  memory) {
        return (
            tournamentHistory[_tournamentId].id,
            tournamentHistory[_tournamentId].endDate,
            tournamentHistory[_tournamentId].entryFee,
            tournamentHistory[_tournamentId].prizePool,
            tournamentHistory[_tournamentId].hashId
        );        
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"_newGameDev","type":"address"}],"name":"changeGameDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"changeOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_timePeriod","type":"uint256"},{"internalType":"uint256","name":"_entryFee","type":"uint256"},{"internalType":"string","name":"_hashId","type":"string"}],"name":"createTournament","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentTournament","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"endDate","type":"uint256"},{"internalType":"uint256","name":"entryFee","type":"uint256"},{"internalType":"uint256","name":"prizePool","type":"uint256"},{"internalType":"string","name":"hashId","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_winners","type":"address[]"}],"name":"distributePrizes","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"endTournament","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gameDev","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentEntryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentHashId","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentPrizePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentTournament","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tournamentId","type":"uint256"}],"name":"getPriorTournament","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"}],"name":"hasRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"}],"name":"refundEntryFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"registeredPlayers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"submitEntryFee","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tournamentHistory","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"endDate","type":"uint256"},{"internalType":"uint256","name":"entryFee","type":"uint256"},{"internalType":"uint256","name":"prizePool","type":"uint256"},{"internalType":"string","name":"hashId","type":"string"}],"stateMutability":"view","type":"function"}]

Deployed Bytecode

0x608060405260043610610108575f3560e01c80638da5cb5b11610094578063b3e8818511610063578063b3e8818514610302578063bf9b9d481461032a578063ec4b40ee14610352578063ed1e80d514610392578063f7b24024146103d257610108565b80638da5cb5b1461024457806390eabd6a1461026e578063938a37ed1461029c578063a0d03526146102c657610108565b80634d633a8f116100db5780634d633a8f146101b457806355e93ede146101ca57806358c3a9d9146101f457806367033694146102105780636c4d89b11461021a57610108565b80630aa016951461010c5780632af4c31e146101365780632f50d6dc1461015e57806333500ca01461018c575b5f80fd5b348015610117575f80fd5b5061012061040e565b60405161012d91906116d7565b60405180910390f35b348015610141575f80fd5b5061015c6004803603810190610157919061175b565b61041a565b005b348015610169575f80fd5b50610172610557565b6040516101839594939291906117f6565b60405180910390f35b348015610197575f80fd5b506101b260048036038101906101ad919061175b565b610600565b005b3480156101bf575f80fd5b506101c86108e3565b005b3480156101d5575f80fd5b506101de610a1b565b6040516101eb91906116d7565b60405180910390f35b61020e6004803603810190610209919061198e565b610a27565b005b610218610d93565b005b348015610225575f80fd5b5061022e610fa3565b60405161023b91906119d5565b60405180910390f35b34801561024f575f80fd5b50610258611036565b6040516102659190611a04565b60405180910390f35b348015610279575f80fd5b50610282611059565b6040516102939594939291906117f6565b60405180910390f35b3480156102a7575f80fd5b506102b0611116565b6040516102bd9190611a04565b60405180910390f35b3480156102d1575f80fd5b506102ec60048036038101906102e7919061175b565b61113b565b6040516102f99190611a37565b60405180910390f35b34801561030d575f80fd5b5061032860048036038101906103239190611ad3565b6111a0565b005b348015610335575f80fd5b50610350600480360381019061034b919061175b565b611339565b005b34801561035d575f80fd5b5061037860048036038101906103739190611b44565b611479565b6040516103899594939291906117f6565b60405180910390f35b34801561039d575f80fd5b506103b860048036038101906103b39190611b44565b6115ce565b6040516103c99594939291906117f6565b60405180910390f35b3480156103dd575f80fd5b506103f860048036038101906103f39190611b6f565b611695565b6040516104059190611a37565b60405180910390f35b5f600560020154905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e90611c1d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c90611cab565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6005805f01549080600101549080600201549080600301549080600401805461057f90611cf6565b80601f01602080910402602001604051908101604052809291908181526020018280546105ab90611cf6565b80156105f65780601f106105cd576101008083540402835291602001916105f6565b820191905f5260205f20905b8154815290600101906020018083116105d957829003601f168201915b5050505050905085565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106a5575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611d70565b60405180910390fd5b60056001015442111561072c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072390611dd8565b60405180910390fd5b60035f60055f015481526020019081526020015f205f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166107c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bf90611e66565b60405180910390fd5b600560020154471015610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080790611ece565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc60056002015490811502906040515f60405180830381858888f19350505050158015610858573d5f803e3d5ffd5b5060056002015460056003015f8282546108729190611f19565b925050819055505f60035f60055f015481526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610988575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6109c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109be90611d70565b60405180910390fd5b600560010154421115610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690611dd8565b60405180910390fd5b42600560010181905550565b5f600560030154905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610acc575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0290611d70565b60405180910390fd5b6005600101544211610b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4990611f96565b60405180910390fd5b5f815111610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90612024565b60405180910390fd5b5f6064605a600560030154610baa9190612042565b610bb491906120b0565b90505f5b8251811015610c59575f600283610bcf91906120b0565b905047811115610bdf5750610c59565b838281518110610bf257610bf16120e0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610c3c573d5f803e3d5ffd5b508083610c499190611f19565b9250508080600101915050610bb8565b505f471115610cc85760015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610cc6573d5f803e3d5ffd5b505b60046005908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820154815f015560018201548160010155600282015481600201556003820154816003015560048201816004019081610d2c91906122bf565b50505060045f81548110610d4357610d426120e0565b5b905f5260205f20906005020160055f820154815f015560018201548160010155600282015481600201556003820154816003015560048201816004019081610d8b91906122bf565b509050505050565b600560010154421115610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290611dd8565b60405180910390fd5b5f151560035f60055f015481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151514610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7490612414565b60405180910390fd5b600560020154341015610ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebc9061247c565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc60056002015434610ef09190611f19565b90811502906040515f60405180830381858888f19350505050158015610f18573d5f803e3d5ffd5b5060056002015460056003015f828254610f32919061249a565b92505081905550600160035f60055f015481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550565b606060056004018054610fb590611cf6565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe190611cf6565b801561102c5780601f106110035761010080835404028352916020019161102c565b820191905f5260205f20905b81548152906001019060200180831161100f57829003601f168201915b5050505050905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f80606060055f0154600560010154600560020154600560030154600560040180805461108790611cf6565b80601f01602080910402602001604051908101604052809291908181526020018280546110b390611cf6565b80156110fe5780601f106110d5576101008083540402835291602001916110fe565b820191905f5260205f20905b8154815290600101906020018083116110e157829003601f168201915b50505050509050945094509450945094509091929394565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60035f60055f015481526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611245575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90611d70565b60405180910390fd5b5f84116112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd9061253d565b60405180910390fd5b60025f81546112d49061255b565b91905081905560055f01819055508181600560040191826112f69291906125ac565b508342611303919061249a565b600560010181905550670de0b6b3a7640000836113209190612042565b6005600201819055505f60056003018190555050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bf906126e9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d90612777565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f805f80606060048681548110611493576114926120e0565b5b905f5260205f2090600502015f0154600487815481106114b6576114b56120e0565b5b905f5260205f20906005020160010154600488815481106114da576114d96120e0565b5b905f5260205f20906005020160020154600489815481106114fe576114fd6120e0565b5b905f5260205f2090600502016003015460048a81548110611522576115216120e0565b5b905f5260205f20906005020160040180805461153d90611cf6565b80601f016020809104026020016040519081016040528092919081815260200182805461156990611cf6565b80156115b45780601f1061158b576101008083540402835291602001916115b4565b820191905f5260205f20905b81548152906001019060200180831161159757829003601f168201915b505050505090509450945094509450945091939590929450565b600481815481106115dd575f80fd5b905f5260205f2090600502015f91509050805f01549080600101549080600201549080600301549080600401805461161490611cf6565b80601f016020809104026020016040519081016040528092919081815260200182805461164090611cf6565b801561168b5780601f106116625761010080835404028352916020019161168b565b820191905f5260205f20905b81548152906001019060200180831161166e57829003601f168201915b5050505050905085565b6003602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f819050919050565b6116d1816116bf565b82525050565b5f6020820190506116ea5f8301846116c8565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61172a82611701565b9050919050565b61173a81611720565b8114611744575f80fd5b50565b5f8135905061175581611731565b92915050565b5f602082840312156117705761176f6116f9565b5b5f61177d84828501611747565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6117c882611786565b6117d28185611790565b93506117e28185602086016117a0565b6117eb816117ae565b840191505092915050565b5f60a0820190506118095f8301886116c8565b61181660208301876116c8565b61182360408301866116c8565b61183060608301856116c8565b818103608083015261184281846117be565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611888826117ae565b810181811067ffffffffffffffff821117156118a7576118a6611852565b5b80604052505050565b5f6118b96116f0565b90506118c5828261187f565b919050565b5f67ffffffffffffffff8211156118e4576118e3611852565b5b602082029050602081019050919050565b5f80fd5b5f61190b611906846118ca565b6118b0565b9050808382526020820190506020840283018581111561192e5761192d6118f5565b5b835b8181101561195757806119438882611747565b845260208401935050602081019050611930565b5050509392505050565b5f82601f8301126119755761197461184e565b5b81356119858482602086016118f9565b91505092915050565b5f602082840312156119a3576119a26116f9565b5b5f82013567ffffffffffffffff8111156119c0576119bf6116fd565b5b6119cc84828501611961565b91505092915050565b5f6020820190508181035f8301526119ed81846117be565b905092915050565b6119fe81611720565b82525050565b5f602082019050611a175f8301846119f5565b92915050565b5f8115159050919050565b611a3181611a1d565b82525050565b5f602082019050611a4a5f830184611a28565b92915050565b611a59816116bf565b8114611a63575f80fd5b50565b5f81359050611a7481611a50565b92915050565b5f80fd5b5f8083601f840112611a9357611a9261184e565b5b8235905067ffffffffffffffff811115611ab057611aaf611a7a565b5b602083019150836001820283011115611acc57611acb6118f5565b5b9250929050565b5f805f8060608587031215611aeb57611aea6116f9565b5b5f611af887828801611a66565b9450506020611b0987828801611a66565b935050604085013567ffffffffffffffff811115611b2a57611b296116fd565b5b611b3687828801611a7e565b925092505092959194509250565b5f60208284031215611b5957611b586116f9565b5b5f611b6684828501611a66565b91505092915050565b5f8060408385031215611b8557611b846116f9565b5b5f611b9285828601611a66565b9250506020611ba385828601611747565b9150509250929050565b7f4f6e6c79207468652063757272656e74206f776e65722063616e206368616e675f8201527f65206f776e6572736869702e0000000000000000000000000000000000000000602082015250565b5f611c07602c83611790565b9150611c1282611bad565b604082019050919050565b5f6020820190508181035f830152611c3481611bfb565b9050919050565b7f4e6577206f776e657220616464726573732063616e206e6f74206265207a65725f8201527f6f2e000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c95602283611790565b9150611ca082611c3b565b604082019050919050565b5f6020820190508181035f830152611cc281611c89565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611d0d57607f821691505b602082108103611d2057611d1f611cc9565b5b50919050565b7f4e6f742061646d696e21000000000000000000000000000000000000000000005f82015250565b5f611d5a600a83611790565b9150611d6582611d26565b602082019050919050565b5f6020820190508181035f830152611d8781611d4e565b9050919050565b7f546f75726e616d656e74206973206e6f74206163746976652e000000000000005f82015250565b5f611dc2601983611790565b9150611dcd82611d8e565b602082019050919050565b5f6020820190508181035f830152611def81611db6565b9050919050565b7f506c6179657220686173206e6f74207265676973746572656420666f722074685f8201527f697320746f75726e616d656e742e000000000000000000000000000000000000602082015250565b5f611e50602e83611790565b9150611e5b82611df6565b604082019050919050565b5f6020820190508181035f830152611e7d81611e44565b9050919050565b7f4e6f7420656e6f7567682062616c616e636520746f20726566756e642e0000005f82015250565b5f611eb8601d83611790565b9150611ec382611e84565b602082019050919050565b5f6020820190508181035f830152611ee581611eac565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611f23826116bf565b9150611f2e836116bf565b9250828203905081811115611f4657611f45611eec565b5b92915050565b7f546f75726e616d656e7420686173206e6f7420656e646564207965742e0000005f82015250565b5f611f80601d83611790565b9150611f8b82611f4c565b602082019050919050565b5f6020820190508181035f830152611fad81611f74565b9050919050565b7f4d7573742070726f766964652077696e6e65727320746f2064697374726962755f8201527f7465207072697a65732e00000000000000000000000000000000000000000000602082015250565b5f61200e602a83611790565b915061201982611fb4565b604082019050919050565b5f6020820190508181035f83015261203b81612002565b9050919050565b5f61204c826116bf565b9150612057836116bf565b9250828202612065816116bf565b9150828204841483151761207c5761207b611eec565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6120ba826116bf565b91506120c5836116bf565b9250826120d5576120d4612083565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8154905061211b81611cf6565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261217e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612143565b6121888683612143565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6121c36121be6121b9846116bf565b6121a0565b6116bf565b9050919050565b5f819050919050565b6121dc836121a9565b6121f06121e8826121ca565b84845461214f565b825550505050565b5f90565b6122046121f8565b61220f8184846121d3565b505050565b5b81811015612232576122275f826121fc565b600181019050612215565b5050565b601f8211156122775761224881612122565b61225184612134565b81016020851015612260578190505b61227461226c85612134565b830182612214565b50505b505050565b5f82821c905092915050565b5f6122975f198460080261227c565b1980831691505092915050565b5f6122af8383612288565b9150826002028217905092915050565b8181036122cd5750506123a2565b6122d68261210d565b67ffffffffffffffff8111156122ef576122ee611852565b5b6122f98254611cf6565b612304828285612236565b5f601f831160018114612331575f841561231f578287015490505b61232985826122a4565b86555061239b565b601f19841661233f87612122565b965061234a86612122565b5f5b828110156123715784890154825560018201915060018501945060208101905061234c565b8683101561238e578489015461238a601f891682612288565b8355505b6001600288020188555050505b5050505050505b565b7f506c61796572206164647265737320616c7265616479207265676973746572655f8201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b5f6123fe602283611790565b9150612409826123a4565b604082019050919050565b5f6020820190508181035f83015261242b816123f2565b9050919050565b7f456e74727920666565206d757374206265207061696420696e2066756c6c2e005f82015250565b5f612466601f83611790565b915061247182612432565b602082019050919050565b5f6020820190508181035f8301526124938161245a565b9050919050565b5f6124a4826116bf565b91506124af836116bf565b92508282019050808211156124c7576124c6611eec565b5b92915050565b7f546f75726e616d656e742074696d6520706572696f64206d75737420626520675f8201527f726561746572207468616e20302e000000000000000000000000000000000000602082015250565b5f612527602e83611790565b9150612532826124cd565b604082019050919050565b5f6020820190508181035f8301526125548161251b565b9050919050565b5f612565826116bf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361259757612596611eec565b5b600182019050919050565b5f82905092915050565b6125b683836125a2565b67ffffffffffffffff8111156125cf576125ce611852565b5b6125d98254611cf6565b6125e4828285612236565b5f601f831160018114612611575f84156125ff578287013590505b61260985826122a4565b865550612670565b601f19841661261f86612122565b5f5b8281101561264657848901358255600182019150602085019450602081019050612621565b86831015612663578489013561265f601f891682612288565b8355505b6001600288020188555050505b50505050505050565b7f4f6e6c79207468652063757272656e742067616d6520646576656c6f706572205f8201527f63616e206368616e6765206f776e6572736869702e0000000000000000000000602082015250565b5f6126d3603583611790565b91506126de82612679565b604082019050919050565b5f6020820190508181035f830152612700816126c7565b9050919050565b7f4e65772067616d6544657620616464726573732063616e206e6f74206265207a5f8201527f65726f2e00000000000000000000000000000000000000000000000000000000602082015250565b5f612761602483611790565b915061276c82612707565b604082019050919050565b5f6020820190508181035f83015261278e81612755565b905091905056fea2646970667358221220091a8cbcfeaa59e43de63e5e08faddadf284f65d44645c1541166285edd788b964736f6c634300081a0033

Deployed Bytecode Sourcemap

68:7146:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5856:114;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1651:260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;727:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;2300:512;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3469:124;;;;;;;;;;;;;:::i;:::-;;6191:116;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4583:1220;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3882:637;;;:::i;:::-;;6021:116;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;373:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6373:341;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;400:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3664:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2878:526;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1957:279;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6766:443;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;647:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;523:69;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5856:114;5909:7;5936:17;:26;;;5929:33;;5856:114;:::o;1651:260::-;1737:5;;;;;;;;;;1723:19;;:10;:19;;;1715:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;1831:4;1810:26;;:9;:26;;;1802:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1894:9;1886:5;;:17;;;;;;;;;;;;;;;;;;1651:260;:::o;727:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2300:512::-;846:5;;;;;;;;;;832:19;;:10;:19;;;:44;;;;869:7;;;;;;;;;;;855:21;;:10;:21;;;832:44;823:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;986:17:::1;:25;;;967:15;:44;;959:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;2398:17:::2;:39;2416:17;:20;;;2398:39;;;;;;;;;;;:48;2438:7;2398:48;;;;;;;;;;;;;;;;;;;;;;;;;2390:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;2541:17;:26;;;2516:21;:51;;2508:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;2622:7;2614:25;;:53;2640:17;:26;;;2614:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;2709:17;:26;;;2678:17;:27;;;:57;;;;;;;:::i;:::-;;;;;;;;2797:5;2746:17;:39;2764:17;:20;;;2746:39;;;;;;;;;;;:48;2786:7;2746:48;;;;;;;;;;;;;;;;:56;;;;;;;;;;;;;;;;;;2300:512:::0;:::o;3469:124::-;846:5;;;;;;;;;;832:19;;:10;:19;;;:44;;;;869:7;;;;;;;;;;;855:21;;:10;:21;;;832:44;823:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;986:17:::1;:25;;;967:15;:44;;959:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;3570:15:::2;3542:17;:25;;:43;;;;3469:124::o:0;6191:116::-;6245:7;6272:17;:27;;;6265:34;;6191:116;:::o;4583:1220::-;846:5;;;;;;;;;;832:19;;:10;:19;;;:44;;;;869:7;;;;;;;;;;;855:21;;:10;:21;;;832:44;823:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;1133:17:::1;:25;;;1115:15;:43;1107:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4726:1:::2;4708:8;:15;:19;4700:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4795:17;4850:3;4845:2;4815:17;:27;;;:32;;;;:::i;:::-;:38;;;;:::i;:::-;4795:58;;4871:9;4866:501;4890:8;:15;4886:1;:19;4866:501;;;4986:13;5015:1;5003:9;:13;;;;:::i;:::-;4986:31;;5116:21;5108:5;:29;5104:75;;;5158:5;;;5104:75;5268:8;5277:1;5268:11;;;;;;;;:::i;:::-;;;;;;;;5260:29;;:36;5290:5;5260:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;5324:5;5311:18;;;;;:::i;:::-;;;4912:455;4907:3;;;;;;;4866:501;;;;5407:1;5383:21;:25;5379:178;;;5505:7;;;;;;;;;;;5497:25;;:48;5523:21;5497:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;5379:178;5635:17;5658;5635:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5765:17;5783:1;5765:20;;;;;;;;:::i;:::-;;;;;;;;;;;;5745:17;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;4679:1124;4583:1220:::0;:::o;3882:637::-;986:17;:25;;;967:15;:44;;959:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;4026:5:::1;3971:60;;:17;:39;3989:17;:20;;;3971:39;;;;;;;;;;;:51;4011:10;3971:51;;;;;;;;;;;;;;;;;;;;;;;;;:60;;;3963:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;4102:17;:26;;;4089:9;:39;;4081:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;4254:10;4246:28;;:68;4287:17;:26;;;4275:9;:38;;;;:::i;:::-;4246:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;4414:17;:26;;;4383:17;:27;;;:57;;;;;;;:::i;:::-;;;;;;;;4505:4;4451:17;:39;4469:17;:20;;;4451:39;;;;;;;;;;;:51;4491:10;4451:51;;;;;;;;;;;;;;;;:58;;;;;;;;;;;;;;;;;;3882:637::o:0;6021:116::-;6072:13;6105:17;:24;;6098:31;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6021:116;:::o;373:20::-;;;;;;;;;;;;:::o;6373:341::-;6428:7;6437;6446;6455;6464:14;6513:17;:20;;;6548:17;:25;;;6588:17;:26;;;6629:17;:27;;;6671:17;:24;;6491:215;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6373:341;;;;;:::o;400:22::-;;;;;;;;;;;;;:::o;3664:143::-;3727:4;3751:17;:39;3769:17;:20;;;3751:39;;;;;;;;;;;:48;3791:7;3751:48;;;;;;;;;;;;;;;;;;;;;;;;;3744:55;;3664:143;;;:::o;2878:526::-;846:5;;;;;;;;;;832:19;;:10;:19;;;:44;;;;869:7;;;;;;;;;;;855:21;;:10;:21;;;832:44;823:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;3031:1:::1;3017:11;:15;3009:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;3162:12;;3160:14;;;;;:::i;:::-;;;;;;;3137:17;:20;;:37;;;;3212:7;;3185:17;:24;;:34;;;;;;;:::i;:::-;;3277:11;3259:15;:29;;;;:::i;:::-;3230:17;:25;;:59;;;;143:6;3329:9;:23;;;;:::i;:::-;3300:17;:26;;:52;;;;3393:1;3363:17;:27;;:31;;;;2878:526:::0;;;;:::o;1957:279::-;2043:7;;;;;;;;;;;2029:21;;:10;:21;;;2021:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;2150:4;2127:28;;:11;:28;;;2119:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;2217:11;2207:7;;:21;;;;;;;;;;;;;;;;;;1957:279;:::o;6766:443::-;6840:7;6849;6858;6867;6876:14;6925:17;6943:13;6925:32;;;;;;;;:::i;:::-;;;;;;;;;;;;:35;;;6975:17;6993:13;6975:32;;;;;;;;:::i;:::-;;;;;;;;;;;;:40;;;7030:17;7048:13;7030:32;;;;;;;;:::i;:::-;;;;;;;;;;;;:41;;;7086:17;7104:13;7086:32;;;;;;;;:::i;:::-;;;;;;;;;;;;:42;;;7143:17;7161:13;7143:32;;;;;;;;:::i;:::-;;;;;;;;;;;;:39;;6903:290;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6766:443;;;;;;;:::o;647:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;523:69::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:75::-;475:6;508:2;502:9;492:19;;442:75;:::o;523:117::-;632:1;629;622:12;646:117;755:1;752;745:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:99::-;1663:6;1697:5;1691:12;1681:22;;1611:99;;;:::o;1716:169::-;1800:11;1834:6;1829:3;1822:19;1874:4;1869:3;1865:14;1850:29;;1716:169;;;;:::o;1891:139::-;1980:6;1975:3;1970;1964:23;2021:1;2012:6;2007:3;2003:16;1996:27;1891:139;;;:::o;2036:102::-;2077:6;2128:2;2124:7;2119:2;2112:5;2108:14;2104:28;2094:38;;2036:102;;;:::o;2144:377::-;2232:3;2260:39;2293:5;2260:39;:::i;:::-;2315:71;2379:6;2374:3;2315:71;:::i;:::-;2308:78;;2395:65;2453:6;2448:3;2441:4;2434:5;2430:16;2395:65;:::i;:::-;2485:29;2507:6;2485:29;:::i;:::-;2480:3;2476:39;2469:46;;2236:285;2144:377;;;;:::o;2527:755::-;2752:4;2790:3;2779:9;2775:19;2767:27;;2804:71;2872:1;2861:9;2857:17;2848:6;2804:71;:::i;:::-;2885:72;2953:2;2942:9;2938:18;2929:6;2885:72;:::i;:::-;2967;3035:2;3024:9;3020:18;3011:6;2967:72;:::i;:::-;3049;3117:2;3106:9;3102:18;3093:6;3049:72;:::i;:::-;3169:9;3163:4;3159:20;3153:3;3142:9;3138:19;3131:49;3197:78;3270:4;3261:6;3197:78;:::i;:::-;3189:86;;2527:755;;;;;;;;:::o;3288:117::-;3397:1;3394;3387:12;3411:180;3459:77;3456:1;3449:88;3556:4;3553:1;3546:15;3580:4;3577:1;3570:15;3597:281;3680:27;3702:4;3680:27;:::i;:::-;3672:6;3668:40;3810:6;3798:10;3795:22;3774:18;3762:10;3759:34;3756:62;3753:88;;;3821:18;;:::i;:::-;3753:88;3861:10;3857:2;3850:22;3640:238;3597:281;;:::o;3884:129::-;3918:6;3945:20;;:::i;:::-;3935:30;;3974:33;4002:4;3994:6;3974:33;:::i;:::-;3884:129;;;:::o;4019:311::-;4096:4;4186:18;4178:6;4175:30;4172:56;;;4208:18;;:::i;:::-;4172:56;4258:4;4250:6;4246:17;4238:25;;4318:4;4312;4308:15;4300:23;;4019:311;;;:::o;4336:117::-;4445:1;4442;4435:12;4476:710;4572:5;4597:81;4613:64;4670:6;4613:64;:::i;:::-;4597:81;:::i;:::-;4588:90;;4698:5;4727:6;4720:5;4713:21;4761:4;4754:5;4750:16;4743:23;;4814:4;4806:6;4802:17;4794:6;4790:30;4843:3;4835:6;4832:15;4829:122;;;4862:79;;:::i;:::-;4829:122;4977:6;4960:220;4994:6;4989:3;4986:15;4960:220;;;5069:3;5098:37;5131:3;5119:10;5098:37;:::i;:::-;5093:3;5086:50;5165:4;5160:3;5156:14;5149:21;;5036:144;5020:4;5015:3;5011:14;5004:21;;4960:220;;;4964:21;4578:608;;4476:710;;;;;:::o;5209:370::-;5280:5;5329:3;5322:4;5314:6;5310:17;5306:27;5296:122;;5337:79;;:::i;:::-;5296:122;5454:6;5441:20;5479:94;5569:3;5561:6;5554:4;5546:6;5542:17;5479:94;:::i;:::-;5470:103;;5286:293;5209:370;;;;:::o;5585:539::-;5669:6;5718:2;5706:9;5697:7;5693:23;5689:32;5686:119;;;5724:79;;:::i;:::-;5686:119;5872:1;5861:9;5857:17;5844:31;5902:18;5894:6;5891:30;5888:117;;;5924:79;;:::i;:::-;5888:117;6029:78;6099:7;6090:6;6079:9;6075:22;6029:78;:::i;:::-;6019:88;;5815:302;5585:539;;;;:::o;6130:313::-;6243:4;6281:2;6270:9;6266:18;6258:26;;6330:9;6324:4;6320:20;6316:1;6305:9;6301:17;6294:47;6358:78;6431:4;6422:6;6358:78;:::i;:::-;6350:86;;6130:313;;;;:::o;6449:118::-;6536:24;6554:5;6536:24;:::i;:::-;6531:3;6524:37;6449:118;;:::o;6573:222::-;6666:4;6704:2;6693:9;6689:18;6681:26;;6717:71;6785:1;6774:9;6770:17;6761:6;6717:71;:::i;:::-;6573:222;;;;:::o;6801:90::-;6835:7;6878:5;6871:13;6864:21;6853:32;;6801:90;;;:::o;6897:109::-;6978:21;6993:5;6978:21;:::i;:::-;6973:3;6966:34;6897:109;;:::o;7012:210::-;7099:4;7137:2;7126:9;7122:18;7114:26;;7150:65;7212:1;7201:9;7197:17;7188:6;7150:65;:::i;:::-;7012:210;;;;:::o;7228:122::-;7301:24;7319:5;7301:24;:::i;:::-;7294:5;7291:35;7281:63;;7340:1;7337;7330:12;7281:63;7228:122;:::o;7356:139::-;7402:5;7440:6;7427:20;7418:29;;7456:33;7483:5;7456:33;:::i;:::-;7356:139;;;;:::o;7501:117::-;7610:1;7607;7600:12;7638:553;7696:8;7706:6;7756:3;7749:4;7741:6;7737:17;7733:27;7723:122;;7764:79;;:::i;:::-;7723:122;7877:6;7864:20;7854:30;;7907:18;7899:6;7896:30;7893:117;;;7929:79;;:::i;:::-;7893:117;8043:4;8035:6;8031:17;8019:29;;8097:3;8089:4;8081:6;8077:17;8067:8;8063:32;8060:41;8057:128;;;8104:79;;:::i;:::-;8057:128;7638:553;;;;;:::o;8197:819::-;8286:6;8294;8302;8310;8359:2;8347:9;8338:7;8334:23;8330:32;8327:119;;;8365:79;;:::i;:::-;8327:119;8485:1;8510:53;8555:7;8546:6;8535:9;8531:22;8510:53;:::i;:::-;8500:63;;8456:117;8612:2;8638:53;8683:7;8674:6;8663:9;8659:22;8638:53;:::i;:::-;8628:63;;8583:118;8768:2;8757:9;8753:18;8740:32;8799:18;8791:6;8788:30;8785:117;;;8821:79;;:::i;:::-;8785:117;8934:65;8991:7;8982:6;8971:9;8967:22;8934:65;:::i;:::-;8916:83;;;;8711:298;8197:819;;;;;;;:::o;9022:329::-;9081:6;9130:2;9118:9;9109:7;9105:23;9101:32;9098:119;;;9136:79;;:::i;:::-;9098:119;9256:1;9281:53;9326:7;9317:6;9306:9;9302:22;9281:53;:::i;:::-;9271:63;;9227:117;9022:329;;;;:::o;9357:474::-;9425:6;9433;9482:2;9470:9;9461:7;9457:23;9453:32;9450:119;;;9488:79;;:::i;:::-;9450:119;9608:1;9633:53;9678:7;9669:6;9658:9;9654:22;9633:53;:::i;:::-;9623:63;;9579:117;9735:2;9761:53;9806:7;9797:6;9786:9;9782:22;9761:53;:::i;:::-;9751:63;;9706:118;9357:474;;;;;:::o;9837:231::-;9977:34;9973:1;9965:6;9961:14;9954:58;10046:14;10041:2;10033:6;10029:15;10022:39;9837:231;:::o;10074:366::-;10216:3;10237:67;10301:2;10296:3;10237:67;:::i;:::-;10230:74;;10313:93;10402:3;10313:93;:::i;:::-;10431:2;10426:3;10422:12;10415:19;;10074:366;;;:::o;10446:419::-;10612:4;10650:2;10639:9;10635:18;10627:26;;10699:9;10693:4;10689:20;10685:1;10674:9;10670:17;10663:47;10727:131;10853:4;10727:131;:::i;:::-;10719:139;;10446:419;;;:::o;10871:221::-;11011:34;11007:1;10999:6;10995:14;10988:58;11080:4;11075:2;11067:6;11063:15;11056:29;10871:221;:::o;11098:366::-;11240:3;11261:67;11325:2;11320:3;11261:67;:::i;:::-;11254:74;;11337:93;11426:3;11337:93;:::i;:::-;11455:2;11450:3;11446:12;11439:19;;11098:366;;;:::o;11470:419::-;11636:4;11674:2;11663:9;11659:18;11651:26;;11723:9;11717:4;11713:20;11709:1;11698:9;11694:17;11687:47;11751:131;11877:4;11751:131;:::i;:::-;11743:139;;11470:419;;;:::o;11895:180::-;11943:77;11940:1;11933:88;12040:4;12037:1;12030:15;12064:4;12061:1;12054:15;12081:320;12125:6;12162:1;12156:4;12152:12;12142:22;;12209:1;12203:4;12199:12;12230:18;12220:81;;12286:4;12278:6;12274:17;12264:27;;12220:81;12348:2;12340:6;12337:14;12317:18;12314:38;12311:84;;12367:18;;:::i;:::-;12311:84;12132:269;12081:320;;;:::o;12407:160::-;12547:12;12543:1;12535:6;12531:14;12524:36;12407:160;:::o;12573:366::-;12715:3;12736:67;12800:2;12795:3;12736:67;:::i;:::-;12729:74;;12812:93;12901:3;12812:93;:::i;:::-;12930:2;12925:3;12921:12;12914:19;;12573:366;;;:::o;12945:419::-;13111:4;13149:2;13138:9;13134:18;13126:26;;13198:9;13192:4;13188:20;13184:1;13173:9;13169:17;13162:47;13226:131;13352:4;13226:131;:::i;:::-;13218:139;;12945:419;;;:::o;13370:175::-;13510:27;13506:1;13498:6;13494:14;13487:51;13370:175;:::o;13551:366::-;13693:3;13714:67;13778:2;13773:3;13714:67;:::i;:::-;13707:74;;13790:93;13879:3;13790:93;:::i;:::-;13908:2;13903:3;13899:12;13892:19;;13551:366;;;:::o;13923:419::-;14089:4;14127:2;14116:9;14112:18;14104:26;;14176:9;14170:4;14166:20;14162:1;14151:9;14147:17;14140:47;14204:131;14330:4;14204:131;:::i;:::-;14196:139;;13923:419;;;:::o;14348:233::-;14488:34;14484:1;14476:6;14472:14;14465:58;14557:16;14552:2;14544:6;14540:15;14533:41;14348:233;:::o;14587:366::-;14729:3;14750:67;14814:2;14809:3;14750:67;:::i;:::-;14743:74;;14826:93;14915:3;14826:93;:::i;:::-;14944:2;14939:3;14935:12;14928:19;;14587:366;;;:::o;14959:419::-;15125:4;15163:2;15152:9;15148:18;15140:26;;15212:9;15206:4;15202:20;15198:1;15187:9;15183:17;15176:47;15240:131;15366:4;15240:131;:::i;:::-;15232:139;;14959:419;;;:::o;15384:179::-;15524:31;15520:1;15512:6;15508:14;15501:55;15384:179;:::o;15569:366::-;15711:3;15732:67;15796:2;15791:3;15732:67;:::i;:::-;15725:74;;15808:93;15897:3;15808:93;:::i;:::-;15926:2;15921:3;15917:12;15910:19;;15569:366;;;:::o;15941:419::-;16107:4;16145:2;16134:9;16130:18;16122:26;;16194:9;16188:4;16184:20;16180:1;16169:9;16165:17;16158:47;16222:131;16348:4;16222:131;:::i;:::-;16214:139;;15941:419;;;:::o;16366:180::-;16414:77;16411:1;16404:88;16511:4;16508:1;16501:15;16535:4;16532:1;16525:15;16552:194;16592:4;16612:20;16630:1;16612:20;:::i;:::-;16607:25;;16646:20;16664:1;16646:20;:::i;:::-;16641:25;;16690:1;16687;16683:9;16675:17;;16714:1;16708:4;16705:11;16702:37;;;16719:18;;:::i;:::-;16702:37;16552:194;;;;:::o;16752:179::-;16892:31;16888:1;16880:6;16876:14;16869:55;16752:179;:::o;16937:366::-;17079:3;17100:67;17164:2;17159:3;17100:67;:::i;:::-;17093:74;;17176:93;17265:3;17176:93;:::i;:::-;17294:2;17289:3;17285:12;17278:19;;16937:366;;;:::o;17309:419::-;17475:4;17513:2;17502:9;17498:18;17490:26;;17562:9;17556:4;17552:20;17548:1;17537:9;17533:17;17526:47;17590:131;17716:4;17590:131;:::i;:::-;17582:139;;17309:419;;;:::o;17734:229::-;17874:34;17870:1;17862:6;17858:14;17851:58;17943:12;17938:2;17930:6;17926:15;17919:37;17734:229;:::o;17969:366::-;18111:3;18132:67;18196:2;18191:3;18132:67;:::i;:::-;18125:74;;18208:93;18297:3;18208:93;:::i;:::-;18326:2;18321:3;18317:12;18310:19;;17969:366;;;:::o;18341:419::-;18507:4;18545:2;18534:9;18530:18;18522:26;;18594:9;18588:4;18584:20;18580:1;18569:9;18565:17;18558:47;18622:131;18748:4;18622:131;:::i;:::-;18614:139;;18341:419;;;:::o;18766:410::-;18806:7;18829:20;18847:1;18829:20;:::i;:::-;18824:25;;18863:20;18881:1;18863:20;:::i;:::-;18858:25;;18918:1;18915;18911:9;18940:30;18958:11;18940:30;:::i;:::-;18929:41;;19119:1;19110:7;19106:15;19103:1;19100:22;19080:1;19073:9;19053:83;19030:139;;19149:18;;:::i;:::-;19030:139;18814:362;18766:410;;;;:::o;19182:180::-;19230:77;19227:1;19220:88;19327:4;19324:1;19317:15;19351:4;19348:1;19341:15;19368:185;19408:1;19425:20;19443:1;19425:20;:::i;:::-;19420:25;;19459:20;19477:1;19459:20;:::i;:::-;19454:25;;19498:1;19488:35;;19503:18;;:::i;:::-;19488:35;19545:1;19542;19538:9;19533:14;;19368:185;;;;:::o;19559:180::-;19607:77;19604:1;19597:88;19704:4;19701:1;19694:15;19728:4;19725:1;19718:15;19745:149;19794:6;19828:5;19822:12;19812:22;;19854:33;19880:6;19854:33;:::i;:::-;19844:43;;19745:149;;;:::o;19900:141::-;19949:4;19972:3;19964:11;;19995:3;19992:1;19985:14;20029:4;20026:1;20016:18;20008:26;;19900:141;;;:::o;20047:93::-;20084:6;20131:2;20126;20119:5;20115:14;20111:23;20101:33;;20047:93;;;:::o;20146:107::-;20190:8;20240:5;20234:4;20230:16;20209:37;;20146:107;;;;:::o;20259:393::-;20328:6;20378:1;20366:10;20362:18;20401:97;20431:66;20420:9;20401:97;:::i;:::-;20519:39;20549:8;20538:9;20519:39;:::i;:::-;20507:51;;20591:4;20587:9;20580:5;20576:21;20567:30;;20640:4;20630:8;20626:19;20619:5;20616:30;20606:40;;20335:317;;20259:393;;;;;:::o;20658:60::-;20686:3;20707:5;20700:12;;20658:60;;;:::o;20724:142::-;20774:9;20807:53;20825:34;20834:24;20852:5;20834:24;:::i;:::-;20825:34;:::i;:::-;20807:53;:::i;:::-;20794:66;;20724:142;;;:::o;20872:75::-;20915:3;20936:5;20929:12;;20872:75;;;:::o;20953:269::-;21063:39;21094:7;21063:39;:::i;:::-;21124:91;21173:41;21197:16;21173:41;:::i;:::-;21165:6;21158:4;21152:11;21124:91;:::i;:::-;21118:4;21111:105;21029:193;20953:269;;;:::o;21228:73::-;21273:3;21228:73;:::o;21307:189::-;21384:32;;:::i;:::-;21425:65;21483:6;21475;21469:4;21425:65;:::i;:::-;21360:136;21307:189;;:::o;21502:186::-;21562:120;21579:3;21572:5;21569:14;21562:120;;;21633:39;21670:1;21663:5;21633:39;:::i;:::-;21606:1;21599:5;21595:13;21586:22;;21562:120;;;21502:186;;:::o;21694:543::-;21795:2;21790:3;21787:11;21784:446;;;21829:38;21861:5;21829:38;:::i;:::-;21913:29;21931:10;21913:29;:::i;:::-;21903:8;21899:44;22096:2;22084:10;22081:18;22078:49;;;22117:8;22102:23;;22078:49;22140:80;22196:22;22214:3;22196:22;:::i;:::-;22186:8;22182:37;22169:11;22140:80;:::i;:::-;21799:431;;21784:446;21694:543;;;:::o;22243:117::-;22297:8;22347:5;22341:4;22337:16;22316:37;;22243:117;;;;:::o;22366:169::-;22410:6;22443:51;22491:1;22487:6;22479:5;22476:1;22472:13;22443:51;:::i;:::-;22439:56;22524:4;22518;22514:15;22504:25;;22417:118;22366:169;;;;:::o;22540:295::-;22616:4;22762:29;22787:3;22781:4;22762:29;:::i;:::-;22754:37;;22824:3;22821:1;22817:11;22811:4;22808:21;22800:29;;22540:295;;;;:::o;22840:1451::-;22951:3;22945:4;22942:13;22939:26;;22958:5;;;;22939:26;22989:34;23019:3;22989:34;:::i;:::-;23088:18;23080:6;23077:30;23074:56;;;23110:18;;:::i;:::-;23074:56;23154:38;23186:4;23180:11;23154:38;:::i;:::-;23239:67;23299:6;23291;23285:4;23239:67;:::i;:::-;23333:1;23362:2;23354:6;23351:14;23379:1;23374:672;;;;24090:1;24107:6;24104:77;;;24156:9;24151:3;24147:19;24141:26;24132:35;;24104:77;24207:67;24267:6;24260:5;24207:67;:::i;:::-;24201:4;24194:81;24063:222;23344:941;;23374:672;23426:4;23422:9;23414:6;23410:22;23452:36;23484:3;23452:36;:::i;:::-;23445:43;;23515:37;23547:4;23515:37;:::i;:::-;23574:1;23588:207;23602:7;23599:1;23596:14;23588:207;;;23681:9;23676:3;23672:19;23666:26;23658:6;23651:42;23732:1;23724:6;23720:14;23710:24;;23779:1;23768:9;23764:17;23751:30;;23625:4;23622:1;23618:12;23613:17;;23588:207;;;23823:6;23814:7;23811:19;23808:179;;;23881:9;23876:3;23872:19;23866:26;23924:48;23966:4;23958:6;23954:17;23943:9;23924:48;:::i;:::-;23916:6;23909:64;23831:156;23808:179;24033:1;24029;24021:6;24017:14;24013:22;24007:4;24000:36;23381:665;;;23344:941;;22929:1362;;;22840:1451;;;:::o;24297:221::-;24437:34;24433:1;24425:6;24421:14;24414:58;24506:4;24501:2;24493:6;24489:15;24482:29;24297:221;:::o;24524:366::-;24666:3;24687:67;24751:2;24746:3;24687:67;:::i;:::-;24680:74;;24763:93;24852:3;24763:93;:::i;:::-;24881:2;24876:3;24872:12;24865:19;;24524:366;;;:::o;24896:419::-;25062:4;25100:2;25089:9;25085:18;25077:26;;25149:9;25143:4;25139:20;25135:1;25124:9;25120:17;25113:47;25177:131;25303:4;25177:131;:::i;:::-;25169:139;;24896:419;;;:::o;25321:181::-;25461:33;25457:1;25449:6;25445:14;25438:57;25321:181;:::o;25508:366::-;25650:3;25671:67;25735:2;25730:3;25671:67;:::i;:::-;25664:74;;25747:93;25836:3;25747:93;:::i;:::-;25865:2;25860:3;25856:12;25849:19;;25508:366;;;:::o;25880:419::-;26046:4;26084:2;26073:9;26069:18;26061:26;;26133:9;26127:4;26123:20;26119:1;26108:9;26104:17;26097:47;26161:131;26287:4;26161:131;:::i;:::-;26153:139;;25880:419;;;:::o;26305:191::-;26345:3;26364:20;26382:1;26364:20;:::i;:::-;26359:25;;26398:20;26416:1;26398:20;:::i;:::-;26393:25;;26441:1;26438;26434:9;26427:16;;26462:3;26459:1;26456:10;26453:36;;;26469:18;;:::i;:::-;26453:36;26305:191;;;;:::o;26502:233::-;26642:34;26638:1;26630:6;26626:14;26619:58;26711:16;26706:2;26698:6;26694:15;26687:41;26502:233;:::o;26741:366::-;26883:3;26904:67;26968:2;26963:3;26904:67;:::i;:::-;26897:74;;26980:93;27069:3;26980:93;:::i;:::-;27098:2;27093:3;27089:12;27082:19;;26741:366;;;:::o;27113:419::-;27279:4;27317:2;27306:9;27302:18;27294:26;;27366:9;27360:4;27356:20;27352:1;27341:9;27337:17;27330:47;27394:131;27520:4;27394:131;:::i;:::-;27386:139;;27113:419;;;:::o;27538:233::-;27577:3;27600:24;27618:5;27600:24;:::i;:::-;27591:33;;27646:66;27639:5;27636:77;27633:103;;27716:18;;:::i;:::-;27633:103;27763:1;27756:5;27752:13;27745:20;;27538:233;;;:::o;27777:97::-;27836:6;27864:3;27854:13;;27777:97;;;;:::o;27880:1403::-;28004:44;28044:3;28039;28004:44;:::i;:::-;28113:18;28105:6;28102:30;28099:56;;;28135:18;;:::i;:::-;28099:56;28179:38;28211:4;28205:11;28179:38;:::i;:::-;28264:67;28324:6;28316;28310:4;28264:67;:::i;:::-;28358:1;28387:2;28379:6;28376:14;28404:1;28399:632;;;;29075:1;29092:6;29089:84;;;29148:9;29143:3;29139:19;29126:33;29117:42;;29089:84;29199:67;29259:6;29252:5;29199:67;:::i;:::-;29193:4;29186:81;29048:229;28369:908;;28399:632;28451:4;28447:9;28439:6;28435:22;28485:37;28517:4;28485:37;:::i;:::-;28544:1;28558:215;28572:7;28569:1;28566:14;28558:215;;;28658:9;28653:3;28649:19;28636:33;28628:6;28621:49;28709:1;28701:6;28697:14;28687:24;;28756:2;28745:9;28741:18;28728:31;;28595:4;28592:1;28588:12;28583:17;;28558:215;;;28801:6;28792:7;28789:19;28786:186;;;28866:9;28861:3;28857:19;28844:33;28909:48;28951:4;28943:6;28939:17;28928:9;28909:48;:::i;:::-;28901:6;28894:64;28809:163;28786:186;29018:1;29014;29006:6;29002:14;28998:22;28992:4;28985:36;28406:625;;;28369:908;;27979:1304;;;27880:1403;;;:::o;29289:240::-;29429:34;29425:1;29417:6;29413:14;29406:58;29498:23;29493:2;29485:6;29481:15;29474:48;29289:240;:::o;29535:366::-;29677:3;29698:67;29762:2;29757:3;29698:67;:::i;:::-;29691:74;;29774:93;29863:3;29774:93;:::i;:::-;29892:2;29887:3;29883:12;29876:19;;29535:366;;;:::o;29907:419::-;30073:4;30111:2;30100:9;30096:18;30088:26;;30160:9;30154:4;30150:20;30146:1;30135:9;30131:17;30124:47;30188:131;30314:4;30188:131;:::i;:::-;30180:139;;29907:419;;;:::o;30332:223::-;30472:34;30468:1;30460:6;30456:14;30449:58;30541:6;30536:2;30528:6;30524:15;30517:31;30332:223;:::o;30561:366::-;30703:3;30724:67;30788:2;30783:3;30724:67;:::i;:::-;30717:74;;30800:93;30889:3;30800:93;:::i;:::-;30918:2;30913:3;30909:12;30902:19;;30561:366;;;:::o;30933:419::-;31099:4;31137:2;31126:9;31122:18;31114:26;;31186:9;31180:4;31176:20;31172:1;31161:9;31157:17;31150:47;31214:131;31340:4;31214:131;:::i;:::-;31206:139;;30933:419;;;:::o

Swarm Source

ipfs://091a8cbcfeaa59e43de63e5e08faddadf284f65d44645c1541166285edd788b9

Block Transaction 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
[ Download: CSV Export  ]
[ 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.