ETH Price: $2,672.80 (+9.64%)
Gas: 6 Gwei

Token

SUPER ETH (SETH)
 

Overview

Max Total Supply

21,000,000 SETH

Holders

1,664

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
0 SETH

Value
$0.00
0x75f6da9216f8b51e2ee5de845c839416443f9bbd
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SETH

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-03-20
*/

/**
 * SETH Token
 */
pragma solidity ^0.4.23;


/**
 * @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 The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @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) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint);
  function balanceOf(address who) public view returns (uint);
  function transfer(address to, uint value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint value);
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint);
  function transferFrom(address from, address to, uint value) public returns (bool);
  function approve(address spender, uint value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint value);
}



/**
 * Upgrade agent interface inspired by Lunyr.
 *
 * Upgrade agent transfers tokens to a new contract.
 * Upgrade agent itself can be the token contract, or just a middle man contract doing the heavy lifting.
 */
contract UpgradeAgent {

  uint public originalSupply;

  /** Interface marker */
  function isUpgradeAgent() public pure returns (bool) {
    return true;
  }

  function upgradeFrom(address _from, uint256 _value) public;

}


/**
 * Define interface for releasing the token transfer after a successful crowdsale.
 */
contract ReleasableToken is ERC20, Ownable {

  /* The finalizer contract that allows unlift the transfer limits on this token */
  address public releaseAgent;

  /** A crowdsale contract can release us to the wild if ICO success. If false we are are in transfer lock up period.*/
  bool public released = false;

  /** Map of agents that are allowed to transfer tokens regardless of the lock down period. These are crowdsale contracts and possible the team multisig itself. */
  mapping (address => bool) public transferAgents;

  /**
   * Limit token transfer until the crowdsale is over.
   *
   */
  modifier canTransfer(address _sender) {

    if(!released) {
        if(!transferAgents[_sender]) {
            revert();
        }
    }

    _;
  }

  /**
   * Set the contract that can call release and make the token transferable.
   *
   * Design choice. Allow reset the release agent to fix fat finger mistakes.
   */
  function setReleaseAgent(address addr) onlyOwner inReleaseState(false) public {

    // We don't do interface check here as we might want to a normal wallet address to act as a release agent
    releaseAgent = addr;
  }

  /**
   * Owner can allow a particular address (a crowdsale contract) to transfer tokens despite the lock up period.
   */
  function setTransferAgent(address addr, bool state) onlyOwner inReleaseState(false) public {
    transferAgents[addr] = state;
  }

  /**
   * Release the tokens to the wild.
   *
   * Can be called only from the release agent that is the final ICO contract. It is only called if the crowdsale has been success (first milestone reached).
   */
  function releaseTokenTransfer() public onlyReleaseAgent {
    released = true;
  }

  /**
   * Unrelease the tokens to the wild.
   *
   */
  function unReleaseTokenTransfer() public onlyReleaseAgent {
    released = false;
  }

  /** The function can be called only before or after the tokens have been releasesd */
  modifier inReleaseState(bool releaseState) {
    if(releaseState != released) {
        revert();
    }
    _;
  }

  /** The function can be called only by a whitelisted release agent. */
  modifier onlyReleaseAgent() {
    if(msg.sender != releaseAgent) {
        revert();
    }
    _;
  }

  function transfer(address _to, uint _value) canTransfer(msg.sender) public returns (bool success) {
    // Call StandardToken.transfer()
   return super.transfer(_to, _value);
  }

  function transferFrom(address _from, address _to, uint _value) canTransfer(_from) public returns (bool success) {
    // Call StandardToken.transferForm()
    return super.transferFrom(_from, _to, _value);
  }

}



/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    emit Unpause();
  }
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint;

  mapping(address => uint) balances;

  uint totalSupply_;

  /**
  * @dev total number of tokens in existence
  */
  function totalSupply() public view returns (uint) {
    return totalSupply_;
  }

  /**
  * @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) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint balance) {
    return balances[_owner];
  }

}

/**
 * @title Freezable Token
 * @dev Token that can be freezed.
 */

contract FreezableToken is BasicToken, Ownable {

  using SafeMath for uint;
  uint public unfreezeProcessTime = 3 days;
  uint public freezeTotal;
  uint public curId;
  uint public minFreeze = 100000000;

  mapping (address => uint) public freezes;
  mapping (address => uint) public unfreezes;
  mapping (address => uint) public lastUnfreezeTime;
  mapping (uint => address) public freezerAddress;
  mapping (address => uint) public freezerIds;
  /* This notifies clients about the amount frozen */
  event Freeze(address indexed from, uint value);

  /* This notifies clients about the amount unfrozen */
  event Unfreeze(address indexed from, uint value);
  event WithdrawUnfreeze(address indexed sender, uint unfreezeAmount);
  event SettleUnfreeze(address indexed freezer, uint value);

  function freezeOf(address _tokenOwner) public view returns (uint balance) {
    return freezes[_tokenOwner];
  }

  function unfreezeOf(address _tokenOwner) public view returns (uint balance) {
    return unfreezes[_tokenOwner];
  }

  function freeze(uint _value) public returns (bool success) {
    if (freezerIds[msg.sender] == 0) {
      curId = curId.add(1);
      freezerIds[msg.sender] = curId;
      freezerAddress[curId] = msg.sender;
    }

    require(_value <= balances[msg.sender]);
    //0 not allowed
    require (_value >= minFreeze);
    address sender = msg.sender;
    balances[sender] = balances[sender].sub(_value);
    freezeTotal = freezeTotal.add(_value);
    freezes[sender] = freezes[sender].add(_value);
    emit Freeze(sender, _value);
    return true;
  }

  function unfreeze(uint _value) public returns (bool success) {
    require(_value <= freezes[msg.sender]);
    //0 not allowed
    require (_value > 0);
    address sender = msg.sender;
    freezes[sender] = freezes[sender].sub(_value);
    lastUnfreezeTime[sender] = block.timestamp;
    freezeTotal = freezeTotal.sub(_value);
    unfreezes[sender] = unfreezes[sender].add(_value);
    emit Unfreeze(sender, _value);
    return true;
  }

  function withdrawUnfreeze() public returns (bool success) {
    address sender = msg.sender;
    uint unfreezeAmount = unfreezes[sender];
    uint unfreezeTime = lastUnfreezeTime[sender].add(unfreezeProcessTime);
    require(unfreezeAmount > 0);
    require(block.timestamp > unfreezeTime);

    unfreezes[sender] = 0;
    balances[sender] = balances[sender].add(unfreezeAmount);
    emit WithdrawUnfreeze(sender, unfreezeAmount);
    return true;
  }

  function ownerSettleUnfreeze(address _freezer) onlyOwner public returns (bool success) {
    uint unfreezeAmount = unfreezes[_freezer];
    uint unfreezeTime = lastUnfreezeTime[_freezer].add(unfreezeProcessTime);
    require(unfreezeAmount > 0);
    require(block.timestamp > unfreezeTime);

    unfreezes[_freezer] = 0;
    balances[_freezer] = balances[_freezer].add(unfreezeAmount);
    emit SettleUnfreeze(_freezer, unfreezeAmount);
    return true;
  }

  function ownerSetProcessTime(uint _newTime) onlyOwner public returns (bool success) {
    unfreezeProcessTime = _newTime;
    return true;
  }

  function ownerSetMinFreeze(uint _newMinFreeze) public returns (bool success) {
    minFreeze = _newMinFreeze;
    return true;
  }
}

/**
 * Standard ERC20 token with Short Hand Attack and approve() race condition mitigation.
 *
 * Based on code by FirstBlood:
 * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is BasicToken, ERC20 {
  using SafeMath for uint;

  /* approve() allowances */
  mapping (address => mapping (address => uint)) allowed;

  /* Interface declaration */
  function isToken() public pure returns (bool weAre) {
    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 uint the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint _value) public returns (bool success) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    uint _allowance = allowed[_from][msg.sender];

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.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.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @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 success) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0))
      revert();

    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 uint specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public view returns (uint remaining) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  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 the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  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;
  }

}

