<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def OpenFile(client_path, max_timestamp=None):
 """Opens latest content of a given file for reading. Args: client_path: A db.ClientPath object describing path to a file. max_timestamp: If specified, will open the last collected version with a timestamp equal or lower than max_timestamp. If not specified, will simply open the latest version. Returns: A file like object with random access support. Raises: FileHasNoContentError: if the file was never collected. MissingBlobReferencesError: if one of the blobs was not found. """


  path_info = data_store.REL_DB.ReadLatestPathInfosWithHashBlobReferences(
      [client_path], max_timestamp=max_timestamp)[client_path]

  if path_info is None:
    raise FileHasNoContentError(client_path)

  hash_id = rdf_objects.SHA256HashID.FromBytes(
      path_info.hash_entry.sha256.AsBytes())
  blob_references = data_store.REL_DB.ReadHashBlobReferences([hash_id])[hash_id]

  if blob_references is None:
    raise MissingBlobReferencesError(
        "File hash was expected to have corresponding "
        "blob references, but they were not found: %r" % hash_id)

  return BlobStream(client_path, blob_references, hash_id)