code: def import_string(import_name: str, silent: bool = False) -> t.Any:
      """Imports an object based on a string.  This is useful if you want to
      use import paths as endpoints or something similar.  An import path can
      be specified either in dotted notation (``xml.sax.saxutils.escape``)
      or with a colon as object delimiter (``xml.sax.saxutils:escape``).
  
      If the `silent` is True the return value will be `None` if the import
      fails.
  
      :return: imported object
      """
      try:
          if ":" in import_name:
              module, obj = import_name.split(":", 1)
          elif "." in import_name:
              module, _, obj = import_name.rpartition(".")
          else:
              return __import__(import_name)
          return getattr(__import__(module, None, None, [obj]), obj)
      except (ImportError, AttributeError):
          if not silent:
              raise
  
imports: import enum
  import json
  import os
  import re
  import typing
  from collections import abc
  from collections import deque
  from random import choice
  from random import randrange
  from threading import Lock
  from types import CodeType
  from urllib.parse import quote_from_bytes
  import markupsafe
label_desc: Use image node_id 8 for calling a global function with example usage: import_string(import_name, silent) and returns: getattr, __import__