ETH Price: $3,444.76 (+3.47%)

Contract

0xd323E7d1ACAf386257763fea4C8A85e2da0293Ca
 

Overview

ETH Balance

0.00325 ETH

Eth Value

$11.20 (@ $3,444.76/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw86814522019-10-05 10:09:142223 days ago1570270154IN
0xd323E7d1...2da0293Ca
0 ETH0.000030141
Breed86814522019-10-05 10:09:142223 days ago1570270154IN
0xd323E7d1...2da0293Ca
0 ETH0.000037331
Transfer Kitty86814492019-10-05 10:08:022223 days ago1570270082IN
0xd323E7d1...2da0293Ca
0 ETH0.000042291.01
Transfer Kitty86814492019-10-05 10:08:022223 days ago1570270082IN
0xd323E7d1...2da0293Ca
0 ETH0.000057441.01
Transfer Kitty86814492019-10-05 10:08:022223 days ago1570270082IN
0xd323E7d1...2da0293Ca
0 ETH0.000057441.01
Transfer Kitty86814492019-10-05 10:08:022223 days ago1570270082IN
0xd323E7d1...2da0293Ca
0 ETH0.000057441.01
Transfer Kitty86814452019-10-05 10:05:412223 days ago1570269941IN
0xd323E7d1...2da0293Ca
0 ETH0.000072591.01
Breed86813732019-10-05 9:50:472223 days ago1570269047IN
0xd323E7d1...2da0293Ca
0 ETH0.000095461
Transfer86813302019-10-05 9:42:132223 days ago1570268533IN
0xd323E7d1...2da0293Ca
0.1 ETH0.000021041
Transfer86812742019-10-05 9:33:542223 days ago1570268034IN
0xd323E7d1...2da0293Ca
0.011 ETH0.000021041
Transfer Kitty75744352019-04-15 19:37:262396 days ago1555357046IN
0xd323E7d1...2da0293Ca
0 ETH0.000125623
Cancel Sale Auct...75743932019-04-15 19:27:452396 days ago1555356465IN
0xd323E7d1...2da0293Ca
0 ETH0.000090452
Withdraw75318302019-04-09 4:39:282403 days ago1554784768IN
0xd323E7d1...2da0293Ca
0 ETH0.000180486
Transfer Kitty75298462019-04-08 21:20:172403 days ago1554758417IN
0xd323E7d1...2da0293Ca
0 ETH0.000041871
Transfer Kitty75298462019-04-08 21:20:172403 days ago1554758417IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75298442019-04-08 21:20:002403 days ago1554758400IN
0xd323E7d1...2da0293Ca
0 ETH0.000028361
Transfer Kitty75298442019-04-08 21:20:002403 days ago1554758400IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75298412019-04-08 21:19:002403 days ago1554758340IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75298402019-04-08 21:18:572403 days ago1554758337IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75298392019-04-08 21:18:182403 days ago1554758298IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75298342019-04-08 21:17:352403 days ago1554758255IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75298322019-04-08 21:17:112403 days ago1554758231IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75298292019-04-08 21:16:512403 days ago1554758211IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75298262019-04-08 21:16:252403 days ago1554758185IN
0xd323E7d1...2da0293Ca
0 ETH0.000056871
Transfer Kitty75297992019-04-08 21:11:572403 days ago1554757917IN
0xd323E7d1...2da0293Ca
0 ETH0.000113752
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-86814522019-10-05 10:09:142223 days ago1570270154
0xd323E7d1...2da0293Ca
0.1 ETH
-86814522019-10-05 10:09:142223 days ago1570270154
0xd323E7d1...2da0293Ca
0.008 ETH
-86813732019-10-05 9:50:472223 days ago1570269047
0xd323E7d1...2da0293Ca
0.008 ETH
-75318302019-04-09 4:39:282403 days ago1554784768
0xd323E7d1...2da0293Ca
0.04 ETH
-75052292019-04-05 1:43:122407 days ago1554428592
0xd323E7d1...2da0293Ca
0.009625 ETH
-74854142019-04-01 22:52:132410 days ago1554159133
0xd323E7d1...2da0293Ca
0.001 ETH
-74854142019-04-01 22:52:132410 days ago1554159133
0xd323E7d1...2da0293Ca
0.008 ETH
-74850472019-04-01 21:35:352410 days ago1554154535
0xd323E7d1...2da0293Ca
0.009625 ETH
-74835012019-04-01 15:56:262410 days ago1554134186
0xd323E7d1...2da0293Ca
0.001 ETH
-74835012019-04-01 15:56:262410 days ago1554134186
0xd323E7d1...2da0293Ca
0.008 ETH
-74834122019-04-01 15:38:292410 days ago1554133109
0xd323E7d1...2da0293Ca
0.001 ETH
-74834122019-04-01 15:38:292410 days ago1554133109
0xd323E7d1...2da0293Ca
0.008 ETH
-74833542019-04-01 15:25:132410 days ago1554132313
0xd323E7d1...2da0293Ca
0.001 ETH
-74833542019-04-01 15:25:132410 days ago1554132313
0xd323E7d1...2da0293Ca
0.008 ETH
-74727142019-03-30 23:33:502412 days ago1553988830
0xd323E7d1...2da0293Ca
0.001 ETH
-74727142019-03-30 23:33:502412 days ago1553988830
0xd323E7d1...2da0293Ca
0.008 ETH
-74725502019-03-30 22:56:332412 days ago1553986593
0xd323E7d1...2da0293Ca
0.001 ETH
-74725502019-03-30 22:56:332412 days ago1553986593
0xd323E7d1...2da0293Ca
0.008 ETH
-74725172019-03-30 22:48:522412 days ago1553986132
0xd323E7d1...2da0293Ca
0.001 ETH
-74725172019-03-30 22:48:522412 days ago1553986132
0xd323E7d1...2da0293Ca
0.008 ETH
-74482502019-03-27 3:44:252416 days ago1553658265
0xd323E7d1...2da0293Ca
0.001 ETH
-74482502019-03-27 3:44:252416 days ago1553658265
0xd323E7d1...2da0293Ca
0.008 ETH
-74450522019-03-26 15:42:362416 days ago1553614956
0xd323E7d1...2da0293Ca
0.008 ETH
-74450452019-03-26 15:40:062416 days ago1553614806
0xd323E7d1...2da0293Ca
0.001 ETH
-74450452019-03-26 15:40:062416 days ago1553614806
0xd323E7d1...2da0293Ca
0.008 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

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

Contract Name:
SimpleBreeding

Compiler Version
v0.5.3+commit.10d17f24

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-25
*/

pragma solidity ^0.5.3;

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
     * @dev Multiplies two unsigned integers, reverts on overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
     * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Adds two unsigned integers, reverts on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
     * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
     * reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

/// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens
/// @author Dieter Shirley <[email protected]> (https://github.com/dete)
contract ERC721 {
    // Required methods
    function totalSupply() public view returns (uint256 total);
    function balanceOf(address _owner) public view returns (uint256 balance);
    function ownerOf(uint256 _tokenId) external view returns (address owner);
    function approve(address _to, uint256 _tokenId) external;
    function transfer(address _to, uint256 _tokenId) external;
    function transferFrom(address _from, address _to, uint256 _tokenId) external;

    // Events
    event Transfer(address from, address to, uint256 tokenId);
    event Approval(address owner, address approved, uint256 tokenId);

    // Optional
    // function name() public view returns (string name);
    // function symbol() public view returns (string symbol);
    // function tokensOfOwner(address _owner) external view returns (uint256[] tokenIds);
    // function tokenMetadata(uint256 _tokenId, string _preferredTransport) public view returns (string infoUrl);

    // ERC-165 Compatibility (https://github.com/ethereum/EIPs/issues/165)
    function supportsInterface(bytes4 _interfaceID) external view returns (bool);
}

contract KittyCoreInterface is ERC721  {
    uint256 public autoBirthFee;
    address public saleAuction;
    address public siringAuction;
    function breedWithAuto(uint256 _matronId, uint256 _sireId) public payable;
    function createSaleAuction(uint256 _kittyId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration) external;
    function createSiringAuction(uint256 _kittyId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration) external;
    function supportsInterface(bytes4 _interfaceID) external view returns (bool);
}

contract AuctionInterface {
    function cancelAuction(uint256 _tokenId) external;
}

/**
 * @title OwnableDestructible
 * @dev The Ownable contract has an owner address and can be destroyed by owner
 */
contract Ownable {
  address payable public owner;

  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );

  constructor(address payable _owner) public {
    if(_owner == address(0)) {
      owner = msg.sender;
    } else {
      owner = _owner;
    }
  }

  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address payable _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  function _transferOwnership(address payable _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }

  function destroy() public onlyOwner {
    selfdestruct(owner);
  }

  function destroyAndSend(address payable _recipient) public onlyOwner {
    selfdestruct(_recipient);
  }
}

