docstr: First yields the resolved file uri for the link, then proceeds to yield guesses for possible mistakes.
code: def _possible_target_uris(
      cls,
      file: File,
      path: str,
      use_directory_urls: bool,
      suggest_absolute: bool = False,
  ) -> Iterator[str]:
      """First yields the resolved file uri for the link, then proceeds to yield guesses for possible mistakes."""
      target_uri = cls._target_uri(file.src_uri, path)
      yield target_uri
  
      if posixpath.normpath(path) == ".":
          # Explicitly link to current file.
          yield file.src_uri
          return
      tried = {target_uri}
  
      prefixes = [target_uri, cls._target_uri(file.url, path)]
      if prefixes[0] == prefixes[1]:
          prefixes.pop()
  
      suffixes: list[Callable[[str], str]] = []
      if use_directory_urls:
          suffixes.append(lambda p: p)
      if not posixpath.splitext(target_uri)[-1]:
          suffixes.append(lambda p: posixpath.join(p, "index.md"))
          suffixes.append(lambda p: posixpath.join(p, "README.md"))
      if (
          not target_uri.endswith(".")
          and not path.endswith(".md")
          and (use_directory_urls or not path.endswith("/"))
      ):
          suffixes.append(lambda p: _removesuffix(p, ".html") + ".md")
  
      for pref in prefixes:
          for suf in suffixes:
              guess = posixpath.normpath(suf(pref))
              if guess not in tried and not guess.startswith("../"):
                  yield guess
                  tried.add(guess)
  
imports: from __future__ import annotations
  import copy
  import enum
  import logging
  import posixpath
  import warnings
  from typing import TYPE_CHECKING, Any, Callable, Iterator, MutableMapping, Sequence
  from urllib.parse import unquote
  from urllib.parse import urljoin, urlsplit, urlunsplit
  import markdown
  import markdown.htmlparser
  import markdown.postprocessors
  import markdown.treeprocessors
  from markdown.util import AMP_SUBSTITUTE
  from mkdocs import utils
  from mkdocs.structure import StructureItem
  from mkdocs.structure.toc import get_toc
  from mkdocs.utils import _removesuffix, get_build_date, get_markdown_title, meta, weak_property
label_desc: Use image node_id 4 for calling the _RelativePathTreeprocessor obj's underlying member method code with example usage: obj._possible_target_uris(cls, file, path, use_directory_urls, suggest_absolute) without return types