code: def _manifest_index_entry(entry, run):
      if len(entry) not in (4, 5):
          log.warning(
              "unexpected manfiest entry for run %s: %s", run.id, entry
          )
          return None
      file_type = entry[0]
      run_path = entry[1]
      file_hash = entry[2]
      source = entry[3]
      source_subpath = entry[4] if len(entry) == 5 else None
      return _ManifestEntry(
          file_type, run_path, file_hash, source, source_subpath
      )
  
imports: from collections import namedtuple
  import errno
  import fnmatch
  import logging
  import os
  import shutil
  from guild import file_util
  from guild import run_manifest
label_desc: Use image node_id 3 for calling a global function with example usage: _manifest_index_entry(entry, run) and returns: _ManifestEntry, None