/**
 * Pausable token
 *
 * Simple ERC20 Token example, with pausable token creation
 **/

contract PausableToken is StandardToken, Pausable {

  function transfer(address _to, uint _value) whenNotPaused public returns (bool) {
    return super.transfer(_to, _value);
  }

  function transferFrom(address _from, address _to, uint _value) whenNotPaused public returns (bool) {
    return super.transferFrom(_from, _to, _value);
  }
}

/**
 * A token upgrade mechanism where users can opt-in amount of tokens to the next smart contract revision.
 *
 * First envisioned by Golem and Lunyr projects.
 */
contract UpgradeableToken is StandardToken {
  using SafeMath for uint;
  /** Contract / person who can set the upgrade path. This can be the same as team multisig wallet, as what it is with its default value. */
  address public upgradeMaster;

  /** The next contract where the tokens will be migrated. */
  UpgradeAgent public upgradeAgent;

  /** How many tokens we have upgraded by now. */
  uint public totalUpgraded;

  /**
   * Upgrade states.
   *
   * - NotAllowed: The child contract has not reached a condition where the upgrade can bgun
   * - WaitingForAgent: Token allows upgrade, but we don't have a new agent yet
   * - ReadyToUpgrade: The agent is set, but not a single token has been upgraded yet
   * - Upgrading: Upgrade agent is set and the balance holders can upgrade their tokens
   *
   */
  enum UpgradeState {Unknown, NotAllowed, WaitingForAgent, ReadyToUpgrade, Upgrading}

  /**
   * Somebody has upgraded some of his tokens.
   */
  event Upgrade(address indexed _from, address indexed _to, uint _value);

  /**
   * New upgrade agent available.
   */
  event UpgradeAgentSet(address agent);

  /**
   * Do not allow construction without upgrade master set.
   */
  constructor(address _upgradeMaster) public {
    upgradeMaster = _upgradeMaster;
  }
  /**
   * Allow the token holder to upgrade some of their tokens to a new contract.
   */
  function upgrade(uint value) public {

      UpgradeState state = getUpgradeState();
      if (!(state == UpgradeState.ReadyToUpgrade || state == UpgradeState.Upgrading)) {
        // Called in a bad state
        revert();
      }

      // Validate input value.
      if (value == 0) revert();

      balances[msg.sender] = balances[msg.sender].sub(value);

      // Take tokens out from circulation
      totalSupply_ = totalSupply_.sub(value);
      totalUpgraded = totalUpgraded.add(value);

      // Upgrade agent reissues the tokens
      upgradeAgent.upgradeFrom(msg.sender, value);
      emit Upgrade(msg.sender, upgradeAgent, value);
  }

  /**
   * Set an upgrade agent that handles
   */
  function setUpgradeAgent(address agent) external {

      if(!canUpgrade()) {
        // The token is not yet in a state that we could think upgrading
        revert();
      }

      if (agent == 0x0) revert();
      // Only a master can designate the next agent
      if (msg.sender != upgradeMaster) revert();
      // Upgrade has already begun for an agent
      if (getUpgradeState() == UpgradeState.Upgrading) revert();

      upgradeAgent = UpgradeAgent(agent);

      // Bad interface
      if(!upgradeAgent.isUpgradeAgent()) revert();
      // Make sure that token supplies match in source and target
      if (upgradeAgent.originalSupply() != totalSupply_) revert();

      emit UpgradeAgentSet(upgradeAgent);
  }

  /**
   * Get the state of the token upgrade.
   */
  function getUpgradeState() public constant returns(UpgradeState) {
    if(!canUpgrade()) return UpgradeState.NotAllowed;
    else if(address(upgradeAgent) == 0x00) return UpgradeState.WaitingForAgent;
    else if(totalUpgraded == 0) return UpgradeState.ReadyToUpgrade;
    else return UpgradeState.Upgrading;
  }

  /**
   * Change the upgrade master.
   *
   * This allows us to set a new owner for the upgrade mechanism.
   */
  function setUpgradeMaster(address master) public {
      if (master == 0x0) revert();
      if (msg.sender != upgradeMaster) revert();
      upgradeMaster = master;
  }

  /**
   * Child contract can enable to provide the condition when the upgrade can begun.
   */
  function canUpgrade() public pure returns(bool) {
     return true;
  }

}


/**
 * @title Burnable Token
 * @dev Token that can be irreversibly burned (destroyed).
 */
contract BurnableToken is BasicToken {

  event Burn(address indexed burner, uint value);

  /**
   * @dev Burns a specific amount of tokens.
   * @param _value The amount of token to be burned.
   */
  function burn(uint _value) public {
    require(_value <= balances[msg.sender]);
    // no need to require value <= totalSupply, since that would imply the
    // sender's balance is greater than the totalSupply, which *should* be an assertion failure

    address burner = msg.sender;
    balances[burner] = balances[burner].sub(_value);
    totalSupply_ = totalSupply_.sub(_value);
    emit Burn(burner, _value);
    emit Transfer(burner, address(0), _value);
  }
}

/**
 * Blacklist token
 *
 * Simple ERC20 Token example, with Blacklist token creation
 **/

contract BlacklistToken is BasicToken, ERC20, Ownable {

	event DestroyedBlackFunds(address _blackListedUser, uint _balance);
	event AddedBlackList(address _user);
	event RemovedBlackList(address _user);

	mapping (address => bool) public isBlackListed;

	modifier whenNotBlacklisted(address _sender) {
		require(!isBlackListed[_sender]);
		_;
	}

	function getBlackListStatus(address _maker) external constant returns (bool) {
	    return isBlackListed[_maker];
	}

	function addBlackList (address _evilUser) public onlyOwner {
	    isBlackListed[_evilUser] = true;
	    emit AddedBlackList(_evilUser); //event emmiting
	}

	function removeBlackList (address _clearedUser) public onlyOwner {
	    isBlackListed[_clearedUser] = false;
	    emit RemovedBlackList(_clearedUser);
	}

	function destroyBlackFunds (address _blackListedUser) public onlyOwner {
	    require(isBlackListed[_blackListedUser]);
	    uint dirtyFunds = balanceOf(_blackListedUser);
	    balances[_blackListedUser] = 0;
	    totalSupply_ -= dirtyFunds;
	    emit DestroyedBlackFunds(_blackListedUser, dirtyFunds);
	}

	function transfer(address _to, uint _value) whenNotBlacklisted(msg.sender) public returns (bool) {
		return super.transfer(_to, _value);
	}

	function transferFrom(address _from, address _to, uint _value) whenNotBlacklisted(msg.sender) public returns (bool) {
		return super.transferFrom(_from, _to, _value);
	}
}

/**
 * @title Approvable Token
 * @dev Token that can be approve and call.
 */
interface tokenRecipient {
    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external;
}

contract ApprovableToken is StandardToken, Ownable {

  using SafeMath for uint;
      /**
     * Set allowance for other address and notify
     *
     * Allows `_spender` to spend no more than `_value` tokens on your behalf, and then ping the contract about it
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     * @param _extraData some extra information to send to the approved contract
     */
  function approveAndCall(address _spender, uint256 _value, bytes memory _extraData)
      public
      returns (bool success) {
      tokenRecipient spender = tokenRecipient(_spender);
      if (approve(_spender, _value)) {
          spender.receiveApproval(msg.sender, _value, address(this), _extraData);
          return true;
      }
  }
}


/**
 *
 * Token supply is created in the token contract creation and allocated to owner.
 * The owner can then transfer from its supply to crowdsale participants.
 *
 */
