code: def unlinked(base_dir: str) -> set:
          
  
          LOGGER.debug('Tails.unlinked >>> base_dir: %s', base_dir)
  
          rv = set()
          for dir_path, dir_names, file_names in walk(base_dir, topdown=True):
              dir_names[:] = [d for d in dir_names if not d.startswith('.')]
              for file_name in file_names:
                  if isfile(join(dir_path, file_name)) and Tails.ok_hash(file_name):
                      rv.add(join(dir_path, file_name))
          rv -= {join(dirname(path_link), readlink(path_link)) for path_link in Tails.links(base_dir)}
  
          LOGGER.debug('Tails.unlinked <<< %s', rv)
          return rv
docs: Return all paths to tails files, in specified tails base directory recursively
          (omitting the .hopper subdirectory), without symbolic links associating
          revocation registry identifiers.
  
          At an Issuer, tails files should not persist long without revocation registry identifier
          association via symbolic link. At a HolderProver, a newly downloaded tails file stays
          unlinked until the anchor stores a credential or creates a proof needing it, or else the
          anchor restarts.
  
          :param base_dir: base directory for tails files, thereafter split by cred def id
          :return: set of paths to tails files with no local symbolic links to them