code: def _populate_unbound(
      kwds, unbound_symbols, locals=None, globals=None
  ):
      for symbol in unbound_symbols:
          if symbol not in kwds:
              if locals is None or globals is None:
                  calling_frame = (
                      inspect.currentframe().f_back.f_back.f_back
                  )
                  if locals is None:
                      locals = calling_frame.f_locals
                  if globals is None:
                      globals = calling_frame.f_globals
              if symbol in locals:
                  kwds[symbol] = locals[symbol]
              elif symbol in globals:
                  kwds[symbol] = globals[symbol]
              else:
                  print("Couldn't find %r" % symbol)
  
imports: from __future__ import absolute_import
  import hashlib
  import inspect
  import os
  import re
  import sys
  from distutils.core import Distribution, Extension
  from distutils.command.build_ext import build_ext
  import Cython
  from ..Compiler.Main import Context, default_options
  from ..Compiler.Visitor import CythonTransform, EnvTransform
  from ..Compiler.ParseTreeTransforms import SkipDeclarations
  from ..Compiler.TreeFragment import parse_from_strings
  from ..Compiler.StringEncoding import _unicode
  from .Dependencies import strip_string_literals, cythonize, cached_function
  from ..Compiler import Pipeline
  from ..Utils import get_cython_cache_dir
  import cython
label_desc: Use image node_id 6 for calling a global function with example usage: _populate_unbound(kwds, unbound_symbols, locals, globals) without return types