contract ContractResolver {
  address public owner;
  bool public locked;
  function init_register_contract(bytes32 _key, address _contract_address)
           public
           returns (bool _success) {}

  /// @dev Unregister a contract.  This can only be called from the contract with the key itself
  /// @param _key the bytestring of the contract name
  /// @return _success if the operation is successful
  function unregister_contract(bytes32 _key)
           public
           returns (bool _success) {}

  /// @dev Get address of a contract
  /// @param _key the bytestring name of the contract to look up
  /// @return _contract the address of the contract
  function get_contract(bytes32 _key)
           public
           constant
           returns (address _contract) {}
}
function unregister_contract(bytes32 _key)
         public
         returns (bool _success) {}

/// @dev Unregister a contract.  This can only be called from the contract with the key itself
/// @param _key the bytestring of the contract name
/// @return _success if the operation is successful