code: def parametrized_type_hint_getinitargs(obj):
      # The distorted type check sematic for typing construct becomes:
      # ``type(obj) is type(TypeHint)``, which means "obj is a
      # parametrized TypeHint"
      if type(obj) is type(Literal):  # pragma: no branch
          initargs = (Literal, obj.__values__)
      elif type(obj) is type(Final):  # pragma: no branch
          initargs = (Final, obj.__type__)
      elif type(obj) is type(ClassVar):
          initargs = (ClassVar, obj.__type__)
      elif type(obj) is type(Generic):
          parameters = obj.__parameters__
          if len(obj.__parameters__) > 0:
              # in early Python 3.5, __parameters__ was sometimes
              # preferred to __args__
              initargs = (obj.__origin__, parameters)
  
          else:
              initargs = (obj.__origin__, obj.__args__)
      elif type(obj) is type(Union):
          if sys.version_info < (3, 5, 3):  # pragma: no cover
              initargs = (Union, obj.__union_params__)
          else:
              initargs = (Union, obj.__args__)
      elif type(obj) is type(Tuple):
          if sys.version_info < (3, 5, 3):  # pragma: no cover
              initargs = (Tuple, obj.__tuple_params__)
          else:
              initargs = (Tuple, obj.__args__)
      elif type(obj) is type(Callable):
          if sys.version_info < (3, 5, 3):  # pragma: no cover
              args = obj.__args__
              result = obj.__result__
              if args != Ellipsis:
                  if isinstance(args, tuple):
                      args = list(args)
                  else:
                      args = [args]
          else:
              (*args, result) = obj.__args__
              if len(args) == 1 and args[0] is Ellipsis:
                  args = Ellipsis
              else:
                  args = list(args)
          initargs = (Callable, (args, result))
      else:  # pragma: no cover
          raise pickle.PicklingError(
              "Cloudpickle Error: Unknown type {}".format(type(obj))
          )
      return initargs
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import builtins
  import dis
  import opcode
  import platform
  import sys
  import types
  import weakref
  import uuid
  import threading
  import typing
  import warnings
  from ._compat import pickle
  from typing import Generic, Union, Tuple, Callable
  from pickle import _getattribute
  from importlib._bootstrap import _find_spec
label_desc: Use image node_id 13 for calling a global function with example usage: parametrized_type_hint_getinitargs(obj) and returns: initargs