/**
 * @title Pausable
 * @dev The Pausable contract can be paused and started by owner
 */
contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;

    constructor(address payable _owner) Ownable(_owner) public {}

    modifier whenNotPaused() {
        require(!paused, "Contract paused");
        _;
    }

    modifier whenPaused() {
        require(paused, "Contract should be paused");
        _;
    }

    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

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


 /**
 * @title SimpleBreeding
 * @dev Simple breeding contract allows dedicated breeder to breed kitties on behalf of owner, while owner retains control over funds and kitties.
 * Breeder gets reward per each successful breed. Breeder can breed when contract is not paused.
 * Owner should transfer kitties and funds to contact to breeding starts and withdraw afterwards.
 * Breeder can only breed kitties owned by contract and cannot transfer funds or kitties itself.
 */

contract CKProxy is Pausable {
  KittyCoreInterface public kittyCore;
  AuctionInterface public saleAuction;
  AuctionInterface public siringAuction;

constructor(address payable _owner, address _kittyCoreAddress) Pausable(_owner) public {
    require(_kittyCoreAddress != address(0));
    kittyCore = KittyCoreInterface(_kittyCoreAddress);
    require(kittyCore.supportsInterface(0x9a20483d));

    saleAuction = AuctionInterface(kittyCore.saleAuction());
    siringAuction = AuctionInterface(kittyCore.siringAuction());
  }

  /**
   * Owner can transfer kitty
   */
  function transferKitty(address _to, uint256 _kittyId) external onlyOwner {
    kittyCore.transfer(_to, _kittyId);
  }

  /**
   * Owner can transferFrom kitty
   */
  function transferKittyFrom(address _from, address _to, uint256 _kittyId) external onlyOwner {
    kittyCore.transferFrom(_from, _to, _kittyId);
  }

  /**
   * Owner can approve kitty
   */
  function approveKitty(address _to, uint256 _kittyId) external  onlyOwner {
    kittyCore.approve(_to, _kittyId);
  }

  /**
   * Owner can start sales auction for kitty owned by contract
   */
  function createSaleAuction(uint256 _kittyId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration) external onlyOwner {
    kittyCore.createSaleAuction(_kittyId, _startingPrice, _endingPrice, _duration);
  }

  /**
   * Owner can cancel sales auction for kitty owned by contract
   */
  function cancelSaleAuction(uint256 _kittyId) external onlyOwner {
    saleAuction.cancelAuction(_kittyId);
  }

  /**
   * Owner can start siring auction for kitty owned by contract
   */
  function createSiringAuction(uint256 _kittyId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration) external onlyOwner {
    kittyCore.createSiringAuction(_kittyId, _startingPrice, _endingPrice, _duration);
  }

  /**
   * Owner can cancel siring auction for kitty owned by contract
   */
  function cancelSiringAuction(uint256 _kittyId) external onlyOwner {
    siringAuction.cancelAuction(_kittyId);
  }
}

