code: def test_nested_function_arg_defaults(self):
      def test_fn(a):
          def f(x=a):
              y = x * x
              return y
  
          return f(a)
  
      node, _ = self._parse_and_analyze(test_fn)
      fn_def_node = node.body[0]
  
      self.assertScopeIs(
          anno.getanno(fn_def_node, anno.Static.SCOPE), ("a",), ("f",)
      )
  
      scope = anno.getanno(fn_def_node, NodeAnno.BODY_SCOPE)
      self.assertScopeIs(scope, ("x", "y"), ("y",))
  
      scope = anno.getanno(fn_def_node, NodeAnno.ARGS_AND_BODY_SCOPE)
      self.assertScopeIs(scope, ("x", "y"), ("y",))
      self.assertSymbolSetsAre(("x", "y"), scope.bound, "BOUND")
  
imports: import unittest
  import gast
  from nvidia.dali._autograph.pyct import anno
  from nvidia.dali._autograph.pyct import naming
  from nvidia.dali._autograph.pyct import parser
  from nvidia.dali._autograph.pyct import qual_names
  from nvidia.dali._autograph.pyct import transformer
  from nvidia.dali._autograph.pyct.static_analysis import activity
  from nvidia.dali._autograph.pyct.static_analysis import annos
label_desc: Use image node_id 15 for calling the ActivityAnalyzerTest obj's underlying member method code with example usage: obj.test_nested_function_arg_defaults() and returns: f, y