ETH Price: $3,395.42 (-1.85%)
Gas: 6 Gwei

Contract

0xad6Fc8d1384614EAbA641B17B00dec180EF14BAe
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer152338182022-07-28 23:06:12721 days ago1659049572IN
Fake_Phishing298296
0 ETH0.0007866817.17582883
Transfer152338182022-07-28 23:06:12721 days ago1659049572IN
Fake_Phishing298296
0 ETH0.0007124215.5544026
Transfer151961442022-07-23 2:06:57727 days ago1658542017IN
Fake_Phishing298296
0 ETH0.000534168.49198403
Transfer151867472022-07-21 15:36:17728 days ago1658417777IN
Fake_Phishing298296
0 ETH0.0012855428.07477482
Transfer151846412022-07-21 7:42:01729 days ago1658389321IN
Fake_Phishing298296
0 ETH0.0008349713.27421905
Transfer151838952022-07-21 4:49:55729 days ago1658378995IN
Fake_Phishing298296
0 ETH0.0009855421.51747858
Transfer151717062022-07-19 7:28:04731 days ago1658215684IN
Fake_Phishing298296
0 ETH0.0007713612.26301499
Transfer151716712022-07-19 7:20:42731 days ago1658215242IN
Fake_Phishing298296
0 ETH0.0010844617.24061836
Transfer151716512022-07-19 7:13:51731 days ago1658214831IN
Fake_Phishing298296
0 ETH0.0007941212.62483564
Transfer151666912022-07-18 12:46:07731 days ago1658148367IN
Fake_Phishing298296
0 ETH0.0008586918.74799352
Transfer151607772022-07-17 14:48:16732 days ago1658069296IN
Fake_Phishing298296
0 ETH0.0027104543.09008791
Transfer150926432022-07-07 2:06:06743 days ago1657159566IN
Fake_Phishing298296
0 ETH0.0027241643.31633712
Transfer150574852022-07-01 15:49:37748 days ago1656690577IN
Fake_Phishing298296
0 ETH0.00631039100.32102242
Transfer150569572022-07-01 13:50:39748 days ago1656683439IN
Fake_Phishing298296
0 ETH0.0011582625.2884822
Transfer150565692022-07-01 12:17:49748 days ago1656677869IN
Fake_Phishing298296
0 ETH0.0007323111.64219461
Transfer150485272022-06-30 4:15:58750 days ago1656562558IN
Fake_Phishing298296
0 ETH0.0012512627.31908535
Transfer150283172022-06-26 9:29:43754 days ago1656235783IN
Fake_Phishing298296
0 ETH0.0014190822.56020893
Transfer150172492022-06-24 7:49:23756 days ago1656056963IN
Fake_Phishing298296
0 ETH0.0012541119.93766067
Transfer150129932022-06-23 12:43:47756 days ago1655988227IN
Fake_Phishing298296
0 ETH0.0050146479.72152599
Transfer150128022022-06-23 11:48:41756 days ago1655984921IN
Fake_Phishing298296
0 ETH0.0012173819.3537015
Transfer150124262022-06-23 10:13:32756 days ago1655979212IN
Fake_Phishing298296
0 ETH0.001713627.24239181
Transfer150111342022-06-23 4:18:38757 days ago1655957918IN
Fake_Phishing298296
0 ETH0.00207432.97194647
Transfer150087012022-06-22 17:21:02757 days ago1655918462IN
Fake_Phishing298296
0 ETH0.0023693151.7295595
Transfer150081382022-06-22 14:51:43757 days ago1655909503IN
Fake_Phishing298296
0 ETH0.002636557.56313649
Transfer150078532022-06-22 13:31:48757 days ago1655904708IN
Fake_Phishing298296
0 ETH0.0028285744.96789596
View all transactions

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

Contract Source Code Verified (Exact Match)