contract SETH is UpgradeableToken, ReleasableToken, PausableToken, BurnableToken, FreezableToken, ApprovableToken, BlacklistToken {

  string public name;
  string public symbol;
  uint8 public decimals;

  constructor(address _owner)  UpgradeableToken(_owner) public {
    name = "SUPER ETH";
    symbol = "SETH";
    totalSupply_ = 21000000000000;
    decimals = 6;

    // Allocate initial balance to the owner
    balances[_owner] = totalSupply_;
  }
}


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 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 numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"state","type":"bool"}],"name":"setTransferAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unReleaseTokenTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawUnfreeze","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"freezes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_freezer","type":"address"}],"name":"ownerSettleUnfreeze","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setReleaseAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"freezerIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newTime","type":"uint256"}],"name":"ownerSetProcessTime","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unfreezeProcessTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"unfreezes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenOwner","type":"address"}],"name":"unfreezeOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"curId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upgradeAgent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseTokenTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradeMaster","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"unfreeze","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getUpgradeState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transferAgents","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"released","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"canUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"freezeTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minFreeze","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUpgraded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenOwner","type":"address"}],"name":"freezeOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"releaseAgent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"freeze","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"}],"name":"setUpgradeAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"freezerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isToken","outputs":[{"name":"weAre","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lastUnfreezeTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newMinFreeze","type":"uint256"}],"name":"ownerSetMinFreeze","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"master","type":"address"}],"name":"setUpgradeMaster","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"unfreezeAmount","type":"uint256"}],"name":"WithdrawUnfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"freezer","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"SettleUnfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Upgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"agent","type":"address"}],"name":"UpgradeAgentSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526000600760146101000a81548160ff0219169083151502179055506000600960006101000a81548160ff0219169083151502179055506203f480600a556305f5e100600d553480156200005657600080fd5b5060405160208062004667833981018060405281019080805190602001909291905050508080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600981526020017f5355504552204554480000000000000000000000000000000000000000000000815250601490805190602001906200014b9291906200020f565b506040805190810160405280600481526020017f534554480000000000000000000000000000000000000000000000000000000081525060159080519060200190620001999291906200020f565b50651319718a50006001819055506006601660006101000a81548160ff021916908360ff1602179055506001546000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050620002be565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025257805160ff191683800117855562000283565b8280016001018555821562000283579182015b828111156200028257825182559160200191906001019062000265565b5b50905062000292919062000296565b5090565b620002bb91905b80821115620002b75760008160009055506001016200029d565b5090565b90565b61439980620002ce6000396000f30060806040526004361061029e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302f652a3146102a357806306fdde03146102f2578063094140f314610382578063095ea7b3146103995780630e1ca00e146103fe5780630ecb93c01461042d578063120426821461047057806316da746f146104c757806318160ddd1461052257806323b872dd1461054d57806329ff4f53146105d2578063313ce5671461061557806331c3a07b146106465780633f4ba83a1461069d57806342966c68146106b457806343b61bf9146106e157806345977d0314610726578063484b7b401461075357806353ec897b1461077e5780635772437f146107d557806359bf1abe1461082c5780635b40a584146108875780635c975abb146108b25780635de4ccb0146108e15780635f412d4f14610938578063600440cb1461094f57806366188463146109a65780636623fc4614610a0b57806370a0823114610a505780638444b39114610aa75780638456cb5914610ae0578063867c285714610af75780638da5cb5b14610b5257806395d89b4114610ba95780639613252114610c395780639738968c14610c68578063a14c1d8c14610c97578063a9059cbb14610cc2578063c1ff320814610d27578063c752ff6214610d52578063cae9ca5114610d7d578063cd4217c114610e28578063d1f276d314610e7f578063d73dd62314610ed6578063d7a78db814610f3b578063d7e7088a14610f80578063dd62ed3e14610fc3578063e47d60601461103a578063e4997dc514611095578063ee7f4378146110d8578063eefa597b14611145578063f2fde38b14611174578063f3bdc228146111b7578063fe43808e146111fa578063fe855e6914611251578063ffeb7d7514611296575b600080fd5b3480156102af57600080fd5b506102f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506112d9565b005b3480156102fe57600080fd5b506103076113b4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561034757808201518184015260208101905061032c565b50505050905090810190601f1680156103745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038e57600080fd5b50610397611452565b005b3480156103a557600080fd5b506103e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114cb565b604051808215151515815260200191505060405180910390f35b34801561040a57600080fd5b50610413611654565b604051808215151515815260200191505060405180910390f35b34801561043957600080fd5b5061046e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611842565b005b34801561047c57600080fd5b506104b1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061195c565b6040518082815260200191505060405180910390f35b3480156104d357600080fd5b50610508600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611974565b604051808215151515815260200191505060405180910390f35b34801561052e57600080fd5b50610537611bbb565b6040518082815260200191505060405180910390f35b34801561055957600080fd5b506105b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bc5565b604051808215151515815260200191505060405180910390f35b3480156105de57600080fd5b50610613600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c36565b005b34801561062157600080fd5b5061062a611cfa565b604051808260ff1660ff16815260200191505060405180910390f35b34801561065257600080fd5b50610687600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d0d565b6040518082815260200191505060405180910390f35b3480156106a957600080fd5b506106b2611d25565b005b3480156106c057600080fd5b506106df60048036038101908080359060200190929190505050611de5565b005b3480156106ed57600080fd5b5061070c60048036038101908080359060200190929190505050611f9d565b604051808215151515815260200191505060405180910390f35b34801561073257600080fd5b506107516004803603810190808035906020019092919050505061200b565b005b34801561075f57600080fd5b5061076861229b565b6040518082815260200191505060405180910390f35b34801561078a57600080fd5b506107bf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122a1565b6040518082815260200191505060405180910390f35b3480156107e157600080fd5b50610816600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122b9565b6040518082815260200191505060405180910390f35b34801561083857600080fd5b5061086d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612302565b604051808215151515815260200191505060405180910390f35b34801561089357600080fd5b5061089c612358565b6040518082815260200191505060405180910390f35b3480156108be57600080fd5b506108c761235e565b604051808215151515815260200191505060405180910390f35b3480156108ed57600080fd5b506108f6612371565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561094457600080fd5b5061094d612397565b005b34801561095b57600080fd5b50610964612410565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109b257600080fd5b506109f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612436565b604051808215151515815260200191505060405180910390f35b348015610a1757600080fd5b50610a36600480360381019080803590602001909291905050506126c7565b604051808215151515815260200191505060405180910390f35b348015610a5c57600080fd5b50610a91600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061290b565b6040518082815260200191505060405180910390f35b348015610ab357600080fd5b50610abc612953565b60405180826004811115610acc57fe5b60ff16815260200191505060405180910390f35b348015610aec57600080fd5b50610af56129d2565b005b348015610b0357600080fd5b50610b38600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a93565b604051808215151515815260200191505060405180910390f35b348015610b5e57600080fd5b50610b67612ab3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bb557600080fd5b50610bbe612ad9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bfe578082015181840152602081019050610be3565b50505050905090810190601f168015610c2b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c4557600080fd5b50610c4e612b77565b604051808215151515815260200191505060405180910390f35b348015610c7457600080fd5b50610c7d612b8a565b604051808215151515815260200191505060405180910390f35b348015610ca357600080fd5b50610cac612b93565b6040518082815260200191505060405180910390f35b348015610cce57600080fd5b50610d0d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b99565b604051808215151515815260200191505060405180910390f35b348015610d3357600080fd5b50610d3c612c08565b6040518082815260200191505060405180910390f35b348015610d5e57600080fd5b50610d67612c0e565b6040518082815260200191505060405180910390f35b348015610d8957600080fd5b50610e0e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612c14565b604051808215151515815260200191505060405180910390f35b348015610e3457600080fd5b50610e69600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d97565b6040518082815260200191505060405180910390f35b348015610e8b57600080fd5b50610e94612de0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ee257600080fd5b50610f21600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e06565b604051808215151515815260200191505060405180910390f35b348015610f4757600080fd5b50610f6660048036038101908080359060200190929190505050613002565b604051808215151515815260200191505060405180910390f35b348015610f8c57600080fd5b50610fc1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613300565b005b348015610fcf57600080fd5b50611024600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613622565b6040518082815260200191505060405180910390f35b34801561104657600080fd5b5061107b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506136a9565b604051808215151515815260200191505060405180910390f35b3480156110a157600080fd5b506110d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506136c9565b005b3480156110e457600080fd5b50611103600480360381019080803590602001909291905050506137e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561115157600080fd5b5061115a613816565b604051808215151515815260200191505060405180910390f35b34801561118057600080fd5b506111b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061381f565b005b3480156111c357600080fd5b506111f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613977565b005b34801561120657600080fd5b5061123b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613afb565b6040518082815260200191505060405180910390f35b34801561125d57600080fd5b5061127c60048036038101908080359060200190929190505050613b13565b604051808215151515815260200191505060405180910390f35b3480156112a257600080fd5b506112d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b25565b005b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561133557600080fd5b6000600760149054906101000a900460ff16151581151514151561135857600080fd5b81600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561144a5780601f1061141f5761010080835404028352916020019161144a565b820191906000526020600020905b81548152906001019060200180831161142d57829003601f168201915b505050505081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114ae57600080fd5b6000600760146101000a81548160ff021916908315150217905550565b600080821415801561155a57506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561156457600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080600080339250600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491506116f3600a54601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b905060008211151561170457600080fd5b804211151561171257600080fd5b6000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117a8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8e116b8e0792b6bff100e3cd86c569b3cda6933ec3f3a4490f014c20a39f20ab836040518082815260200191505060405180910390a26001935050505090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189e57600080fd5b6001601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600e6020528060005260406000206000915090505481565b6000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d557600080fd5b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150611a6b600a54601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b9050600082111515611a7c57600080fd5b8042111515611a8a57600080fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b20826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff167fe6f7a261c4bb689059588a0af6441e2817de16475a3a9a2ca76a3787c995c550836040518082815260200191505060405180910390a2600192505050919050565b6000600154905090565b600033601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c2157600080fd5b611c2c858585613c07565b9150509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c9257600080fd5b6000600760149054906101000a900460ff161515811515141515611cb557600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601660009054906101000a900460ff1681565b60126020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d8157600080fd5b600960009054906101000a900460ff161515611d9c57600080fd5b6000600960006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611e3457600080fd5b339050611e88826000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611edf82600154613c3990919063ffffffff16565b6001819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ffb57600080fd5b81600a8190555060019050919050565b6000612015612953565b90506003600481111561202457fe5b81600481111561203057fe5b1480612051575060048081111561204357fe5b81600481111561204f57fe5b145b151561205c57600080fd5b600082141561206a57600080fd5b6120bb826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061211282600154613c3990919063ffffffff16565b60018190555061212d82600554613be990919063ffffffff16565b600581905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663753e88e533846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156121f857600080fd5b505af115801561220c573d6000803e3d6000fd5b50505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac846040518082815260200191505060405180910390a35050565b600a5481565b600f6020528060005260406000206000915090505481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600c5481565b600960009054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123f357600080fd5b6001600760146101000a81548160ff021916908315150217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612547576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125db565b61255a8382613c3990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561271857600080fd5b60008311151561272757600080fd5b33905061277c83600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061281883600b54613c3990919063ffffffff16565b600b8190555061287083600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f846040518082815260200191505060405180910390a26001915050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061295d612b8a565b151561296c57600190506129cf565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156129b657600290506129cf565b600060055414156129ca57600390506129cf565b600490505b90565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a2e57600080fd5b600960009054906101000a900460ff16151515612a4a57600080fd5b6001600960006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60086020528060005260406000206000915054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b6f5780601f10612b4457610100808354040283529160200191612b6f565b820191906000526020600020905b815481529060010190602001808311612b5257829003601f168201915b505050505081565b600760149054906101000a900460ff1681565b60006001905090565b600b5481565b600033601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612bf557600080fd5b612bff8484613c52565b91505092915050565b600d5481565b60055481565b600080849050612c2485856114cb565b15612d8e578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612d1e578082015181840152602081019050612d03565b50505050905090810190601f168015612d4b5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612d6d57600080fd5b505af1158015612d81573d6000803e3d6000fd5b5050505060019150612d8f565b5b509392505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612e9782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000806000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415613104576130636001600c54613be990919063ffffffff16565b600c81905550600c54601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503360116000600c54815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561315157600080fd5b600d54831015151561316257600080fd5b3390506131b6836000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061320d83600b54613be990919063ffffffff16565b600b8190555061326583600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0846040518082815260200191505060405180910390a26001915050919050565b613308612b8a565b151561331357600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141561333757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561339357600080fd5b60048081111561339f57fe5b6133a7612953565b60048111156133b257fe5b14156133bd57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166361d3d7a66040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561348457600080fd5b505af1158015613498573d6000803e3d6000fd5b505050506040513d60208110156134ae57600080fd5b810190808051906020019092919050505015156134ca57600080fd5b600154600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b2ba0dd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561355357600080fd5b505af1158015613567573d6000803e3d6000fd5b505050506040513d602081101561357d57600080fd5b810190808051906020019092919050505014151561359a57600080fd5b7f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561372557600080fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60116020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561387b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156138b757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156139d557600080fd5b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613a2d57600080fd5b613a368261290b565b905060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001600082825403925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60106020528060005260406000206000915090505481565b600081600d8190555060019050919050565b60008173ffffffffffffffffffffffffffffffffffffffff161415613b4957600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613ba557600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808284019050838110151515613bfd57fe5b8091505092915050565b6000600960009054906101000a900460ff16151515613c2557600080fd5b613c30848484613c82565b90509392505050565b6000828211151515613c4757fe5b818303905092915050565b6000600960009054906101000a900460ff16151515613c7057600080fd5b613c7a8383613d09565b905092915050565b600083600760149054906101000a900460ff161515613cf457600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613cf357600080fd5b5b613cff858585613d8e565b9150509392505050565b600033600760149054906101000a900460ff161515613d7b57600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613d7a57600080fd5b5b613d85848461414e565b91505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515613dcd57600080fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515613e1a57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515613ea557600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050613f75836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614008836000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061405d8382613c3990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561418b57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156141d857600080fd5b614229826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506142bc826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a723058200663db9e6b059a5c86f66f0e589499c97752c183f5c2fb4afa03abf0613001da00290000000000000000000000005fe17d0fa46d52f70be4be1184b8060bab6c507f

