code: def _function_getnewargs(self, func):
      code = func.__code__
  
      # base_globals represents the future global namespace of func at
      # unpickling time. Looking it up and storing it in
      # CloudpiPickler.globals_ref allow functions sharing the same globals
      # at pickling time to also share them once unpickled, at one condition:
      # since globals_ref is an attribute of a CloudPickler instance, and
      # that a new CloudPickler is created each time pickle.dump or
      # pickle.dumps is called, functions also need to be saved within the
      # same invocation of cloudpickle.dump/cloudpickle.dumps (for example:
      # cloudpickle.dumps([f1, f2])). There is no such limitation when using
      # CloudPickler.dump, as long as the multiple invocations are bound to
      # the same CloudPickler.
      base_globals = self.globals_ref.setdefault(
          id(func.__globals__), {}
      )
  
      if base_globals == {}:
          # Add module attributes used to resolve relative imports
          # instructions inside func.
          for k in ["__package__", "__name__", "__path__", "__file__"]:
              if k in func.__globals__:
                  base_globals[k] = func.__globals__[k]
  
      # Do not bind the free variables before the function is created to
      # avoid infinite recursion.
      if func.__closure__ is None:
          closure = None
      else:
          closure = tuple(
              _make_empty_cell() for _ in range(len(code.co_freevars))
          )
  
      return code, base_globals, None, None, closure
  
imports: import abc
  import copyreg
  import io
  import itertools
  import logging
  import sys
  import struct
  import types
  import weakref
  import typing
  from enum import Enum
  from collections import ChainMap
  from ._compat import pickle, Pickler
  from ._cloudpickle import _extract_code_globals, _BUILTIN_TYPE_NAMES, DEFAULT_PROTOCOL, _find_imported_submodules, _get_cell_contents, _is_importable, _builtin_type, _get_or_create_tracker_id, _make_skeleton_class, _make_skeleton_enum, _extract_class_dict, dynamic_subimport, subimport, _typevar_reduce, _get_bases, _make_cell, _make_empty_cell, CellType, _is_parametrized_type_hint, PYPY, cell_set, parametrized_type_hint_getinitargs, _create_parametrized_type_hint, builtin_code_type
label_desc: Use image node_id 3 for calling the CloudPickler obj's underlying member method code with example usage: obj._function_getnewargs(func) and returns: code,  base_globals,  None,  None,  closure