Contract Name:
PlatinumClubToken

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

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

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

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
   /**
    * @dev Throws if called by any account other than the owner.
    */ 
   modifier onlyOwner(){
        require(msg.sender == owner, 'Can be called by owner only');
        _;
    }
 
   /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */ 
   function transferOwnership(address newOwner) onlyOwner public{
        require(newOwner != address(0), 'Wrong new owner address');
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */ 
library SafeMath{
    function sub(uint a, uint b) internal pure returns (uint){
        assert(b <= a); 
        return a - b; 
    } 
  
    function add(uint a, uint b) internal pure returns (uint){ 
        uint c = a + b; assert(c >= a);
        return c;
    }
}

/**
 * @title PLTT token
 * @dev ERC20 Token implementation, with its own specific
 */
contract PlatinumClubToken is Ownable{
    using SafeMath for uint;
    
    // Tokent basic initialization
    string public constant name = "Platinum Club Logo Smart Room";
    string public constant symbol = "PCLSR";
    uint32 public constant decimals = 0;
    uint public totalSupply = 1000000;
    
    // Company is owned all tokens at start
    address public companyAddress = payable(address(0));
    // Transfers from addresses but the company are locked at start
    bool public transfersUnlocked = false;
    // Unlock transfers when this pool is empty (number of tokens required to be transfered to get unlocked)
    uint public unlockTransferRemain = 475000;
    // Manually unlocked addresses
    mapping (address => bool) public unlocked;

    mapping(address => uint) balances;
    mapping (address => mapping (address => uint)) internal allowed;
    
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
    event TransfersUnlocked();

    /** 
     * @dev Allow transfers to company and send it all tokens.
     */
    constructor(){
        owner = msg.sender;
        companyAddress = msg.sender;

        // Transfer all tokens to company address
        balances[companyAddress] = totalSupply;
        emit Transfer(address(0), companyAddress, totalSupply);

        // Allow transfers to company
        unlockAddress(companyAddress, true);
    }
    
    /** 
     * @dev Gets the balance of the specified address.
     * @param _owner The address to query the the balance of.
     * @return An uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address _owner) public view returns (uint){
        return balances[_owner];
    }
 
    /**
     * @dev Transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */ 
    function _transfer(address _to, uint _value) private returns (bool){
        require(msg.sender != address(0));
        require(_to != address(0));
        require(_to != address(this));
        require(transfersUnlocked || unlocked[msg.sender], 'Transfer is locked for you');
        require(_value > 0 && _value <= balances[msg.sender], 'Insufficient balance');

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        if(msg.sender == companyAddress){
            if(unlockTransferRemain > _value){
                unlockTransferRemain = unlockTransferRemain.sub(_value);
            }else{
                unlockTransferRemain = 0;
                transfersUnlocked = true;
                emit TransfersUnlocked();
            }
        }

        emit Transfer(msg.sender, _to, _value);

        return true; 
    }

    /**
     * @dev Transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */ 
    function transfer(address _to, uint _value) public returns (bool){
        return _transfer(_to, _value);
    } 
    
    /**
     * @dev Transfer several token for a specified addresses
     * @param _to The array of addresses to transfer to.
     * @param _value The array of amounts to be transferred.
     */ 
    function massTransfer(address[] memory _to, uint[] memory _value) public returns (bool){
        require(_to.length == _value.length);

        uint len = _to.length;
        for(uint i = 0; i < len; i++){
            if(!_transfer(_to[i], _value[i])){
                return false;
            }
        }
        return true;
    } 
    
    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */ 
    function transferFrom(address _from, address _to, uint _value) public returns (bool){
        require(msg.sender != address(0));
        require(_from != address(0));
        require(_to != address(0));
        require(_to != address(this));
        require(_value <= allowed[_from][msg.sender]);
        require(transfersUnlocked || unlocked[_from], 'Transfer is locked for address');
        require(_value > 0 && _value <= balances[_from], 'Insufficient balance');

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }
 
    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint _value) public returns (bool){
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
 
    /** 
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) public view returns (uint){
        return allowed[_owner][_spender]; 
    } 
 
    /**
     * @dev Increase approved amount of tokents that could be spent on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to be spent.
     */
    function increaseApproval(address _spender, uint _addedValue) public returns (bool){
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); 
        return true; 
    }
 
    /**
     * @dev Decrease approved amount of tokents that could be spent on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to be spent.
     */
    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool){
        uint oldValue = allowed[msg.sender][_spender];
        if(_subtractedValue > oldValue){
            allowed[msg.sender][_spender] = 0;
        }else{
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
    
    /**
     * @dev Emit new tokens and transfer from 0 to client address.
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */ 
    function mint(address _to, uint _value) onlyOwner public{
        require(_to != address(0));
        require(_to != address(this));
        require(_value > 0);
        
        totalSupply = totalSupply.add(_value);
        balances[_to] = balances[_to].add(_value);

        emit Transfer(address(0), _to, _value);
    }
    
    /**
     * @dev Burn tokens at some address.
     * @param _from The address where the tokens should be burned down.
     * @param _value The amount to be burned.
     */ 
    function burn(address _from, uint _value) onlyOwner public{
        require(_from != address(0));
        require(_from != address(this));
        require(_value > 0 && _value <= balances[_from], 'Insufficient balance');

        totalSupply = totalSupply.sub(_value);
        balances[_from] = balances[_from].sub(_value);

        emit Transfer(_from, address(0), _value);
    }

    /** 
     * @dev Manually unlock transfers from any address.
     * @param _addr Allowed address
     * @param status Unlock status: true = unlocked, false = locked
     */
    function unlockAddress(address _addr, bool status) onlyOwner public{
        unlocked[_addr] = status;
    }
  
    /** 
     * @dev Change company address. Be sure you have transferred tokens first.
     * @param _addr New company address
     */
    function setCompanyAddress(address _addr) onlyOwner public{
        companyAddress = _addr;
    }
  
    /** 
     * @dev Set lock flag manually.
     * @param isLocked Are transfers locked? true = locked, false = unlocked
     */
    function setLockState(bool isLocked) onlyOwner public{
        transfersUnlocked = !isLocked;
    }
  
    /** 
     * @dev Set new amount of tokens to be transfered before unlock. Transfers are also locked.
     * @param amount New amount of tokens.
     */
    function setTransferRemain(uint amount) onlyOwner public{
        unlockTransferRemain = amount;
        setLockState(true);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"TransfersUnlocked","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"companyAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_to","type":"address[]"},{"internalType":"uint256[]","name":"_value","type":"uint256[]"}],"name":"massTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setCompanyAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isLocked","type":"bool"}],"name":"setLockState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTransferRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transfersUnlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"unlockAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlockTransferRemain","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"unlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

6080604052620f42406001556000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260146101000a81548160ff02191690831515021790555062073f786003553480156200007c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015460056000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600154604051620001ea919062000334565b60405180910390a362000227600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200022d60201b60201c565b620003d4565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620002be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b590620003b2565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000819050919050565b6200032e8162000319565b82525050565b60006020820190506200034b600083018462000323565b92915050565b600082825260208201905092915050565b7f43616e2062652063616c6c6564206279206f776e6572206f6e6c790000000000600082015250565b60006200039a601b8362000351565b9150620003a78262000362565b602082019050919050565b60006020820190508181036000830152620003cd816200038b565b9050919050565b612a4280620003e46000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806360805e5a116100c35780639dc29fac1161007c5780639dc29fac146103c9578063a9059cbb146103e5578063d1846d0c14610415578063d73dd62314610445578063dd62ed3e14610475578063f2fde38b146104a557610158565b806360805e5a146102f5578063661884631461031157806370a08231146103415780638da5cb5b1461037157806393b269631461038f57806395d89b41146103ab57610158565b80631ae378a7116101155780631ae378a71461023357806323b872dd14610251578063313ce5671461028157806340c10f191461029f5780634f63a772146102bb57806353e1ead9146102d757610158565b806302af20951461015d57806306fdde031461018d578063095ea7b3146101ab578063167e007c146101db57806318160ddd146101f957806319b26f7c14610217575b600080fd5b610177600480360381019061017291906122e5565b6104c1565b6040516101849190612378565b60405180910390f35b61019561054f565b6040516101a2919061241b565b60405180910390f35b6101c560048036038101906101c0919061243d565b610588565b6040516101d29190612378565b60405180910390f35b6101e361067a565b6040516101f09190612378565b60405180910390f35b61020161068d565b60405161020e919061248c565b60405180910390f35b610231600480360381019061022c91906124a7565b610693565b005b61023b610735565b604051610248919061248c565b60405180910390f35b61026b600480360381019061026691906124d4565b61073b565b6040516102789190612378565b60405180910390f35b610289610c82565b6040516102969190612546565b60405180910390f35b6102b960048036038101906102b4919061243d565b610c87565b005b6102d560048036038101906102d09190612561565b610ead565b005b6102df610f7f565b6040516102ec919061259d565b60405180910390f35b61030f600480360381019061030a91906125e4565b610fa5565b005b61032b6004803603810190610326919061243d565b61108e565b6040516103389190612378565b60405180910390f35b61035b60048036038101906103569190612561565b61131f565b604051610368919061248c565b60405180910390f35b610379611368565b604051610386919061259d565b60405180910390f35b6103a960048036038101906103a49190612624565b61138c565b005b6103b3611438565b6040516103c0919061241b565b60405180910390f35b6103e360048036038101906103de919061243d565b611471565b005b6103ff60048036038101906103fa919061243d565b611718565b60405161040c9190612378565b60405180910390f35b61042f600480360381019061042a9190612561565b61172c565b60405161043c9190612378565b60405180910390f35b61045f600480360381019061045a919061243d565b61174c565b60405161046c9190612378565b60405180910390f35b61048f600480360381019061048a9190612651565b611948565b60405161049c919061248c565b60405180910390f35b6104bf60048036038101906104ba9190612561565b6119cf565b005b600081518351146104d157600080fd5b60008351905060005b81811015610542576105208582815181106104f8576104f7612691565b5b602002602001015185838151811061051357610512612691565b5b6020026020010151611b89565b61052f57600092505050610549565b808061053a906126ef565b9150506104da565b5060019150505b92915050565b6040518060400160405280601d81526020017f506c6174696e756d20436c7562204c6f676f20536d61727420526f6f6d00000081525081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610668919061248c565b60405180910390a36001905092915050565b600260149054906101000a900460ff1681565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890612783565b60405180910390fd5b80600381905550610732600161138c565b50565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361077557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107ae57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361081f57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108a857600080fd5b600260149054906101000a900460ff168061090c5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61094b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610942906127ef565b60405180910390fd5b60008211801561099a5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b6109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d09061285b565b60405180910390fd5b610a2b82600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ac082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9282600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6f919061248c565b60405180910390a3600190509392505050565b600081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d4e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8657600080fd5b60008111610d9357600080fd5b610da881600154611ff590919063ffffffff16565b600181905550610e0081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ea1919061248c565b60405180910390a35050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290612783565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90612783565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561119f576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611233565b6111b28382611fce90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161130c919061248c565b60405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190612783565b60405180910390fd5b8015600260146101000a81548160ff02191690831515021790555050565b6040518060400160405280600581526020017f50434c535200000000000000000000000000000000000000000000000000000081525081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f690612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361153857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361157057600080fd5b6000811180156115bf5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111155b6115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f59061285b565b60405180910390fd5b61161381600154611fce90919063ffffffff16565b60018190555061166b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161170c919061248c565b60405180910390a35050565b60006117248383611b89565b905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b60006117dd82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611936919061248c565b60405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5490612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac3906128c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611bc357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bfc57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c3457600080fd5b600260149054906101000a900460ff1680611c985750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90612933565b60405180910390fd5b600082118015611d265750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c9061285b565b60405180910390fd5b611db782600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4c82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611f5f57816003541115611f0e57611f0382600354611fce90919063ffffffff16565b600381905550611f5e565b60006003819055506001600260146101000a81548160ff0219169083151502179055507f1d8b2f61c84f331c359476b447a0ddc4fd75f10d265a30e609526e440cdc3a4760405160405180910390a15b5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fbc919061248c565b60405180910390a36001905092915050565b600082821115611fe157611fe0612953565b5b8183611fed9190612982565b905092915050565b600080828461200491906129b6565b90508381101561201757612016612953565b5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6120838261203a565b810181811067ffffffffffffffff821117156120a2576120a161204b565b5b80604052505050565b60006120b5612021565b90506120c1828261207a565b919050565b600067ffffffffffffffff8211156120e1576120e061204b565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612122826120f7565b9050919050565b61213281612117565b811461213d57600080fd5b50565b60008135905061214f81612129565b92915050565b6000612168612163846120c6565b6120ab565b9050808382526020820190506020840283018581111561218b5761218a6120f2565b5b835b818110156121b457806121a08882612140565b84526020840193505060208101905061218d565b5050509392505050565b600082601f8301126121d3576121d2612035565b5b81356121e3848260208601612155565b91505092915050565b600067ffffffffffffffff8211156122075761220661204b565b5b602082029050602081019050919050565b6000819050919050565b61222b81612218565b811461223657600080fd5b50565b60008135905061224881612222565b92915050565b600061226161225c846121ec565b6120ab565b90508083825260208201905060208402830185811115612284576122836120f2565b5b835b818110156122ad57806122998882612239565b845260208401935050602081019050612286565b5050509392505050565b600082601f8301126122cc576122cb612035565b5b81356122dc84826020860161224e565b91505092915050565b600080604083850312156122fc576122fb61202b565b5b600083013567ffffffffffffffff81111561231a57612319612030565b5b612326858286016121be565b925050602083013567ffffffffffffffff81111561234757612346612030565b5b612353858286016122b7565b9150509250929050565b60008115159050919050565b6123728161235d565b82525050565b600060208201905061238d6000830184612369565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123cd5780820151818401526020810190506123b2565b838111156123dc576000848401525b50505050565b60006123ed82612393565b6123f7818561239e565b93506124078185602086016123af565b6124108161203a565b840191505092915050565b6000602082019050818103600083015261243581846123e2565b905092915050565b600080604083850312156124545761245361202b565b5b600061246285828601612140565b925050602061247385828601612239565b9150509250929050565b61248681612218565b82525050565b60006020820190506124a1600083018461247d565b92915050565b6000602082840312156124bd576124bc61202b565b5b60006124cb84828501612239565b91505092915050565b6000806000606084860312156124ed576124ec61202b565b5b60006124fb86828701612140565b935050602061250c86828701612140565b925050604061251d86828701612239565b9150509250925092565b600063ffffffff82169050919050565b61254081612527565b82525050565b600060208201905061255b6000830184612537565b92915050565b6000602082840312156125775761257661202b565b5b600061258584828501612140565b91505092915050565b61259781612117565b82525050565b60006020820190506125b2600083018461258e565b92915050565b6125c18161235d565b81146125cc57600080fd5b50565b6000813590506125de816125b8565b92915050565b600080604083850312156125fb576125fa61202b565b5b600061260985828601612140565b925050602061261a858286016125cf565b9150509250929050565b60006020828403121561263a5761263961202b565b5b6000612648848285016125cf565b91505092915050565b600080604083850312156126685761266761202b565b5b600061267685828601612140565b925050602061268785828601612140565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126fa82612218565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361272c5761272b6126c0565b5b600182019050919050565b7f43616e2062652063616c6c6564206279206f776e6572206f6e6c790000000000600082015250565b600061276d601b8361239e565b915061277882612737565b602082019050919050565b6000602082019050818103600083015261279c81612760565b9050919050565b7f5472616e73666572206973206c6f636b656420666f7220616464726573730000600082015250565b60006127d9601e8361239e565b91506127e4826127a3565b602082019050919050565b60006020820190508181036000830152612808816127cc565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061284560148361239e565b91506128508261280f565b602082019050919050565b6000602082019050818103600083015261287481612838565b9050919050565b7f57726f6e67206e6577206f776e65722061646472657373000000000000000000600082015250565b60006128b160178361239e565b91506128bc8261287b565b602082019050919050565b600060208201905081810360008301526128e0816128a4565b9050919050565b7f5472616e73666572206973206c6f636b656420666f7220796f75000000000000600082015250565b600061291d601a8361239e565b9150612928826128e7565b602082019050919050565b6000602082019050818103600083015261294c81612910565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600061298d82612218565b915061299883612218565b9250828210156129ab576129aa6126c0565b5b828203905092915050565b60006129c182612218565b91506129cc83612218565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a0157612a006126c0565b5b82820190509291505056fea2646970667358221220a8f596edd976dbadd722200f4d1fab48bf470d850dcb3550f52c56d38d253f4064736f6c634300080d0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806360805e5a116100c35780639dc29fac1161007c5780639dc29fac146103c9578063a9059cbb146103e5578063d1846d0c14610415578063d73dd62314610445578063dd62ed3e14610475578063f2fde38b146104a557610158565b806360805e5a146102f5578063661884631461031157806370a08231146103415780638da5cb5b1461037157806393b269631461038f57806395d89b41146103ab57610158565b80631ae378a7116101155780631ae378a71461023357806323b872dd14610251578063313ce5671461028157806340c10f191461029f5780634f63a772146102bb57806353e1ead9146102d757610158565b806302af20951461015d57806306fdde031461018d578063095ea7b3146101ab578063167e007c146101db57806318160ddd146101f957806319b26f7c14610217575b600080fd5b610177600480360381019061017291906122e5565b6104c1565b6040516101849190612378565b60405180910390f35b61019561054f565b6040516101a2919061241b565b60405180910390f35b6101c560048036038101906101c0919061243d565b610588565b6040516101d29190612378565b60405180910390f35b6101e361067a565b6040516101f09190612378565b60405180910390f35b61020161068d565b60405161020e919061248c565b60405180910390f35b610231600480360381019061022c91906124a7565b610693565b005b61023b610735565b604051610248919061248c565b60405180910390f35b61026b600480360381019061026691906124d4565b61073b565b6040516102789190612378565b60405180910390f35b610289610c82565b6040516102969190612546565b60405180910390f35b6102b960048036038101906102b4919061243d565b610c87565b005b6102d560048036038101906102d09190612561565b610ead565b005b6102df610f7f565b6040516102ec919061259d565b60405180910390f35b61030f600480360381019061030a91906125e4565b610fa5565b005b61032b6004803603810190610326919061243d565b61108e565b6040516103389190612378565b60405180910390f35b61035b60048036038101906103569190612561565b61131f565b604051610368919061248c565b60405180910390f35b610379611368565b604051610386919061259d565b60405180910390f35b6103a960048036038101906103a49190612624565b61138c565b005b6103b3611438565b6040516103c0919061241b565b60405180910390f35b6103e360048036038101906103de919061243d565b611471565b005b6103ff60048036038101906103fa919061243d565b611718565b60405161040c9190612378565b60405180910390f35b61042f600480360381019061042a9190612561565b61172c565b60405161043c9190612378565b60405180910390f35b61045f600480360381019061045a919061243d565b61174c565b60405161046c9190612378565b60405180910390f35b61048f600480360381019061048a9190612651565b611948565b60405161049c919061248c565b60405180910390f35b6104bf60048036038101906104ba9190612561565b6119cf565b005b600081518351146104d157600080fd5b60008351905060005b81811015610542576105208582815181106104f8576104f7612691565b5b602002602001015185838151811061051357610512612691565b5b6020026020010151611b89565b61052f57600092505050610549565b808061053a906126ef565b9150506104da565b5060019150505b92915050565b6040518060400160405280601d81526020017f506c6174696e756d20436c7562204c6f676f20536d61727420526f6f6d00000081525081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610668919061248c565b60405180910390a36001905092915050565b600260149054906101000a900460ff1681565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890612783565b60405180910390fd5b80600381905550610732600161138c565b50565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361077557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107ae57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361081f57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108a857600080fd5b600260149054906101000a900460ff168061090c5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61094b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610942906127ef565b60405180910390fd5b60008211801561099a5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b6109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d09061285b565b60405180910390fd5b610a2b82600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ac082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9282600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6f919061248c565b60405180910390a3600190509392505050565b600081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d4e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8657600080fd5b60008111610d9357600080fd5b610da881600154611ff590919063ffffffff16565b600181905550610e0081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ea1919061248c565b60405180910390a35050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290612783565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90612783565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561119f576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611233565b6111b28382611fce90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161130c919061248c565b60405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190612783565b60405180910390fd5b8015600260146101000a81548160ff02191690831515021790555050565b6040518060400160405280600581526020017f50434c535200000000000000000000000000000000000000000000000000000081525081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f690612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361153857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361157057600080fd5b6000811180156115bf5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111155b6115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f59061285b565b60405180910390fd5b61161381600154611fce90919063ffffffff16565b60018190555061166b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161170c919061248c565b60405180910390a35050565b60006117248383611b89565b905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b60006117dd82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611936919061248c565b60405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5490612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac3906128c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611bc357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bfc57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c3457600080fd5b600260149054906101000a900460ff1680611c985750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90612933565b60405180910390fd5b600082118015611d265750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c9061285b565b60405180910390fd5b611db782600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4c82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611f5f57816003541115611f0e57611f0382600354611fce90919063ffffffff16565b600381905550611f5e565b60006003819055506001600260146101000a81548160ff0219169083151502179055507f1d8b2f61c84f331c359476b447a0ddc4fd75f10d265a30e609526e440cdc3a4760405160405180910390a15b5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fbc919061248c565b60405180910390a36001905092915050565b600082821115611fe157611fe0612953565b5b8183611fed9190612982565b905092915050565b600080828461200491906129b6565b90508381101561201757612016612953565b5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6120838261203a565b810181811067ffffffffffffffff821117156120a2576120a161204b565b5b80604052505050565b60006120b5612021565b90506120c1828261207a565b919050565b600067ffffffffffffffff8211156120e1576120e061204b565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612122826120f7565b9050919050565b61213281612117565b811461213d57600080fd5b50565b60008135905061214f81612129565b92915050565b6000612168612163846120c6565b6120ab565b9050808382526020820190506020840283018581111561218b5761218a6120f2565b5b835b818110156121b457806121a08882612140565b84526020840193505060208101905061218d565b5050509392505050565b600082601f8301126121d3576121d2612035565b5b81356121e3848260208601612155565b91505092915050565b600067ffffffffffffffff8211156122075761220661204b565b5b602082029050602081019050919050565b6000819050919050565b61222b81612218565b811461223657600080fd5b50565b60008135905061224881612222565b92915050565b600061226161225c846121ec565b6120ab565b90508083825260208201905060208402830185811115612284576122836120f2565b5b835b818110156122ad57806122998882612239565b845260208401935050602081019050612286565b5050509392505050565b600082601f8301126122cc576122cb612035565b5b81356122dc84826020860161224e565b91505092915050565b600080604083850312156122fc576122fb61202b565b5b600083013567ffffffffffffffff81111561231a57612319612030565b5b612326858286016121be565b925050602083013567ffffffffffffffff81111561234757612346612030565b5b612353858286016122b7565b9150509250929050565b60008115159050919050565b6123728161235d565b82525050565b600060208201905061238d6000830184612369565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123cd5780820151818401526020810190506123b2565b838111156123dc576000848401525b50505050565b60006123ed82612393565b6123f7818561239e565b93506124078185602086016123af565b6124108161203a565b840191505092915050565b6000602082019050818103600083015261243581846123e2565b905092915050565b600080604083850312156124545761245361202b565b5b600061246285828601612140565b925050602061247385828601612239565b9150509250929050565b61248681612218565b82525050565b60006020820190506124a1600083018461247d565b92915050565b6000602082840312156124bd576124bc61202b565b5b60006124cb84828501612239565b91505092915050565b6000806000606084860312156124ed576124ec61202b565b5b60006124fb86828701612140565b935050602061250c86828701612140565b925050604061251d86828701612239565b9150509250925092565b600063ffffffff82169050919050565b61254081612527565b82525050565b600060208201905061255b6000830184612537565b92915050565b6000602082840312156125775761257661202b565b5b600061258584828501612140565b91505092915050565b61259781612117565b82525050565b60006020820190506125b2600083018461258e565b92915050565b6125c18161235d565b81146125cc57600080fd5b50565b6000813590506125de816125b8565b92915050565b600080604083850312156125fb576125fa61202b565b5b600061260985828601612140565b925050602061261a858286016125cf565b9150509250929050565b60006020828403121561263a5761263961202b565b5b6000612648848285016125cf565b91505092915050565b600080604083850312156126685761266761202b565b5b600061267685828601612140565b925050602061268785828601612140565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126fa82612218565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361272c5761272b6126c0565b5b600182019050919050565b7f43616e2062652063616c6c6564206279206f776e6572206f6e6c790000000000600082015250565b600061276d601b8361239e565b915061277882612737565b602082019050919050565b6000602082019050818103600083015261279c81612760565b9050919050565b7f5472616e73666572206973206c6f636b656420666f7220616464726573730000600082015250565b60006127d9601e8361239e565b91506127e4826127a3565b602082019050919050565b60006020820190508181036000830152612808816127cc565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061284560148361239e565b91506128508261280f565b602082019050919050565b6000602082019050818103600083015261287481612838565b9050919050565b7f57726f6e67206e6577206f776e65722061646472657373000000000000000000600082015250565b60006128b160178361239e565b91506128bc8261287b565b602082019050919050565b600060208201905081810360008301526128e0816128a4565b9050919050565b7f5472616e73666572206973206c6f636b656420666f7220796f75000000000000600082015250565b600061291d601a8361239e565b9150612928826128e7565b602082019050919050565b6000602082019050818103600083015261294c81612910565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600061298d82612218565b915061299883612218565b9250828210156129ab576129aa6126c0565b5b828203905092915050565b60006129c182612218565b91506129cc83612218565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a0157612a006126c0565b5b82820190509291505056fea2646970667358221220a8f596edd976dbadd722200f4d1fab48bf470d850dcb3550f52c56d38d253f4064736f6c634300080d0033

Deployed Bytecode Sourcemap

1465:9184:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4904:343;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1581:61;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6537:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1955:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1737:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10513:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2109:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5550:735;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1695:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8635:332;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9999:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1828:51;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9739:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7992:445;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3204:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;283:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10242:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1649:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9160:389;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4577:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2193:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7460:281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7082:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;772:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4904:343;4986:4;5024:6;:13;5010:3;:10;:27;5002:36;;;;;;5051:8;5062:3;:10;5051:21;;5087:6;5083:135;5103:3;5099:1;:7;5083:135;;;5131:28;5141:3;5145:1;5141:6;;;;;;;;:::i;:::-;;;;;;;;5149;5156:1;5149:9;;;;;;;;:::i;:::-;;;;;;;;5131;:28::i;:::-;5127:80;;5186:5;5179:12;;;;;;5127:80;5108:3;;;;;:::i;:::-;;;;5083:135;;;;5235:4;5228:11;;;4904:343;;;;;:::o;1581:61::-;;;;;;;;;;;;;;;;;;;:::o;6537:202::-;6601:4;6649:6;6617:7;:19;6625:10;6617:19;;;;;;;;;;;;;;;:29;6637:8;6617:29;;;;;;;;;;;;;;;:38;;;;6692:8;6671:38;;6680:10;6671:38;;;6702:6;6671:38;;;;;;:::i;:::-;;;;;;;;6727:4;6720:11;;6537:202;;;;:::o;1955:37::-;;;;;;;;;;;;;:::o;1737:33::-;;;;:::o;10513:133::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10603:6:::1;10580:20;:29;;;;10620:18;10633:4;10620:12;:18::i;:::-;10513:133:::0;:::o;2109:41::-;;;;:::o;5550:735::-;5629:4;5675:1;5653:24;;:10;:24;;;5645:33;;;;;;5714:1;5697:19;;:5;:19;;;5689:28;;;;;;5751:1;5736:17;;:3;:17;;;5728:26;;;;;;5788:4;5773:20;;:3;:20;;;5765:29;;;;;;5823:7;:14;5831:5;5823:14;;;;;;;;;;;;;;;:26;5838:10;5823:26;;;;;;;;;;;;;;;;5813:6;:36;;5805:45;;;;;;5869:17;;;;;;;;;;;:36;;;;5890:8;:15;5899:5;5890:15;;;;;;;;;;;;;;;;;;;;;;;;;5869:36;5861:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5968:1;5959:6;:10;:39;;;;;5983:8;:15;5992:5;5983:15;;;;;;;;;;;;;;;;5973:6;:25;;5959:39;5951:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6054:27;6074:6;6054:8;:15;6063:5;6054:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;6036:8;:15;6045:5;6036:15;;;;;;;;;;;;;;;:45;;;;6108:25;6126:6;6108:8;:13;6117:3;6108:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6092:8;:13;6101:3;6092:13;;;;;;;;;;;;;;;:41;;;;6173:38;6204:6;6173:7;:14;6181:5;6173:14;;;;;;;;;;;;;;;:26;6188:10;6173:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;6144:7;:14;6152:5;6144:14;;;;;;;;;;;;;;;:26;6159:10;6144:26;;;;;;;;;;;;;;;:67;;;;6243:3;6227:28;;6236:5;6227:28;;;6248:6;6227:28;;;;;;:::i;:::-;;;;;;;;6273:4;6266:11;;5550:735;;;;;:::o;1695:35::-;1729:1;1695:35;:::o;8635:332::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8725:1:::1;8710:17;;:3;:17;;::::0;8702:26:::1;;;::::0;::::1;;8762:4;8747:20;;:3;:20;;::::0;8739:29:::1;;;::::0;::::1;;8796:1;8787:6;:10;8779:19;;;::::0;::::1;;8833:23;8849:6;8833:11;;:15;;:23;;;;:::i;:::-;8819:11;:37;;;;8883:25;8901:6;8883:8;:13;8892:3;8883:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8867:8;:13;8876:3;8867:13;;;;;;;;;;;;;;;:41;;;;8947:3;8926:33;;8943:1;8926:33;;;8952:6;8926:33;;;;;;:::i;:::-;;;;;;;;8635:332:::0;;:::o;9999:99::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10085:5:::1;10068:14;;:22;;;;;;;;;;;;;;;;;;9999:99:::0;:::o;1828:51::-;;;;;;;;;;;;;:::o;9739:110::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9835:6:::1;9817:8;:15;9826:5;9817:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;9739:110:::0;;:::o;7992:445::-;8075:4;8091:13;8107:7;:19;8115:10;8107:19;;;;;;;;;;;;;;;:29;8127:8;8107:29;;;;;;;;;;;;;;;;8091:45;;8169:8;8150:16;:27;8147:184;;;8225:1;8193:7;:19;8201:10;8193:19;;;;;;;;;;;;;;;:29;8213:8;8193:29;;;;;;;;;;;;;;;:33;;;;8147:184;;;8289:30;8302:16;8289:8;:12;;:30;;;;:::i;:::-;8257:7;:19;8265:10;8257:19;;;;;;;;;;;;;;;:29;8277:8;8257:29;;;;;;;;;;;;;;;:62;;;;8147:184;8367:8;8346:61;;8355:10;8346:61;;;8377:7;:19;8385:10;8377:19;;;;;;;;;;;;;;;:29;8397:8;8377:29;;;;;;;;;;;;;;;;8346:61;;;;;;:::i;:::-;;;;;;;;8425:4;8418:11;;;7992:445;;;;:::o;3204:103::-;3260:4;3283:8;:16;3292:6;3283:16;;;;;;;;;;;;;;;;3276:23;;3204:103;;;:::o;283:20::-;;;;;;;;;;;;:::o;10242:101::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10327:8:::1;10326:9;10306:17;;:29;;;;;;;;;;;;;;;;;;10242:101:::0;:::o;1649:39::-;;;;;;;;;;;;;;;;;;;:::o;9160:389::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9254:1:::1;9237:19;;:5;:19;;::::0;9229:28:::1;;;::::0;::::1;;9293:4;9276:22;;:5;:22;;::::0;9268:31:::1;;;::::0;::::1;;9327:1;9318:6;:10;:39;;;;;9342:8;:15;9351:5;9342:15;;;;;;;;;;;;;;;;9332:6;:25;;9318:39;9310:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9409:23;9425:6;9409:11;;:15;;:23;;;;:::i;:::-;9395:11;:37;;;;9461:27;9481:6;9461:8;:15;9470:5;9461:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9443:8;:15;9452:5;9443:15;;;;;;;;;;;;;;;:45;;;;9530:1;9506:35;;9515:5;9506:35;;;9534:6;9506:35;;;;;;:::i;:::-;;;;;;;;9160:389:::0;;:::o;4577:113::-;4637:4;4660:22;4670:3;4675:6;4660:9;:22::i;:::-;4653:29;;4577:113;;;;:::o;2193:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;7460:281::-;7538:4;7586:46;7620:11;7586:7;:19;7594:10;7586:19;;;;;;;;;;;;;;;:29;7606:8;7586:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;7554:7;:19;7562:10;7554:19;;;;;;;;;;;;;;;:29;7574:8;7554:29;;;;;;;;;;;;;;;:78;;;;7669:8;7648:61;;7657:10;7648:61;;;7679:7;:19;7687:10;7679:19;;;;;;;;;;;;;;;:29;7699:8;7679:29;;;;;;;;;;;;;;;;7648:61;;;;;;:::i;:::-;;;;;;;;7728:4;7721:11;;7460:281;;;;:::o;7082:131::-;7156:4;7179:7;:15;7187:6;7179:15;;;;;;;;;;;;;;;:25;7195:8;7179:25;;;;;;;;;;;;;;;;7172:32;;7082:131;;;;:::o;772:218::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;872:1:::1;852:22;;:8;:22;;::::0;844:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;946:8;918:37;;939:5;::::0;::::1;;;;;;;;918:37;;;;;;;;;;;;974:8;966:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;772:218:::0;:::o;3486:913::-;3548:4;3594:1;3572:24;;:10;:24;;;3564:33;;;;;;3631:1;3616:17;;:3;:17;;;3608:26;;;;;;3668:4;3653:20;;:3;:20;;;3645:29;;;;;;3693:17;;;;;;;;;;;:41;;;;3714:8;:20;3723:10;3714:20;;;;;;;;;;;;;;;;;;;;;;;;;3693:41;3685:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;3793:1;3784:6;:10;:44;;;;;3808:8;:20;3817:10;3808:20;;;;;;;;;;;;;;;;3798:6;:30;;3784:44;3776:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;3889:32;3914:6;3889:8;:20;3898:10;3889:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3866:8;:20;3875:10;3866:20;;;;;;;;;;;;;;;:55;;;;3948:25;3966:6;3948:8;:13;3957:3;3948:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3932:8;:13;3941:3;3932:13;;;;;;;;;;;;;;;:41;;;;4003:14;;;;;;;;;;;3989:28;;:10;:28;;;3986:330;;4059:6;4036:20;;:29;4033:272;;;4108:32;4133:6;4108:20;;:24;;:32;;;;:::i;:::-;4085:20;:55;;;;4033:272;;;4202:1;4179:20;:24;;;;4242:4;4222:17;;:24;;;;;;;;;;;;;;;;;;4270:19;;;;;;;;;;4033:272;3986:330;4354:3;4333:33;;4342:10;4333:33;;;4359:6;4333:33;;;;;;:::i;:::-;;;;;;;;4386:4;4379:11;;3486:913;;;;:::o;1115:115::-;1167:4;1195:1;1190;:6;;1183:14;;;;:::i;:::-;;1220:1;1216;:5;;;;:::i;:::-;1209:12;;1115:115;;;;:::o;1241:126::-;1293:4;1310:6;1323:1;1319;:5;;;;:::i;:::-;1310:14;;1338:1;1333;:6;;1326:14;;;;:::i;:::-;;1358:1;1351:8;;;1241:126;;;;:::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:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:311::-;3323:4;3413:18;3405:6;3402:30;3399:56;;;3435:18;;:::i;:::-;3399:56;3485:4;3477:6;3473:17;3465:25;;3545:4;3539;3535:15;3527:23;;3246:311;;;:::o;3563:77::-;3600:7;3629:5;3618:16;;3563:77;;;:::o;3646:122::-;3719:24;3737:5;3719:24;:::i;:::-;3712:5;3709:35;3699:63;;3758:1;3755;3748:12;3699:63;3646:122;:::o;3774:139::-;3820:5;3858:6;3845:20;3836:29;;3874:33;3901:5;3874:33;:::i;:::-;3774:139;;;;:::o;3936:710::-;4032:5;4057:81;4073:64;4130:6;4073:64;:::i;:::-;4057:81;:::i;:::-;4048:90;;4158:5;4187:6;4180:5;4173:21;4221:4;4214:5;4210:16;4203:23;;4274:4;4266:6;4262:17;4254:6;4250:30;4303:3;4295:6;4292:15;4289:122;;;4322:79;;:::i;:::-;4289:122;4437:6;4420:220;4454:6;4449:3;4446:15;4420:220;;;4529:3;4558:37;4591:3;4579:10;4558:37;:::i;:::-;4553:3;4546:50;4625:4;4620:3;4616:14;4609:21;;4496:144;4480:4;4475:3;4471:14;4464:21;;4420:220;;;4424:21;4038:608;;3936:710;;;;;:::o;4669:370::-;4740:5;4789:3;4782:4;4774:6;4770:17;4766:27;4756:122;;4797:79;;:::i;:::-;4756:122;4914:6;4901:20;4939:94;5029:3;5021:6;5014:4;5006:6;5002:17;4939:94;:::i;:::-;4930:103;;4746:293;4669:370;;;;:::o;5045:894::-;5163:6;5171;5220:2;5208:9;5199:7;5195:23;5191:32;5188:119;;;5226:79;;:::i;:::-;5188:119;5374:1;5363:9;5359:17;5346:31;5404:18;5396:6;5393:30;5390:117;;;5426:79;;:::i;:::-;5390:117;5531:78;5601:7;5592:6;5581:9;5577:22;5531:78;:::i;:::-;5521:88;;5317:302;5686:2;5675:9;5671:18;5658:32;5717:18;5709:6;5706:30;5703:117;;;5739:79;;:::i;:::-;5703:117;5844:78;5914:7;5905:6;5894:9;5890:22;5844:78;:::i;:::-;5834:88;;5629:303;5045:894;;;;;:::o;5945:90::-;5979:7;6022:5;6015:13;6008:21;5997:32;;5945:90;;;:::o;6041:109::-;6122:21;6137:5;6122:21;:::i;:::-;6117:3;6110:34;6041:109;;:::o;6156:210::-;6243:4;6281:2;6270:9;6266:18;6258:26;;6294:65;6356:1;6345:9;6341:17;6332:6;6294:65;:::i;:::-;6156:210;;;;:::o;6372:99::-;6424:6;6458:5;6452:12;6442:22;;6372:99;;;:::o;6477:169::-;6561:11;6595:6;6590:3;6583:19;6635:4;6630:3;6626:14;6611:29;;6477:169;;;;:::o;6652:307::-;6720:1;6730:113;6744:6;6741:1;6738:13;6730:113;;;6829:1;6824:3;6820:11;6814:18;6810:1;6805:3;6801:11;6794:39;6766:2;6763:1;6759:10;6754:15;;6730:113;;;6861:6;6858:1;6855:13;6852:101;;;6941:1;6932:6;6927:3;6923:16;6916:27;6852:101;6701:258;6652:307;;;:::o;6965:364::-;7053:3;7081:39;7114:5;7081:39;:::i;:::-;7136:71;7200:6;7195:3;7136:71;:::i;:::-;7129:78;;7216:52;7261:6;7256:3;7249:4;7242:5;7238:16;7216:52;:::i;:::-;7293:29;7315:6;7293:29;:::i;:::-;7288:3;7284:39;7277:46;;7057:272;6965:364;;;;:::o;7335:313::-;7448:4;7486:2;7475:9;7471:18;7463:26;;7535:9;7529:4;7525:20;7521:1;7510:9;7506:17;7499:47;7563:78;7636:4;7627:6;7563:78;:::i;:::-;7555:86;;7335:313;;;;:::o;7654:474::-;7722:6;7730;7779:2;7767:9;7758:7;7754:23;7750:32;7747:119;;;7785:79;;:::i;:::-;7747:119;7905:1;7930:53;7975:7;7966:6;7955:9;7951:22;7930:53;:::i;:::-;7920:63;;7876:117;8032:2;8058:53;8103:7;8094:6;8083:9;8079:22;8058:53;:::i;:::-;8048:63;;8003:118;7654:474;;;;;:::o;8134:118::-;8221:24;8239:5;8221:24;:::i;:::-;8216:3;8209:37;8134:118;;:::o;8258:222::-;8351:4;8389:2;8378:9;8374:18;8366:26;;8402:71;8470:1;8459:9;8455:17;8446:6;8402:71;:::i;:::-;8258:222;;;;:::o;8486:329::-;8545:6;8594:2;8582:9;8573:7;8569:23;8565:32;8562:119;;;8600:79;;:::i;:::-;8562:119;8720:1;8745:53;8790:7;8781:6;8770:9;8766:22;8745:53;:::i;:::-;8735:63;;8691:117;8486:329;;;;:::o;8821:619::-;8898:6;8906;8914;8963:2;8951:9;8942:7;8938:23;8934:32;8931:119;;;8969:79;;:::i;:::-;8931:119;9089:1;9114:53;9159:7;9150:6;9139:9;9135:22;9114:53;:::i;:::-;9104:63;;9060:117;9216:2;9242:53;9287:7;9278:6;9267:9;9263:22;9242:53;:::i;:::-;9232:63;;9187:118;9344:2;9370:53;9415:7;9406:6;9395:9;9391:22;9370:53;:::i;:::-;9360:63;;9315:118;8821:619;;;;;:::o;9446:93::-;9482:7;9522:10;9515:5;9511:22;9500:33;;9446:93;;;:::o;9545:115::-;9630:23;9647:5;9630:23;:::i;:::-;9625:3;9618:36;9545:115;;:::o;9666:218::-;9757:4;9795:2;9784:9;9780:18;9772:26;;9808:69;9874:1;9863:9;9859:17;9850:6;9808:69;:::i;:::-;9666:218;;;;:::o;9890:329::-;9949:6;9998:2;9986:9;9977:7;9973:23;9969:32;9966:119;;;10004:79;;:::i;:::-;9966:119;10124:1;10149:53;10194:7;10185:6;10174:9;10170:22;10149:53;:::i;:::-;10139:63;;10095:117;9890:329;;;;:::o;10225:118::-;10312:24;10330:5;10312:24;:::i;:::-;10307:3;10300:37;10225:118;;:::o;10349:222::-;10442:4;10480:2;10469:9;10465:18;10457:26;;10493:71;10561:1;10550:9;10546:17;10537:6;10493:71;:::i;:::-;10349:222;;;;:::o;10577:116::-;10647:21;10662:5;10647:21;:::i;:::-;10640:5;10637:32;10627:60;;10683:1;10680;10673:12;10627:60;10577:116;:::o;10699:133::-;10742:5;10780:6;10767:20;10758:29;;10796:30;10820:5;10796:30;:::i;:::-;10699:133;;;;:::o;10838:468::-;10903:6;10911;10960:2;10948:9;10939:7;10935:23;10931:32;10928:119;;;10966:79;;:::i;:::-;10928:119;11086:1;11111:53;11156:7;11147:6;11136:9;11132:22;11111:53;:::i;:::-;11101:63;;11057:117;11213:2;11239:50;11281:7;11272:6;11261:9;11257:22;11239:50;:::i;:::-;11229:60;;11184:115;10838:468;;;;;:::o;11312:323::-;11368:6;11417:2;11405:9;11396:7;11392:23;11388:32;11385:119;;;11423:79;;:::i;:::-;11385:119;11543:1;11568:50;11610:7;11601:6;11590:9;11586:22;11568:50;:::i;:::-;11558:60;;11514:114;11312:323;;;;:::o;11641:474::-;11709:6;11717;11766:2;11754:9;11745:7;11741:23;11737:32;11734:119;;;11772:79;;:::i;:::-;11734:119;11892:1;11917:53;11962:7;11953:6;11942:9;11938:22;11917:53;:::i;:::-;11907:63;;11863:117;12019:2;12045:53;12090:7;12081:6;12070:9;12066:22;12045:53;:::i;:::-;12035:63;;11990:118;11641:474;;;;;:::o;12121:180::-;12169:77;12166:1;12159:88;12266:4;12263:1;12256:15;12290:4;12287:1;12280:15;12307:180;12355:77;12352:1;12345:88;12452:4;12449:1;12442:15;12476:4;12473:1;12466:15;12493:233;12532:3;12555:24;12573:5;12555:24;:::i;:::-;12546:33;;12601:66;12594:5;12591:77;12588:103;;12671:18;;:::i;:::-;12588:103;12718:1;12711:5;12707:13;12700:20;;12493:233;;;:::o;12732:177::-;12872:29;12868:1;12860:6;12856:14;12849:53;12732:177;:::o;12915:366::-;13057:3;13078:67;13142:2;13137:3;13078:67;:::i;:::-;13071:74;;13154:93;13243:3;13154:93;:::i;:::-;13272:2;13267:3;13263:12;13256:19;;12915:366;;;:::o;13287:419::-;13453:4;13491:2;13480:9;13476:18;13468:26;;13540:9;13534:4;13530:20;13526:1;13515:9;13511:17;13504:47;13568:131;13694:4;13568:131;:::i;:::-;13560:139;;13287:419;;;:::o;13712:180::-;13852:32;13848:1;13840:6;13836:14;13829:56;13712:180;:::o;13898:366::-;14040:3;14061:67;14125:2;14120:3;14061:67;:::i;:::-;14054:74;;14137:93;14226:3;14137:93;:::i;:::-;14255:2;14250:3;14246:12;14239:19;;13898:366;;;:::o;14270:419::-;14436:4;14474:2;14463:9;14459:18;14451:26;;14523:9;14517:4;14513:20;14509:1;14498:9;14494:17;14487:47;14551:131;14677:4;14551:131;:::i;:::-;14543:139;;14270:419;;;:::o;14695:170::-;14835:22;14831:1;14823:6;14819:14;14812:46;14695:170;:::o;14871:366::-;15013:3;15034:67;15098:2;15093:3;15034:67;:::i;:::-;15027:74;;15110:93;15199:3;15110:93;:::i;:::-;15228:2;15223:3;15219:12;15212:19;;14871:366;;;:::o;15243:419::-;15409:4;15447:2;15436:9;15432:18;15424:26;;15496:9;15490:4;15486:20;15482:1;15471:9;15467:17;15460:47;15524:131;15650:4;15524:131;:::i;:::-;15516:139;;15243:419;;;:::o;15668:173::-;15808:25;15804:1;15796:6;15792:14;15785:49;15668:173;:::o;15847:366::-;15989:3;16010:67;16074:2;16069:3;16010:67;:::i;:::-;16003:74;;16086:93;16175:3;16086:93;:::i;:::-;16204:2;16199:3;16195:12;16188:19;;15847:366;;;:::o;16219:419::-;16385:4;16423:2;16412:9;16408:18;16400:26;;16472:9;16466:4;16462:20;16458:1;16447:9;16443:17;16436:47;16500:131;16626:4;16500:131;:::i;:::-;16492:139;;16219:419;;;:::o;16644:176::-;16784:28;16780:1;16772:6;16768:14;16761:52;16644:176;:::o;16826:366::-;16968:3;16989:67;17053:2;17048:3;16989:67;:::i;:::-;16982:74;;17065:93;17154:3;17065:93;:::i;:::-;17183:2;17178:3;17174:12;17167:19;;16826:366;;;:::o;17198:419::-;17364:4;17402:2;17391:9;17387:18;17379:26;;17451:9;17445:4;17441:20;17437:1;17426:9;17422:17;17415:47;17479:131;17605:4;17479:131;:::i;:::-;17471:139;;17198:419;;;:::o;17623:180::-;17671:77;17668:1;17661:88;17768:4;17765:1;17758:15;17792:4;17789:1;17782:15;17809:191;17849:4;17869:20;17887:1;17869:20;:::i;:::-;17864:25;;17903:20;17921:1;17903:20;:::i;:::-;17898:25;;17942:1;17939;17936:8;17933:34;;;17947:18;;:::i;:::-;17933:34;17992:1;17989;17985:9;17977:17;;17809:191;;;;:::o;18006:305::-;18046:3;18065:20;18083:1;18065:20;:::i;:::-;18060:25;;18099:20;18117:1;18099:20;:::i;:::-;18094:25;;18253:1;18185:66;18181:74;18178:1;18175:81;18172:107;;;18259:18;;:::i;:::-;18172:107;18303:1;18300;18296:9;18289:16;;18006:305;;;;:::o

Swarm Source

ipfs://a8f596edd976dbadd722200f4d1fab48bf470d850dcb3550f52c56d38d253f40

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.