Deployed Bytecode

0x60806040526004361061029e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302f652a3146102a357806306fdde03146102f2578063094140f314610382578063095ea7b3146103995780630e1ca00e146103fe5780630ecb93c01461042d578063120426821461047057806316da746f146104c757806318160ddd1461052257806323b872dd1461054d57806329ff4f53146105d2578063313ce5671461061557806331c3a07b146106465780633f4ba83a1461069d57806342966c68146106b457806343b61bf9146106e157806345977d0314610726578063484b7b401461075357806353ec897b1461077e5780635772437f146107d557806359bf1abe1461082c5780635b40a584146108875780635c975abb146108b25780635de4ccb0146108e15780635f412d4f14610938578063600440cb1461094f57806366188463146109a65780636623fc4614610a0b57806370a0823114610a505780638444b39114610aa75780638456cb5914610ae0578063867c285714610af75780638da5cb5b14610b5257806395d89b4114610ba95780639613252114610c395780639738968c14610c68578063a14c1d8c14610c97578063a9059cbb14610cc2578063c1ff320814610d27578063c752ff6214610d52578063cae9ca5114610d7d578063cd4217c114610e28578063d1f276d314610e7f578063d73dd62314610ed6578063d7a78db814610f3b578063d7e7088a14610f80578063dd62ed3e14610fc3578063e47d60601461103a578063e4997dc514611095578063ee7f4378146110d8578063eefa597b14611145578063f2fde38b14611174578063f3bdc228146111b7578063fe43808e146111fa578063fe855e6914611251578063ffeb7d7514611296575b600080fd5b3480156102af57600080fd5b506102f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506112d9565b005b3480156102fe57600080fd5b506103076113b4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561034757808201518184015260208101905061032c565b50505050905090810190601f1680156103745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038e57600080fd5b50610397611452565b005b3480156103a557600080fd5b506103e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114cb565b604051808215151515815260200191505060405180910390f35b34801561040a57600080fd5b50610413611654565b604051808215151515815260200191505060405180910390f35b34801561043957600080fd5b5061046e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611842565b005b34801561047c57600080fd5b506104b1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061195c565b6040518082815260200191505060405180910390f35b3480156104d357600080fd5b50610508600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611974565b604051808215151515815260200191505060405180910390f35b34801561052e57600080fd5b50610537611bbb565b6040518082815260200191505060405180910390f35b34801561055957600080fd5b506105b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bc5565b604051808215151515815260200191505060405180910390f35b3480156105de57600080fd5b50610613600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c36565b005b34801561062157600080fd5b5061062a611cfa565b604051808260ff1660ff16815260200191505060405180910390f35b34801561065257600080fd5b50610687600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d0d565b6040518082815260200191505060405180910390f35b3480156106a957600080fd5b506106b2611d25565b005b3480156106c057600080fd5b506106df60048036038101908080359060200190929190505050611de5565b005b3480156106ed57600080fd5b5061070c60048036038101908080359060200190929190505050611f9d565b604051808215151515815260200191505060405180910390f35b34801561073257600080fd5b506107516004803603810190808035906020019092919050505061200b565b005b34801561075f57600080fd5b5061076861229b565b6040518082815260200191505060405180910390f35b34801561078a57600080fd5b506107bf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122a1565b6040518082815260200191505060405180910390f35b3480156107e157600080fd5b50610816600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122b9565b6040518082815260200191505060405180910390f35b34801561083857600080fd5b5061086d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612302565b604051808215151515815260200191505060405180910390f35b34801561089357600080fd5b5061089c612358565b6040518082815260200191505060405180910390f35b3480156108be57600080fd5b506108c761235e565b604051808215151515815260200191505060405180910390f35b3480156108ed57600080fd5b506108f6612371565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561094457600080fd5b5061094d612397565b005b34801561095b57600080fd5b50610964612410565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109b257600080fd5b506109f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612436565b604051808215151515815260200191505060405180910390f35b348015610a1757600080fd5b50610a36600480360381019080803590602001909291905050506126c7565b604051808215151515815260200191505060405180910390f35b348015610a5c57600080fd5b50610a91600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061290b565b6040518082815260200191505060405180910390f35b348015610ab357600080fd5b50610abc612953565b60405180826004811115610acc57fe5b60ff16815260200191505060405180910390f35b348015610aec57600080fd5b50610af56129d2565b005b348015610b0357600080fd5b50610b38600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a93565b604051808215151515815260200191505060405180910390f35b348015610b5e57600080fd5b50610b67612ab3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bb557600080fd5b50610bbe612ad9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bfe578082015181840152602081019050610be3565b50505050905090810190601f168015610c2b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c4557600080fd5b50610c4e612b77565b604051808215151515815260200191505060405180910390f35b348015610c7457600080fd5b50610c7d612b8a565b604051808215151515815260200191505060405180910390f35b348015610ca357600080fd5b50610cac612b93565b6040518082815260200191505060405180910390f35b348015610cce57600080fd5b50610d0d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b99565b604051808215151515815260200191505060405180910390f35b348015610d3357600080fd5b50610d3c612c08565b6040518082815260200191505060405180910390f35b348015610d5e57600080fd5b50610d67612c0e565b6040518082815260200191505060405180910390f35b348015610d8957600080fd5b50610e0e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612c14565b604051808215151515815260200191505060405180910390f35b348015610e3457600080fd5b50610e69600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d97565b6040518082815260200191505060405180910390f35b348015610e8b57600080fd5b50610e94612de0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ee257600080fd5b50610f21600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e06565b604051808215151515815260200191505060405180910390f35b348015610f4757600080fd5b50610f6660048036038101908080359060200190929190505050613002565b604051808215151515815260200191505060405180910390f35b348015610f8c57600080fd5b50610fc1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613300565b005b348015610fcf57600080fd5b50611024600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613622565b6040518082815260200191505060405180910390f35b34801561104657600080fd5b5061107b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506136a9565b604051808215151515815260200191505060405180910390f35b3480156110a157600080fd5b506110d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506136c9565b005b3480156110e457600080fd5b50611103600480360381019080803590602001909291905050506137e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561115157600080fd5b5061115a613816565b604051808215151515815260200191505060405180910390f35b34801561118057600080fd5b506111b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061381f565b005b3480156111c357600080fd5b506111f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613977565b005b34801561120657600080fd5b5061123b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613afb565b6040518082815260200191505060405180910390f35b34801561125d57600080fd5b5061127c60048036038101908080359060200190929190505050613b13565b604051808215151515815260200191505060405180910390f35b3480156112a257600080fd5b506112d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b25565b005b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561133557600080fd5b6000600760149054906101000a900460ff16151581151514151561135857600080fd5b81600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561144a5780601f1061141f5761010080835404028352916020019161144a565b820191906000526020600020905b81548152906001019060200180831161142d57829003601f168201915b505050505081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114ae57600080fd5b6000600760146101000a81548160ff021916908315150217905550565b600080821415801561155a57506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561156457600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080600080339250600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491506116f3600a54601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b905060008211151561170457600080fd5b804211151561171257600080fd5b6000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117a8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8e116b8e0792b6bff100e3cd86c569b3cda6933ec3f3a4490f014c20a39f20ab836040518082815260200191505060405180910390a26001935050505090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189e57600080fd5b6001601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600e6020528060005260406000206000915090505481565b6000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d557600080fd5b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150611a6b600a54601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b9050600082111515611a7c57600080fd5b8042111515611a8a57600080fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b20826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff167fe6f7a261c4bb689059588a0af6441e2817de16475a3a9a2ca76a3787c995c550836040518082815260200191505060405180910390a2600192505050919050565b6000600154905090565b600033601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c2157600080fd5b611c2c858585613c07565b9150509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c9257600080fd5b6000600760149054906101000a900460ff161515811515141515611cb557600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601660009054906101000a900460ff1681565b60126020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d8157600080fd5b600960009054906101000a900460ff161515611d9c57600080fd5b6000600960006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611e3457600080fd5b339050611e88826000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611edf82600154613c3990919063ffffffff16565b6001819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ffb57600080fd5b81600a8190555060019050919050565b6000612015612953565b90506003600481111561202457fe5b81600481111561203057fe5b1480612051575060048081111561204357fe5b81600481111561204f57fe5b145b151561205c57600080fd5b600082141561206a57600080fd5b6120bb826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061211282600154613c3990919063ffffffff16565b60018190555061212d82600554613be990919063ffffffff16565b600581905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663753e88e533846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156121f857600080fd5b505af115801561220c573d6000803e3d6000fd5b50505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac846040518082815260200191505060405180910390a35050565b600a5481565b600f6020528060005260406000206000915090505481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600c5481565b600960009054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123f357600080fd5b6001600760146101000a81548160ff021916908315150217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612547576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125db565b61255a8382613c3990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561271857600080fd5b60008311151561272757600080fd5b33905061277c83600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061281883600b54613c3990919063ffffffff16565b600b8190555061287083600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f846040518082815260200191505060405180910390a26001915050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061295d612b8a565b151561296c57600190506129cf565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156129b657600290506129cf565b600060055414156129ca57600390506129cf565b600490505b90565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a2e57600080fd5b600960009054906101000a900460ff16151515612a4a57600080fd5b6001600960006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60086020528060005260406000206000915054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b6f5780601f10612b4457610100808354040283529160200191612b6f565b820191906000526020600020905b815481529060010190602001808311612b5257829003601f168201915b505050505081565b600760149054906101000a900460ff1681565b60006001905090565b600b5481565b600033601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612bf557600080fd5b612bff8484613c52565b91505092915050565b600d5481565b60055481565b600080849050612c2485856114cb565b15612d8e578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612d1e578082015181840152602081019050612d03565b50505050905090810190601f168015612d4b5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612d6d57600080fd5b505af1158015612d81573d6000803e3d6000fd5b5050505060019150612d8f565b5b509392505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612e9782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000806000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415613104576130636001600c54613be990919063ffffffff16565b600c81905550600c54601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503360116000600c54815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561315157600080fd5b600d54831015151561316257600080fd5b3390506131b6836000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061320d83600b54613be990919063ffffffff16565b600b8190555061326583600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0846040518082815260200191505060405180910390a26001915050919050565b613308612b8a565b151561331357600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141561333757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561339357600080fd5b60048081111561339f57fe5b6133a7612953565b60048111156133b257fe5b14156133bd57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166361d3d7a66040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561348457600080fd5b505af1158015613498573d6000803e3d6000fd5b505050506040513d60208110156134ae57600080fd5b810190808051906020019092919050505015156134ca57600080fd5b600154600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b2ba0dd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561355357600080fd5b505af1158015613567573d6000803e3d6000fd5b505050506040513d602081101561357d57600080fd5b810190808051906020019092919050505014151561359a57600080fd5b7f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561372557600080fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60116020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561387b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156138b757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156139d557600080fd5b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613a2d57600080fd5b613a368261290b565b905060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001600082825403925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60106020528060005260406000206000915090505481565b600081600d8190555060019050919050565b60008173ffffffffffffffffffffffffffffffffffffffff161415613b4957600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613ba557600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808284019050838110151515613bfd57fe5b8091505092915050565b6000600960009054906101000a900460ff16151515613c2557600080fd5b613c30848484613c82565b90509392505050565b6000828211151515613c4757fe5b818303905092915050565b6000600960009054906101000a900460ff16151515613c7057600080fd5b613c7a8383613d09565b905092915050565b600083600760149054906101000a900460ff161515613cf457600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613cf357600080fd5b5b613cff858585613d8e565b9150509392505050565b600033600760149054906101000a900460ff161515613d7b57600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613d7a57600080fd5b5b613d85848461414e565b91505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515613dcd57600080fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515613e1a57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515613ea557600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050613f75836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614008836000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061405d8382613c3990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561418b57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156141d857600080fd5b614229826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506142bc826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a723058200663db9e6b059a5c86f66f0e589499c97752c183f5c2fb4afa03abf0613001da0029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000005fe17d0fa46d52f70be4be1184b8060bab6c507f