/**
 * @title SimpleBreeding
 * @dev Simple breeding contract allows dedicated breeder to breed kitties on behalf of owner, while owner retains control over funds and kitties.
 * Breeder gets reward per each successful breed. Breeder can breed when contract is not paused.
 * Owner should transfer kitties and funds to contact to breeding starts and withdraw afterwards.
 * Breeder can only breed kitties owned by contract and cannot transfer funds or kitties itself.
 */

contract SimpleBreeding is CKProxy {
  address payable public breeder;
  uint256 public breederReward;
  uint256 public originalBreederReward;
  uint256 public maxBreedingFee;

  event Breed(address breeder, uint256 matronId, uint256 sireId, uint256 reward);
  event MaxBreedingFeeChange(uint256 oldBreedingFee, uint256 newBreedingFee);
  event BreederRewardChange(uint256 oldBreederReward, uint256 newBreederReward);

  constructor(address payable _owner, address payable _breeder, address _kittyCoreAddress, uint256 _breederReward) CKProxy(_owner, _kittyCoreAddress) public {
    require(_breeder != address(0));
    breeder = _breeder;
    maxBreedingFee = kittyCore.autoBirthFee();
    breederReward = _breederReward;
    originalBreederReward = _breederReward;
  }

  /**
   * Contract funds are used to cover breeding fees and pay callee
   */
  function () external payable {}

  /**
   * Owner can withdraw funds from contract
   */
  function withdraw(uint256 amount) external onlyOwner {
    owner.transfer(amount);
  }

  /**
   * Owner can adjust breedering fee if needed
   */
  function setMaxBreedingFee(
    uint256 _maxBreedingFee
  ) external onlyOwner {
    emit MaxBreedingFeeChange(maxBreedingFee, _maxBreedingFee);
    maxBreedingFee = _maxBreedingFee;
  }

   /**
   * Owner or breeder can change breeder's reward if needed.
   * Breeder can lower reward to make more attractive offer, it cannot set more than was originally agreed.
   * Owner can increase reward to motivate breeder to breed during high gas price, it cannot set less than was set by breeder.
   */
  function setBreederReward(
    uint256 _breederReward
  ) external {
    require(msg.sender == breeder || msg.sender == owner);
    
    if(msg.sender == owner) {
      require(_breederReward >= originalBreederReward || _breederReward > breederReward, 'Reward value is less than required');
    } else if(msg.sender == breeder) {
      require(_breederReward <= originalBreederReward, 'Reward value is more than original');
    }

    emit BreederRewardChange(breederReward, _breederReward);
    breederReward = _breederReward;
  }

  /**
   * Breeder can call this function to breed kitties on behalf of owner
   * Owner can breed as well
   */
  function breed(uint256 _matronId, uint256 _sireId) external whenNotPaused {
    require(msg.sender == breeder || msg.sender == owner);
    uint256 fee = kittyCore.autoBirthFee();
    require(fee <= maxBreedingFee);
    kittyCore.breedWithAuto.value(fee)(_matronId, _sireId);

    uint256 reward = 0;
    // breeder can reenter but that's OK, since breeder is payed per successful breed
    if(msg.sender == breeder) {
      reward = breederReward;
      breeder.transfer(reward);
    }

    emit Breed(msg.sender, _matronId, _sireId, reward);
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_kittyId","type":"uint256"}],"name":"approveKitty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"originalBreederReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_kittyId","type":"uint256"}],"name":"cancelSiringAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"siringAuction","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kittyCore","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxBreedingFee","type":"uint256"}],"name":"setMaxBreedingFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kittyId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_duration","type":"uint256"}],"name":"createSaleAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_breederReward","type":"uint256"}],"name":"setBreederReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kittyId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_duration","type":"uint256"}],"name":"createSiringAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"breeder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_kittyId","type":"uint256"}],"name":"transferKittyFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kittyId","type":"uint256"}],"name":"cancelSaleAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"breederReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_matronId","type":"uint256"},{"name":"_sireId","type":"uint256"}],"name":"breed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleAuction","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"destroyAndSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxBreedingFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_kittyId","type":"uint256"}],"name":"transferKitty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_breeder","type":"address"},{"name":"_kittyCoreAddress","type":"address"},{"name":"_breederReward","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"breeder","type":"address"},{"indexed":false,"name":"matronId","type":"uint256"},{"indexed":false,"name":"sireId","type":"uint256"},{"indexed":false,"name":"reward","type":"uint256"}],"name":"Breed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldBreedingFee","type":"uint256"},{"indexed":false,"name":"newBreedingFee","type":"uint256"}],"name":"MaxBreedingFeeChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldBreederReward","type":"uint256"},{"indexed":false,"name":"newBreederReward","type":"uint256"}],"name":"BreederRewardChange","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

0x608060405260008060146101000a81548160ff0219169083151502179055503480156200002b57600080fd5b5060405160808062002495833981018060405260808110156200004d57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505083828180600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000fc57336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200013d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200017c57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a7639a20483d6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b1580156200028f57600080fd5b505afa158015620002a4573d6000803e3d6000fd5b505050506040513d6020811015620002bb57600080fd5b81019080805190602001909291905050501515620002d857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6cbe3516040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156200035d57600080fd5b505afa15801562000372573d6000803e3d6000fd5b505050506040513d60208110156200038957600080fd5b8101908080519060200190929190505050600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321717ebf6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156200045f57600080fd5b505afa15801562000474573d6000803e3d6000fd5b505050506040513d60208110156200048b57600080fd5b8101908080519060200190929190505050600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156200051b57600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0c35c056040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015620005e157600080fd5b505afa158015620005f6573d6000803e3d6000fd5b505050506040513d60208110156200060d57600080fd5b8101908080519060200190929190505050600781905550806005819055508060068190555050505050611e4f80620006466000396000f3fe608060405260043610610182576000357c01000000000000000000000000000000000000000000000000000000009004806383197ef0116100ee578063d0826cbb116100a7578063f2fde38b11610081578063f2fde38b146106f5578063f5074f4114610746578063fc1e747614610797578063ffc42470146107c257610182565b8063d0826cbb1461062e578063d9ecad7b14610659578063e6cbe3511461069e57610182565b806383197ef01461049c5780638456cb59146104b35780638da5cb5b146104ca578063ae9dfc4d14610521578063b2e2418a14610578578063c31f586d146105f357610182565b80633d280e8e116101405780633d280e8e1461032e5780633d7d3f5a146103695780633f4ba83a146103c2578063489b388c146103d95780634ad8c938146104145780635c975abb1461046d57610182565b8062aa418f146101845780630504d9c5146101df578063103335671461020a57806321717ebf146102455780632e1a7d4d1461029c5780633d115334146102d7575b005b34801561019057600080fd5b506101dd600480360360408110156101a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061081d565b005b3480156101eb57600080fd5b506101f4610959565b6040518082815260200191505060405180910390f35b34801561021657600080fd5b506102436004803603602081101561022d57600080fd5b810190808035906020019092919050505061095f565b005b34801561025157600080fd5b5061025a610a66565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a857600080fd5b506102d5600480360360208110156102bf57600080fd5b8101908080359060200190929190505050610a8c565b005b3480156102e357600080fd5b506102ec610b52565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033a57600080fd5b506103676004803603602081101561035157600080fd5b8101908080359060200190929190505050610b78565b005b34801561037557600080fd5b506103c06004803603608081101561038c57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610c1e565b005b3480156103ce57600080fd5b506103d7610d40565b005b3480156103e557600080fd5b50610412600480360360208110156103fc57600080fd5b8101908080359060200190929190505050610e67565b005b34801561042057600080fd5b5061046b6004803603608081101561043757600080fd5b81019080803590602001909291908035906020019092919080359060200190929190803590602001909291905050506110dd565b005b34801561047957600080fd5b506104826111ff565b604051808215151515815260200191505060405180910390f35b3480156104a857600080fd5b506104b1611212565b005b3480156104bf57600080fd5b506104c86112a7565b005b3480156104d657600080fd5b506104df6113d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052d57600080fd5b506105366113f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058457600080fd5b506105f16004803603606081101561059b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061141b565b005b3480156105ff57600080fd5b5061062c6004803603602081101561061657600080fd5b810190808035906020019092919050505061158c565b005b34801561063a57600080fd5b50610643611693565b6040518082815260200191505060405180910390f35b34801561066557600080fd5b5061069c6004803603604081101561067c57600080fd5b810190808035906020019092919080359060200190929190505050611699565b005b3480156106aa57600080fd5b506106b3611aa2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070157600080fd5b506107446004803603602081101561071857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ac8565b005b34801561075257600080fd5b506107956004803603602081101561076957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b2f565b005b3480156107a357600080fd5b506107ac611ba3565b6040518082815260200191505060405180910390f35b3480156107ce57600080fd5b5061081b600480360360408110156107e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ba9565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561087857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561093d57600080fd5b505af1158015610951573d6000803e3d6000fd5b505050505050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109ba57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166396b5a755826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610a4b57600080fd5b505af1158015610a5f573d6000803e3d6000fd5b5050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ae757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b4e573d6000803e3d6000fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bd357600080fd5b7f693d3e7d14d8f845811b787f8d28c1aef4b4bac15721fbea5dc8a8a7c85da61b60075482604051808381526020018281526020019250505060405180910390a18060078190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7957600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d7d3f5a858585856040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9b57600080fd5b600060149054906101000a900460ff161515610e1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f436f6e74726163742073686f756c64206265207061757365640000000000000081525060200191505060405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f0f57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f1a57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610fdd5760065481101580610f81575060055481115b1515610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611de06022913960400191505060405180910390fd5b611092565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611091576006548111151515611090576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611e026022913960400191505060405180910390fd5b5b5b7ffdac16f44d837cccd5f18e297e4e2c1366844b81ed087ea6506eb1f1bcd7b6f460055482604051808381526020018281526020019250505060405180910390a18060058190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ad8c938858585856040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156111e157600080fd5b505af11580156111f5573d6000803e3d6000fd5b5050505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126d57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561130257600080fd5b600060149054906101000a900460ff16151515611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f436f6e747261637420706175736564000000000000000000000000000000000081525060200191505060405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561147657600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561156f57600080fd5b505af1158015611583573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e757600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166396b5a755826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561167857600080fd5b505af115801561168c573d6000803e3d6000fd5b5050505050565b60055481565b600060149054906101000a900460ff1615151561171e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f436f6e747261637420706175736564000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117c657506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156117d157600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0c35c056040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561185757600080fd5b505afa15801561186b573d6000803e3d6000fd5b505050506040513d602081101561188157600080fd5b8101908080519060200190929190505050905060075481111515156118a557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f7d8c8838285856040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303818588803b15801561193e57600080fd5b505af1158015611952573d6000803e3d6000fd5b50505050506000809050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611a21576005549050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a1f573d6000803e3d6000fd5b505b7fddf1e8fec06a50aa72b8a39a06787808c53eca73b2bd1cc995681cf7b801465033858584604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a150505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b2357600080fd5b611b2c81611ce5565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b8a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611cc957600080fd5b505af1158015611cdd573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d2157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe5265776172642076616c7565206973206c657373207468616e2072657175697265645265776172642076616c7565206973206d6f7265207468616e206f726967696e616ca165627a7a723058200af7293614cb15cd020ed64040e168d45308c834b86e5fe1e8d74a28037513960029000000000000000000000000314e5699db4756138107ae7d7eeddf5708583ff5000000000000000000000000a57fda7358e3a469108b1321ec50c51afcc84ae800000000000000000000000006012c8cf97bead5deae237070f9587f8e7a266d00000000000000000000000000000000000000000000000000038d7ea4c68000

Deployed Bytecode

0x608060405260043610610182576000357c01000000000000000000000000000000000000000000000000000000009004806383197ef0116100ee578063d0826cbb116100a7578063f2fde38b11610081578063f2fde38b146106f5578063f5074f4114610746578063fc1e747614610797578063ffc42470146107c257610182565b8063d0826cbb1461062e578063d9ecad7b14610659578063e6cbe3511461069e57610182565b806383197ef01461049c5780638456cb59146104b35780638da5cb5b146104ca578063ae9dfc4d14610521578063b2e2418a14610578578063c31f586d146105f357610182565b80633d280e8e116101405780633d280e8e1461032e5780633d7d3f5a146103695780633f4ba83a146103c2578063489b388c146103d95780634ad8c938146104145780635c975abb1461046d57610182565b8062aa418f146101845780630504d9c5146101df578063103335671461020a57806321717ebf146102455780632e1a7d4d1461029c5780633d115334146102d7575b005b34801561019057600080fd5b506101dd600480360360408110156101a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061081d565b005b3480156101eb57600080fd5b506101f4610959565b6040518082815260200191505060405180910390f35b34801561021657600080fd5b506102436004803603602081101561022d57600080fd5b810190808035906020019092919050505061095f565b005b34801561025157600080fd5b5061025a610a66565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a857600080fd5b506102d5600480360360208110156102bf57600080fd5b8101908080359060200190929190505050610a8c565b005b3480156102e357600080fd5b506102ec610b52565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033a57600080fd5b506103676004803603602081101561035157600080fd5b8101908080359060200190929190505050610b78565b005b34801561037557600080fd5b506103c06004803603608081101561038c57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610c1e565b005b3480156103ce57600080fd5b506103d7610d40565b005b3480156103e557600080fd5b50610412600480360360208110156103fc57600080fd5b8101908080359060200190929190505050610e67565b005b34801561042057600080fd5b5061046b6004803603608081101561043757600080fd5b81019080803590602001909291908035906020019092919080359060200190929190803590602001909291905050506110dd565b005b34801561047957600080fd5b506104826111ff565b604051808215151515815260200191505060405180910390f35b3480156104a857600080fd5b506104b1611212565b005b3480156104bf57600080fd5b506104c86112a7565b005b3480156104d657600080fd5b506104df6113d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052d57600080fd5b506105366113f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058457600080fd5b506105f16004803603606081101561059b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061141b565b005b3480156105ff57600080fd5b5061062c6004803603602081101561061657600080fd5b810190808035906020019092919050505061158c565b005b34801561063a57600080fd5b50610643611693565b6040518082815260200191505060405180910390f35b34801561066557600080fd5b5061069c6004803603604081101561067c57600080fd5b810190808035906020019092919080359060200190929190505050611699565b005b3480156106aa57600080fd5b506106b3611aa2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070157600080fd5b506107446004803603602081101561071857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ac8565b005b34801561075257600080fd5b506107956004803603602081101561076957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b2f565b005b3480156107a357600080fd5b506107ac611ba3565b6040518082815260200191505060405180910390f35b3480156107ce57600080fd5b5061081b600480360360408110156107e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ba9565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561087857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561093d57600080fd5b505af1158015610951573d6000803e3d6000fd5b505050505050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109ba57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166396b5a755826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610a4b57600080fd5b505af1158015610a5f573d6000803e3d6000fd5b5050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ae757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b4e573d6000803e3d6000fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bd357600080fd5b7f693d3e7d14d8f845811b787f8d28c1aef4b4bac15721fbea5dc8a8a7c85da61b60075482604051808381526020018281526020019250505060405180910390a18060078190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7957600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d7d3f5a858585856040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9b57600080fd5b600060149054906101000a900460ff161515610e1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f436f6e74726163742073686f756c64206265207061757365640000000000000081525060200191505060405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f0f57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f1a57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610fdd5760065481101580610f81575060055481115b1515610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611de06022913960400191505060405180910390fd5b611092565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611091576006548111151515611090576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611e026022913960400191505060405180910390fd5b5b5b7ffdac16f44d837cccd5f18e297e4e2c1366844b81ed087ea6506eb1f1bcd7b6f460055482604051808381526020018281526020019250505060405180910390a18060058190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ad8c938858585856040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156111e157600080fd5b505af11580156111f5573d6000803e3d6000fd5b5050505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126d57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561130257600080fd5b600060149054906101000a900460ff16151515611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f436f6e747261637420706175736564000000000000000000000000000000000081525060200191505060405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561147657600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561156f57600080fd5b505af1158015611583573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e757600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166396b5a755826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561167857600080fd5b505af115801561168c573d6000803e3d6000fd5b5050505050565b60055481565b600060149054906101000a900460ff1615151561171e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f436f6e747261637420706175736564000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117c657506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156117d157600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0c35c056040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561185757600080fd5b505afa15801561186b573d6000803e3d6000fd5b505050506040513d602081101561188157600080fd5b8101908080519060200190929190505050905060075481111515156118a557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f7d8c8838285856040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303818588803b15801561193e57600080fd5b505af1158015611952573d6000803e3d6000fd5b50505050506000809050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611a21576005549050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a1f573d6000803e3d6000fd5b505b7fddf1e8fec06a50aa72b8a39a06787808c53eca73b2bd1cc995681cf7b801465033858584604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a150505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b2357600080fd5b611b2c81611ce5565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b8a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611cc957600080fd5b505af1158015611cdd573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d2157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe5265776172642076616c7565206973206c657373207468616e2072657175697265645265776172642076616c7565206973206d6f7265207468616e206f726967696e616ca165627a7a723058200af7293614cb15cd020ed64040e168d45308c834b86e5fe1e8d74a28037513960029

Deployed Bytecode Sourcemap

8661:2866:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7043:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7043:118:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7043:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8769:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8769:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8057:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8057:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8057:116:0;;;;;;;;;;;;;;;;;:::i;:::-;;6196:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6196:37:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9630:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9630:88:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9630:88:0;;;;;;;;;;;;;;;;;:::i;:::-;;6116:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6116:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9786:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9786:191:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9786:191:0;;;;;;;;;;;;;;;;;:::i;:::-;;7245:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7245:220:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7245:220:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5486:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5486:105:0;;;:::i;:::-;;10297:544;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10297:544:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10297:544:0;;;;;;;;;;;;;;;;;:::i;:::-;;7747:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7747:224:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7747:224:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5067:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5067:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4704:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4704:68:0;;;:::i;:::-;;5375:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5375:103:0;;;:::i;:::-;;4022:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4022:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8701:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8701:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6844:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6844:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6844:149:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7550:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7550:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7550:112:0;;;;;;;;;;;;;;;;;:::i;:::-;;8736:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8736:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10964:560;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10964:560:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10964:560:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6156:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6156:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4396:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4396:113:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4396:113:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4778:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4778:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4778:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8810:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8810:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6670:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6670:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6670:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7043:118;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;7123:9;;;;;;;;;;;:17;;;7141:3;7146:8;7123:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7123:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7123:32:0;;;;7043:118;;:::o;8769:36::-;;;;:::o;8057:116::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;8130:13;;;;;;;;;;;:27;;;8158:8;8130:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8130:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8130:37:0;;;;8057:116;:::o;6196:37::-;;;;;;;;;;;;;:::o;9630:88::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;9690:5;;;;;;;;;;;:14;;:22;9705:6;9690:22;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9690:22:0;9630:88;:::o;6116:35::-;;;;;;;;;;;;;:::o;9786:191::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;9879:53;9900:14;;9916:15;9879:53;;;;;;;;;;;;;;;;;;;;;;;;9956:15;9939:14;:32;;;;9786:191;:::o;7245:220::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;7381:9;;;;;;;;;;;:27;;;7409:8;7419:14;7435:12;7449:9;7381:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7381:78:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7381:78:0;;;;7245:220;;;;:::o;5486:105::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;5311:6;;;;;;;;;;;5303:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5553:5;5544:6;;:14;;;;;;;;;;;;;;;;;;5574:9;;;;;;;;;;5486:105::o;10297:544::-;10395:7;;;;;;;;;;;10381:21;;:10;:21;;;:44;;;;10420:5;;;;;;;;;;;10406:19;;:10;:19;;;10381:44;10373:53;;;;;;;;10456:5;;;;;;;;;;;10442:19;;:10;:19;;;10439:296;;;10498:21;;10480:14;:39;;:73;;;;10540:13;;10523:14;:30;10480:73;10472:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10439:296;;;10623:7;;;;;;;;;;;10609:21;;:10;:21;;;10606:129;;;10667:21;;10649:14;:39;;10641:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10606:129;10439:296;10748:50;10768:13;;10783:14;10748:50;;;;;;;;;;;;;;;;;;;;;;;;10821:14;10805:13;:30;;;;10297:544;:::o;7747:224::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;7885:9;;;;;;;;;;;:29;;;7915:8;7925:14;7941:12;7955:9;7885:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7885:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7885:80:0;;;;7747:224;;;;:::o;5067:26::-;;;;;;;;;;;;;:::o;4704:68::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;4760:5;;;;;;;;;;;4747:19;;;5375:103;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;5216:6;;;;;;;;;;;5215:7;5207:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5443:4;5434:6;;:13;;;;;;;;;;;;;;;;;;5463:7;;;;;;;;;;5375:103::o;4022:28::-;;;;;;;;;;;;;:::o;8701:30::-;;;;;;;;;;;;;:::o;6844:149::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;6943:9;;;;;;;;;;;:22;;;6966:5;6973:3;6978:8;6943:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6943:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6943:44:0;;;;6844:149;;;:::o;7550:112::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;7621:11;;;;;;;;;;;:25;;;7647:8;7621:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7621:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7621:35:0;;;;7550:112;:::o;8736:28::-;;;;:::o;10964:560::-;5216:6;;;;;;;;;;;5215:7;5207:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11067:7;;;;;;;;;;;11053:21;;:10;:21;;;:44;;;;11092:5;;;;;;;;;;;11078:19;;:10;:19;;;11053:44;11045:53;;;;;;;;11105:11;11119:9;;;;;;;;;;;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11119:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11119:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11119:24:0;;;;;;;;;;;;;;;;11105:38;;11165:14;;11158:3;:21;;11150:30;;;;;;;;11187:9;;;;;;;;;;;:23;;;11217:3;11222:9;11233:7;11187:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11187:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11187:54:0;;;;;11250:14;11267:1;11250:18;;11379:7;;;;;;;;;;;11365:21;;:10;:21;;;11362:98;;;11406:13;;11397:22;;11428:7;;;;;;;;;;;:16;;:24;11445:6;11428:24;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11428:24:0;11362:98;11473:45;11479:10;11491:9;11502:7;11511:6;11473:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5253:1;;10964:560;;:::o;6156:35::-;;;;;;;;;;;;;:::o;4396:113::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;4474:29;4493:9;4474:18;:29::i;:::-;4396:113;:::o;4778:106::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;4867:10;4854:24;;;8810:29;;;;:::o;6670:119::-;4370:5;;;;;;;;;;;4356:19;;:10;:19;;;4348:28;;;;;;;;6750:9;;;;;;;;;;;:18;;;6769:3;6774:8;6750:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6750:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6750:33:0;;;;6670:119;;:::o;4515:183::-;4615:1;4594:23;;:9;:23;;;;4586:32;;;;;;;;4658:9;4630:38;;4651:5;;;;;;;;;;;4630:38;;;;;;;;;;;;4683:9;4675:5;;:17;;;;;;;;;;;;;;;;;;4515:183;:::o

Swarm Source

bzzr://0af7293614cb15cd020ed64040e168d45308c834b86e5fe1e8d74a2803751396

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.