code: def _extract_file_list(
      path: List[str], entries: List[Tuple[str, Optional[str]]]
  ) -> List[ArtifactFileData]:
      files: List[ArtifactFileData] = list()
  
      for entry_path, entry_destination in entries:
          driver: Type[ArtifactDriver] = ArtifactDriversMap.match_path(
              entry_path
          )
          artifact_files = driver.get_tracked_files(
              path=entry_path, destination=entry_destination
          )
  
          if len(artifact_files) == 0:
              raise NeptuneEmptyLocationException(
                  location=entry_path, namespace="/".join(path)
              )
  
          files.extend(artifact_files)
  
      return files
  
imports: from typing import Dict, List, Optional, Tuple, Type
  from bravado.exception import HTTPNotFound
  from neptune.common.backends.utils import with_api_exceptions_handler
  from neptune.exceptions import ArtifactNotFoundException, ArtifactUploadingError, FetchAttributeNotFoundException, NeptuneEmptyLocationException
  from neptune.internal.artifacts.file_hasher import FileHasher
  from neptune.internal.artifacts.types import ArtifactDriver, ArtifactDriversMap, ArtifactFileData
  from neptune.internal.backends.api_model import ArtifactAttribute, ArtifactModel
  from neptune.internal.backends.swagger_client_wrapper import SwaggerClientWrapper
  from neptune.internal.operation import AssignArtifact, Operation
  from neptune.internal.utils.paths import path_to_str
label_desc: Use image node_id 8 for calling a global function with example usage: _extract_file_list(path, entries) and returns: files