-----Decoded View---------------
Arg [0] : _owner (address): 0x5Fe17D0Fa46d52F70BE4be1184b8060baB6C507f

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005fe17d0fa46d52f70be4be1184b8060bab6c507f


Deployed Bytecode Sourcemap

23307:471:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3827:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3827:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23444:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23444:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;23444:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4332:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4332:87:0;;;;;;12700:574;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12700:574:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9555:462;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9555:462:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21111:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21111:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7686:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7686:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10023:467;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10023:467:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6440:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6440:82:0;;;;;;;;;;;;;;;;;;;;;;;21897:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21897:171:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3471:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3471:223:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23492:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23492:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7884:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7884:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6050:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6050:95:0;;;;;;20045:475;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20045:475:0;;;;;;;;;;;;;;;;;;;;;;;;;;10496:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10496:145:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17401:667;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17401:667:0;;;;;;;;;;;;;;;;;;;;;;;;;;7551:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7551:40:0;;;;;;;;;;;;;;;;;;;;;;;7731:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7731:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8406:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8406:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20988;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20988:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7624:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7624:17:0;;;;;;;;;;;;;;;;;;;;;;;5429:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5429:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;16302:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16302:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4182:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4182:84:0;;;;;;16204:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16204:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14943:412;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14943:412:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9100:449;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9100:449:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7279:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7279:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18934:317;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18934:317:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5870:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5870:93:0;;;;;;3000:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3000:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;272:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;272:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;23467;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23467:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;23467:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2800:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2800:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;19654:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19654:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7596:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7596:23:0;;;;;;;;;;;;;;;;;;;;;;;21751:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21751:141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7646:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7646:33:0;;;;;;;;;;;;;;;;;;;;;;;16392:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16392:25:0;;;;;;;;;;;;;;;;;;;;;;;22775:347;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22775:347:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8286:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8286:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2645:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2645:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14203:266;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14203:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8530:564;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8530:564:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18128:744;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18128:744:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13599:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13599:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20838:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20838:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21274:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21274:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7832:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7832:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11213:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11213:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;887:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;887:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21435:311;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21435:311:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7778:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7778:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10647:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10647:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19377:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19377:172:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3827:132;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;3904:5;4583:8;;;;;;;;;;;4567:24;;:12;:24;;;;4564:56;;;4604:8;;;4564:56;3948:5;3925:14;:20;3940:4;3925:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;713:1;3827:132;;:::o;23444:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4332:87::-;4765:12;;;;;;;;;;;4751:26;;:10;:26;;;;4748:58;;;4790:8;;;4748:58;4408:5;4397:8;;:16;;;;;;;;;;;;;;;;;;4332:87::o;12700:574::-;12764:12;13094:1;13084:6;:11;;13083:53;;;;;13134:1;13101:7;:19;13109:10;13101:19;;;;;;;;;;;;;;;:29;13121:8;13101:29;;;;;;;;;;;;;;;;:34;;13083:53;13079:74;;;13145:8;;;13079:74;13194:6;13162:7;:19;13170:10;13162:19;;;;;;;;;;;;;;;:29;13182:8;13162:29;;;;;;;;;;;;;;;:38;;;;13233:8;13212:38;;13221:10;13212:38;;;13243:6;13212:38;;;;;;;;;;;;;;;;;;13264:4;13257:11;;12700:574;;;;:::o;9555:462::-;9599:12;9620:14;9654:19;9700:17;9637:10;9620:27;;9676:9;:17;9686:6;9676:17;;;;;;;;;;;;;;;;9654:39;;9720:49;9749:19;;9720:16;:24;9737:6;9720:24;;;;;;;;;;;;;;;;:28;;:49;;;;:::i;:::-;9700:69;;9801:1;9784:14;:18;9776:27;;;;;;;;9836:12;9818:15;:30;9810:39;;;;;;;;9878:1;9858:9;:17;9868:6;9858:17;;;;;;;;;;;;;;;:21;;;;9905:36;9926:14;9905:8;:16;9914:6;9905:16;;;;;;;;;;;;;;;;:20;;:36;;;;:::i;:::-;9886:8;:16;9895:6;9886:16;;;;;;;;;;;;;;;:55;;;;9970:6;9953:40;;;9978:14;9953:40;;;;;;;;;;;;;;;;;;10007:4;10000:11;;9555:462;;;;:::o;21111:158::-;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;21205:4;21178:13;:24;21192:9;21178:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;21222:25;21237:9;21222:25;;;;;;;;;;;;;;;;;;;;;;21111:158;:::o;7686:40::-;;;;;;;;;;;;;;;;;:::o;10023:467::-;10096:12;10117:19;10165:17;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;10139:9;:19;10149:8;10139:19;;;;;;;;;;;;;;;;10117:41;;10185:51;10216:19;;10185:16;:26;10202:8;10185:26;;;;;;;;;;;;;;;;:30;;:51;;;;:::i;:::-;10165:71;;10268:1;10251:14;:18;10243:27;;;;;;;;10303:12;10285:15;:30;10277:39;;;;;;;;10347:1;10325:9;:19;10335:8;10325:19;;;;;;;;;;;;;;;:23;;;;10376:38;10399:14;10376:8;:18;10385:8;10376:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;10355:8;:18;10364:8;10355:18;;;;;;;;;;;;;;;:59;;;;10441:8;10426:40;;;10451:14;10426:40;;;;;;;;;;;;;;;;;;10480:4;10473:11;;10023:467;;;;;:::o;6440:82::-;6484:4;6504:12;;6497:19;;6440:82;:::o;21897:171::-;22007:4;21979:10;20949:13;:22;20963:7;20949:22;;;;;;;;;;;;;;;;;;;;;;;;;20948:23;20940:32;;;;;;;;22025:38;22044:5;22051:3;22056:6;22025:18;:38::i;:::-;22018:45;;21897:171;;;;;;:::o;3471:223::-;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;3535:5;4583:8;;;;;;;;;;;4567:24;;:12;:24;;;;4564:56;;;4604:8;;;4564:56;3684:4;3669:12;;:19;;;;;;;;;;;;;;;;;;713:1;3471:223;:::o;23492:21::-;;;;;;;;;;;;;:::o;7884:43::-;;;;;;;;;;;;;;;;;:::o;6050:95::-;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;5765:6;;;;;;;;;;;5757:15;;;;;;;;6113:5;6104:6;;:14;;;;;;;;;;;;;;;;;;6130:9;;;;;;;;;;6050:95::o;20045:475::-;20307:14;20104:8;:20;20113:10;20104:20;;;;;;;;;;;;;;;;20094:6;:30;;20086:39;;;;;;;;20324:10;20307:27;;20360:28;20381:6;20360:8;:16;20369:6;20360:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;20341:8;:16;20350:6;20341:16;;;;;;;;;;;;;;;:47;;;;20410:24;20427:6;20410:12;;:16;;:24;;;;:::i;:::-;20395:12;:39;;;;20451:6;20446:20;;;20459:6;20446:20;;;;;;;;;;;;;;;;;;20503:1;20478:36;;20487:6;20478:36;;;20507:6;20478:36;;;;;;;;;;;;;;;;;;20045:475;;:::o;10496:145::-;10566:12;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;10609:8;10587:19;:30;;;;10631:4;10624:11;;10496:145;;;:::o;17401:667::-;17448:18;17469:17;:15;:17::i;:::-;17448:38;;17510:27;17501:36;;;;;;;;:5;:36;;;;;;;;;:71;;;;17550:22;17541:31;;;;;;;;:5;:31;;;;;;;;;17501:71;17499:74;17495:143;;;17620:8;;;17495:143;17693:1;17684:5;:10;17680:24;;;17696:8;;;17680:24;17738:31;17763:5;17738:8;:20;17747:10;17738:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;17715:8;:20;17724:10;17715:20;;;;;;;;;;;;;;;:54;;;;17838:23;17855:5;17838:12;;:16;;:23;;;;:::i;:::-;17823:12;:38;;;;17886:24;17904:5;17886:13;;:17;;:24;;;;:::i;:::-;17870:13;:40;;;;17965:12;;;;;;;;;;;:24;;;17990:10;18002:5;17965:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17965:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17965:43:0;;;;18042:12;;;;;;;;;;;18022:40;;18030:10;18022:40;;;18056:5;18022:40;;;;;;;;;;;;;;;;;;17401:667;;:::o;7551:40::-;;;;:::o;7731:42::-;;;;;;;;;;;;;;;;;:::o;8406:118::-;8468:12;8496:9;:22;8506:11;8496:22;;;;;;;;;;;;;;;;8489:29;;8406:118;;;:::o;20988:::-;21059:4;21080:13;:21;21094:6;21080:21;;;;;;;;;;;;;;;;;;;;;;;;;21073:28;;20988:118;;;:::o;7624:17::-;;;;:::o;5429:26::-;;;;;;;;;;;;;:::o;16302:32::-;;;;;;;;;;;;;:::o;4182:84::-;4765:12;;;;;;;;;;;4751:26;;:10;:26;;;;4748:58;;;4790:8;;;4748:58;4256:4;4245:8;;:15;;;;;;;;;;;;;;;;;;4182:84::o;16204:28::-;;;;;;;;;;;;;:::o;14943:412::-;15026:4;15039:13;15055:7;:19;15063:10;15055:19;;;;;;;;;;;;;;;:29;15075:8;15055:29;;;;;;;;;;;;;;;;15039:45;;15114:8;15095:16;:27;15091:168;;;15165:1;15133:7;:19;15141:10;15133:19;;;;;;;;;;;;;;;:29;15153:8;15133:29;;;;;;;;;;;;;;;:33;;;;15091:168;;;15221:30;15234:16;15221:8;:12;;:30;;;;:::i;:::-;15189:7;:19;15197:10;15189:19;;;;;;;;;;;;;;;:29;15209:8;15189:29;;;;;;;;;;;;;;;:62;;;;15091:168;15291:8;15270:61;;15279:10;15270:61;;;15301:7;:19;15309:10;15301:19;;;;;;;;;;;;;;;:29;15321:8;15301:29;;;;;;;;;;;;;;;;15270:61;;;;;;;;;;;;;;;;;;15345:4;15338:11;;14943:412;;;;;:::o;9100:449::-;9147:12;9261:14;9186:7;:19;9194:10;9186:19;;;;;;;;;;;;;;;;9176:6;:29;;9168:38;;;;;;;;9252:1;9243:6;:10;9234:20;;;;;;;;9278:10;9261:27;;9313;9333:6;9313:7;:15;9321:6;9313:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9295:7;:15;9303:6;9295:15;;;;;;;;;;;;;;;:45;;;;9374:15;9347:16;:24;9364:6;9347:24;;;;;;;;;;;;;;;:42;;;;9410:23;9426:6;9410:11;;:15;;:23;;;;:::i;:::-;9396:11;:37;;;;9460:29;9482:6;9460:9;:17;9470:6;9460:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;9440:9;:17;9450:6;9440:17;;;;;;;;;;;;;;;:49;;;;9510:6;9501:24;;;9518:6;9501:24;;;;;;;;;;;;;;;;;;9539:4;9532:11;;9100:449;;;;:::o;7279:106::-;7335:12;7363:8;:16;7372:6;7363:16;;;;;;;;;;;;;;;;7356:23;;7279:106;;;:::o;18934:317::-;18985:12;19010;:10;:12::i;:::-;19009:13;19006:239;;;19031:23;19024:30;;;;19006:239;19094:4;19077:12;;;;;;;;;;;19069:29;;;19066:179;;;19107:28;19100:35;;;;19066:179;19167:1;19150:13;;:18;19147:98;;;19177:27;19170:34;;;;19147:98;19223:22;19216:29;;18934:317;;:::o;5870:93::-;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;5605:6;;;;;;;;;;;5604:7;5596:16;;;;;;;;5934:4;5925:6;;:13;;;;;;;;;;;;;;;;;;5950:7;;;;;;;;;;5870:93::o;3000:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;272:20::-;;;;;;;;;;;;;:::o;23467:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2800:28::-;;;;;;;;;;;;;:::o;19654:73::-;19696:4;19717;19710:11;;19654:73;:::o;7596:23::-;;;;:::o;21751:141::-;21842:4;21814:10;20949:13;:22;20963:7;20949:22;;;;;;;;;;;;;;;;;;;;;;;;;20948:23;20940:32;;;;;;;;21860:27;21875:3;21880:6;21860:14;:27::i;:::-;21853:34;;21751:141;;;;;:::o;7646:33::-;;;;:::o;16392:25::-;;;;:::o;22775:347::-;22888:12;22911:22;22951:8;22911:49;;22973:25;22981:8;22991:6;22973:7;:25::i;:::-;22969:148;;;23013:7;:23;;;23037:10;23049:6;23065:4;23072:10;23013:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;23013:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23013:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23013:70:0;;;;23103:4;23096:11;;;;22969:148;22775:347;;;;;;;:::o;8286:114::-;8346:12;8374:7;:20;8382:11;8374:20;;;;;;;;;;;;;;;;8367:27;;8286:114;;;:::o;2645:27::-;;;;;;;;;;;;;:::o;14203:266::-;14281:4;14326:46;14360:11;14326:7;:19;14334:10;14326:19;;;;;;;;;;;;;;;:29;14346:8;14326:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;14294:7;:19;14302:10;14294:19;;;;;;;;;;;;;;;:29;14314:8;14294:29;;;;;;;;;;;;;;;:78;;;;14405:8;14384:61;;14393:10;14384:61;;;14415:7;:19;14423:10;14415:19;;;;;;;;;;;;;;;:29;14435:8;14415:29;;;;;;;;;;;;;;;;14384:61;;;;;;;;;;;;;;;;;;14459:4;14452:11;;14203:266;;;;:::o;8530:564::-;8575:12;8859:14;8626:1;8600:10;:22;8611:10;8600:22;;;;;;;;;;;;;;;;:27;8596:152;;;8646:12;8656:1;8646:5;;:9;;:12;;;;:::i;:::-;8638:5;:20;;;;8692:5;;8667:10;:22;8678:10;8667:22;;;;;;;;;;;;;;;:30;;;;8730:10;8706:14;:21;8721:5;;8706:21;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;8596:152;8774:8;:20;8783:10;8774:20;;;;;;;;;;;;;;;;8764:6;:30;;8756:39;;;;;;;;8842:9;;8832:6;:19;;8823:29;;;;;;;;8876:10;8859:27;;8912:28;8933:6;8912:8;:16;8921:6;8912:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;8893:8;:16;8902:6;8893:16;;;;;;;;;;;;;;;:47;;;;8961:23;8977:6;8961:11;;:15;;:23;;;;:::i;:::-;8947:11;:37;;;;9009:27;9029:6;9009:7;:15;9017:6;9009:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8991:7;:15;8999:6;8991:15;;;;;;;;;;;;;;;:45;;;;9055:6;9048:22;;;9063:6;9048:22;;;;;;;;;;;;;;;;;;9084:4;9077:11;;8530:564;;;;:::o;18128:744::-;18192:12;:10;:12::i;:::-;18191:13;18188:121;;;18291:8;;;18188:121;18332:3;18323:5;:12;;;18319:26;;;18337:8;;;18319:26;18425:13;;;;;;;;;;;18411:27;;:10;:27;;;;18407:41;;;18440:8;;;18407:41;18531:22;18510:43;;;;;;;;:17;:15;:17::i;:::-;:43;;;;;;;;;18506:57;;;18555:8;;;18506:57;18602:5;18574:12;;:34;;;;;;;;;;;;;;;;;;18647:12;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18647:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18647:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18647:29:0;;;;;;;;;;;;;;;;18646:30;18643:43;;;18678:8;;;18643:43;18799:12;;18766;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18766:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18766:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18766:29:0;;;;;;;;;;;;;;;;:45;;18762:59;;;18813:8;;;18762:59;18837:29;18853:12;;;;;;;;;;;18837:29;;;;;;;;;;;;;;;;;;;;;;18128:744;:::o;13599:135::-;13673:14;13703:7;:15;13711:6;13703:15;;;;;;;;;;;;;;;:25;13719:8;13703:25;;;;;;;;;;;;;;;;13696:32;;13599:135;;;;:::o;20838:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;21274:156::-;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;21377:5;21347:13;:27;21361:12;21347:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;21395:30;21412:12;21395:30;;;;;;;;;;;;;;;;;;;;;;21274:156;:::o;7832:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;11213:76::-;11253:10;11279:4;11272:11;;11213:76;:::o;887:178::-;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;984:1;964:22;;:8;:22;;;;956:31;;;;;;;;1027:8;999:37;;1020:5;;;;;;;;;;;999:37;;;;;;;;;;;;1051:8;1043:5;;:16;;;;;;;;;;;;;;;;;;887:178;:::o;21435:311::-;21562:15;700:5;;;;;;;;;;;686:19;;:10;:19;;;678:28;;;;;;;;21522:13;:31;21536:16;21522:31;;;;;;;;;;;;;;;;;;;;;;;;;21514:40;;;;;;;;21580:27;21590:16;21580:9;:27::i;:::-;21562:45;;21644:1;21615:8;:26;21624:16;21615:26;;;;;;;;;;;;;;;:30;;;;21669:10;21653:12;;:26;;;;;;;;;;;21692:49;21712:16;21730:10;21692:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;21435:311;;:::o;7778:49::-;;;;;;;;;;;;;;;;;:::o;10647:133::-;10710:12;10743:13;10731:9;:25;;;;10770:4;10763:11;;10647:133;;;:::o;19377:172::-;19449:3;19439:6;:13;;;19435:27;;;19454:8;;;19435:27;19489:13;;;;;;;;;;;19475:27;;:10;:27;;;;19471:41;;;19504:8;;;19471:41;19537:6;19521:13;;:22;;;;;;;;;;;;;;;;;;19377:172;:::o;24803:133::-;24861:7;24877:9;24893:1;24889;:5;24877:17;;24913:1;24908;:6;;24901:14;;;;;;24929:1;24922:8;;24803:133;;;;;:::o;15651:157::-;15744:4;5605:6;;;;;;;;;;;5604:7;5596:16;;;;;;;;15764:38;15783:5;15790:3;15795:6;15764:18;:38::i;:::-;15757:45;;15651:157;;;;;:::o;24623:113::-;24681:7;24709:1;24704;:6;;24697:14;;;;;;24729:1;24725;:5;24718:12;;24623:113;;;;:::o;15518:127::-;15592:4;5605:6;;;;;;;;;;;5604:7;5596:16;;;;;;;;15612:27;15627:3;15632:6;15612:14;:27::i;:::-;15605:34;;15518:127;;;;:::o;5013:212::-;5111:12;5088:5;3181:8;;;;;;;;;;;3180:9;3177:96;;;3206:14;:23;3221:7;3206:23;;;;;;;;;;;;;;;;;;;;;;;;;3205:24;3202:64;;;3246:8;;;3202:64;3177:96;5181:38;5200:5;5207:3;5212:6;5181:18;:38::i;:::-;5174:45;;5013:212;;;;;;:::o;4825:182::-;4909:12;4881:10;3181:8;;;;;;;;;;;3180:9;3177:96;;;3206:14;:23;3221:7;3206:23;;;;;;;;;;;;;;;;;;;;;;;;;3205:24;3202:64;;;3246:8;;;3202:64;3177:96;4974:27;4989:3;4994:6;4974:14;:27::i;:::-;4967:34;;4825:182;;;;;:::o;11569:496::-;11648:12;11797:15;11692:1;11677:17;;:3;:17;;;;11669:26;;;;;;;;11720:8;:15;11729:5;11720:15;;;;;;;;;;;;;;;;11710:6;:25;;11702:34;;;;;;;;11761:7;:14;11769:5;11761:14;;;;;;;;;;;;;;;:26;11776:10;11761:26;;;;;;;;;;;;;;;;11751:6;:36;;11743:45;;;;;;;;11815:7;:14;11823:5;11815:14;;;;;;;;;;;;;;;:26;11830:10;11815:26;;;;;;;;;;;;;;;;11797:44;;11866:25;11884:6;11866:8;:13;11875:3;11866:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;11850:8;:13;11859:3;11850:13;;;;;;;;;;;;;;;:41;;;;11916:27;11936:6;11916:8;:15;11925:5;11916:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11898:8;:15;11907:5;11898:15;;;;;;;;;;;;;;;:45;;;;11979:22;11994:6;11979:10;:14;;:22;;;;:::i;:::-;11950:7;:14;11958:5;11950:14;;;;;;;;;;;;;;;:26;11965:10;11950:26;;;;;;;;;;;;;;;:51;;;;12029:3;12013:28;;12022:5;12013:28;;;12034:6;12013:28;;;;;;;;;;;;;;;;;;12055:4;12048:11;;11569:496;;;;;;:::o;6683:390::-;6743:4;6779:1;6764:17;;:3;:17;;;;6756:26;;;;;;;;6807:8;:20;6816:10;6807:20;;;;;;;;;;;;;;;;6797:6;:30;;6789:39;;;;;;;;6924:32;6949:6;6924:8;:20;6933:10;6924:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6901:8;:20;6910:10;6901:20;;;;;;;;;;;;;;;:55;;;;6979:25;6997:6;6979:8;:13;6988:3;6979:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6963:8;:13;6972:3;6963:13;;;;;;;;;;;;;;;:41;;;;7037:3;7016:33;;7025:10;7016:33;;;7042:6;7016:33;;;;;;;;;;;;;;;;;;7063:4;7056:11;;6683:390;;;;:::o

Swarm Source

bzzr://0663db9e6b059a5c86f66f0e589499c97752c183f5c2fb4afa03abf0613001da
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.