]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] GH-106897: Add `RERAISE` event to `sys.monitoring`. (GH-107291) (GH-107346)
authorMark Shannon <mark@hotpy.org>
Fri, 28 Jul 2023 08:48:35 +0000 (09:48 +0100)
committerGitHub <noreply@github.com>
Fri, 28 Jul 2023 08:48:35 +0000 (09:48 +0100)
* Ensures that exception handling events are balanced. Each [re]raise event has a matching unwind/handled event.

Doc/data/python3.12.abi
Include/cpython/code.h
Include/internal/pycore_instruments.h
Lib/test/test_monitoring.py
Misc/NEWS.d/next/Core and Builtins/2023-07-26-12-18-10.gh-issue-106897.EsGurc.rst [new file with mode: 0644]
Python/bytecodes.c
Python/ceval.c
Python/generated_cases.c.h
Python/instrumentation.c

index 4cd130f86e2f7e1d736e8d2b64379ecd2fa3feff..4c92e1d43c965eaf000305621ac685ff5da70311 100644 (file)
     <elf-symbol name='PyType_FromSpecWithBases' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='PyType_GenericAlloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='PyType_GenericNew' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PyType_GetDict' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='PyType_GetFlags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='PyType_GetModule' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='PyType_GetModuleByDef' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyMem_SetupAllocators' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyMem_Strdup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyModuleSpec_IsInitializing' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_PyModule_Add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyModule_Clear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyModule_ClearDict' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyModule_CreateInitialized' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyNotImplemented_Type' size='416' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyOS_ReadlineTState' size='8' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyParser_TokenNames' size='552' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_PyRuntime' size='460112' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_PyRuntime' size='460176' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PySet_Dummy' size='8' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyWeakref_CallableProxyType' size='416' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_PyWeakref_ProxyType' size='416' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_Py_ctype_tolower' size='256' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_Py_ctype_toupper' size='256' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
-  <abi-instr address-size='64' path='./Modules/_abc.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_abc.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyType_GetMRO' filepath='./Include/internal/pycore_typeobject.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_io/_iomodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_io/_iomodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_PyIO_Module' type-id='type-id-3' visibility='default' filepath='./Modules/_io/_iomodule.h' line='143' column='1'/>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_io/bufferedio.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_io/bufferedio.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <typedef-decl name='_PyIO_State' type-id='type-id-4' filepath='./Modules/_io/_iomodule.h' line='35' column='1' id='type-id-5'/>
     <typedef-decl name='Py_off_t' type-id='type-id-6' filepath='./Modules/_io/_iomodule.h' line='109' column='1' id='type-id-7'/>
     <class-decl name='_io_state' size-in-bits='1024' is-struct='yes' visibility='default' filepath='./Modules/_io/_iomodule.h' line='145' column='1' id='type-id-4'>
       <return type-id='type-id-7'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_io/bytesio.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_io/bytesio.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='bytesio_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='17' column='1'/>
     <var-decl name='bytesiobuf_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='18' column='1'/>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_io/fileio.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_io/fileio.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='fileio_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='19' column='1'/>
     <function-decl name='_PyIOBase_finalize' filepath='./Modules/_io/_iomodule.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_io/iobase.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_io/iobase.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='iobase_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='20' column='1'/>
     <var-decl name='rawiobase_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='22' column='1'/>
     <function-decl name='_PyIO_trap_eintr' filepath='./Modules/_io/_iomodule.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_io/stringio.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_io/stringio.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='stringio_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='23' column='1'/>
     <function-decl name='_PyIncrementalNewlineDecoder_decode' filepath='./Modules/_io/_iomodule.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-14'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_io/textio.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_io/textio.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='nldecoder_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='21' column='1'/>
     <var-decl name='textiobase_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='24' column='1'/>
     <var-decl name='textiowrapper_spec' type-id='type-id-11' visibility='default' filepath='./Modules/_io/_iomodule.h' line='25' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_localemodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_localemodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='gettext' filepath='/usr/include/libintl.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-15'/>
       <return type-id='type-id-19'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/_sre/sre.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/_sre/sre.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='toupper' filepath='/usr/include/ctype.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/atexitmodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/atexitmodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_AtExit' mangled-name='_Py_AtExit' filepath='./Modules/atexitmodule.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_AtExit'>
       <parameter type-id='type-id-20' name='interp' filepath='./Modules/atexitmodule.c' line='27' column='1'/>
       <parameter type-id='type-id-21' name='func' filepath='./Modules/atexitmodule.c' line='28' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/faulthandler.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/faulthandler.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <enum-decl name='__rlimit_resource' filepath='/usr/include/x86_64-linux-gnu/bits/resource.h' line='31' column='1' id='type-id-23'>
       <underlying-type type-id='type-id-24'/>
       <enumerator name='RLIMIT_CPU' value='0'/>
     </function-decl>
     <type-decl name='unsigned long int' size-in-bits='64' id='type-id-28'/>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/getbuildinfo.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/getbuildinfo.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <type-decl name='char' size-in-bits='8' id='type-id-48'/>
     <type-decl name='int' size-in-bits='32' id='type-id-8'/>
     <type-decl name='unsigned long int' size-in-bits='64' id='type-id-28'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/getpath.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/getpath.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_wstat' filepath='./Include/internal/pycore_fileutils.h' line='210' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-51'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/posixmodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/posixmodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='1024' id='type-id-56'>
       <subrange length='16' type-id='type-id-28' id='type-id-57'/>
     </array-type-def>
       <return type-id='type-id-8'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/pwdmodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/pwdmodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='passwd' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/pwd.h' line='49' column='1' id='type-id-191'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='pw_name' type-id='type-id-15' visibility='default' filepath='/usr/include/pwd.h' line='51' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/signalmodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/signalmodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <enum-decl name='__itimer_which' filepath='/usr/include/x86_64-linux-gnu/sys/time.h' line='114' column='1' id='type-id-196'>
       <underlying-type type-id='type-id-24'/>
       <enumerator name='ITIMER_REAL' value='0'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/symtablemodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/symtablemodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_SymtableStringObjectFlags' filepath='./Include/internal/pycore_symtable.h' line='144' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-209'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Modules/timemodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Modules/timemodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <enum-decl name='__rusage_who' filepath='/usr/include/x86_64-linux-gnu/bits/resource.h' line='158' column='1' id='type-id-210'>
       <underlying-type type-id='type-id-24'/>
       <enumerator name='RUSAGE_SELF' value='0'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Python/dynload_shlib.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Python/dynload_shlib.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='256' id='type-id-222'>
       <subrange length='4' type-id='type-id-28' id='type-id-223'/>
     </array-type-def>
       <return type-id='type-id-15'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Python/getplatform.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Python/getplatform.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='Py_GetPlatform' mangled-name='Py_GetPlatform' filepath='./Python/getplatform.c' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_GetPlatform'>
       <return type-id='type-id-12'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='./Python/importdl.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Python/importdl.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <typedef-decl name='dl_funcptr' type-id='type-id-227' filepath='./Python/importdl.h' line='28' column='1' id='type-id-228'/>
     <function-decl name='_PyImport_SwapPackageContext' filepath='./Include/internal/pycore_import.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-46'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='./Python/sysmodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='./Python/sysmodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyEval_CallTracing' filepath='./Include/internal/pycore_ceval.h' line='38' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
     <function-decl name='PyUnstable_PerfMapState_Init' mangled-name='PyUnstable_PerfMapState_Init' filepath='./Python/sysmodule.c' line='2275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_PerfMapState_Init'>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyUnstable_WritePerfMapEntry' mangled-name='PyUnstable_WritePerfMapEntry' filepath='./Python/sysmodule.c' line='2303' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_WritePerfMapEntry'>
-      <parameter type-id='type-id-22' name='code_addr' filepath='./Python/sysmodule.c' line='2304' column='1'/>
-      <parameter type-id='type-id-95' name='code_size' filepath='./Python/sysmodule.c' line='2305' column='1'/>
-      <parameter type-id='type-id-12' name='entry_name' filepath='./Python/sysmodule.c' line='2306' column='1'/>
+    <function-decl name='PyUnstable_WritePerfMapEntry' mangled-name='PyUnstable_WritePerfMapEntry' filepath='./Python/sysmodule.c' line='2306' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_WritePerfMapEntry'>
+      <parameter type-id='type-id-22' name='code_addr' filepath='./Python/sysmodule.c' line='2307' column='1'/>
+      <parameter type-id='type-id-95' name='code_size' filepath='./Python/sysmodule.c' line='2308' column='1'/>
+      <parameter type-id='type-id-12' name='entry_name' filepath='./Python/sysmodule.c' line='2309' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PySys_ResetWarnOptions' mangled-name='PySys_ResetWarnOptions' filepath='./Python/sysmodule.c' line='2612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_ResetWarnOptions'>
+    <function-decl name='PySys_ResetWarnOptions' mangled-name='PySys_ResetWarnOptions' filepath='./Python/sysmodule.c' line='2615' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_ResetWarnOptions'>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PySys_AddWarnOptionUnicode' mangled-name='PySys_AddWarnOptionUnicode' filepath='./Python/sysmodule.c' line='2640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_AddWarnOptionUnicode'>
-      <parameter type-id='type-id-2' name='option' filepath='./Python/sysmodule.c' line='2640' column='1'/>
+    <function-decl name='PySys_AddWarnOptionUnicode' mangled-name='PySys_AddWarnOptionUnicode' filepath='./Python/sysmodule.c' line='2643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_AddWarnOptionUnicode'>
+      <parameter type-id='type-id-2' name='option' filepath='./Python/sysmodule.c' line='2643' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PySys_AddWarnOption' mangled-name='PySys_AddWarnOption' filepath='./Python/sysmodule.c' line='2652' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_AddWarnOption'>
-      <parameter type-id='type-id-16' name='s' filepath='./Python/sysmodule.c' line='2652' column='1'/>
+    <function-decl name='PySys_AddWarnOption' mangled-name='PySys_AddWarnOption' filepath='./Python/sysmodule.c' line='2655' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_AddWarnOption'>
+      <parameter type-id='type-id-16' name='s' filepath='./Python/sysmodule.c' line='2655' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PySys_HasWarnOptions' mangled-name='PySys_HasWarnOptions' filepath='./Python/sysmodule.c' line='2671' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_HasWarnOptions'>
+    <function-decl name='PySys_HasWarnOptions' mangled-name='PySys_HasWarnOptions' filepath='./Python/sysmodule.c' line='2674' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_HasWarnOptions'>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PySys_AddXOption' mangled-name='PySys_AddXOption' filepath='./Python/sysmodule.c' line='2750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_AddXOption'>
-      <parameter type-id='type-id-16' name='s' filepath='./Python/sysmodule.c' line='2750' column='1'/>
+    <function-decl name='PySys_AddXOption' mangled-name='PySys_AddXOption' filepath='./Python/sysmodule.c' line='2753' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_AddXOption'>
+      <parameter type-id='type-id-16' name='s' filepath='./Python/sysmodule.c' line='2753' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PySys_GetXOptions' mangled-name='PySys_GetXOptions' filepath='./Python/sysmodule.c' line='2764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_GetXOptions'>
+    <function-decl name='PySys_GetXOptions' mangled-name='PySys_GetXOptions' filepath='./Python/sysmodule.c' line='2767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_GetXOptions'>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_Py_CreateMonitoringObject' filepath='./Python/sysmodule.c' line='3537' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_CreateMonitoringObject' filepath='./Python/sysmodule.c' line='3540' column='1' visibility='default' binding='global' size-in-bits='64'>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PySys_SetPath' mangled-name='PySys_SetPath' filepath='./Python/sysmodule.c' line='3659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_SetPath'>
-      <parameter type-id='type-id-16' name='path' filepath='./Python/sysmodule.c' line='3659' column='1'/>
+    <function-decl name='PySys_SetPath' mangled-name='PySys_SetPath' filepath='./Python/sysmodule.c' line='3662' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_SetPath'>
+      <parameter type-id='type-id-16' name='path' filepath='./Python/sysmodule.c' line='3662' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PySys_SetArgvEx' mangled-name='PySys_SetArgvEx' filepath='./Python/sysmodule.c' line='3691' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_SetArgvEx'>
-      <parameter type-id='type-id-8' name='argc' filepath='./Python/sysmodule.c' line='3691' column='1'/>
-      <parameter type-id='type-id-235' name='argv' filepath='./Python/sysmodule.c' line='3691' column='1'/>
-      <parameter type-id='type-id-8' name='updatepath' filepath='./Python/sysmodule.c' line='3691' column='1'/>
+    <function-decl name='PySys_SetArgvEx' mangled-name='PySys_SetArgvEx' filepath='./Python/sysmodule.c' line='3694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_SetArgvEx'>
+      <parameter type-id='type-id-8' name='argc' filepath='./Python/sysmodule.c' line='3694' column='1'/>
+      <parameter type-id='type-id-235' name='argv' filepath='./Python/sysmodule.c' line='3694' column='1'/>
+      <parameter type-id='type-id-8' name='updatepath' filepath='./Python/sysmodule.c' line='3694' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PySys_SetArgv' mangled-name='PySys_SetArgv' filepath='./Python/sysmodule.c' line='3735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_SetArgv'>
-      <parameter type-id='type-id-8' name='argc' filepath='./Python/sysmodule.c' line='3735' column='1'/>
-      <parameter type-id='type-id-235' name='argv' filepath='./Python/sysmodule.c' line='3735' column='1'/>
+    <function-decl name='PySys_SetArgv' mangled-name='PySys_SetArgv' filepath='./Python/sysmodule.c' line='3738' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_SetArgv'>
+      <parameter type-id='type-id-8' name='argc' filepath='./Python/sysmodule.c' line='3738' column='1'/>
+      <parameter type-id='type-id-235' name='argv' filepath='./Python/sysmodule.c' line='3738' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PySys_WriteStdout' mangled-name='PySys_WriteStdout' filepath='./Python/sysmodule.c' line='3830' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_WriteStdout'>
-      <parameter type-id='type-id-12' name='format' filepath='./Python/sysmodule.c' line='3830' column='1'/>
+    <function-decl name='PySys_WriteStdout' mangled-name='PySys_WriteStdout' filepath='./Python/sysmodule.c' line='3833' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_WriteStdout'>
+      <parameter type-id='type-id-12' name='format' filepath='./Python/sysmodule.c' line='3833' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PySys_FormatStdout' mangled-name='PySys_FormatStdout' filepath='./Python/sysmodule.c' line='3872' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_FormatStdout'>
-      <parameter type-id='type-id-12' name='format' filepath='./Python/sysmodule.c' line='3872' column='1'/>
+    <function-decl name='PySys_FormatStdout' mangled-name='PySys_FormatStdout' filepath='./Python/sysmodule.c' line='3875' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PySys_FormatStdout'>
+      <parameter type-id='type-id-12' name='format' filepath='./Python/sysmodule.c' line='3875' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-46'/>
     </function-decl>
       <return type-id='type-id-127'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Modules/config.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Modules/config.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='PyInit_atexit' mangled-name='PyInit_atexit' filepath='Modules/config.c' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit_atexit'>
       <return type-id='type-id-2'/>
     </function-decl>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Modules/gcmodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Modules/gcmodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <typedef-decl name='gcvisitobjects_t' type-id='type-id-236' filepath='./Include/objimpl.h' line='175' column='1' id='type-id-237'/>
     <function-decl name='_PyTuple_ClearFreeList' filepath='./Include/internal/pycore_gc.h' line='199' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-20'/>
       <return type-id='type-id-8'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Modules/main.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Modules/main.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyImport_Fini2' filepath='./Include/internal/pycore_import.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64'>
       <return type-id='type-id-46'/>
     </function-decl>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/abstract.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/abstract.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <pointer-type-def type-id='type-id-240' size-in-bits='64' id='type-id-241'/>
     <qualified-type-def type-id='type-id-15' const='yes' id='type-id-242'/>
     <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-136'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyObject_LookupAttr' mangled-name='_PyObject_LookupAttr' filepath='./Include/cpython/object.h' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_LookupAttr'>
+    <function-decl name='_PyObject_LookupAttr' mangled-name='_PyObject_LookupAttr' filepath='./Include/cpython/object.h' line='305' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_LookupAttr'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-233'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyObject_NextNotImplemented' mangled-name='_PyObject_NextNotImplemented' filepath='./Include/cpython/object.h' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_NextNotImplemented'>
+    <function-decl name='_PyObject_NextNotImplemented' mangled-name='_PyObject_NextNotImplemented' filepath='./Include/cpython/object.h' line='311' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_NextNotImplemented'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-251'/>
     </function-decl>
-    <function-decl name='PyType_IsSubtype' mangled-name='PyType_IsSubtype' filepath='./Include/object.h' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_IsSubtype'>
+    <function-decl name='PyType_IsSubtype' mangled-name='PyType_IsSubtype' filepath='./Include/object.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_IsSubtype'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyObject_RichCompareBool' mangled-name='PyObject_RichCompareBool' filepath='./Include/object.h' line='391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_RichCompareBool'>
+    <function-decl name='PyObject_RichCompareBool' mangled-name='PyObject_RichCompareBool' filepath='./Include/object.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_RichCompareBool'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyObject_IsTrue' mangled-name='PyObject_IsTrue' filepath='./Include/object.h' line='406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_IsTrue'>
+    <function-decl name='PyObject_IsTrue' mangled-name='PyObject_IsTrue' filepath='./Include/object.h' line='422' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_IsTrue'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
     </function-decl>
     <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-253'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/boolobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/boolobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_Py_FalseStruct' type-id='type-id-240' mangled-name='_Py_FalseStruct' visibility='default' filepath='./Include/boolobject.h' line='17' column='1' elf-symbol-id='_Py_FalseStruct'/>
     <var-decl name='_Py_TrueStruct' type-id='type-id-240' mangled-name='_Py_TrueStruct' visibility='default' filepath='./Include/boolobject.h' line='18' column='1' elf-symbol-id='_Py_TrueStruct'/>
     <function-decl name='_PyArg_NoKeywords' mangled-name='_PyArg_NoKeywords' filepath='./Include/cpython/modsupport.h' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyArg_NoKeywords'>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <var-decl name='PyBool_Type' type-id='type-id-256' mangled-name='PyBool_Type' visibility='default' filepath='./Include/object.h' line='211' column='1' elf-symbol-id='PyBool_Type'/>
+    <var-decl name='PyBool_Type' type-id='type-id-256' mangled-name='PyBool_Type' visibility='default' filepath='./Include/object.h' line='227' column='1' elf-symbol-id='PyBool_Type'/>
     <function-decl name='PyBool_FromLong' mangled-name='PyBool_FromLong' filepath='Objects/boolobject.c' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBool_FromLong'>
       <parameter type-id='type-id-47' name='ok' filepath='Objects/boolobject.c' line='21' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/bytearrayobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/bytearrayobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='infinite' id='type-id-257'>
       <subrange length='infinite' id='type-id-225'/>
     </array-type-def>
       <parameter type-id='type-id-179'/>
       <return type-id='type-id-47'/>
     </function-decl>
-    <function-decl name='PyType_GenericAlloc' mangled-name='PyType_GenericAlloc' filepath='./Include/object.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GenericAlloc'>
+    <function-decl name='PyType_GenericAlloc' mangled-name='PyType_GenericAlloc' filepath='./Include/object.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GenericAlloc'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-14'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_GenericNew' mangled-name='PyType_GenericNew' filepath='./Include/object.h' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GenericNew'>
+    <function-decl name='PyType_GenericNew' mangled-name='PyType_GenericNew' filepath='./Include/object.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GenericNew'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_SelfIter' mangled-name='PyObject_SelfIter' filepath='./Include/object.h' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_SelfIter'>
+    <function-decl name='PyObject_SelfIter' mangled-name='PyObject_SelfIter' filepath='./Include/object.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_SelfIter'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_GenericGetAttr' mangled-name='PyObject_GenericGetAttr' filepath='./Include/object.h' line='399' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GenericGetAttr'>
+    <function-decl name='PyObject_GenericGetAttr' mangled-name='PyObject_GenericGetAttr' filepath='./Include/object.h' line='415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GenericGetAttr'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyObject_GetState' mangled-name='_PyObject_GetState' filepath='./Include/object.h' line='420' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GetState'>
+    <function-decl name='_PyObject_GetState' mangled-name='_PyObject_GetState' filepath='./Include/object.h' line='436' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GetState'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/bytes_methods.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/bytes_methods.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='984' id='type-id-263'>
       <subrange length='123' type-id='type-id-28' id='type-id-264'/>
     </array-type-def>
       <return type-id='type-id-22'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/bytesobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/bytesobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='4096' id='type-id-300'>
       <subrange length='512' type-id='type-id-28' id='type-id-301'/>
     </array-type-def>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-15'/>
     </function-decl>
-    <function-decl name='PyObject_ASCII' mangled-name='PyObject_ASCII' filepath='./Include/object.h' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_ASCII'>
+    <function-decl name='PyObject_ASCII' mangled-name='PyObject_ASCII' filepath='./Include/object.h' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_ASCII'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
       <parameter type-id='type-id-14' name='offset' filepath='Objects/bytesobject.c' line='1275' column='1'/>
       <return type-id='type-id-14'/>
     </function-decl>
-    <function-decl name='_PyBytes_ReverseFind' mangled-name='_PyBytes_ReverseFind' filepath='Objects/bytesobject.c' line='1282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytes_ReverseFind'>
-      <parameter type-id='type-id-12' name='haystack' filepath='Objects/bytesobject.c' line='1282' column='1'/>
-      <parameter type-id='type-id-14' name='len_haystack' filepath='Objects/bytesobject.c' line='1282' column='1'/>
-      <parameter type-id='type-id-12' name='needle' filepath='Objects/bytesobject.c' line='1283' column='1'/>
-      <parameter type-id='type-id-14' name='len_needle' filepath='Objects/bytesobject.c' line='1283' column='1'/>
-      <parameter type-id='type-id-14' name='offset' filepath='Objects/bytesobject.c' line='1284' column='1'/>
+    <function-decl name='_PyBytes_ReverseFind' mangled-name='_PyBytes_ReverseFind' filepath='Objects/bytesobject.c' line='1299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytes_ReverseFind'>
+      <parameter type-id='type-id-12' name='haystack' filepath='Objects/bytesobject.c' line='1299' column='1'/>
+      <parameter type-id='type-id-14' name='len_haystack' filepath='Objects/bytesobject.c' line='1299' column='1'/>
+      <parameter type-id='type-id-12' name='needle' filepath='Objects/bytesobject.c' line='1300' column='1'/>
+      <parameter type-id='type-id-14' name='len_needle' filepath='Objects/bytesobject.c' line='1300' column='1'/>
+      <parameter type-id='type-id-14' name='offset' filepath='Objects/bytesobject.c' line='1301' column='1'/>
       <return type-id='type-id-14'/>
     </function-decl>
-    <function-decl name='PyBytes_Repr' mangled-name='PyBytes_Repr' filepath='Objects/bytesobject.c' line='1291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBytes_Repr'>
-      <parameter type-id='type-id-2' name='obj' filepath='Objects/bytesobject.c' line='1291' column='1'/>
-      <parameter type-id='type-id-8' name='smartquotes' filepath='Objects/bytesobject.c' line='1291' column='1'/>
+    <function-decl name='PyBytes_Repr' mangled-name='PyBytes_Repr' filepath='Objects/bytesobject.c' line='1308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBytes_Repr'>
+      <parameter type-id='type-id-2' name='obj' filepath='Objects/bytesobject.c' line='1308' column='1'/>
+      <parameter type-id='type-id-8' name='smartquotes' filepath='Objects/bytesobject.c' line='1308' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyBytes_Join' mangled-name='_PyBytes_Join' filepath='Objects/bytesobject.c' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytes_Join'>
-      <parameter type-id='type-id-2' name='sep' filepath='Objects/bytesobject.c' line='1846' column='1'/>
-      <parameter type-id='type-id-2' name='x' filepath='Objects/bytesobject.c' line='1846' column='1'/>
+    <function-decl name='_PyBytes_Join' mangled-name='_PyBytes_Join' filepath='Objects/bytesobject.c' line='1863' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytes_Join'>
+      <parameter type-id='type-id-2' name='sep' filepath='Objects/bytesobject.c' line='1863' column='1'/>
+      <parameter type-id='type-id-2' name='x' filepath='Objects/bytesobject.c' line='1863' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyBytes_FromObject' mangled-name='PyBytes_FromObject' filepath='Objects/bytesobject.c' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBytes_FromObject'>
-      <parameter type-id='type-id-2' name='x' filepath='Objects/bytesobject.c' line='2818' column='1'/>
+    <function-decl name='PyBytes_FromObject' mangled-name='PyBytes_FromObject' filepath='Objects/bytesobject.c' line='2835' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBytes_FromObject'>
+      <parameter type-id='type-id-2' name='x' filepath='Objects/bytesobject.c' line='2835' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyBytes_ConcatAndDel' mangled-name='PyBytes_ConcatAndDel' filepath='Objects/bytesobject.c' line='3009' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBytes_ConcatAndDel'>
-      <parameter type-id='type-id-233' name='pv' filepath='Objects/bytesobject.c' line='3009' column='1'/>
-      <parameter type-id='type-id-2' name='w' filepath='Objects/bytesobject.c' line='3009' column='1'/>
+    <function-decl name='PyBytes_ConcatAndDel' mangled-name='PyBytes_ConcatAndDel' filepath='Objects/bytesobject.c' line='3026' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBytes_ConcatAndDel'>
+      <parameter type-id='type-id-233' name='pv' filepath='Objects/bytesobject.c' line='3026' column='1'/>
+      <parameter type-id='type-id-2' name='w' filepath='Objects/bytesobject.c' line='3026' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyBytes_Resize' mangled-name='_PyBytes_Resize' filepath='Objects/bytesobject.c' line='3031' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytes_Resize'>
-      <parameter type-id='type-id-233' name='pv' filepath='Objects/bytesobject.c' line='3031' column='1'/>
-      <parameter type-id='type-id-14' name='newsize' filepath='Objects/bytesobject.c' line='3031' column='1'/>
+    <function-decl name='_PyBytes_Resize' mangled-name='_PyBytes_Resize' filepath='Objects/bytesobject.c' line='3048' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytes_Resize'>
+      <parameter type-id='type-id-233' name='pv' filepath='Objects/bytesobject.c' line='3048' column='1'/>
+      <parameter type-id='type-id-14' name='newsize' filepath='Objects/bytesobject.c' line='3048' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyBytesWriter_Init' mangled-name='_PyBytesWriter_Init' filepath='Objects/bytesobject.c' line='3254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Init'>
-      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3254' column='1'/>
+    <function-decl name='_PyBytesWriter_Init' mangled-name='_PyBytesWriter_Init' filepath='Objects/bytesobject.c' line='3271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Init'>
+      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3271' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyBytesWriter_Dealloc' mangled-name='_PyBytesWriter_Dealloc' filepath='Objects/bytesobject.c' line='3265' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Dealloc'>
-      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3265' column='1'/>
+    <function-decl name='_PyBytesWriter_Dealloc' mangled-name='_PyBytesWriter_Dealloc' filepath='Objects/bytesobject.c' line='3282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Dealloc'>
+      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3282' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyBytesWriter_Resize' mangled-name='_PyBytesWriter_Resize' filepath='Objects/bytesobject.c' line='3335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Resize'>
-      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3335' column='1'/>
-      <parameter type-id='type-id-22' name='str' filepath='Objects/bytesobject.c' line='3335' column='1'/>
-      <parameter type-id='type-id-14' name='size' filepath='Objects/bytesobject.c' line='3335' column='1'/>
+    <function-decl name='_PyBytesWriter_Resize' mangled-name='_PyBytesWriter_Resize' filepath='Objects/bytesobject.c' line='3352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Resize'>
+      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3352' column='1'/>
+      <parameter type-id='type-id-22' name='str' filepath='Objects/bytesobject.c' line='3352' column='1'/>
+      <parameter type-id='type-id-14' name='size' filepath='Objects/bytesobject.c' line='3352' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='_PyBytesWriter_Prepare' mangled-name='_PyBytesWriter_Prepare' filepath='Objects/bytesobject.c' line='3405' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Prepare'>
-      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3405' column='1'/>
-      <parameter type-id='type-id-22' name='str' filepath='Objects/bytesobject.c' line='3405' column='1'/>
-      <parameter type-id='type-id-14' name='size' filepath='Objects/bytesobject.c' line='3405' column='1'/>
+    <function-decl name='_PyBytesWriter_Prepare' mangled-name='_PyBytesWriter_Prepare' filepath='Objects/bytesobject.c' line='3422' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Prepare'>
+      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3422' column='1'/>
+      <parameter type-id='type-id-22' name='str' filepath='Objects/bytesobject.c' line='3422' column='1'/>
+      <parameter type-id='type-id-14' name='size' filepath='Objects/bytesobject.c' line='3422' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='_PyBytesWriter_Alloc' mangled-name='_PyBytesWriter_Alloc' filepath='Objects/bytesobject.c' line='3435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Alloc'>
-      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3435' column='1'/>
-      <parameter type-id='type-id-14' name='size' filepath='Objects/bytesobject.c' line='3435' column='1'/>
+    <function-decl name='_PyBytesWriter_Alloc' mangled-name='_PyBytesWriter_Alloc' filepath='Objects/bytesobject.c' line='3452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Alloc'>
+      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3452' column='1'/>
+      <parameter type-id='type-id-14' name='size' filepath='Objects/bytesobject.c' line='3452' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='_PyBytesWriter_Finish' mangled-name='_PyBytesWriter_Finish' filepath='Objects/bytesobject.c' line='3465' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Finish'>
-      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3465' column='1'/>
-      <parameter type-id='type-id-22' name='str' filepath='Objects/bytesobject.c' line='3465' column='1'/>
+    <function-decl name='_PyBytesWriter_Finish' mangled-name='_PyBytesWriter_Finish' filepath='Objects/bytesobject.c' line='3482' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_Finish'>
+      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3482' column='1'/>
+      <parameter type-id='type-id-22' name='str' filepath='Objects/bytesobject.c' line='3482' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyBytesWriter_WriteBytes' mangled-name='_PyBytesWriter_WriteBytes' filepath='Objects/bytesobject.c' line='3509' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_WriteBytes'>
-      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3509' column='1'/>
-      <parameter type-id='type-id-22' name='ptr' filepath='Objects/bytesobject.c' line='3509' column='1'/>
-      <parameter type-id='type-id-22' name='bytes' filepath='Objects/bytesobject.c' line='3510' column='1'/>
-      <parameter type-id='type-id-14' name='size' filepath='Objects/bytesobject.c' line='3510' column='1'/>
+    <function-decl name='_PyBytesWriter_WriteBytes' mangled-name='_PyBytesWriter_WriteBytes' filepath='Objects/bytesobject.c' line='3526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytesWriter_WriteBytes'>
+      <parameter type-id='type-id-304' name='writer' filepath='Objects/bytesobject.c' line='3526' column='1'/>
+      <parameter type-id='type-id-22' name='ptr' filepath='Objects/bytesobject.c' line='3526' column='1'/>
+      <parameter type-id='type-id-22' name='bytes' filepath='Objects/bytesobject.c' line='3527' column='1'/>
+      <parameter type-id='type-id-14' name='size' filepath='Objects/bytesobject.c' line='3527' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/call.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/call.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='_Py_Identifier' size-in-bits='128' is-struct='yes' visibility='default' filepath='./Include/cpython/object.h' line='42' column='1' id='type-id-307'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='string' type-id='type-id-12' visibility='default' filepath='./Include/cpython/object.h' line='43' column='1'/>
       <parameter type-id='type-id-13'/>
       <return type-id='type-id-233'/>
     </function-decl>
-    <function-decl name='_PyObject_GetAttrId' mangled-name='_PyObject_GetAttrId' filepath='./Include/cpython/object.h' line='293' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GetAttrId'>
+    <function-decl name='_PyObject_GetAttrId' mangled-name='_PyObject_GetAttrId' filepath='./Include/cpython/object.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GetAttrId'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-309'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyObject_GetMethod' mangled-name='_PyObject_GetMethod' filepath='./Include/cpython/object.h' line='307' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GetMethod'>
+    <function-decl name='_PyObject_GetMethod' mangled-name='_PyObject_GetMethod' filepath='./Include/cpython/object.h' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GetMethod'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-233'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_GetAttrString' mangled-name='PyObject_GetAttrString' filepath='./Include/object.h' line='392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GetAttrString'>
+    <function-decl name='PyObject_GetAttrString' mangled-name='PyObject_GetAttrString' filepath='./Include/object.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GetAttrString'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyCallable_Check' mangled-name='PyCallable_Check' filepath='./Include/object.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyCallable_Check'>
+    <function-decl name='PyCallable_Check' mangled-name='PyCallable_Check' filepath='./Include/object.h' line='424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyCallable_Check'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
       <return type-id='type-id-14'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/capsule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/capsule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <typedef-decl name='PyCapsule_Destructor' type-id='type-id-312' filepath='./Include/pycapsule.h' line='23' column='1' id='type-id-313'/>
     <function-decl name='PyImport_ImportModule' mangled-name='PyImport_ImportModule' filepath='./Include/import.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyImport_ImportModule'>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-46'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/cellobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/cellobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyCell_Type' type-id='type-id-256' mangled-name='PyCell_Type' visibility='default' filepath='./Include/cpython/cellobject.h' line='16' column='1' elf-symbol-id='PyCell_Type'/>
-    <function-decl name='PyObject_RichCompare' mangled-name='PyObject_RichCompare' filepath='./Include/object.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_RichCompare'>
+    <function-decl name='PyObject_RichCompare' mangled-name='PyObject_RichCompare' filepath='./Include/object.h' line='406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_RichCompare'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/classobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/classobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyMethod_Type' type-id='type-id-256' mangled-name='PyMethod_Type' visibility='default' filepath='./Include/cpython/classobject.h' line='20' column='1' elf-symbol-id='PyMethod_Type'/>
     <var-decl name='PyInstanceMethod_Type' type-id='type-id-256' mangled-name='PyInstanceMethod_Type' visibility='default' filepath='./Include/cpython/classobject.h' line='49' column='1' elf-symbol-id='PyInstanceMethod_Type'/>
     <function-decl name='_PyType_Lookup' mangled-name='_PyType_Lookup' filepath='./Include/cpython/object.h' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyType_Lookup'>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_Ready' mangled-name='PyType_Ready' filepath='./Include/object.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_Ready'>
+    <function-decl name='PyType_Ready' mangled-name='PyType_Ready' filepath='./Include/object.h' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_Ready'>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyObject_GenericSetAttr' mangled-name='PyObject_GenericSetAttr' filepath='./Include/object.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GenericSetAttr'>
+    <function-decl name='PyObject_GenericSetAttr' mangled-name='PyObject_GenericSetAttr' filepath='./Include/object.h' line='416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GenericSetAttr'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyObject_Hash' mangled-name='PyObject_Hash' filepath='./Include/object.h' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Hash'>
+    <function-decl name='PyObject_Hash' mangled-name='PyObject_Hash' filepath='./Include/object.h' line='420' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Hash'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-305'/>
     </function-decl>
-    <function-decl name='PyObject_ClearWeakRefs' mangled-name='PyObject_ClearWeakRefs' filepath='./Include/object.h' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_ClearWeakRefs'>
+    <function-decl name='PyObject_ClearWeakRefs' mangled-name='PyObject_ClearWeakRefs' filepath='./Include/object.h' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_ClearWeakRefs'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-46'/>
     </function-decl>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/codeobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/codeobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='_opaque' size-in-bits='192' is-struct='yes' visibility='default' filepath='./Include/cpython/code.h' line='309' column='1' id='type-id-315'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='computed_line' type-id='type-id-8' visibility='default' filepath='./Include/cpython/code.h' line='310' column='1'/>
       <parameter type-id='type-id-328' name='co' filepath='Objects/codeobject.c' line='1518' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyCode_ConstantKey' mangled-name='_PyCode_ConstantKey' filepath='Objects/codeobject.c' line='2157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyCode_ConstantKey'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/codeobject.c' line='2157' column='1'/>
+    <function-decl name='_PyCode_ConstantKey' mangled-name='_PyCode_ConstantKey' filepath='Objects/codeobject.c' line='2158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyCode_ConstantKey'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/codeobject.c' line='2158' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/complexobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/complexobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-331'/>
     <var-decl name='PyComplex_Type' type-id='type-id-256' mangled-name='PyComplex_Type' visibility='default' filepath='./Include/complexobject.h' line='11' column='1' elf-symbol-id='PyComplex_Type'/>
     <function-decl name='_PyComplex_FormatAdvancedWriter' filepath='./Include/cpython/complexobject.h' line='38' column='1' visibility='default' binding='global' size-in-bits='64'>
       <return type-id='type-id-2'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/descrobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/descrobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <pointer-type-def type-id='type-id-333' size-in-bits='64' id='type-id-334'/>
     <var-decl name='_PyMethodWrapper_Type' type-id='type-id-256' mangled-name='_PyMethodWrapper_Type' visibility='default' filepath='./Include/cpython/descrobject.h' line='60' column='1' elf-symbol-id='_PyMethodWrapper_Type'/>
     <function-decl name='_PyArg_UnpackStack' mangled-name='_PyArg_UnpackStack' filepath='./Include/cpython/modsupport.h' line='19' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyArg_UnpackStack'>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyObject_IsAbstract' mangled-name='_PyObject_IsAbstract' filepath='./Include/cpython/object.h' line='292' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_IsAbstract'>
+    <function-decl name='_PyObject_IsAbstract' mangled-name='_PyObject_IsAbstract' filepath='./Include/cpython/object.h' line='293' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_IsAbstract'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyObject_FunctionStr' mangled-name='_PyObject_FunctionStr' filepath='./Include/cpython/object.h' line='322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_FunctionStr'>
+    <function-decl name='_PyObject_FunctionStr' mangled-name='_PyObject_FunctionStr' filepath='./Include/cpython/object.h' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_FunctionStr'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyTrash_begin' mangled-name='_PyTrash_begin' filepath='./Include/cpython/object.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyTrash_begin'>
+    <function-decl name='_PyTrash_begin' mangled-name='_PyTrash_begin' filepath='./Include/cpython/object.h' line='516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyTrash_begin'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyTrash_end' mangled-name='_PyTrash_end' filepath='./Include/cpython/object.h' line='516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyTrash_end'>
+    <function-decl name='_PyTrash_end' mangled-name='_PyTrash_end' filepath='./Include/cpython/object.h' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyTrash_end'>
       <parameter type-id='type-id-177'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyTrash_cond' mangled-name='_PyTrash_cond' filepath='./Include/cpython/object.h' line='518' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyTrash_cond'>
+    <function-decl name='_PyTrash_cond' mangled-name='_PyTrash_cond' filepath='./Include/cpython/object.h' line='519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyTrash_cond'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-335'/>
       <return type-id='type-id-8'/>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_GetQualName' mangled-name='PyType_GetQualName' filepath='./Include/object.h' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetQualName'>
+    <function-decl name='PyType_GetQualName' mangled-name='PyType_GetQualName' filepath='./Include/object.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetQualName'>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_SetAttr' mangled-name='PyObject_SetAttr' filepath='./Include/object.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_SetAttr'>
+    <function-decl name='PyObject_SetAttr' mangled-name='PyObject_SetAttr' filepath='./Include/object.h' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_SetAttr'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/dictobject.c' comp-dir-path='/src' language='LANG_C11'>
-    <function-decl name='_PyObject_AssertFailed' mangled-name='_PyObject_AssertFailed' filepath='./Include/cpython/object.h' line='443' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_AssertFailed'>
+  <abi-instr address-size='64' path='Objects/dictobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
+    <function-decl name='_PyObject_AssertFailed' mangled-name='_PyObject_AssertFailed' filepath='./Include/cpython/object.h' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_AssertFailed'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-14' name='minused' filepath='Objects/dictobject.c' line='1609' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
+    <function-decl name='PyDict_GetItem' mangled-name='PyDict_GetItem' filepath='Objects/dictobject.c' line='1665' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyDict_GetItem'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/dictobject.c' line='1665' column='1'/>
+      <parameter type-id='type-id-2' name='key' filepath='Objects/dictobject.c' line='1665' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
     <function-decl name='_PyDict_GetItem_KnownHash' mangled-name='_PyDict_GetItem_KnownHash' filepath='Objects/dictobject.c' line='1727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyDict_GetItem_KnownHash'>
       <parameter type-id='type-id-2' name='op' filepath='Objects/dictobject.c' line='1727' column='1'/>
       <parameter type-id='type-id-2' name='key' filepath='Objects/dictobject.c' line='1727' column='1'/>
       <parameter type-id='type-id-2' name='b' filepath='Objects/dictobject.c' line='2981' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyDict_Merge' mangled-name='PyDict_Merge' filepath='Objects/dictobject.c' line='2988' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyDict_Merge'>
-      <parameter type-id='type-id-2' name='a' filepath='Objects/dictobject.c' line='2988' column='1'/>
-      <parameter type-id='type-id-2' name='b' filepath='Objects/dictobject.c' line='2988' column='1'/>
-      <parameter type-id='type-id-8' name='override' filepath='Objects/dictobject.c' line='2988' column='1'/>
-      <return type-id='type-id-8'/>
-    </function-decl>
     <function-decl name='_PyDict_MergeEx' mangled-name='_PyDict_MergeEx' filepath='Objects/dictobject.c' line='2996' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyDict_MergeEx'>
       <parameter type-id='type-id-2' name='a' filepath='Objects/dictobject.c' line='2996' column='1'/>
       <parameter type-id='type-id-2' name='b' filepath='Objects/dictobject.c' line='2996' column='1'/>
       <parameter type-id='type-id-8' name='override' filepath='Objects/dictobject.c' line='2996' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyDict_Size' mangled-name='PyDict_Size' filepath='Objects/dictobject.c' line='3102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyDict_Size'>
-      <parameter type-id='type-id-2' name='mp' filepath='Objects/dictobject.c' line='3102' column='1'/>
-      <return type-id='type-id-14'/>
-    </function-decl>
     <function-decl name='PyDict_SetDefault' mangled-name='PyDict_SetDefault' filepath='Objects/dictobject.c' line='3290' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyDict_SetDefault'>
       <parameter type-id='type-id-2' name='d' filepath='Objects/dictobject.c' line='3290' column='1'/>
       <parameter type-id='type-id-2' name='key' filepath='Objects/dictobject.c' line='3290' column='1'/>
       <return type-id='type-id-8'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/enumobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/enumobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyUnicode_EqualToASCIIString' mangled-name='_PyUnicode_EqualToASCIIString' filepath='./Include/cpython/unicodeobject.h' line='767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyUnicode_EqualToASCIIString'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-12'/>
     <var-decl name='PyEnum_Type' type-id='type-id-256' mangled-name='PyEnum_Type' visibility='default' filepath='./Include/enumobject.h' line='10' column='1' elf-symbol-id='PyEnum_Type'/>
     <var-decl name='PyReversed_Type' type-id='type-id-256' mangled-name='PyReversed_Type' visibility='default' filepath='./Include/enumobject.h' line='11' column='1' elf-symbol-id='PyReversed_Type'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/exceptions.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/exceptions.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='PyDict_New' mangled-name='PyDict_New' filepath='./Include/dictobject.h' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyDict_New'>
       <return type-id='type-id-2'/>
     </function-decl>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_Repr' mangled-name='PyObject_Repr' filepath='./Include/object.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Repr'>
+    <function-decl name='PyObject_Repr' mangled-name='PyObject_Repr' filepath='./Include/object.h' line='402' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Repr'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_GenericSetDict' mangled-name='PyObject_GenericSetDict' filepath='./Include/object.h' line='402' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GenericSetDict'>
+    <function-decl name='PyObject_GenericSetDict' mangled-name='PyObject_GenericSetDict' filepath='./Include/object.h' line='418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GenericSetDict'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-22'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/fileobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/fileobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyStdPrinter_Type' type-id='type-id-256' mangled-name='PyStdPrinter_Type' visibility='default' filepath='./Include/cpython/fileobject.h' line='11' column='1' elf-symbol-id='PyStdPrinter_Type'/>
     <function-decl name='_PyUnicode_AsUTF8String' mangled-name='_PyUnicode_AsUTF8String' filepath='./Include/cpython/unicodeobject.h' line='640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyUnicode_AsUTF8String'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/floatobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/floatobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='PyStructSequence_Field' size-in-bits='128' is-struct='yes' visibility='default' filepath='./Include/structseq.h' line='10' column='1' id='type-id-356'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='name' type-id='type-id-12' visibility='default' filepath='./Include/structseq.h' line='11' column='1'/>
       <parameter type-id='type-id-19'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyDebugAllocatorStats' mangled-name='_PyDebugAllocatorStats' filepath='./Include/cpython/object.h' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyDebugAllocatorStats'>
+    <function-decl name='_PyDebugAllocatorStats' mangled-name='_PyDebugAllocatorStats' filepath='./Include/cpython/object.h' line='399' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyDebugAllocatorStats'>
       <parameter type-id='type-id-229'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-251'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/frameobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/frameobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='PyFrameConstructor' size-in-bits='512' is-struct='yes' naming-typedef-id='type-id-362' visibility='default' filepath='./Include/cpython/funcobject.h' line='21' column='1' id='type-id-363'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='fc_globals' type-id='type-id-2' visibility='default' filepath='./Include/cpython/funcobject.h' line='22' column='1'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
+    <function-decl name='PyDict_Size' mangled-name='PyDict_Size' filepath='./Include/dictobject.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyDict_Size'>
+      <parameter type-id='type-id-2'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='PyDict_Merge' mangled-name='PyDict_Merge' filepath='./Include/dictobject.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyDict_Merge'>
+      <parameter type-id='type-id-2'/>
+      <parameter type-id='type-id-2'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
     <function-decl name='_PyEval_GetBuiltins' filepath='./Include/internal/pycore_ceval.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <return type-id='type-id-2'/>
       <parameter type-id='type-id-2' name='locals' filepath='Objects/frameobject.c' line='1063' column='1'/>
       <return type-id='type-id-365'/>
     </function-decl>
-    <function-decl name='PyFrame_GetVar' mangled-name='PyFrame_GetVar' filepath='Objects/frameobject.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetVar'>
-      <parameter type-id='type-id-365' name='frame_obj' filepath='Objects/frameobject.c' line='1249' column='1'/>
-      <parameter type-id='type-id-2' name='name' filepath='Objects/frameobject.c' line='1249' column='1'/>
+    <function-decl name='PyFrame_GetVar' mangled-name='PyFrame_GetVar' filepath='Objects/frameobject.c' line='1304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetVar'>
+      <parameter type-id='type-id-365' name='frame_obj' filepath='Objects/frameobject.c' line='1304' column='1'/>
+      <parameter type-id='type-id-2' name='name' filepath='Objects/frameobject.c' line='1304' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFrame_GetVarString' mangled-name='PyFrame_GetVarString' filepath='Objects/frameobject.c' line='1283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetVarString'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1283' column='1'/>
-      <parameter type-id='type-id-12' name='name' filepath='Objects/frameobject.c' line='1283' column='1'/>
+    <function-decl name='PyFrame_GetVarString' mangled-name='PyFrame_GetVarString' filepath='Objects/frameobject.c' line='1338' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetVarString'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1338' column='1'/>
+      <parameter type-id='type-id-12' name='name' filepath='Objects/frameobject.c' line='1338' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFrame_FastToLocalsWithError' mangled-name='PyFrame_FastToLocalsWithError' filepath='Objects/frameobject.c' line='1296' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_FastToLocalsWithError'>
-      <parameter type-id='type-id-365' name='f' filepath='Objects/frameobject.c' line='1296' column='1'/>
+    <function-decl name='PyFrame_FastToLocalsWithError' mangled-name='PyFrame_FastToLocalsWithError' filepath='Objects/frameobject.c' line='1351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_FastToLocalsWithError'>
+      <parameter type-id='type-id-365' name='f' filepath='Objects/frameobject.c' line='1351' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyFrame_FastToLocals' mangled-name='PyFrame_FastToLocals' filepath='Objects/frameobject.c' line='1311' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_FastToLocals'>
-      <parameter type-id='type-id-365' name='f' filepath='Objects/frameobject.c' line='1311' column='1'/>
+    <function-decl name='PyFrame_FastToLocals' mangled-name='PyFrame_FastToLocals' filepath='Objects/frameobject.c' line='1366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_FastToLocals'>
+      <parameter type-id='type-id-365' name='f' filepath='Objects/frameobject.c' line='1366' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyFrame_LocalsToFast' mangled-name='PyFrame_LocalsToFast' filepath='Objects/frameobject.c' line='1397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_LocalsToFast'>
-      <parameter type-id='type-id-365' name='f' filepath='Objects/frameobject.c' line='1397' column='1'/>
-      <parameter type-id='type-id-8' name='clear' filepath='Objects/frameobject.c' line='1397' column='1'/>
+    <function-decl name='PyFrame_LocalsToFast' mangled-name='PyFrame_LocalsToFast' filepath='Objects/frameobject.c' line='1452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_LocalsToFast'>
+      <parameter type-id='type-id-365' name='f' filepath='Objects/frameobject.c' line='1452' column='1'/>
+      <parameter type-id='type-id-8' name='clear' filepath='Objects/frameobject.c' line='1452' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyFrame_IsEntryFrame' mangled-name='_PyFrame_IsEntryFrame' filepath='Objects/frameobject.c' line='1407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyFrame_IsEntryFrame'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1407' column='1'/>
+    <function-decl name='_PyFrame_IsEntryFrame' mangled-name='_PyFrame_IsEntryFrame' filepath='Objects/frameobject.c' line='1462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyFrame_IsEntryFrame'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1462' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyFrame_GetCode' mangled-name='PyFrame_GetCode' filepath='Objects/frameobject.c' line='1416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetCode'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1416' column='1'/>
+    <function-decl name='PyFrame_GetCode' mangled-name='PyFrame_GetCode' filepath='Objects/frameobject.c' line='1471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetCode'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1471' column='1'/>
       <return type-id='type-id-328'/>
     </function-decl>
-    <function-decl name='PyFrame_GetBack' mangled-name='PyFrame_GetBack' filepath='Objects/frameobject.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetBack'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1427' column='1'/>
+    <function-decl name='PyFrame_GetBack' mangled-name='PyFrame_GetBack' filepath='Objects/frameobject.c' line='1482' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetBack'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1482' column='1'/>
       <return type-id='type-id-365'/>
     </function-decl>
-    <function-decl name='PyFrame_GetLocals' mangled-name='PyFrame_GetLocals' filepath='Objects/frameobject.c' line='1443' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetLocals'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1443' column='1'/>
+    <function-decl name='PyFrame_GetLocals' mangled-name='PyFrame_GetLocals' filepath='Objects/frameobject.c' line='1498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetLocals'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1498' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFrame_GetGlobals' mangled-name='PyFrame_GetGlobals' filepath='Objects/frameobject.c' line='1450' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetGlobals'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1450' column='1'/>
+    <function-decl name='PyFrame_GetGlobals' mangled-name='PyFrame_GetGlobals' filepath='Objects/frameobject.c' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetGlobals'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1505' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFrame_GetBuiltins' mangled-name='PyFrame_GetBuiltins' filepath='Objects/frameobject.c' line='1457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetBuiltins'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1457' column='1'/>
+    <function-decl name='PyFrame_GetBuiltins' mangled-name='PyFrame_GetBuiltins' filepath='Objects/frameobject.c' line='1512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetBuiltins'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1512' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFrame_GetLasti' mangled-name='PyFrame_GetLasti' filepath='Objects/frameobject.c' line='1464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetLasti'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1464' column='1'/>
+    <function-decl name='PyFrame_GetLasti' mangled-name='PyFrame_GetLasti' filepath='Objects/frameobject.c' line='1519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetLasti'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1519' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyFrame_GetGenerator' mangled-name='PyFrame_GetGenerator' filepath='Objects/frameobject.c' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetGenerator'>
-      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1475' column='1'/>
+    <function-decl name='PyFrame_GetGenerator' mangled-name='PyFrame_GetGenerator' filepath='Objects/frameobject.c' line='1530' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFrame_GetGenerator'>
+      <parameter type-id='type-id-365' name='frame' filepath='Objects/frameobject.c' line='1530' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/funcobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/funcobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyFunction_Type' type-id='type-id-256' mangled-name='PyFunction_Type' visibility='default' filepath='./Include/cpython/funcobject.h' line='63' column='1' elf-symbol-id='PyFunction_Type'/>
     <var-decl name='PyClassMethod_Type' type-id='type-id-256' mangled-name='PyClassMethod_Type' visibility='default' filepath='./Include/cpython/funcobject.h' line='129' column='1' elf-symbol-id='PyClassMethod_Type'/>
     <var-decl name='PyStaticMethod_Type' type-id='type-id-256' mangled-name='PyStaticMethod_Type' visibility='default' filepath='./Include/cpython/funcobject.h' line='130' column='1' elf-symbol-id='PyStaticMethod_Type'/>
-    <function-decl name='PyDict_GetItem' mangled-name='PyDict_GetItem' filepath='./Include/dictobject.h' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyDict_GetItem'>
-      <parameter type-id='type-id-2'/>
-      <parameter type-id='type-id-2'/>
-      <return type-id='type-id-2'/>
-    </function-decl>
     <function-decl name='_PyEval_BuiltinsFromGlobals' filepath='./Include/internal/pycore_ceval.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-8' name='watcher_id' filepath='Objects/funcobject.c' line='89' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyFunction_NewWithQualName' mangled-name='PyFunction_NewWithQualName' filepath='Objects/funcobject.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_NewWithQualName'>
-      <parameter type-id='type-id-2' name='code' filepath='Objects/funcobject.c' line='139' column='1'/>
-      <parameter type-id='type-id-2' name='globals' filepath='Objects/funcobject.c' line='139' column='1'/>
-      <parameter type-id='type-id-2' name='qualname' filepath='Objects/funcobject.c' line='139' column='1'/>
+    <function-decl name='PyFunction_NewWithQualName' mangled-name='PyFunction_NewWithQualName' filepath='Objects/funcobject.c' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_NewWithQualName'>
+      <parameter type-id='type-id-2' name='code' filepath='Objects/funcobject.c' line='141' column='1'/>
+      <parameter type-id='type-id-2' name='globals' filepath='Objects/funcobject.c' line='141' column='1'/>
+      <parameter type-id='type-id-2' name='qualname' filepath='Objects/funcobject.c' line='141' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_New' mangled-name='PyFunction_New' filepath='Objects/funcobject.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_New'>
-      <parameter type-id='type-id-2' name='code' filepath='Objects/funcobject.c' line='242' column='1'/>
-      <parameter type-id='type-id-2' name='globals' filepath='Objects/funcobject.c' line='242' column='1'/>
+    <function-decl name='PyFunction_New' mangled-name='PyFunction_New' filepath='Objects/funcobject.c' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_New'>
+      <parameter type-id='type-id-2' name='code' filepath='Objects/funcobject.c' line='244' column='1'/>
+      <parameter type-id='type-id-2' name='globals' filepath='Objects/funcobject.c' line='244' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_GetCode' mangled-name='PyFunction_GetCode' filepath='Objects/funcobject.c' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetCode'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='248' column='1'/>
+    <function-decl name='PyFunction_GetCode' mangled-name='PyFunction_GetCode' filepath='Objects/funcobject.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetCode'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='250' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_GetGlobals' mangled-name='PyFunction_GetGlobals' filepath='Objects/funcobject.c' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetGlobals'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='258' column='1'/>
+    <function-decl name='PyFunction_GetGlobals' mangled-name='PyFunction_GetGlobals' filepath='Objects/funcobject.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetGlobals'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='260' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_GetModule' mangled-name='PyFunction_GetModule' filepath='Objects/funcobject.c' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetModule'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='268' column='1'/>
+    <function-decl name='PyFunction_GetModule' mangled-name='PyFunction_GetModule' filepath='Objects/funcobject.c' line='270' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetModule'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='270' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_GetDefaults' mangled-name='PyFunction_GetDefaults' filepath='Objects/funcobject.c' line='278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetDefaults'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='278' column='1'/>
+    <function-decl name='PyFunction_GetDefaults' mangled-name='PyFunction_GetDefaults' filepath='Objects/funcobject.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetDefaults'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='280' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_SetDefaults' mangled-name='PyFunction_SetDefaults' filepath='Objects/funcobject.c' line='288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetDefaults'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='288' column='1'/>
-      <parameter type-id='type-id-2' name='defaults' filepath='Objects/funcobject.c' line='288' column='1'/>
+    <function-decl name='PyFunction_SetDefaults' mangled-name='PyFunction_SetDefaults' filepath='Objects/funcobject.c' line='290' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetDefaults'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='290' column='1'/>
+      <parameter type-id='type-id-2' name='defaults' filepath='Objects/funcobject.c' line='290' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyFunction_SetVectorcall' mangled-name='PyFunction_SetVectorcall' filepath='Objects/funcobject.c' line='311' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetVectorcall'>
-      <parameter type-id='type-id-310' name='func' filepath='Objects/funcobject.c' line='311' column='1'/>
-      <parameter type-id='type-id-311' name='vectorcall' filepath='Objects/funcobject.c' line='311' column='1'/>
+    <function-decl name='PyFunction_SetVectorcall' mangled-name='PyFunction_SetVectorcall' filepath='Objects/funcobject.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetVectorcall'>
+      <parameter type-id='type-id-310' name='func' filepath='Objects/funcobject.c' line='313' column='1'/>
+      <parameter type-id='type-id-311' name='vectorcall' filepath='Objects/funcobject.c' line='313' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyFunction_GetKwDefaults' mangled-name='PyFunction_GetKwDefaults' filepath='Objects/funcobject.c' line='319' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetKwDefaults'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='319' column='1'/>
+    <function-decl name='PyFunction_GetKwDefaults' mangled-name='PyFunction_GetKwDefaults' filepath='Objects/funcobject.c' line='321' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetKwDefaults'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='321' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_SetKwDefaults' mangled-name='PyFunction_SetKwDefaults' filepath='Objects/funcobject.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetKwDefaults'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='329' column='1'/>
-      <parameter type-id='type-id-2' name='defaults' filepath='Objects/funcobject.c' line='329' column='1'/>
+    <function-decl name='PyFunction_SetKwDefaults' mangled-name='PyFunction_SetKwDefaults' filepath='Objects/funcobject.c' line='331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetKwDefaults'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='331' column='1'/>
+      <parameter type-id='type-id-2' name='defaults' filepath='Objects/funcobject.c' line='331' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyFunction_GetClosure' mangled-name='PyFunction_GetClosure' filepath='Objects/funcobject.c' line='353' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetClosure'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='353' column='1'/>
+    <function-decl name='PyFunction_GetClosure' mangled-name='PyFunction_GetClosure' filepath='Objects/funcobject.c' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetClosure'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='355' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_SetClosure' mangled-name='PyFunction_SetClosure' filepath='Objects/funcobject.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetClosure'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='363' column='1'/>
-      <parameter type-id='type-id-2' name='closure' filepath='Objects/funcobject.c' line='363' column='1'/>
+    <function-decl name='PyFunction_SetClosure' mangled-name='PyFunction_SetClosure' filepath='Objects/funcobject.c' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetClosure'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='365' column='1'/>
+      <parameter type-id='type-id-2' name='closure' filepath='Objects/funcobject.c' line='365' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyFunction_GetAnnotations' mangled-name='PyFunction_GetAnnotations' filepath='Objects/funcobject.c' line='416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetAnnotations'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='416' column='1'/>
+    <function-decl name='PyFunction_GetAnnotations' mangled-name='PyFunction_GetAnnotations' filepath='Objects/funcobject.c' line='418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_GetAnnotations'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='418' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyFunction_SetAnnotations' mangled-name='PyFunction_SetAnnotations' filepath='Objects/funcobject.c' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetAnnotations'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='426' column='1'/>
-      <parameter type-id='type-id-2' name='annotations' filepath='Objects/funcobject.c' line='426' column='1'/>
+    <function-decl name='PyFunction_SetAnnotations' mangled-name='PyFunction_SetAnnotations' filepath='Objects/funcobject.c' line='428' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyFunction_SetAnnotations'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/funcobject.c' line='428' column='1'/>
+      <parameter type-id='type-id-2' name='annotations' filepath='Objects/funcobject.c' line='428' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyClassMethod_New' mangled-name='PyClassMethod_New' filepath='Objects/funcobject.c' line='1165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyClassMethod_New'>
-      <parameter type-id='type-id-2' name='callable' filepath='Objects/funcobject.c' line='1165' column='1'/>
+    <function-decl name='PyClassMethod_New' mangled-name='PyClassMethod_New' filepath='Objects/funcobject.c' line='1167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyClassMethod_New'>
+      <parameter type-id='type-id-2' name='callable' filepath='Objects/funcobject.c' line='1167' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyStaticMethod_New' mangled-name='PyStaticMethod_New' filepath='Objects/funcobject.c' line='1358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyStaticMethod_New'>
-      <parameter type-id='type-id-2' name='callable' filepath='Objects/funcobject.c' line='1358' column='1'/>
+    <function-decl name='PyStaticMethod_New' mangled-name='PyStaticMethod_New' filepath='Objects/funcobject.c' line='1360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyStaticMethod_New'>
+      <parameter type-id='type-id-2' name='callable' filepath='Objects/funcobject.c' line='1360' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/genericaliasobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/genericaliasobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyUnicodeWriter_WriteASCIIString' mangled-name='_PyUnicodeWriter_WriteASCIIString' filepath='./Include/cpython/unicodeobject.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyUnicodeWriter_WriteASCIIString'>
       <parameter type-id='type-id-332'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyObject_Dir' mangled-name='PyObject_Dir' filepath='./Include/object.h' line='416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Dir'>
+    <function-decl name='PyObject_Dir' mangled-name='PyObject_Dir' filepath='./Include/object.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Dir'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/genobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/genobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='PyGenObject' size-in-bits='640' is-struct='yes' naming-typedef-id='type-id-367' visibility='default' filepath='./Include/cpython/genobject.h' line='31' column='1' id='type-id-368'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='ob_base' type-id='type-id-345' visibility='default' filepath='./Include/cpython/genobject.h' line='33' column='1'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyUnstable_InterpreterFrame_GetLine' mangled-name='PyUnstable_InterpreterFrame_GetLine' filepath='./Include/cpython/frameobject.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_InterpreterFrame_GetLine'>
-      <parameter type-id='type-id-375'/>
-      <return type-id='type-id-8'/>
-    </function-decl>
     <var-decl name='PyGen_Type' type-id='type-id-256' mangled-name='PyGen_Type' visibility='default' filepath='./Include/cpython/genobject.h' line='36' column='1' elf-symbol-id='PyGen_Type'/>
     <var-decl name='PyCoro_Type' type-id='type-id-256' mangled-name='PyCoro_Type' visibility='default' filepath='./Include/cpython/genobject.h' line='56' column='1' elf-symbol-id='PyCoro_Type'/>
     <var-decl name='_PyCoroWrapper_Type' type-id='type-id-256' mangled-name='_PyCoroWrapper_Type' visibility='default' filepath='./Include/cpython/genobject.h' line='57' column='1' elf-symbol-id='_PyCoroWrapper_Type'/>
     <var-decl name='_PyAsyncGenASend_Type' type-id='type-id-256' mangled-name='_PyAsyncGenASend_Type' visibility='default' filepath='./Include/cpython/genobject.h' line='71' column='1' elf-symbol-id='_PyAsyncGenASend_Type'/>
     <var-decl name='_PyAsyncGenWrappedValue_Type' type-id='type-id-256' mangled-name='_PyAsyncGenWrappedValue_Type' visibility='default' filepath='./Include/cpython/genobject.h' line='72' column='1' elf-symbol-id='_PyAsyncGenWrappedValue_Type'/>
     <var-decl name='_PyAsyncGenAThrow_Type' type-id='type-id-256' mangled-name='_PyAsyncGenAThrow_Type' visibility='default' filepath='./Include/cpython/genobject.h' line='73' column='1' elf-symbol-id='_PyAsyncGenAThrow_Type'/>
-    <function-decl name='PyObject_CallFinalizerFromDealloc' mangled-name='PyObject_CallFinalizerFromDealloc' filepath='./Include/cpython/object.h' line='312' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_CallFinalizerFromDealloc'>
+    <function-decl name='PyObject_CallFinalizerFromDealloc' mangled-name='PyObject_CallFinalizerFromDealloc' filepath='./Include/cpython/object.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_CallFinalizerFromDealloc'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
+    <function-decl name='PyUnstable_InterpreterFrame_GetLine' mangled-name='PyUnstable_InterpreterFrame_GetLine' filepath='./Include/cpython/pyframe.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_InterpreterFrame_GetLine'>
+      <parameter type-id='type-id-375'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
     <function-decl name='_PyEval_GetFrame' filepath='./Include/internal/pycore_ceval.h' line='151' column='1' visibility='default' binding='global' size-in-bits='64'>
       <return type-id='type-id-375'/>
     </function-decl>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/interpreteridobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/interpreteridobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyInterpreterState_LookUpID' mangled-name='_PyInterpreterState_LookUpID' filepath='./Include/internal/pycore_interp.h' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyInterpreterState_LookUpID'>
       <parameter type-id='type-id-377'/>
       <return type-id='type-id-20'/>
       <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/iterobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/iterobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyCoro_GetAwaitableIter' filepath='./Include/internal/pycore_genobject.h' line='12' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/listobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/listobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyEval_SliceIndexNotNone' mangled-name='_PyEval_SliceIndexNotNone' filepath='./Include/cpython/ceval.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyEval_SliceIndexNotNone'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-13'/>
     <var-decl name='PyList_Type' type-id='type-id-256' mangled-name='PyList_Type' visibility='default' filepath='./Include/listobject.h' line='20' column='1' elf-symbol-id='PyList_Type'/>
     <var-decl name='PyListIter_Type' type-id='type-id-256' mangled-name='PyListIter_Type' visibility='default' filepath='./Include/listobject.h' line='21' column='1' elf-symbol-id='PyListIter_Type'/>
     <var-decl name='PyListRevIter_Type' type-id='type-id-256' mangled-name='PyListRevIter_Type' visibility='default' filepath='./Include/listobject.h' line='22' column='1' elf-symbol-id='PyListRevIter_Type'/>
-    <function-decl name='PyObject_HashNotImplemented' mangled-name='PyObject_HashNotImplemented' filepath='./Include/object.h' line='405' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_HashNotImplemented'>
+    <function-decl name='PyObject_HashNotImplemented' mangled-name='PyObject_HashNotImplemented' filepath='./Include/object.h' line='421' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_HashNotImplemented'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-305'/>
     </function-decl>
-    <function-decl name='Py_ReprEnter' mangled-name='Py_ReprEnter' filepath='./Include/object.h' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_ReprEnter'>
+    <function-decl name='Py_ReprEnter' mangled-name='Py_ReprEnter' filepath='./Include/object.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_ReprEnter'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='Py_ReprLeave' mangled-name='Py_ReprLeave' filepath='./Include/object.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_ReprLeave'>
+    <function-decl name='Py_ReprLeave' mangled-name='Py_ReprLeave' filepath='./Include/object.h' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_ReprLeave'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-46'/>
     </function-decl>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/longobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/longobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='2048' id='type-id-379'>
       <subrange length='256' type-id='type-id-28' id='type-id-62'/>
     </array-type-def>
       <parameter type-id='type-id-14'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <var-decl name='PyLong_Type' type-id='type-id-256' mangled-name='PyLong_Type' visibility='default' filepath='./Include/object.h' line='210' column='1' elf-symbol-id='PyLong_Type'/>
-    <function-decl name='PyObject_Bytes' mangled-name='PyObject_Bytes' filepath='./Include/object.h' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Bytes'>
+    <var-decl name='PyLong_Type' type-id='type-id-256' mangled-name='PyLong_Type' visibility='default' filepath='./Include/object.h' line='226' column='1' elf-symbol-id='PyLong_Type'/>
+    <function-decl name='PyObject_Bytes' mangled-name='PyObject_Bytes' filepath='./Include/object.h' line='405' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Bytes'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
       <return type-id='type-id-14'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/memoryobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/memoryobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_PyManagedBuffer_Type' type-id='type-id-256' mangled-name='_PyManagedBuffer_Type' visibility='default' filepath='./Include/cpython/memoryobject.h' line='5' column='1' elf-symbol-id='_PyManagedBuffer_Type'/>
     <var-decl name='PyMemoryView_Type' type-id='type-id-256' mangled-name='PyMemoryView_Type' visibility='default' filepath='./Include/memoryobject.h' line='9' column='1' elf-symbol-id='PyMemoryView_Type'/>
     <function-decl name='PyUnicode_AsASCIIString' mangled-name='PyUnicode_AsASCIIString' filepath='./Include/unicodeobject.h' line='639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnicode_AsASCIIString'>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/methodobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/methodobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyCMethod_Type' type-id='type-id-256' mangled-name='PyCMethod_Type' visibility='default' filepath='./Include/cpython/methodobject.h' line='32' column='1' elf-symbol-id='PyCMethod_Type'/>
     <var-decl name='PyCFunction_Type' type-id='type-id-256' mangled-name='PyCFunction_Type' visibility='default' filepath='./Include/methodobject.h' line='14' column='1' elf-symbol-id='PyCFunction_Type'/>
     <function-decl name='PyCFunction_New' mangled-name='PyCFunction_New' filepath='Objects/methodobject.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyCFunction_New'>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/moduleobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/moduleobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='PyModuleDef_Base' size-in-bits='320' is-struct='yes' visibility='default' filepath='./Include/moduleobject.h' line='44' column='1' id='type-id-389'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='ob_base' type-id='type-id-345' visibility='default' filepath='./Include/moduleobject.h' line='45' column='1'/>
       <parameter type-id='type-id-20'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyObject_GenericGetAttrWithDict' mangled-name='_PyObject_GenericGetAttrWithDict' filepath='./Include/cpython/object.h' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GenericGetAttrWithDict'>
+    <function-decl name='_PyObject_GenericGetAttrWithDict' mangled-name='_PyObject_GenericGetAttrWithDict' filepath='./Include/cpython/object.h' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GenericGetAttrWithDict'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
     </function-decl>
     <var-decl name='PyModule_Type' type-id='type-id-256' mangled-name='PyModule_Type' visibility='default' filepath='./Include/moduleobject.h' line='10' column='1' elf-symbol-id='PyModule_Type'/>
     <var-decl name='PyModuleDef_Type' type-id='type-id-256' mangled-name='PyModuleDef_Type' visibility='default' filepath='./Include/moduleobject.h' line='41' column='1' elf-symbol-id='PyModuleDef_Type'/>
-    <function-decl name='PyObject_SetAttrString' mangled-name='PyObject_SetAttrString' filepath='./Include/object.h' line='393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_SetAttrString'>
+    <function-decl name='PyObject_SetAttrString' mangled-name='PyObject_SetAttrString' filepath='./Include/object.h' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_SetAttrString'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/namespaceobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/namespaceobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_PyNamespace_Type' type-id='type-id-256' mangled-name='_PyNamespace_Type' visibility='default' filepath='./Include/internal/pycore_namespace.h' line='13' column='1' elf-symbol-id='_PyNamespace_Type'/>
     <function-decl name='PyUnicode_Join' mangled-name='PyUnicode_Join' filepath='./Include/unicodeobject.h' line='889' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnicode_Join'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/object.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/object.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='192' id='type-id-91'>
       <subrange length='6' type-id='type-id-28' id='type-id-401'/>
     </array-type-def>
     <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-409'/>
     <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
     <qualified-type-def type-id='type-id-22' restrict='yes' id='type-id-226'/>
-    <function-decl name='PyEval_GetLocals' mangled-name='PyEval_GetLocals' filepath='./Include/ceval.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_GetLocals'>
-      <return type-id='type-id-2'/>
-    </function-decl>
-    <var-decl name='_PyNone_Type' type-id='type-id-256' mangled-name='_PyNone_Type' visibility='default' filepath='./Include/cpython/object.h' line='389' column='1' elf-symbol-id='_PyNone_Type'/>
-    <var-decl name='_PyNotImplemented_Type' type-id='type-id-256' mangled-name='_PyNotImplemented_Type' visibility='default' filepath='./Include/cpython/object.h' line='390' column='1' elf-symbol-id='_PyNotImplemented_Type'/>
-    <var-decl name='_Py_SwappedOp' type-id='type-id-402' mangled-name='_Py_SwappedOp' visibility='default' filepath='./Include/cpython/object.h' line='395' column='1' elf-symbol-id='_Py_SwappedOp'/>
+    <var-decl name='_PyNone_Type' type-id='type-id-256' mangled-name='_PyNone_Type' visibility='default' filepath='./Include/cpython/object.h' line='390' column='1' elf-symbol-id='_PyNone_Type'/>
+    <var-decl name='_PyNotImplemented_Type' type-id='type-id-256' mangled-name='_PyNotImplemented_Type' visibility='default' filepath='./Include/cpython/object.h' line='391' column='1' elf-symbol-id='_PyNotImplemented_Type'/>
+    <var-decl name='_Py_SwappedOp' type-id='type-id-402' mangled-name='_Py_SwappedOp' visibility='default' filepath='./Include/cpython/object.h' line='396' column='1' elf-symbol-id='_Py_SwappedOp'/>
     <function-decl name='PyMem_RawMalloc' mangled-name='PyMem_RawMalloc' filepath='./Include/cpython/pymem.h' line='5' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMem_RawMalloc'>
       <parameter type-id='type-id-19'/>
       <return type-id='type-id-22'/>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-2'/>
     </function-decl>
+    <function-decl name='_PyEval_GetFrameLocals' filepath='./Include/internal/pycore_ceval.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-2'/>
+    </function-decl>
     <function-decl name='_PyObjectDict_SetItem' filepath='./Include/internal/pycore_dict.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-233'/>
       <parameter type-id='type-id-20'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <var-decl name='_Py_NoneStruct' type-id='type-id-345' mangled-name='_Py_NoneStruct' visibility='default' filepath='./Include/object.h' line='834' column='1' elf-symbol-id='_Py_NoneStruct'/>
-    <var-decl name='_Py_NotImplementedStruct' type-id='type-id-345' mangled-name='_Py_NotImplementedStruct' visibility='default' filepath='./Include/object.h' line='848' column='1' elf-symbol-id='_Py_NotImplementedStruct'/>
+    <var-decl name='_Py_NoneStruct' type-id='type-id-345' mangled-name='_Py_NoneStruct' visibility='default' filepath='./Include/object.h' line='845' column='1' elf-symbol-id='_Py_NoneStruct'/>
+    <var-decl name='_Py_NotImplementedStruct' type-id='type-id-345' mangled-name='_Py_NotImplementedStruct' visibility='default' filepath='./Include/object.h' line='859' column='1' elf-symbol-id='_Py_NotImplementedStruct'/>
     <function-decl name='PyThreadState_GetDict' mangled-name='PyThreadState_GetDict' filepath='./Include/pystate.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThreadState_GetDict'>
       <return type-id='type-id-2'/>
     </function-decl>
       <parameter type-id='type-id-2' name='v' filepath='Objects/object.c' line='1680' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyObject_DebugTypeStats' mangled-name='_PyObject_DebugTypeStats' filepath='Objects/object.c' line='2300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_DebugTypeStats'>
-      <parameter type-id='type-id-229' name='out' filepath='Objects/object.c' line='2300' column='1'/>
+    <function-decl name='_PyObject_DebugTypeStats' mangled-name='_PyObject_DebugTypeStats' filepath='Objects/object.c' line='2301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_DebugTypeStats'>
+      <parameter type-id='type-id-229' name='out' filepath='Objects/object.c' line='2301' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyObject_GET_WEAKREFS_LISTPTR' mangled-name='PyObject_GET_WEAKREFS_LISTPTR' filepath='Objects/object.c' line='2619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GET_WEAKREFS_LISTPTR'>
-      <parameter type-id='type-id-2' name='op' filepath='Objects/object.c' line='2619' column='1'/>
+    <function-decl name='PyObject_GET_WEAKREFS_LISTPTR' mangled-name='PyObject_GET_WEAKREFS_LISTPTR' filepath='Objects/object.c' line='2620' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GET_WEAKREFS_LISTPTR'>
+      <parameter type-id='type-id-2' name='op' filepath='Objects/object.c' line='2620' column='1'/>
       <return type-id='type-id-233'/>
     </function-decl>
-    <function-decl name='Py_NewRef' mangled-name='Py_NewRef' filepath='Objects/object.c' line='2630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_NewRef'>
-      <parameter type-id='type-id-2' name='obj' filepath='Objects/object.c' line='2630' column='1'/>
+    <function-decl name='Py_NewRef' mangled-name='Py_NewRef' filepath='Objects/object.c' line='2631' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_NewRef'>
+      <parameter type-id='type-id-2' name='obj' filepath='Objects/object.c' line='2631' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='Py_XNewRef' mangled-name='Py_XNewRef' filepath='Objects/object.c' line='2636' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_XNewRef'>
-      <parameter type-id='type-id-2' name='obj' filepath='Objects/object.c' line='2636' column='1'/>
+    <function-decl name='Py_XNewRef' mangled-name='Py_XNewRef' filepath='Objects/object.c' line='2637' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_XNewRef'>
+      <parameter type-id='type-id-2' name='obj' filepath='Objects/object.c' line='2637' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='Py_Is' mangled-name='Py_Is' filepath='Objects/object.c' line='2648' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_Is'>
-      <parameter type-id='type-id-2' name='x' filepath='Objects/object.c' line='2648' column='1'/>
-      <parameter type-id='type-id-2' name='y' filepath='Objects/object.c' line='2648' column='1'/>
+    <function-decl name='Py_Is' mangled-name='Py_Is' filepath='Objects/object.c' line='2649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_Is'>
+      <parameter type-id='type-id-2' name='x' filepath='Objects/object.c' line='2649' column='1'/>
+      <parameter type-id='type-id-2' name='y' filepath='Objects/object.c' line='2649' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='Py_IsNone' mangled-name='Py_IsNone' filepath='Objects/object.c' line='2653' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_IsNone'>
-      <parameter type-id='type-id-2' name='x' filepath='Objects/object.c' line='2653' column='1'/>
+    <function-decl name='Py_IsNone' mangled-name='Py_IsNone' filepath='Objects/object.c' line='2654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_IsNone'>
+      <parameter type-id='type-id-2' name='x' filepath='Objects/object.c' line='2654' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='Py_IsTrue' mangled-name='Py_IsTrue' filepath='Objects/object.c' line='2658' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_IsTrue'>
-      <parameter type-id='type-id-2' name='x' filepath='Objects/object.c' line='2658' column='1'/>
+    <function-decl name='Py_IsTrue' mangled-name='Py_IsTrue' filepath='Objects/object.c' line='2659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_IsTrue'>
+      <parameter type-id='type-id-2' name='x' filepath='Objects/object.c' line='2659' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='Py_IsFalse' mangled-name='Py_IsFalse' filepath='Objects/object.c' line='2663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_IsFalse'>
-      <parameter type-id='type-id-2' name='x' filepath='Objects/object.c' line='2663' column='1'/>
+    <function-decl name='Py_IsFalse' mangled-name='Py_IsFalse' filepath='Objects/object.c' line='2664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_IsFalse'>
+      <parameter type-id='type-id-2' name='x' filepath='Objects/object.c' line='2664' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/obmalloc.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/obmalloc.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <enum-decl name='PyMemAllocatorDomain' naming-typedef-id='type-id-413' filepath='./Include/cpython/pymem.h' line='23' column='1' id='type-id-414'>
       <underlying-type type-id='type-id-24'/>
       <enumerator name='PYMEM_DOMAIN_RAW' value='0'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/odictobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/odictobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyODict_Type' type-id='type-id-256' mangled-name='PyODict_Type' visibility='default' filepath='./Include/cpython/odictobject.h' line='15' column='1' elf-symbol-id='PyODict_Type'/>
     <var-decl name='PyODictIter_Type' type-id='type-id-256' mangled-name='PyODictIter_Type' visibility='default' filepath='./Include/cpython/odictobject.h' line='16' column='1' elf-symbol-id='PyODictIter_Type'/>
     <var-decl name='PyODictKeys_Type' type-id='type-id-256' mangled-name='PyODictKeys_Type' visibility='default' filepath='./Include/cpython/odictobject.h' line='17' column='1' elf-symbol-id='PyODictKeys_Type'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/picklebufobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/picklebufobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyPickleBuffer_Type' type-id='type-id-256' mangled-name='PyPickleBuffer_Type' visibility='default' filepath='./Include/cpython/picklebufobject.h' line='13' column='1' elf-symbol-id='PyPickleBuffer_Type'/>
     <function-decl name='PyPickleBuffer_FromObject' mangled-name='PyPickleBuffer_FromObject' filepath='Objects/picklebufobject.c' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyPickleBuffer_FromObject'>
       <parameter type-id='type-id-2' name='base' filepath='Objects/picklebufobject.c' line='17' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/rangeobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/rangeobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyRange_Type' type-id='type-id-256' mangled-name='PyRange_Type' visibility='default' filepath='./Include/rangeobject.h' line='18' column='1' elf-symbol-id='PyRange_Type'/>
     <var-decl name='PyRangeIter_Type' type-id='type-id-256' mangled-name='PyRangeIter_Type' visibility='default' filepath='./Include/rangeobject.h' line='19' column='1' elf-symbol-id='PyRangeIter_Type'/>
     <var-decl name='PyLongRangeIter_Type' type-id='type-id-256' mangled-name='PyLongRangeIter_Type' visibility='default' filepath='./Include/rangeobject.h' line='20' column='1' elf-symbol-id='PyLongRangeIter_Type'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/setobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/setobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_PySet_Dummy' type-id='type-id-2' mangled-name='_PySet_Dummy' visibility='default' filepath='./Include/cpython/setobject.h' line='69' column='1' elf-symbol-id='_PySet_Dummy'/>
     <function-decl name='_PyUnicode_EQ' mangled-name='_PyUnicode_EQ' filepath='./Include/cpython/unicodeobject.h' line='953' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyUnicode_EQ'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/sliceobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/sliceobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_Py_EllipsisObject' type-id='type-id-345' mangled-name='_Py_EllipsisObject' visibility='default' filepath='./Include/sliceobject.h' line='9' column='1' elf-symbol-id='_Py_EllipsisObject'/>
     <var-decl name='PySlice_Type' type-id='type-id-256' mangled-name='PySlice_Type' visibility='default' filepath='./Include/sliceobject.h' line='28' column='1' elf-symbol-id='PySlice_Type'/>
     <var-decl name='PyEllipsis_Type' type-id='type-id-256' mangled-name='PyEllipsis_Type' visibility='default' filepath='./Include/sliceobject.h' line='29' column='1' elf-symbol-id='PyEllipsis_Type'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/structseq.c' comp-dir-path='/src' language='LANG_C11'>
-    <class-decl name='PyType_Slot' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-425' visibility='default' filepath='./Include/object.h' line='327' column='1' id='type-id-426'>
+  <abi-instr address-size='64' path='Objects/structseq.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
+    <class-decl name='PyType_Slot' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-425' visibility='default' filepath='./Include/object.h' line='343' column='1' id='type-id-426'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='slot' type-id='type-id-8' visibility='default' filepath='./Include/object.h' line='328' column='1'/>
+        <var-decl name='slot' type-id='type-id-8' visibility='default' filepath='./Include/object.h' line='344' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <var-decl name='pfunc' type-id='type-id-22' visibility='default' filepath='./Include/object.h' line='329' column='1'/>
+        <var-decl name='pfunc' type-id='type-id-22' visibility='default' filepath='./Include/object.h' line='345' column='1'/>
       </data-member>
     </class-decl>
-    <typedef-decl name='PyType_Slot' type-id='type-id-426' filepath='./Include/object.h' line='330' column='1' id='type-id-425'/>
-    <class-decl name='PyType_Spec' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-11' visibility='default' filepath='./Include/object.h' line='332' column='1' id='type-id-427'>
+    <typedef-decl name='PyType_Slot' type-id='type-id-426' filepath='./Include/object.h' line='346' column='1' id='type-id-425'/>
+    <class-decl name='PyType_Spec' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-11' visibility='default' filepath='./Include/object.h' line='348' column='1' id='type-id-427'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='name' type-id='type-id-12' visibility='default' filepath='./Include/object.h' line='333' column='1'/>
+        <var-decl name='name' type-id='type-id-12' visibility='default' filepath='./Include/object.h' line='349' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <var-decl name='basicsize' type-id='type-id-8' visibility='default' filepath='./Include/object.h' line='334' column='1'/>
+        <var-decl name='basicsize' type-id='type-id-8' visibility='default' filepath='./Include/object.h' line='350' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
-        <var-decl name='itemsize' type-id='type-id-8' visibility='default' filepath='./Include/object.h' line='335' column='1'/>
+        <var-decl name='itemsize' type-id='type-id-8' visibility='default' filepath='./Include/object.h' line='351' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
-        <var-decl name='flags' type-id='type-id-95' visibility='default' filepath='./Include/object.h' line='336' column='1'/>
+        <var-decl name='flags' type-id='type-id-95' visibility='default' filepath='./Include/object.h' line='352' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
-        <var-decl name='slots' type-id='type-id-428' visibility='default' filepath='./Include/object.h' line='337' column='1'/>
+        <var-decl name='slots' type-id='type-id-428' visibility='default' filepath='./Include/object.h' line='353' column='1'/>
       </data-member>
     </class-decl>
-    <typedef-decl name='PyType_Spec' type-id='type-id-427' filepath='./Include/object.h' line='338' column='1' id='type-id-11'/>
+    <typedef-decl name='PyType_Spec' type-id='type-id-427' filepath='./Include/object.h' line='354' column='1' id='type-id-11'/>
     <pointer-type-def type-id='type-id-425' size-in-bits='64' id='type-id-428'/>
     <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-429'/>
     <function-decl name='_PyType_HasSubclasses' filepath='./Include/internal/pycore_typeobject.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyType_FromSpecWithBases' mangled-name='PyType_FromSpecWithBases' filepath='./Include/object.h' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_FromSpecWithBases'>
+    <function-decl name='PyType_FromSpecWithBases' mangled-name='PyType_FromSpecWithBases' filepath='./Include/object.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_FromSpecWithBases'>
       <parameter type-id='type-id-429'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
       <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/tupleobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/tupleobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyObject_GC_Resize' mangled-name='_PyObject_GC_Resize' filepath='./Include/objimpl.h' line='182' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_GC_Resize'>
       <parameter type-id='type-id-322'/>
       <parameter type-id='type-id-14'/>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/typeobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/typeobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='_PyWeakReference' size-in-bits='512' is-struct='yes' visibility='default' filepath='./Include/cpython/weakrefobject.h' line='8' column='1' id='type-id-431'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='ob_base' type-id='type-id-345' visibility='default' filepath='./Include/cpython/weakrefobject.h' line='9' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <var-decl name='PyType_Type' type-id='type-id-256' mangled-name='PyType_Type' visibility='default' filepath='./Include/object.h' line='372' column='1' elf-symbol-id='PyType_Type'/>
-    <var-decl name='PyBaseObject_Type' type-id='type-id-256' mangled-name='PyBaseObject_Type' visibility='default' filepath='./Include/object.h' line='373' column='1' elf-symbol-id='PyBaseObject_Type'/>
-    <var-decl name='PySuper_Type' type-id='type-id-256' mangled-name='PySuper_Type' visibility='default' filepath='./Include/object.h' line='374' column='1' elf-symbol-id='PySuper_Type'/>
+    <var-decl name='PyType_Type' type-id='type-id-256' mangled-name='PyType_Type' visibility='default' filepath='./Include/object.h' line='388' column='1' elf-symbol-id='PyType_Type'/>
+    <var-decl name='PyBaseObject_Type' type-id='type-id-256' mangled-name='PyBaseObject_Type' visibility='default' filepath='./Include/object.h' line='389' column='1' elf-symbol-id='PyBaseObject_Type'/>
+    <var-decl name='PySuper_Type' type-id='type-id-256' mangled-name='PySuper_Type' visibility='default' filepath='./Include/object.h' line='390' column='1' elf-symbol-id='PySuper_Type'/>
     <function-decl name='PyInterpreterState_Get' mangled-name='PyInterpreterState_Get' filepath='./Include/pystate.h' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInterpreterState_Get'>
       <return type-id='type-id-20'/>
     </function-decl>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-15'/>
     </function-decl>
-    <function-decl name='PyType_ClearCache' mangled-name='PyType_ClearCache' filepath='Objects/typeobject.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_ClearCache'>
+    <function-decl name='PyType_GetDict' mangled-name='PyType_GetDict' filepath='Objects/typeobject.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetDict'>
+      <parameter type-id='type-id-1' name='self' filepath='Objects/typeobject.c' line='242' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='PyType_ClearCache' mangled-name='PyType_ClearCache' filepath='Objects/typeobject.c' line='661' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_ClearCache'>
       <return type-id='type-id-95'/>
     </function-decl>
-    <function-decl name='PyType_AddWatcher' mangled-name='PyType_AddWatcher' filepath='Objects/typeobject.c' line='676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_AddWatcher'>
-      <parameter type-id='type-id-435' name='callback' filepath='Objects/typeobject.c' line='676' column='1'/>
+    <function-decl name='PyType_AddWatcher' mangled-name='PyType_AddWatcher' filepath='Objects/typeobject.c' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_AddWatcher'>
+      <parameter type-id='type-id-435' name='callback' filepath='Objects/typeobject.c' line='683' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyType_ClearWatcher' mangled-name='PyType_ClearWatcher' filepath='Objects/typeobject.c' line='706' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_ClearWatcher'>
-      <parameter type-id='type-id-8' name='watcher_id' filepath='Objects/typeobject.c' line='706' column='1'/>
+    <function-decl name='PyType_ClearWatcher' mangled-name='PyType_ClearWatcher' filepath='Objects/typeobject.c' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_ClearWatcher'>
+      <parameter type-id='type-id-8' name='watcher_id' filepath='Objects/typeobject.c' line='713' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyType_Watch' mangled-name='PyType_Watch' filepath='Objects/typeobject.c' line='719' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_Watch'>
-      <parameter type-id='type-id-8' name='watcher_id' filepath='Objects/typeobject.c' line='719' column='1'/>
-      <parameter type-id='type-id-2' name='obj' filepath='Objects/typeobject.c' line='719' column='1'/>
+    <function-decl name='PyType_Watch' mangled-name='PyType_Watch' filepath='Objects/typeobject.c' line='726' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_Watch'>
+      <parameter type-id='type-id-8' name='watcher_id' filepath='Objects/typeobject.c' line='726' column='1'/>
+      <parameter type-id='type-id-2' name='obj' filepath='Objects/typeobject.c' line='726' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyType_Unwatch' mangled-name='PyType_Unwatch' filepath='Objects/typeobject.c' line='737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_Unwatch'>
-      <parameter type-id='type-id-8' name='watcher_id' filepath='Objects/typeobject.c' line='737' column='1'/>
-      <parameter type-id='type-id-2' name='obj' filepath='Objects/typeobject.c' line='737' column='1'/>
+    <function-decl name='PyType_Unwatch' mangled-name='PyType_Unwatch' filepath='Objects/typeobject.c' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_Unwatch'>
+      <parameter type-id='type-id-8' name='watcher_id' filepath='Objects/typeobject.c' line='744' column='1'/>
+      <parameter type-id='type-id-2' name='obj' filepath='Objects/typeobject.c' line='744' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyType_Modified' mangled-name='PyType_Modified' filepath='Objects/typeobject.c' line='753' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_Modified'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='753' column='1'/>
+    <function-decl name='PyType_Modified' mangled-name='PyType_Modified' filepath='Objects/typeobject.c' line='760' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_Modified'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='760' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyUnstable_Type_AssignVersionTag' mangled-name='PyUnstable_Type_AssignVersionTag' filepath='Objects/typeobject.c' line='921' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_Type_AssignVersionTag'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='921' column='1'/>
+    <function-decl name='PyUnstable_Type_AssignVersionTag' mangled-name='PyUnstable_Type_AssignVersionTag' filepath='Objects/typeobject.c' line='928' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_Type_AssignVersionTag'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='928' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyObject_LookupSpecialId' mangled-name='_PyObject_LookupSpecialId' filepath='Objects/typeobject.c' line='2174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_LookupSpecialId'>
-      <parameter type-id='type-id-2' name='self' filepath='Objects/typeobject.c' line='2174' column='1'/>
-      <parameter type-id='type-id-309' name='attrid' filepath='Objects/typeobject.c' line='2174' column='1'/>
+    <function-decl name='_PyObject_LookupSpecialId' mangled-name='_PyObject_LookupSpecialId' filepath='Objects/typeobject.c' line='2173' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyObject_LookupSpecialId'>
+      <parameter type-id='type-id-2' name='self' filepath='Objects/typeobject.c' line='2173' column='1'/>
+      <parameter type-id='type-id-309' name='attrid' filepath='Objects/typeobject.c' line='2173' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_GetFlags' mangled-name='PyType_GetFlags' filepath='Objects/typeobject.c' line='3037' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetFlags'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='3037' column='1'/>
+    <function-decl name='PyType_GetFlags' mangled-name='PyType_GetFlags' filepath='Objects/typeobject.c' line='3036' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetFlags'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='3036' column='1'/>
       <return type-id='type-id-28'/>
     </function-decl>
-    <function-decl name='PyType_SUPPORTS_WEAKREFS' mangled-name='PyType_SUPPORTS_WEAKREFS' filepath='Objects/typeobject.c' line='3044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_SUPPORTS_WEAKREFS'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='3044' column='1'/>
+    <function-decl name='PyType_SUPPORTS_WEAKREFS' mangled-name='PyType_SUPPORTS_WEAKREFS' filepath='Objects/typeobject.c' line='3043' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_SUPPORTS_WEAKREFS'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='3043' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyType_CalculateMetaclass' mangled-name='_PyType_CalculateMetaclass' filepath='Objects/typeobject.c' line='3052' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyType_CalculateMetaclass'>
-      <parameter type-id='type-id-1' name='metatype' filepath='Objects/typeobject.c' line='3052' column='1'/>
-      <parameter type-id='type-id-2' name='bases' filepath='Objects/typeobject.c' line='3052' column='1'/>
+    <function-decl name='_PyType_CalculateMetaclass' mangled-name='_PyType_CalculateMetaclass' filepath='Objects/typeobject.c' line='3051' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyType_CalculateMetaclass'>
+      <parameter type-id='type-id-1' name='metatype' filepath='Objects/typeobject.c' line='3051' column='1'/>
+      <parameter type-id='type-id-2' name='bases' filepath='Objects/typeobject.c' line='3051' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='PyType_FromMetaclass' mangled-name='PyType_FromMetaclass' filepath='Objects/typeobject.c' line='4482' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_FromMetaclass'>
-      <parameter type-id='type-id-1' name='metaclass' filepath='Objects/typeobject.c' line='4482' column='1'/>
-      <parameter type-id='type-id-2' name='module' filepath='Objects/typeobject.c' line='4482' column='1'/>
-      <parameter type-id='type-id-429' name='spec' filepath='Objects/typeobject.c' line='4483' column='1'/>
-      <parameter type-id='type-id-2' name='bases_in' filepath='Objects/typeobject.c' line='4483' column='1'/>
+    <function-decl name='PyType_FromMetaclass' mangled-name='PyType_FromMetaclass' filepath='Objects/typeobject.c' line='4481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_FromMetaclass'>
+      <parameter type-id='type-id-1' name='metaclass' filepath='Objects/typeobject.c' line='4481' column='1'/>
+      <parameter type-id='type-id-2' name='module' filepath='Objects/typeobject.c' line='4481' column='1'/>
+      <parameter type-id='type-id-429' name='spec' filepath='Objects/typeobject.c' line='4482' column='1'/>
+      <parameter type-id='type-id-2' name='bases_in' filepath='Objects/typeobject.c' line='4482' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_FromModuleAndSpec' mangled-name='PyType_FromModuleAndSpec' filepath='Objects/typeobject.c' line='4489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_FromModuleAndSpec'>
-      <parameter type-id='type-id-2' name='module' filepath='Objects/typeobject.c' line='4489' column='1'/>
-      <parameter type-id='type-id-429' name='spec' filepath='Objects/typeobject.c' line='4489' column='1'/>
-      <parameter type-id='type-id-2' name='bases' filepath='Objects/typeobject.c' line='4489' column='1'/>
+    <function-decl name='PyType_FromModuleAndSpec' mangled-name='PyType_FromModuleAndSpec' filepath='Objects/typeobject.c' line='4488' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_FromModuleAndSpec'>
+      <parameter type-id='type-id-2' name='module' filepath='Objects/typeobject.c' line='4488' column='1'/>
+      <parameter type-id='type-id-429' name='spec' filepath='Objects/typeobject.c' line='4488' column='1'/>
+      <parameter type-id='type-id-2' name='bases' filepath='Objects/typeobject.c' line='4488' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_FromSpec' mangled-name='PyType_FromSpec' filepath='Objects/typeobject.c' line='4501' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_FromSpec'>
-      <parameter type-id='type-id-429' name='spec' filepath='Objects/typeobject.c' line='4501' column='1'/>
+    <function-decl name='PyType_FromSpec' mangled-name='PyType_FromSpec' filepath='Objects/typeobject.c' line='4500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_FromSpec'>
+      <parameter type-id='type-id-429' name='spec' filepath='Objects/typeobject.c' line='4500' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_GetName' mangled-name='PyType_GetName' filepath='Objects/typeobject.c' line='4507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetName'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4507' column='1'/>
+    <function-decl name='PyType_GetName' mangled-name='PyType_GetName' filepath='Objects/typeobject.c' line='4506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetName'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4506' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_GetSlot' mangled-name='PyType_GetSlot' filepath='Objects/typeobject.c' line='4519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetSlot'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4519' column='1'/>
-      <parameter type-id='type-id-8' name='slot' filepath='Objects/typeobject.c' line='4519' column='1'/>
+    <function-decl name='PyType_GetSlot' mangled-name='PyType_GetSlot' filepath='Objects/typeobject.c' line='4518' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetSlot'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4518' column='1'/>
+      <parameter type-id='type-id-8' name='slot' filepath='Objects/typeobject.c' line='4518' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='PyType_GetModule' mangled-name='PyType_GetModule' filepath='Objects/typeobject.c' line='4541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetModule'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4541' column='1'/>
+    <function-decl name='PyType_GetModule' mangled-name='PyType_GetModule' filepath='Objects/typeobject.c' line='4540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetModule'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4540' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyType_GetModuleState' mangled-name='PyType_GetModuleState' filepath='Objects/typeobject.c' line='4565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetModuleState'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4565' column='1'/>
+    <function-decl name='PyType_GetModuleState' mangled-name='PyType_GetModuleState' filepath='Objects/typeobject.c' line='4564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetModuleState'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4564' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='PyType_GetModuleByDef' mangled-name='PyType_GetModuleByDef' filepath='Objects/typeobject.c' line='4579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetModuleByDef'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4579' column='1'/>
-      <parameter type-id='type-id-399' name='def' filepath='Objects/typeobject.c' line='4579' column='1'/>
+    <function-decl name='PyType_GetModuleByDef' mangled-name='PyType_GetModuleByDef' filepath='Objects/typeobject.c' line='4578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetModuleByDef'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4578' column='1'/>
+      <parameter type-id='type-id-399' name='def' filepath='Objects/typeobject.c' line='4578' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_GetTypeData' mangled-name='PyObject_GetTypeData' filepath='Objects/typeobject.c' line='4614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GetTypeData'>
-      <parameter type-id='type-id-2' name='obj' filepath='Objects/typeobject.c' line='4614' column='1'/>
-      <parameter type-id='type-id-1' name='cls' filepath='Objects/typeobject.c' line='4614' column='1'/>
+    <function-decl name='PyObject_GetTypeData' mangled-name='PyObject_GetTypeData' filepath='Objects/typeobject.c' line='4613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GetTypeData'>
+      <parameter type-id='type-id-2' name='obj' filepath='Objects/typeobject.c' line='4613' column='1'/>
+      <parameter type-id='type-id-1' name='cls' filepath='Objects/typeobject.c' line='4613' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='PyType_GetTypeDataSize' mangled-name='PyType_GetTypeDataSize' filepath='Objects/typeobject.c' line='4621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetTypeDataSize'>
-      <parameter type-id='type-id-1' name='cls' filepath='Objects/typeobject.c' line='4621' column='1'/>
+    <function-decl name='PyType_GetTypeDataSize' mangled-name='PyType_GetTypeDataSize' filepath='Objects/typeobject.c' line='4620' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyType_GetTypeDataSize'>
+      <parameter type-id='type-id-1' name='cls' filepath='Objects/typeobject.c' line='4620' column='1'/>
       <return type-id='type-id-14'/>
     </function-decl>
-    <function-decl name='PyObject_GetItemData' mangled-name='PyObject_GetItemData' filepath='Objects/typeobject.c' line='4631' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GetItemData'>
-      <parameter type-id='type-id-2' name='obj' filepath='Objects/typeobject.c' line='4631' column='1'/>
+    <function-decl name='PyObject_GetItemData' mangled-name='PyObject_GetItemData' filepath='Objects/typeobject.c' line='4630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GetItemData'>
+      <parameter type-id='type-id-2' name='obj' filepath='Objects/typeobject.c' line='4630' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='_PyType_LookupId' mangled-name='_PyType_LookupId' filepath='Objects/typeobject.c' line='4773' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyType_LookupId'>
-      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4773' column='1'/>
-      <parameter type-id='type-id-309' name='name' filepath='Objects/typeobject.c' line='4773' column='1'/>
+    <function-decl name='_PyType_LookupId' mangled-name='_PyType_LookupId' filepath='Objects/typeobject.c' line='4772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyType_LookupId'>
+      <parameter type-id='type-id-1' name='type' filepath='Objects/typeobject.c' line='4772' column='1'/>
+      <parameter type-id='type-id-309' name='name' filepath='Objects/typeobject.c' line='4772' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyDictKeys_DecRef' filepath='Objects/typeobject.c' line='4950' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyDictKeys_DecRef' filepath='Objects/typeobject.c' line='4949' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-346'/>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/typevarobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/typevarobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyArg_UnpackKeywordsWithVararg' mangled-name='_PyArg_UnpackKeywordsWithVararg' filepath='./Include/cpython/modsupport.h' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyArg_UnpackKeywordsWithVararg'>
       <parameter type-id='type-id-248'/>
       <parameter type-id='type-id-14'/>
     </function-decl>
     <var-decl name='_PyTypeAlias_Type' type-id='type-id-256' visibility='default' filepath='./Include/internal/pycore_typevarobject.h' line='19' column='1'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/unicodectype.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/unicodectype.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyUnicode_ToTitlecase' mangled-name='_PyUnicode_ToTitlecase' filepath='Objects/unicodectype.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyUnicode_ToTitlecase'>
       <parameter type-id='type-id-250' name='ch' filepath='Objects/unicodectype.c' line='62' column='1'/>
       <return type-id='type-id-250'/>
       <return type-id='type-id-251'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/unicodeobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/unicodeobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-382' size-in-bits='1024' id='type-id-436'>
       <subrange length='128' type-id='type-id-28' id='type-id-437'/>
     </array-type-def>
       <parameter type-id='type-id-2' name='unicode' filepath='Objects/unicodeobject.c' line='3817' column='1'/>
       <return type-id='type-id-14'/>
     </function-decl>
-    <function-decl name='PyUnicode_GetLength' mangled-name='PyUnicode_GetLength' filepath='Objects/unicodeobject.c' line='3825' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnicode_GetLength'>
-      <parameter type-id='type-id-2' name='unicode' filepath='Objects/unicodeobject.c' line='3825' column='1'/>
-      <return type-id='type-id-14'/>
-    </function-decl>
     <function-decl name='PyUnicode_WriteChar' mangled-name='PyUnicode_WriteChar' filepath='Objects/unicodeobject.c' line='3854' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnicode_WriteChar'>
       <parameter type-id='type-id-2' name='unicode' filepath='Objects/unicodeobject.c' line='3854' column='1'/>
       <parameter type-id='type-id-14' name='index' filepath='Objects/unicodeobject.c' line='3854' column='1'/>
       <parameter type-id='type-id-233' name='p' filepath='Objects/unicodeobject.c' line='14769' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyInit__string' mangled-name='PyInit__string' filepath='Objects/unicodeobject.c' line='15323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit__string'>
+    <function-decl name='PyInit__string' mangled-name='PyInit__string' filepath='Objects/unicodeobject.c' line='15337' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit__string'>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/unionobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/unionobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_PyUnion_Type' type-id='type-id-256' visibility='default' filepath='./Include/internal/pycore_unionobject.h' line='11' column='1'/>
     <function-decl name='_Py_subs_parameters' filepath='./Include/internal/pycore_unionobject.h' line='16' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Objects/weakrefobject.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Objects/weakrefobject.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_PyWeakref_RefType' type-id='type-id-256' mangled-name='_PyWeakref_RefType' visibility='default' filepath='./Include/weakrefobject.h' line='11' column='1' elf-symbol-id='_PyWeakref_RefType'/>
     <var-decl name='_PyWeakref_ProxyType' type-id='type-id-256' mangled-name='_PyWeakref_ProxyType' visibility='default' filepath='./Include/weakrefobject.h' line='12' column='1' elf-symbol-id='_PyWeakref_ProxyType'/>
     <var-decl name='_PyWeakref_CallableProxyType' type-id='type-id-256' mangled-name='_PyWeakref_CallableProxyType' visibility='default' filepath='./Include/weakrefobject.h' line='13' column='1' elf-symbol-id='_PyWeakref_CallableProxyType'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/action_helpers.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/action_helpers.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='64' id='type-id-353'>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
     </array-type-def>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-2'/>
     </function-decl>
+    <function-decl name='PyUnicode_GetLength' mangled-name='PyUnicode_GetLength' filepath='./Include/unicodeobject.h' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnicode_GetLength'>
+      <parameter type-id='type-id-2'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
     <function-decl name='strcpy' filepath='/usr/include/string.h' line='141' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-15'/>
       <parameter type-id='type-id-12'/>
       </data-member>
     </class-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/myreadline.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/myreadline.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-570' size-in-bits='512' id='type-id-571'>
       <subrange length='8' type-id='type-id-28' id='type-id-572'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='512' id='type-id-584'>
       <subrange length='8' type-id='type-id-28' id='type-id-572'/>
     </array-type-def>
-    <array-type-def dimensions='2' type-id='type-id-2' size-in-bits='8192' id='type-id-585'>
+    <array-type-def dimensions='2' type-id='type-id-2' size-in-bits='8704' id='type-id-585'>
       <subrange length='8' type-id='type-id-28' id='type-id-572'/>
-      <subrange length='16' type-id='type-id-28' id='type-id-57'/>
+      <subrange length='17' type-id='type-id-28' id='type-id-586'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-586' size-in-bits='1280' id='type-id-587'>
-      <subrange length='20' type-id='type-id-28' id='type-id-588'/>
+    <array-type-def dimensions='1' type-id='type-id-587' size-in-bits='1280' id='type-id-588'>
+      <subrange length='20' type-id='type-id-28' id='type-id-589'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-435' size-in-bits='512' id='type-id-589'>
+    <array-type-def dimensions='1' type-id='type-id-435' size-in-bits='512' id='type-id-590'>
       <subrange length='8' type-id='type-id-28' id='type-id-572'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-590' size-in-bits='32' id='type-id-591'>
+    <array-type-def dimensions='1' type-id='type-id-591' size-in-bits='32' id='type-id-592'>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-592' size-in-bits='5120' id='type-id-593'>
+    <array-type-def dimensions='1' type-id='type-id-593' size-in-bits='5120' id='type-id-594'>
       <subrange length='80' type-id='type-id-28' id='type-id-575'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-594' size-in-bits='65536' id='type-id-595'>
+    <array-type-def dimensions='1' type-id='type-id-595' size-in-bits='65536' id='type-id-596'>
       <subrange length='128' type-id='type-id-28' id='type-id-437'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-596' size-in-bits='49152' id='type-id-597'>
+    <array-type-def dimensions='1' type-id='type-id-597' size-in-bits='49152' id='type-id-598'>
       <subrange length='128' type-id='type-id-28' id='type-id-437'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-598' size-in-bits='98304' id='type-id-599'>
+    <array-type-def dimensions='1' type-id='type-id-599' size-in-bits='98304' id='type-id-600'>
       <subrange length='256' type-id='type-id-28' id='type-id-62'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-600' size-in-bits='4096' id='type-id-601'>
+    <array-type-def dimensions='1' type-id='type-id-601' size-in-bits='4096' id='type-id-602'>
       <subrange length='32' type-id='type-id-28' id='type-id-60'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-602' size-in-bits='1048576' id='type-id-603'>
-      <subrange length='16384' type-id='type-id-28' id='type-id-604'/>
+    <array-type-def dimensions='1' type-id='type-id-603' size-in-bits='1048576' id='type-id-604'>
+      <subrange length='16384' type-id='type-id-28' id='type-id-605'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-605' size-in-bits='2097152' id='type-id-606'>
-      <subrange length='32768' type-id='type-id-28' id='type-id-607'/>
+    <array-type-def dimensions='1' type-id='type-id-606' size-in-bits='2097152' id='type-id-607'>
+      <subrange length='32768' type-id='type-id-28' id='type-id-608'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-608' size-in-bits='2097152' id='type-id-609'>
-      <subrange length='32768' type-id='type-id-28' id='type-id-607'/>
+    <array-type-def dimensions='1' type-id='type-id-609' size-in-bits='2097152' id='type-id-610'>
+      <subrange length='32768' type-id='type-id-28' id='type-id-608'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-610' size-in-bits='4160' id='type-id-611'>
+    <array-type-def dimensions='1' type-id='type-id-611' size-in-bits='4160' id='type-id-612'>
       <subrange length='65' type-id='type-id-28' id='type-id-64'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-612' size-in-bits='2048' id='type-id-613'>
+    <array-type-def dimensions='1' type-id='type-id-613' size-in-bits='2048' id='type-id-614'>
       <subrange length='32' type-id='type-id-28' id='type-id-60'/>
     </array-type-def>
-    <type-decl name='bool' size-in-bits='8' id='type-id-614'/>
-    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='320' id='type-id-615'>
-      <subrange length='40' type-id='type-id-28' id='type-id-616'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-615'/>
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='320' id='type-id-616'>
+      <subrange length='40' type-id='type-id-28' id='type-id-617'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='384' id='type-id-617'>
-      <subrange length='48' type-id='type-id-28' id='type-id-618'/>
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='384' id='type-id-618'>
+      <subrange length='48' type-id='type-id-28' id='type-id-619'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='32' id='type-id-619'>
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='32' id='type-id-620'>
       <subrange length='4' type-id='type-id-28' id='type-id-223'/>
     </array-type-def>
-    <class-decl name='PyAsyncGenASend' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-620'/>
-    <class-decl name='_PyAsyncGenWrappedValue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-621'/>
+    <class-decl name='PyAsyncGenASend' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-621'/>
+    <class-decl name='_PyAsyncGenWrappedValue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-622'/>
     <class-decl name='_dictkeysobject' size-in-bits='256' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_dict.h' line='72' column='1' id='type-id-350'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='dk_refcnt' type-id='type-id-14' visibility='default' filepath='./Include/internal/pycore_dict.h' line='73' column='1'/>
         <var-decl name='values' type-id='type-id-353' visibility='default' filepath='./Include/internal/pycore_dict.h' line='123' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='code_arena_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-622'/>
-    <array-type-def dimensions='1' type-id='type-id-384' size-in-bits='32' id='type-id-623'>
+    <class-decl name='code_arena_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-623'/>
+    <array-type-def dimensions='1' type-id='type-id-384' size-in-bits='32' id='type-id-624'>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-251' size-in-bits='18432' id='type-id-624'>
-      <subrange length='288' type-id='type-id-28' id='type-id-625'/>
+    <array-type-def dimensions='1' type-id='type-id-251' size-in-bits='18432' id='type-id-625'>
+      <subrange length='288' type-id='type-id-28' id='type-id-626'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-397' size-in-bits='16320' id='type-id-626'>
-      <subrange length='255' type-id='type-id-28' id='type-id-627'/>
+    <array-type-def dimensions='1' type-id='type-id-397' size-in-bits='16320' id='type-id-627'>
+      <subrange length='255' type-id='type-id-28' id='type-id-628'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-628' size-in-bits='576' id='type-id-629'>
-      <subrange length='3' type-id='type-id-28' id='type-id-630'/>
+    <array-type-def dimensions='1' type-id='type-id-629' size-in-bits='576' id='type-id-630'>
+      <subrange length='3' type-id='type-id-28' id='type-id-631'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-631' size-in-bits='576' id='type-id-632'>
-      <subrange length='3' type-id='type-id-28' id='type-id-630'/>
+    <array-type-def dimensions='1' type-id='type-id-632' size-in-bits='576' id='type-id-633'>
+      <subrange length='3' type-id='type-id-28' id='type-id-631'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='640' id='type-id-633'>
-      <subrange length='20' type-id='type-id-28' id='type-id-588'/>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='640' id='type-id-634'>
+      <subrange length='20' type-id='type-id-28' id='type-id-589'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='896' id='type-id-634'>
-      <subrange length='28' type-id='type-id-28' id='type-id-635'/>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='896' id='type-id-635'>
+      <subrange length='28' type-id='type-id-28' id='type-id-636'/>
     </array-type-def>
     <type-decl name='long long int' size-in-bits='64' id='type-id-378'/>
     <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-387'/>
-    <array-type-def dimensions='1' type-id='type-id-636' size-in-bits='4096' id='type-id-637'>
-      <subrange length='64' type-id='type-id-28' id='type-id-638'/>
+    <array-type-def dimensions='1' type-id='type-id-637' size-in-bits='4096' id='type-id-638'>
+      <subrange length='64' type-id='type-id-28' id='type-id-639'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-639' size-in-bits='640' id='type-id-640'>
-      <subrange length='10' type-id='type-id-28' id='type-id-641'/>
+    <array-type-def dimensions='1' type-id='type-id-640' size-in-bits='640' id='type-id-641'>
+      <subrange length='10' type-id='type-id-28' id='type-id-642'/>
     </array-type-def>
     <type-decl name='short int' size-in-bits='16' id='type-id-71'/>
-    <array-type-def dimensions='1' type-id='type-id-410' size-in-bits='64000' id='type-id-642'>
-      <subrange length='200' type-id='type-id-28' id='type-id-643'/>
+    <array-type-def dimensions='1' type-id='type-id-410' size-in-bits='64000' id='type-id-643'>
+      <subrange length='200' type-id='type-id-28' id='type-id-644'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-644' size-in-bits='96' id='type-id-645'>
+    <array-type-def dimensions='1' type-id='type-id-645' size-in-bits='96' id='type-id-646'>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-646' size-in-bits='786432' id='type-id-647'>
-      <subrange length='4096' type-id='type-id-28' id='type-id-648'/>
+    <array-type-def dimensions='1' type-id='type-id-647' size-in-bits='786432' id='type-id-648'>
+      <subrange length='4096' type-id='type-id-28' id='type-id-649'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='80' id='type-id-649'>
-      <subrange length='10' type-id='type-id-28' id='type-id-641'/>
+    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='80' id='type-id-650'>
+      <subrange length='10' type-id='type-id-28' id='type-id-642'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='88' id='type-id-650'>
-      <subrange length='11' type-id='type-id-28' id='type-id-651'/>
+    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='88' id='type-id-651'>
+      <subrange length='11' type-id='type-id-28' id='type-id-652'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='96' id='type-id-652'>
-      <subrange length='12' type-id='type-id-28' id='type-id-653'/>
+    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='96' id='type-id-653'>
+      <subrange length='12' type-id='type-id-28' id='type-id-654'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='104' id='type-id-654'>
-      <subrange length='13' type-id='type-id-28' id='type-id-655'/>
+    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='104' id='type-id-655'>
+      <subrange length='13' type-id='type-id-28' id='type-id-656'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='112' id='type-id-656'>
-      <subrange length='14' type-id='type-id-28' id='type-id-657'/>
+    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='112' id='type-id-657'>
+      <subrange length='14' type-id='type-id-28' id='type-id-658'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='120' id='type-id-658'>
-      <subrange length='15' type-id='type-id-28' id='type-id-659'/>
+    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='120' id='type-id-659'>
+      <subrange length='15' type-id='type-id-28' id='type-id-660'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='128' id='type-id-660'>
+    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='128' id='type-id-661'>
       <subrange length='16' type-id='type-id-28' id='type-id-57'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='136' id='type-id-661'>
-      <subrange length='17' type-id='type-id-28' id='type-id-662'/>
+    <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='136' id='type-id-662'>
+      <subrange length='17' type-id='type-id-28' id='type-id-586'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='144' id='type-id-663'>
       <subrange length='18' type-id='type-id-28' id='type-id-664'/>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='160' id='type-id-668'>
-      <subrange length='20' type-id='type-id-28' id='type-id-588'/>
+      <subrange length='20' type-id='type-id-28' id='type-id-589'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='168' id='type-id-669'>
       <subrange length='21' type-id='type-id-28' id='type-id-670'/>
       <subrange length='26' type-id='type-id-28' id='type-id-678'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='224' id='type-id-679'>
-      <subrange length='28' type-id='type-id-28' id='type-id-635'/>
+      <subrange length='28' type-id='type-id-28' id='type-id-636'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='16' id='type-id-680'>
       <subrange length='2' type-id='type-id-28' id='type-id-681'/>
       <subrange length='36' type-id='type-id-28' id='type-id-685'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='24' id='type-id-686'>
-      <subrange length='3' type-id='type-id-28' id='type-id-630'/>
+      <subrange length='3' type-id='type-id-28' id='type-id-631'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-325' size-in-bits='32' id='type-id-687'>
       <subrange length='4' type-id='type-id-28' id='type-id-223'/>
       </data-member>
     </class-decl>
     <typedef-decl name='PyBytesObject' type-id='type-id-701' filepath='./Include/cpython/bytesobject.h' line='15' column='1' id='type-id-700'/>
-    <class-decl name='_Py_Monitors' size-in-bits='112' is-struct='yes' visibility='default' filepath='./Include/cpython/code.h' line='18' column='1' id='type-id-703'>
+    <class-decl name='_Py_Monitors' size-in-bits='120' is-struct='yes' visibility='default' filepath='./Include/cpython/code.h' line='18' column='1' id='type-id-703'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='tools' type-id='type-id-656' visibility='default' filepath='./Include/cpython/code.h' line='19' column='1'/>
+        <var-decl name='tools' type-id='type-id-659' visibility='default' filepath='./Include/cpython/code.h' line='19' column='1'/>
       </data-member>
     </class-decl>
     <typedef-decl name='_Py_Monitors' type-id='type-id-703' filepath='./Include/cpython/code.h' line='20' column='1' id='type-id-704'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='local_monitors' type-id='type-id-704' visibility='default' filepath='./Include/cpython/code.h' line='84' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='112'>
+      <data-member access='public' layout-offset-in-bits='120'>
         <var-decl name='active_monitors' type-id='type-id-704' visibility='default' filepath='./Include/cpython/code.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <var-decl name='lv_tag' type-id='type-id-747' visibility='default' filepath='./Include/cpython/longintrepr.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <var-decl name='ob_digit' type-id='type-id-623' visibility='default' filepath='./Include/cpython/longintrepr.h' line='84' column='1'/>
+        <var-decl name='ob_digit' type-id='type-id-624' visibility='default' filepath='./Include/cpython/longintrepr.h' line='84' column='1'/>
       </data-member>
     </class-decl>
     <typedef-decl name='_PyLongValue' type-id='type-id-746' filepath='./Include/cpython/longintrepr.h' line='85' column='1' id='type-id-748'/>
         <var-decl name='next' type-id='type-id-262' visibility='default' filepath='./Include/cpython/modsupport.h' line='63' column='1'/>
       </data-member>
     </class-decl>
-    <typedef-decl name='PyType_WatchCallback' type-id='type-id-752' filepath='./Include/cpython/object.h' line='563' column='1' id='type-id-435'/>
+    <typedef-decl name='PyType_WatchCallback' type-id='type-id-752' filepath='./Include/cpython/object.h' line='564' column='1' id='type-id-435'/>
     <class-decl name='PyObjectArenaAllocator' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-420' visibility='default' filepath='./Include/cpython/objimpl.h' line='59' column='1' id='type-id-753'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='ctx' type-id='type-id-22' visibility='default' filepath='./Include/cpython/objimpl.h' line='61' column='1'/>
       </data-member>
     </class-decl>
     <typedef-decl name='PyBaseExceptionObject' type-id='type-id-757' filepath='./Include/cpython/pyerrors.h' line='15' column='1' id='type-id-756'/>
-    <typedef-decl name='atexit_datacallbackfunc' type-id='type-id-758' filepath='./Include/cpython/pylifecycle.h' line='70' column='1' id='type-id-21'/>
+    <typedef-decl name='atexit_datacallbackfunc' type-id='type-id-758' filepath='./Include/cpython/pylifecycle.h' line='109' column='1' id='type-id-21'/>
     <class-decl name='PyMemAllocatorEx' size-in-bits='320' is-struct='yes' naming-typedef-id='type-id-417' visibility='default' filepath='./Include/cpython/pymem.h' line='47' column='1' id='type-id-759'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='ctx' type-id='type-id-22' visibility='default' filepath='./Include/cpython/pymem.h' line='49' column='1'/>
         <var-decl name='withitem_type' type-id='type-id-2' visibility='default' filepath='./Include/internal/pycore_ast_state.h' line='258' column='1'/>
       </data-member>
     </class-decl>
-    <typedef-decl name='atexit_callbackfunc' type-id='type-id-227' filepath='./Include/internal/pycore_atexit.h' line='15' column='1' id='type-id-612'/>
+    <typedef-decl name='atexit_callbackfunc' type-id='type-id-227' filepath='./Include/internal/pycore_atexit.h' line='15' column='1' id='type-id-613'/>
     <class-decl name='_atexit_runtime_state' size-in-bits='2176' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_atexit.h' line='17' column='1' id='type-id-798'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='mutex' type-id='type-id-799' visibility='default' filepath='./Include/internal/pycore_atexit.h' line='18' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <var-decl name='callbacks' type-id='type-id-613' visibility='default' filepath='./Include/internal/pycore_atexit.h' line='20' column='1'/>
+        <var-decl name='callbacks' type-id='type-id-614' visibility='default' filepath='./Include/internal/pycore_atexit.h' line='20' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='2112'>
         <var-decl name='ncallbacks' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_atexit.h' line='21' column='1'/>
         <var-decl name='async_exc' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_ceval_state.h' line='24' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
-        <var-decl name='calls' type-id='type-id-601' visibility='default' filepath='./Include/internal/pycore_ceval_state.h' line='29' column='1'/>
+        <var-decl name='calls' type-id='type-id-602' visibility='default' filepath='./Include/internal/pycore_ceval_state.h' line='29' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='4288'>
         <var-decl name='first' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_ceval_state.h' line='30' column='1'/>
         <var-decl name='last' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_ceval_state.h' line='31' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='_pending_call' size-in-bits='128' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_ceval_state.h' line='26' column='1' id='type-id-600'>
+    <class-decl name='_pending_call' size-in-bits='128' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_ceval_state.h' line='26' column='1' id='type-id-601'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='func' type-id='type-id-812' visibility='default' filepath='./Include/internal/pycore_ceval_state.h' line='27' column='1'/>
       </data-member>
         <var-decl name='watchers' type-id='type-id-579' visibility='default' filepath='./Include/internal/pycore_dict_state.h' line='38' column='1'/>
       </data-member>
     </class-decl>
-    <typedef-decl name='ULong' type-id='type-id-352' filepath='./Include/internal/pycore_dtoa.h' line='16' column='1' id='type-id-590'/>
+    <typedef-decl name='ULong' type-id='type-id-352' filepath='./Include/internal/pycore_dtoa.h' line='16' column='1' id='type-id-591'/>
     <class-decl name='Bigint' size-in-bits='256' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='19' column='1' id='type-id-830'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='next' type-id='type-id-570' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='20' column='1'/>
         <var-decl name='wds' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='21' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
-        <var-decl name='x' type-id='type-id-591' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='22' column='1'/>
+        <var-decl name='x' type-id='type-id-592' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='22' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='_dtoa_state' size-in-bits='19072' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='44' column='1' id='type-id-831'>
         <var-decl name='freelist' type-id='type-id-571' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
-        <var-decl name='preallocated' type-id='type-id-624' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='49' column='1'/>
+        <var-decl name='preallocated' type-id='type-id-625' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='19008'>
         <var-decl name='preallocated_next' type-id='type-id-182' visibility='default' filepath='./Include/internal/pycore_dtoa.h' line='50' column='1'/>
       </data-member>
     </class-decl>
     <typedef-decl name='PyGC_Head' type-id='type-id-851' filepath='./Include/internal/pycore_gc.h' line='20' column='1' id='type-id-850'/>
-    <class-decl name='gc_generation' size-in-bits='192' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_gc.h' line='140' column='1' id='type-id-628'>
+    <class-decl name='gc_generation' size-in-bits='192' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_gc.h' line='140' column='1' id='type-id-629'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='head' type-id='type-id-850' visibility='default' filepath='./Include/internal/pycore_gc.h' line='141' column='1'/>
       </data-member>
         <var-decl name='count' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_gc.h' line='143' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='gc_generation_stats' size-in-bits='192' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_gc.h' line='148' column='1' id='type-id-631'>
+    <class-decl name='gc_generation_stats' size-in-bits='192' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_gc.h' line='148' column='1' id='type-id-632'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='collections' type-id='type-id-14' visibility='default' filepath='./Include/internal/pycore_gc.h' line='150' column='1'/>
       </data-member>
         <var-decl name='debug' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_gc.h' line='166' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
-        <var-decl name='generations' type-id='type-id-629' visibility='default' filepath='./Include/internal/pycore_gc.h' line='168' column='1'/>
+        <var-decl name='generations' type-id='type-id-630' visibility='default' filepath='./Include/internal/pycore_gc.h' line='168' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <var-decl name='generation0' type-id='type-id-853' visibility='default' filepath='./Include/internal/pycore_gc.h' line='169' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
-        <var-decl name='permanent_generation' type-id='type-id-628' visibility='default' filepath='./Include/internal/pycore_gc.h' line='171' column='1'/>
+        <var-decl name='permanent_generation' type-id='type-id-629' visibility='default' filepath='./Include/internal/pycore_gc.h' line='171' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
-        <var-decl name='generation_stats' type-id='type-id-632' visibility='default' filepath='./Include/internal/pycore_gc.h' line='172' column='1'/>
+        <var-decl name='generation_stats' type-id='type-id-633' visibility='default' filepath='./Include/internal/pycore_gc.h' line='172' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1600'>
         <var-decl name='collecting' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_gc.h' line='174' column='1'/>
     </class-decl>
     <class-decl name='_Py_async_gen_state' size-in-bits='10368' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_genobject.h' line='31' column='1' id='type-id-854'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='value_freelist' type-id='type-id-593' visibility='default' filepath='./Include/internal/pycore_genobject.h' line='37' column='1'/>
+        <var-decl name='value_freelist' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_genobject.h' line='37' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='5120'>
         <var-decl name='value_numfree' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_genobject.h' line='38' column='1'/>
         <var-decl name='bytes_empty' type-id='type-id-700' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='40' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='67392'>
-        <var-decl name='bytes_characters' type-id='type-id-599' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='44' column='1'/>
+        <var-decl name='bytes_characters' type-id='type-id-600' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='165696'>
         <var-decl name='strings' type-id='type-id-860' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='46' column='1'/>
         <var-decl name='context_token_missing' type-id='type-id-824' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='53' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='__anonymous_struct__21' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='41' column='1' id='type-id-598'>
+    <class-decl name='__anonymous_struct__21' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='41' column='1' id='type-id-599'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='ob' type-id='type-id-700' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='42' column='1'/>
       </data-member>
         <var-decl name='type_slots_pname' type-id='type-id-2' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
-        <var-decl name='type_slots_ptrs' type-id='type-id-640' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='69' column='1'/>
+        <var-decl name='type_slots_ptrs' type-id='type-id-641' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='69' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='896'>
         <var-decl name='generic_type' type-id='type-id-1' visibility='default' filepath='./Include/internal/pycore_global_objects.h' line='72' column='1'/>
         <var-decl name='identifiers' type-id='type-id-867' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='751' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='304704'>
-        <var-decl name='ascii' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='755' column='1'/>
+        <var-decl name='ascii' type-id='type-id-598' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='755' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='353856'>
-        <var-decl name='latin1' type-id='type-id-595' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='759' column='1'/>
+        <var-decl name='latin1' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='759' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__22' size-in-bits='11008' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='30' column='1' id='type-id-866'>
         <var-decl name='_py_anon_unknown' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='3584'>
-        <var-decl name='_py_close_br' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1'/>
+        <var-decl name='_py_close_br' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='3968'>
         <var-decl name='_py_dbl_close_br' type-id='type-id-871' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='40' column='1'/>
         <var-decl name='_py_defaults' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='5568'>
-        <var-decl name='_py_dot' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='44' column='1'/>
+        <var-decl name='_py_dot' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='5952'>
         <var-decl name='_py_dot_locals' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='45' column='1'/>
         <var-decl name='_py_list_err' type-id='type-id-876' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='8640'>
-        <var-decl name='_py_newline' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='51' column='1'/>
+        <var-decl name='_py_newline' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='51' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='9024'>
-        <var-decl name='_py_open_br' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='52' column='1'/>
+        <var-decl name='_py_open_br' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='9408'>
-        <var-decl name='_py_percent' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='53' column='1'/>
+        <var-decl name='_py_percent' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='9792'>
         <var-decl name='_py_shim_name' type-id='type-id-877' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='54' column='1'/>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='31' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='_data' type-id='type-id-650' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='31' column='1'/>
+        <var-decl name='_data' type-id='type-id-651' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='31' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__25' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='32' column='1' id='type-id-869'>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='32' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='_data' type-id='type-id-649' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='32' column='1'/>
+        <var-decl name='_data' type-id='type-id-650' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='32' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__26' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='33' column='1' id='type-id-870'>
         <var-decl name='_data' type-id='type-id-694' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='33' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='__anonymous_struct__32' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1' id='type-id-596'>
+    <class-decl name='__anonymous_struct__32' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1' id='type-id-597'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1'/>
       </data-member>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='_data' type-id='type-id-656' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='47' column='1'/>
+        <var-decl name='_data' type-id='type-id-657' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='47' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__41' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='48' column='1' id='type-id-874'>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='_data' type-id='type-id-654' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='48' column='1'/>
+        <var-decl name='_data' type-id='type-id-655' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='48' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__42' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='49' column='1' id='type-id-875'>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='_data' type-id='type-id-652' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='49' column='1'/>
+        <var-decl name='_data' type-id='type-id-653' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='49' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__43' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='50' column='1' id='type-id-876'>
         <var-decl name='_py_WarningMessage' type-id='type-id-882' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='3776'>
-        <var-decl name='_py__' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='69' column='1'/>
+        <var-decl name='_py__' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='69' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='4160'>
         <var-decl name='_py__WindowsConsoleIO' type-id='type-id-883' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='70' column='1'/>
         <var-decl name='_py__xoptions' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='268' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='93440'>
-        <var-decl name='_py_a' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='269' column='1'/>
+        <var-decl name='_py_a' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='269' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='93824'>
         <var-decl name='_py_abs_tol' type-id='type-id-880' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='270' column='1'/>
         <var-decl name='_py_autocommit' type-id='type-id-868' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='288' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='101888'>
-        <var-decl name='_py_b' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='289' column='1'/>
+        <var-decl name='_py_b' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='289' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='102272'>
         <var-decl name='_py_backtick' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='290' column='1'/>
         <var-decl name='_py_bytes_per_sep' type-id='type-id-873' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='306' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='109312'>
-        <var-decl name='_py_c' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='307' column='1'/>
+        <var-decl name='_py_c' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='307' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='109696'>
         <var-decl name='_py_c_call' type-id='type-id-877' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='308' column='1'/>
         <var-decl name='_py_cwd' type-id='type-id-891' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='359' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='131840'>
-        <var-decl name='_py_d' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='360' column='1'/>
+        <var-decl name='_py_d' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='360' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='132224'>
         <var-decl name='_py_data' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='361' column='1'/>
         <var-decl name='_py_duration' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='387' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='143488'>
-        <var-decl name='_py_e' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='388' column='1'/>
+        <var-decl name='_py_e' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='388' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='143872'>
         <var-decl name='_py_eager_start' type-id='type-id-875' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='389' column='1'/>
         <var-decl name='_py_mycmp' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='548' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='209984'>
-        <var-decl name='_py_n' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='549' column='1'/>
+        <var-decl name='_py_n' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='549' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='210368'>
         <var-decl name='_py_n_arg' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='550' column='1'/>
         <var-decl name='_py_owner' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='593' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='228736'>
-        <var-decl name='_py_p' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='594' column='1'/>
+        <var-decl name='_py_p' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='594' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='229120'>
         <var-decl name='_py_pages' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='595' column='1'/>
         <var-decl name='_py_quotetabs' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='621' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='240384'>
-        <var-decl name='_py_r' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='622' column='1'/>
+        <var-decl name='_py_r' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='622' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='240768'>
         <var-decl name='_py_raw' type-id='type-id-891' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='623' column='1'/>
         <var-decl name='_py_reversed' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='645' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='250304'>
-        <var-decl name='_py_s' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='646' column='1'/>
+        <var-decl name='_py_s' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='646' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='250688'>
         <var-decl name='_py_salt' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='647' column='1'/>
         <var-decl name='_py_write_through' type-id='type-id-873' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='747' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='292544'>
-        <var-decl name='_py_x' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='748' column='1'/>
+        <var-decl name='_py_x' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='748' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='292928'>
         <var-decl name='_py_year' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='749' column='1'/>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='_data' type-id='type-id-660' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='63' column='1'/>
+        <var-decl name='_data' type-id='type-id-661' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='63' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__55' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='64' column='1' id='type-id-880'>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='_data' type-id='type-id-658' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='68' column='1'/>
+        <var-decl name='_data' type-id='type-id-659' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='68' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__61' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='70' column='1' id='type-id-883'>
         <var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='123' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='_data' type-id='type-id-661' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='123' column='1'/>
+        <var-decl name='_data' type-id='type-id-662' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='123' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__139' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='148' column='1' id='type-id-888'>
         <var-decl name='_data' type-id='type-id-679' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='696' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='__anonymous_struct__743' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='756' column='1' id='type-id-594'>
+    <class-decl name='__anonymous_struct__743' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='756' column='1' id='type-id-595'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='_latin1' type-id='type-id-795' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='757' column='1'/>
       </data-member>
         <var-decl name='max_str_digits' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_interp.h' line='39' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='_is' size-in-bits='3067648' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_interp.h' line='49' column='1' id='type-id-929'>
+    <class-decl name='_is' size-in-bits='3068160' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_interp.h' line='49' column='1' id='type-id-929'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='next' type-id='type-id-20' visibility='default' filepath='./Include/internal/pycore_interp.h' line='51' column='1'/>
       </data-member>
         <var-decl name='co_extra_user_count' type-id='type-id-14' visibility='default' filepath='./Include/internal/pycore_interp.h' line='143' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='14656'>
-        <var-decl name='co_extra_freefuncs' type-id='type-id-626' visibility='default' filepath='./Include/internal/pycore_interp.h' line='144' column='1'/>
+        <var-decl name='co_extra_freefuncs' type-id='type-id-627' visibility='default' filepath='./Include/internal/pycore_interp.h' line='144' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='30976'>
         <var-decl name='before_forkers' type-id='type-id-2' visibility='default' filepath='./Include/internal/pycore_interp.h' line='147' column='1'/>
         <var-decl name='audit_hooks' type-id='type-id-2' visibility='default' filepath='./Include/internal/pycore_interp.h' line='157' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='2137728'>
-        <var-decl name='type_watchers' type-id='type-id-589' visibility='default' filepath='./Include/internal/pycore_interp.h' line='158' column='1'/>
+        <var-decl name='type_watchers' type-id='type-id-590' visibility='default' filepath='./Include/internal/pycore_interp.h' line='158' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='2138240'>
         <var-decl name='code_watchers' type-id='type-id-576' visibility='default' filepath='./Include/internal/pycore_interp.h' line='159' column='1'/>
       <data-member access='public' layout-offset-in-bits='3053952'>
         <var-decl name='monitors' type-id='type-id-704' visibility='default' filepath='./Include/internal/pycore_interp.h' line='185' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3054064'>
-        <var-decl name='f_opcode_trace_set' type-id='type-id-614' visibility='default' filepath='./Include/internal/pycore_interp.h' line='186' column='1'/>
-      </data-member>
       <data-member access='public' layout-offset-in-bits='3054072'>
-        <var-decl name='sys_profile_initialized' type-id='type-id-614' visibility='default' filepath='./Include/internal/pycore_interp.h' line='187' column='1'/>
+        <var-decl name='f_opcode_trace_set' type-id='type-id-615' visibility='default' filepath='./Include/internal/pycore_interp.h' line='186' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='3054080'>
-        <var-decl name='sys_trace_initialized' type-id='type-id-614' visibility='default' filepath='./Include/internal/pycore_interp.h' line='188' column='1'/>
+        <var-decl name='sys_profile_initialized' type-id='type-id-615' visibility='default' filepath='./Include/internal/pycore_interp.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3054088'>
+        <var-decl name='sys_trace_initialized' type-id='type-id-615' visibility='default' filepath='./Include/internal/pycore_interp.h' line='188' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='3054144'>
         <var-decl name='sys_profiling_threads' type-id='type-id-14' visibility='default' filepath='./Include/internal/pycore_interp.h' line='189' column='1'/>
       <data-member access='public' layout-offset-in-bits='3054272'>
         <var-decl name='monitoring_callables' type-id='type-id-585' visibility='default' filepath='./Include/internal/pycore_interp.h' line='191' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3062464'>
+      <data-member access='public' layout-offset-in-bits='3062976'>
         <var-decl name='monitoring_tool_names' type-id='type-id-584' visibility='default' filepath='./Include/internal/pycore_interp.h' line='192' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3062976'>
+      <data-member access='public' layout-offset-in-bits='3063488'>
         <var-decl name='cached_objects' type-id='type-id-862' visibility='default' filepath='./Include/internal/pycore_interp.h' line='194' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3064256'>
+      <data-member access='public' layout-offset-in-bits='3064768'>
         <var-decl name='static_objects' type-id='type-id-863' visibility='default' filepath='./Include/internal/pycore_interp.h' line='195' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3065344'>
+      <data-member access='public' layout-offset-in-bits='3065856'>
         <var-decl name='_initial_thread' type-id='type-id-924' visibility='default' filepath='./Include/internal/pycore_interp.h' line='198' column='1'/>
       </data-member>
     </class-decl>
         <var-decl name='count' type-id='type-id-942' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='256' column='1'/>
       </data-member>
     </union-decl>
-    <typedef-decl name='poolp' type-id='type-id-947' filepath='./Include/internal/pycore_obmalloc.h' line='266' column='1' id='type-id-636'/>
+    <typedef-decl name='poolp' type-id='type-id-947' filepath='./Include/internal/pycore_obmalloc.h' line='266' column='1' id='type-id-637'/>
     <class-decl name='arena_object' size-in-bits='384' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='269' column='1' id='type-id-948'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='address' type-id='type-id-747' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='275' column='1'/>
         <var-decl name='freepools' type-id='type-id-947' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='289' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
-        <var-decl name='nextarena' type-id='type-id-610' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='305' column='1'/>
+        <var-decl name='nextarena' type-id='type-id-611' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='305' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
-        <var-decl name='prevarena' type-id='type-id-610' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='306' column='1'/>
+        <var-decl name='prevarena' type-id='type-id-611' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='306' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='_obmalloc_pools' size-in-bits='4096' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='419' column='1' id='type-id-949'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='used' type-id='type-id-637' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='420' column='1'/>
+        <var-decl name='used' type-id='type-id-638' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='420' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='_obmalloc_mgmt' size-in-bits='4672' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='477' column='1' id='type-id-950'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='arenas' type-id='type-id-610' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='479' column='1'/>
+        <var-decl name='arenas' type-id='type-id-611' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='479' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <var-decl name='maxarenas' type-id='type-id-942' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='481' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
-        <var-decl name='unused_arena_objects' type-id='type-id-610' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='486' column='1'/>
+        <var-decl name='unused_arena_objects' type-id='type-id-611' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='486' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
-        <var-decl name='usable_arenas' type-id='type-id-610' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='491' column='1'/>
+        <var-decl name='usable_arenas' type-id='type-id-611' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='491' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
-        <var-decl name='nfp2lasta' type-id='type-id-611' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='494' column='1'/>
+        <var-decl name='nfp2lasta' type-id='type-id-612' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='494' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='4416'>
         <var-decl name='narenas_currently_allocated' type-id='type-id-19' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='497' column='1'/>
         <var-decl name='raw_allocated_blocks' type-id='type-id-14' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='504' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='arena_coverage_t' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-602' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='619' column='1' id='type-id-951'>
+    <class-decl name='arena_coverage_t' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-603' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='619' column='1' id='type-id-951'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='tail_hi' type-id='type-id-952' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='620' column='1'/>
       </data-member>
         <var-decl name='tail_lo' type-id='type-id-952' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='621' column='1'/>
       </data-member>
     </class-decl>
-    <typedef-decl name='arena_coverage_t' type-id='type-id-951' filepath='./Include/internal/pycore_obmalloc.h' line='622' column='1' id='type-id-602'/>
+    <typedef-decl name='arena_coverage_t' type-id='type-id-951' filepath='./Include/internal/pycore_obmalloc.h' line='622' column='1' id='type-id-603'/>
     <class-decl name='arena_map_bot' size-in-bits='1048576' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='624' column='1' id='type-id-953'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='arenas' type-id='type-id-603' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='629' column='1'/>
+        <var-decl name='arenas' type-id='type-id-604' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='629' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='arena_map_mid' size-in-bits='2097152' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='633' column='1' id='type-id-954'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='ptrs' type-id='type-id-606' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='634' column='1'/>
+        <var-decl name='ptrs' type-id='type-id-607' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='634' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='arena_map_top' size-in-bits='2097152' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='637' column='1' id='type-id-955'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='ptrs' type-id='type-id-609' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='638' column='1'/>
+        <var-decl name='ptrs' type-id='type-id-610' visibility='default' filepath='./Include/internal/pycore_obmalloc.h' line='638' column='1'/>
       </data-member>
     </class-decl>
     <typedef-decl name='arena_map_top_t' type-id='type-id-955' filepath='./Include/internal/pycore_obmalloc.h' line='639' column='1' id='type-id-956'/>
       </data-member>
     </class-decl>
     <typedef-decl name='_Py_AuditHookEntry' type-id='type-id-976' filepath='./Include/internal/pycore_runtime.h' line='54' column='1' id='type-id-978'/>
-    <class-decl name='pyruntimestate' size-in-bits='3680896' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_runtime.h' line='61' column='1' id='type-id-979'>
+    <class-decl name='pyruntimestate' size-in-bits='3681408' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_runtime.h' line='61' column='1' id='type-id-979'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='_initialized' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_runtime.h' line='66' column='1'/>
       </data-member>
       <enumerator name='TRACEMALLOC_INITIALIZED' value='1'/>
       <enumerator name='TRACEMALLOC_FINALIZED' value='2'/>
     </enum-decl>
-    <class-decl name='tracemalloc_frame' size-in-bits='96' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_tracemalloc.h' line='47' column='1' id='type-id-644'>
+    <class-decl name='tracemalloc_frame' size-in-bits='96' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_tracemalloc.h' line='47' column='1' id='type-id-645'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='filename' type-id='type-id-2' visibility='default' filepath='./Include/internal/pycore_tracemalloc.h' line='50' column='1'/>
       </data-member>
         <var-decl name='total_nframe' type-id='type-id-707' visibility='default' filepath='./Include/internal/pycore_tracemalloc.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
-        <var-decl name='frames' type-id='type-id-645' visibility='default' filepath='./Include/internal/pycore_tracemalloc.h' line='63' column='1'/>
+        <var-decl name='frames' type-id='type-id-646' visibility='default' filepath='./Include/internal/pycore_tracemalloc.h' line='63' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='_tracemalloc_runtime_state' size-in-bits='1856' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_tracemalloc.h' line='67' column='1' id='type-id-984'>
     </class-decl>
     <class-decl name='_Py_tuple_state' size-in-bits='1920' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_tuple.h' line='47' column='1' id='type-id-936'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='free_list' type-id='type-id-587' visibility='default' filepath='./Include/internal/pycore_tuple.h' line='57' column='1'/>
+        <var-decl name='free_list' type-id='type-id-588' visibility='default' filepath='./Include/internal/pycore_tuple.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1280'>
-        <var-decl name='numfree' type-id='type-id-633' visibility='default' filepath='./Include/internal/pycore_tuple.h' line='58' column='1'/>
+        <var-decl name='numfree' type-id='type-id-634' visibility='default' filepath='./Include/internal/pycore_tuple.h' line='58' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='_types_runtime_state' size-in-bits='32' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='19' column='1' id='type-id-987'>
         <var-decl name='next_version_tag' type-id='type-id-95' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='23' column='1'/>
       </data-member>
     </class-decl>
-    <class-decl name='type_cache_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='29' column='1' id='type-id-646'>
+    <class-decl name='type_cache_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='29' column='1' id='type-id-647'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='version' type-id='type-id-95' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='30' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='type_cache' size-in-bits='786432' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='37' column='1' id='type-id-999'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='hashtable' type-id='type-id-647' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='38' column='1'/>
+        <var-decl name='hashtable' type-id='type-id-648' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='38' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='static_builtin_state' size-in-bits='320' is-struct='yes' naming-typedef-id='type-id-410' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='45' column='1' id='type-id-1000'>
         <var-decl name='num_builtins_initialized' type-id='type-id-19' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='786560'>
-        <var-decl name='builtins' type-id='type-id-642' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='68' column='1'/>
+        <var-decl name='builtins' type-id='type-id-643' visibility='default' filepath='./Include/internal/pycore_typeobject.h' line='68' column='1'/>
       </data-member>
     </class-decl>
     <typedef-decl name='pytype_slotdef' type-id='type-id-333' filepath='./Include/internal/pycore_typeobject.h' line='87' column='1' id='type-id-1001'/>
     <typedef-decl name='__atomic_wide_counter' type-id='type-id-1017' filepath='/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h' line='33' column='1' id='type-id-1016'/>
     <union-decl name='pthread_condattr_t' size-in-bits='32' naming-typedef-id='type-id-973' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='41' column='1' id='type-id-1019'>
       <data-member access='public'>
-        <var-decl name='__size' type-id='type-id-619' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='43' column='1'/>
+        <var-decl name='__size' type-id='type-id-620' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='43' column='1'/>
       </data-member>
       <data-member access='public'>
         <var-decl name='__align' type-id='type-id-8' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='44' column='1'/>
         <var-decl name='__data' type-id='type-id-1021' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='public'>
-        <var-decl name='__size' type-id='type-id-615' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+        <var-decl name='__size' type-id='type-id-616' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='public'>
         <var-decl name='__align' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
         <var-decl name='__data' type-id='type-id-1023' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='public'>
-        <var-decl name='__size' type-id='type-id-617' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+        <var-decl name='__size' type-id='type-id-618' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='public'>
         <var-decl name='__align' type-id='type-id-378' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
     </class-decl>
     <union-decl name='__anonymous_union__1' size-in-bits='896' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h' line='51' column='1' id='type-id-1042'>
       <data-member access='public'>
-        <var-decl name='_pad' type-id='type-id-634' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h' line='53' column='1'/>
+        <var-decl name='_pad' type-id='type-id-635' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h' line='53' column='1'/>
       </data-member>
       <data-member access='public'>
         <var-decl name='_kill' type-id='type-id-1043' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h' line='60' column='1'/>
     <typedef-decl name='wchar_t' type-id='type-id-8' filepath='/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h' line='321' column='1' id='type-id-422'/>
     <pointer-type-def type-id='type-id-830' size-in-bits='64' id='type-id-570'/>
     <qualified-type-def type-id='type-id-229' restrict='yes' id='type-id-412'/>
-    <pointer-type-def type-id='type-id-620' size-in-bits='64' id='type-id-573'/>
+    <pointer-type-def type-id='type-id-621' size-in-bits='64' id='type-id-573'/>
     <pointer-type-def type-id='type-id-756' size-in-bits='64' id='type-id-833'/>
     <pointer-type-def type-id='type-id-1010' size-in-bits='64' id='type-id-328'/>
     <pointer-type-def type-id='type-id-724' size-in-bits='64' id='type-id-827'/>
     <pointer-type-def type-id='type-id-1056' size-in-bits='64' id='type-id-781'/>
     <pointer-type-def type-id='type-id-1012' size-in-bits='64' id='type-id-424'/>
     <pointer-type-def type-id='type-id-924' size-in-bits='64' id='type-id-177'/>
-    <pointer-type-def type-id='type-id-790' size-in-bits='64' id='type-id-586'/>
+    <pointer-type-def type-id='type-id-790' size-in-bits='64' id='type-id-587'/>
     <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-440'/>
     <pointer-type-def type-id='type-id-750' size-in-bits='64' id='type-id-262'/>
-    <pointer-type-def type-id='type-id-621' size-in-bits='64' id='type-id-592'/>
+    <pointer-type-def type-id='type-id-622' size-in-bits='64' id='type-id-593'/>
     <pointer-type-def type-id='type-id-765' size-in-bits='64' id='type-id-766'/>
     <pointer-type-def type-id='type-id-709' size-in-bits='64' id='type-id-718'/>
     <pointer-type-def type-id='type-id-711' size-in-bits='64' id='type-id-716'/>
     <pointer-type-def type-id='type-id-738' size-in-bits='64' id='type-id-922'/>
     <pointer-type-def type-id='type-id-770' size-in-bits='64' id='type-id-771'/>
     <pointer-type-def type-id='type-id-939' size-in-bits='64' id='type-id-940'/>
-    <pointer-type-def type-id='type-id-953' size-in-bits='64' id='type-id-605'/>
-    <pointer-type-def type-id='type-id-954' size-in-bits='64' id='type-id-608'/>
-    <pointer-type-def type-id='type-id-948' size-in-bits='64' id='type-id-610'/>
+    <pointer-type-def type-id='type-id-953' size-in-bits='64' id='type-id-606'/>
+    <pointer-type-def type-id='type-id-954' size-in-bits='64' id='type-id-609'/>
+    <pointer-type-def type-id='type-id-948' size-in-bits='64' id='type-id-611'/>
     <pointer-type-def type-id='type-id-800' size-in-bits='64' id='type-id-801'/>
     <pointer-type-def type-id='type-id-803' size-in-bits='64' id='type-id-1060'/>
     <pointer-type-def type-id='type-id-1060' size-in-bits='64' id='type-id-806'/>
     <pointer-type-def type-id='type-id-1061' size-in-bits='64' id='type-id-1062'/>
     <qualified-type-def type-id='type-id-15' restrict='yes' id='type-id-183'/>
-    <pointer-type-def type-id='type-id-622' size-in-bits='64' id='type-id-820'/>
+    <pointer-type-def type-id='type-id-623' size-in-bits='64' id='type-id-820'/>
     <pointer-type-def type-id='type-id-430' size-in-bits='64' id='type-id-751'/>
     <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-182'/>
     <pointer-type-def type-id='type-id-836' size-in-bits='64' id='type-id-840'/>
     <pointer-type-def type-id='type-id-973' size-in-bits='64' id='type-id-972'/>
     <pointer-type-def type-id='type-id-943' size-in-bits='64' id='type-id-946'/>
     <pointer-type-def type-id='type-id-979' size-in-bits='64' id='type-id-931'/>
-    <pointer-type-def type-id='type-id-1001' size-in-bits='64' id='type-id-639'/>
+    <pointer-type-def type-id='type-id-1001' size-in-bits='64' id='type-id-640'/>
     <pointer-type-def type-id='type-id-1040' size-in-bits='64' id='type-id-189'/>
     <pointer-type-def type-id='type-id-995' size-in-bits='64' id='type-id-998'/>
     <pointer-type-def type-id='type-id-1075' size-in-bits='64' id='type-id-911'/>
     <pointer-type-def type-id='type-id-1083' size-in-bits='64' id='type-id-754'/>
     <pointer-type-def type-id='type-id-1084' size-in-bits='64' id='type-id-760'/>
     <pointer-type-def type-id='type-id-1085' size-in-bits='64' id='type-id-761'/>
-    <qualified-type-def type-id='type-id-990' volatile='yes' id='type-id-698'/>
     <qualified-type-def type-id='type-id-991' volatile='yes' id='type-id-989'/>
+    <qualified-type-def type-id='type-id-990' volatile='yes' id='type-id-698'/>
     <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-52'/>
     <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-235'/>
-    <class-decl name='PyAsyncGenASend' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-620'/>
-    <class-decl name='_PyAsyncGenWrappedValue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-621'/>
-    <class-decl name='code_arena_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-622'/>
+    <class-decl name='PyAsyncGenASend' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-621'/>
+    <class-decl name='_PyAsyncGenWrappedValue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-622'/>
+    <class-decl name='code_arena_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-623'/>
     <function-decl name='PyEval_SaveThread' mangled-name='PyEval_SaveThread' filepath='./Include/ceval.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SaveThread'>
       <return type-id='type-id-177'/>
     </function-decl>
       <return type-id='type-id-46'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/parser.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/parser.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='asdl_seq' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-1088' visibility='default' filepath='./Include/internal/pycore_asdl.h' line='28' column='1' id='type-id-1089'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='size' type-id='type-id-14' visibility='default' filepath='./Include/internal/pycore_asdl.h' line='29' column='1'/>
     <pointer-type-def type-id='type-id-1124' size-in-bits='64' id='type-id-1125'/>
     <pointer-type-def type-id='type-id-1126' size-in-bits='64' id='type-id-1127'/>
     <pointer-type-def type-id='type-id-1128' size-in-bits='64' id='type-id-1129'/>
-    <class-decl name='tok_state' size-in-bits='138304' is-struct='yes' visibility='default' filepath='Parser/tokenizer.h' line='68' column='1' id='type-id-1130'>
+    <class-decl name='tok_state' size-in-bits='138240' is-struct='yes' visibility='default' filepath='Parser/tokenizer.h' line='68' column='1' id='type-id-1130'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='buf' type-id='type-id-15' visibility='default' filepath='Parser/tokenizer.h' line='71' column='1'/>
       </data-member>
         <var-decl name='tok_mode_stack_index' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='130' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='138144'>
-        <var-decl name='tok_report_warnings' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='131' column='1'/>
+        <var-decl name='tok_extra_tokens' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='131' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='138176'>
-        <var-decl name='tok_extra_tokens' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='132' column='1'/>
+        <var-decl name='comment_newline' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='132' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='138208'>
-        <var-decl name='comment_newline' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='133' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='138240'>
-        <var-decl name='implicit_newline' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='134' column='1'/>
+        <var-decl name='implicit_newline' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='133' column='1'/>
       </data-member>
     </class-decl>
     <function-decl name='_PyAST_Interactive' filepath='./Include/internal/pycore_ast.h' line='681' column='1' visibility='default' binding='global' size-in-bits='64'>
       <return type-id='type-id-22'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/peg_api.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/peg_api.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='PyCompilerFlags' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-1142' visibility='default' filepath='./Include/cpython/compile.h' line='26' column='1' id='type-id-1143'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='cf_flags' type-id='type-id-8' visibility='default' filepath='./Include/cpython/compile.h' line='27' column='1'/>
       <return type-id='type-id-468'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/pegen.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/pegen.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-567' size-in-bits='64' id='type-id-1144'>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
     </array-type-def>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='1600' id='type-id-1132'>
-      <subrange length='200' type-id='type-id-28' id='type-id-643'/>
+      <subrange length='200' type-id='type-id-28' id='type-id-644'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='160' id='type-id-1145'>
-      <subrange length='20' type-id='type-id-28' id='type-id-588'/>
+      <subrange length='20' type-id='type-id-28' id='type-id-589'/>
     </array-type-def>
     <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1146'/>
     <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1147'/>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='6400' id='type-id-1133'>
-      <subrange length='200' type-id='type-id-28' id='type-id-643'/>
+      <subrange length='200' type-id='type-id-28' id='type-id-644'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-1141' size-in-bits='64' id='type-id-1155'>
       <subrange length='1' type-id='type-id-28' id='type-id-443'/>
         <var-decl name='' type-id='type-id-1256' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <var-decl name='ob_type' type-id='type-id-1' visibility='default' filepath='./Include/object.h' line='174' column='1'/>
+        <var-decl name='ob_type' type-id='type-id-1' visibility='default' filepath='./Include/object.h' line='190' column='1'/>
       </data-member>
     </class-decl>
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='./Include/object.h' line='168' column='1' id='type-id-1256'>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='./Include/object.h' line='180' column='1' id='type-id-1256'>
       <data-member access='public'>
-        <var-decl name='ob_refcnt' type-id='type-id-14' visibility='default' filepath='./Include/object.h' line='169' column='1'/>
+        <var-decl name='ob_refcnt' type-id='type-id-14' visibility='default' filepath='./Include/object.h' line='181' column='1'/>
       </data-member>
       <data-member access='public'>
-        <var-decl name='ob_refcnt_split' type-id='type-id-1158' visibility='default' filepath='./Include/object.h' line='171' column='1'/>
+        <var-decl name='ob_refcnt_split' type-id='type-id-1158' visibility='default' filepath='./Include/object.h' line='183' column='1'/>
       </data-member>
     </union-decl>
-    <class-decl name='PyVarObject' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-321' visibility='default' filepath='./Include/object.h' line='180' column='1' id='type-id-1257'>
+    <class-decl name='PyVarObject' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-321' visibility='default' filepath='./Include/object.h' line='196' column='1' id='type-id-1257'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='ob_base' type-id='type-id-345' visibility='default' filepath='./Include/object.h' line='181' column='1'/>
+        <var-decl name='ob_base' type-id='type-id-345' visibility='default' filepath='./Include/object.h' line='197' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
-        <var-decl name='ob_size' type-id='type-id-14' visibility='default' filepath='./Include/object.h' line='182' column='1'/>
-      </data-member>
-    </class-decl>
-    <typedef-decl name='PyVarObject' type-id='type-id-1257' filepath='./Include/object.h' line='183' column='1' id='type-id-321'/>
-    <typedef-decl name='unaryfunc' type-id='type-id-1258' filepath='./Include/object.h' line='289' column='1' id='type-id-1164'/>
-    <typedef-decl name='binaryfunc' type-id='type-id-1253' filepath='./Include/object.h' line='290' column='1' id='type-id-1162'/>
-    <typedef-decl name='ternaryfunc' type-id='type-id-1259' filepath='./Include/object.h' line='291' column='1' id='type-id-1163'/>
-    <typedef-decl name='inquiry' type-id='type-id-339' filepath='./Include/object.h' line='292' column='1' id='type-id-396'/>
-    <typedef-decl name='lenfunc' type-id='type-id-1260' filepath='./Include/object.h' line='293' column='1' id='type-id-1167'/>
-    <typedef-decl name='ssizeargfunc' type-id='type-id-1261' filepath='./Include/object.h' line='294' column='1' id='type-id-1168'/>
-    <typedef-decl name='ssizeobjargproc' type-id='type-id-1262' filepath='./Include/object.h' line='296' column='1' id='type-id-1169'/>
-    <typedef-decl name='objobjargproc' type-id='type-id-1263' filepath='./Include/object.h' line='298' column='1' id='type-id-1173'/>
-    <typedef-decl name='objobjproc' type-id='type-id-1264' filepath='./Include/object.h' line='300' column='1' id='type-id-1170'/>
-    <typedef-decl name='visitproc' type-id='type-id-236' filepath='./Include/object.h' line='301' column='1' id='type-id-341'/>
-    <typedef-decl name='traverseproc' type-id='type-id-1265' filepath='./Include/object.h' line='302' column='1' id='type-id-395'/>
-    <typedef-decl name='freefunc' type-id='type-id-758' filepath='./Include/object.h' line='305' column='1' id='type-id-397'/>
-    <typedef-decl name='destructor' type-id='type-id-312' filepath='./Include/object.h' line='306' column='1' id='type-id-335'/>
-    <typedef-decl name='getattrfunc' type-id='type-id-1266' filepath='./Include/object.h' line='307' column='1' id='type-id-1182'/>
-    <typedef-decl name='getattrofunc' type-id='type-id-1253' filepath='./Include/object.h' line='308' column='1' id='type-id-1190'/>
-    <typedef-decl name='setattrfunc' type-id='type-id-1267' filepath='./Include/object.h' line='309' column='1' id='type-id-1183'/>
-    <typedef-decl name='setattrofunc' type-id='type-id-1263' filepath='./Include/object.h' line='310' column='1' id='type-id-1191'/>
-    <typedef-decl name='reprfunc' type-id='type-id-1258' filepath='./Include/object.h' line='311' column='1' id='type-id-1185'/>
-    <typedef-decl name='hashfunc' type-id='type-id-1268' filepath='./Include/object.h' line='312' column='1' id='type-id-1189'/>
-    <typedef-decl name='richcmpfunc' type-id='type-id-1269' filepath='./Include/object.h' line='313' column='1' id='type-id-1193'/>
-    <typedef-decl name='getiterfunc' type-id='type-id-1258' filepath='./Include/object.h' line='314' column='1' id='type-id-1194'/>
-    <typedef-decl name='iternextfunc' type-id='type-id-1258' filepath='./Include/object.h' line='315' column='1' id='type-id-1195'/>
-    <typedef-decl name='descrgetfunc' type-id='type-id-1259' filepath='./Include/object.h' line='316' column='1' id='type-id-1196'/>
-    <typedef-decl name='descrsetfunc' type-id='type-id-1263' filepath='./Include/object.h' line='317' column='1' id='type-id-1197'/>
-    <typedef-decl name='initproc' type-id='type-id-1263' filepath='./Include/object.h' line='318' column='1' id='type-id-1198'/>
-    <typedef-decl name='newfunc' type-id='type-id-1270' filepath='./Include/object.h' line='319' column='1' id='type-id-1200'/>
-    <typedef-decl name='allocfunc' type-id='type-id-1271' filepath='./Include/object.h' line='320' column='1' id='type-id-1199'/>
-    <typedef-decl name='vectorcallfunc' type-id='type-id-1272' filepath='./Include/object.h' line='323' column='1' id='type-id-311'/>
-    <enum-decl name='PySendResult' naming-typedef-id='type-id-255' filepath='./Include/object.h' line='864' column='1' id='type-id-1273'>
+        <var-decl name='ob_size' type-id='type-id-14' visibility='default' filepath='./Include/object.h' line='198' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PyVarObject' type-id='type-id-1257' filepath='./Include/object.h' line='199' column='1' id='type-id-321'/>
+    <typedef-decl name='unaryfunc' type-id='type-id-1258' filepath='./Include/object.h' line='305' column='1' id='type-id-1164'/>
+    <typedef-decl name='binaryfunc' type-id='type-id-1253' filepath='./Include/object.h' line='306' column='1' id='type-id-1162'/>
+    <typedef-decl name='ternaryfunc' type-id='type-id-1259' filepath='./Include/object.h' line='307' column='1' id='type-id-1163'/>
+    <typedef-decl name='inquiry' type-id='type-id-339' filepath='./Include/object.h' line='308' column='1' id='type-id-396'/>
+    <typedef-decl name='lenfunc' type-id='type-id-1260' filepath='./Include/object.h' line='309' column='1' id='type-id-1167'/>
+    <typedef-decl name='ssizeargfunc' type-id='type-id-1261' filepath='./Include/object.h' line='310' column='1' id='type-id-1168'/>
+    <typedef-decl name='ssizeobjargproc' type-id='type-id-1262' filepath='./Include/object.h' line='312' column='1' id='type-id-1169'/>
+    <typedef-decl name='objobjargproc' type-id='type-id-1263' filepath='./Include/object.h' line='314' column='1' id='type-id-1173'/>
+    <typedef-decl name='objobjproc' type-id='type-id-1264' filepath='./Include/object.h' line='316' column='1' id='type-id-1170'/>
+    <typedef-decl name='visitproc' type-id='type-id-236' filepath='./Include/object.h' line='317' column='1' id='type-id-341'/>
+    <typedef-decl name='traverseproc' type-id='type-id-1265' filepath='./Include/object.h' line='318' column='1' id='type-id-395'/>
+    <typedef-decl name='freefunc' type-id='type-id-758' filepath='./Include/object.h' line='321' column='1' id='type-id-397'/>
+    <typedef-decl name='destructor' type-id='type-id-312' filepath='./Include/object.h' line='322' column='1' id='type-id-335'/>
+    <typedef-decl name='getattrfunc' type-id='type-id-1266' filepath='./Include/object.h' line='323' column='1' id='type-id-1182'/>
+    <typedef-decl name='getattrofunc' type-id='type-id-1253' filepath='./Include/object.h' line='324' column='1' id='type-id-1190'/>
+    <typedef-decl name='setattrfunc' type-id='type-id-1267' filepath='./Include/object.h' line='325' column='1' id='type-id-1183'/>
+    <typedef-decl name='setattrofunc' type-id='type-id-1263' filepath='./Include/object.h' line='326' column='1' id='type-id-1191'/>
+    <typedef-decl name='reprfunc' type-id='type-id-1258' filepath='./Include/object.h' line='327' column='1' id='type-id-1185'/>
+    <typedef-decl name='hashfunc' type-id='type-id-1268' filepath='./Include/object.h' line='328' column='1' id='type-id-1189'/>
+    <typedef-decl name='richcmpfunc' type-id='type-id-1269' filepath='./Include/object.h' line='329' column='1' id='type-id-1193'/>
+    <typedef-decl name='getiterfunc' type-id='type-id-1258' filepath='./Include/object.h' line='330' column='1' id='type-id-1194'/>
+    <typedef-decl name='iternextfunc' type-id='type-id-1258' filepath='./Include/object.h' line='331' column='1' id='type-id-1195'/>
+    <typedef-decl name='descrgetfunc' type-id='type-id-1259' filepath='./Include/object.h' line='332' column='1' id='type-id-1196'/>
+    <typedef-decl name='descrsetfunc' type-id='type-id-1263' filepath='./Include/object.h' line='333' column='1' id='type-id-1197'/>
+    <typedef-decl name='initproc' type-id='type-id-1263' filepath='./Include/object.h' line='334' column='1' id='type-id-1198'/>
+    <typedef-decl name='newfunc' type-id='type-id-1270' filepath='./Include/object.h' line='335' column='1' id='type-id-1200'/>
+    <typedef-decl name='allocfunc' type-id='type-id-1271' filepath='./Include/object.h' line='336' column='1' id='type-id-1199'/>
+    <typedef-decl name='vectorcallfunc' type-id='type-id-1272' filepath='./Include/object.h' line='339' column='1' id='type-id-311'/>
+    <enum-decl name='PySendResult' naming-typedef-id='type-id-255' filepath='./Include/object.h' line='875' column='1' id='type-id-1273'>
       <underlying-type type-id='type-id-24'/>
       <enumerator name='PYGEN_RETURN' value='0'/>
       <enumerator name='PYGEN_ERROR' value='-1'/>
       <enumerator name='PYGEN_NEXT' value='1'/>
     </enum-decl>
-    <typedef-decl name='PySendResult' type-id='type-id-1273' filepath='./Include/object.h' line='868' column='1' id='type-id-255'/>
+    <typedef-decl name='PySendResult' type-id='type-id-1273' filepath='./Include/object.h' line='879' column='1' id='type-id-255'/>
     <class-decl name='Py_buffer' size-in-bits='640' is-struct='yes' naming-typedef-id='type-id-243' visibility='default' filepath='./Include/pybuffer.h' line='20' column='1' id='type-id-1274'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='buf' type-id='type-id-22' visibility='default' filepath='./Include/pybuffer.h' line='21' column='1'/>
       </data-member>
     </class-decl>
     <typedef-decl name='tokenizer_mode' type-id='type-id-1308' filepath='Parser/tokenizer.h' line='65' column='1' id='type-id-1156'/>
-    <class-decl name='tok_state' size-in-bits='138304' is-struct='yes' visibility='default' filepath='Parser/tokenizer.h' line='68' column='1' id='type-id-1130'>
+    <class-decl name='tok_state' size-in-bits='138240' is-struct='yes' visibility='default' filepath='Parser/tokenizer.h' line='68' column='1' id='type-id-1130'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='buf' type-id='type-id-15' visibility='default' filepath='Parser/tokenizer.h' line='71' column='1'/>
       </data-member>
         <var-decl name='tok_mode_stack_index' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='130' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='138144'>
-        <var-decl name='tok_report_warnings' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='131' column='1'/>
+        <var-decl name='tok_extra_tokens' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='131' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='138176'>
-        <var-decl name='tok_extra_tokens' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='132' column='1'/>
+        <var-decl name='comment_newline' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='132' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='138208'>
-        <var-decl name='comment_newline' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='133' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='138240'>
-        <var-decl name='implicit_newline' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='134' column='1'/>
+        <var-decl name='implicit_newline' type-id='type-id-8' visibility='default' filepath='Parser/tokenizer.h' line='133' column='1'/>
       </data-member>
     </class-decl>
     <pointer-type-def type-id='type-id-1282' size-in-bits='64' id='type-id-229'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-47'/>
     </function-decl>
-    <function-decl name='_Py_Dealloc' mangled-name='_Py_Dealloc' filepath='./Include/object.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_Dealloc'>
+    <function-decl name='_Py_Dealloc' mangled-name='_Py_Dealloc' filepath='./Include/object.h' line='611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_Dealloc'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-46'/>
     </function-decl>
       <parameter type-id='type-id-568'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='_PyTokenizer_FromString' filepath='Parser/tokenizer.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyTokenizer_FromString' filepath='Parser/tokenizer.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-1303'/>
     </function-decl>
-    <function-decl name='_PyTokenizer_FromUTF8' filepath='Parser/tokenizer.h' line='141' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyTokenizer_FromUTF8' filepath='Parser/tokenizer.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-1303'/>
     </function-decl>
-    <function-decl name='_PyTokenizer_FromFile' filepath='Parser/tokenizer.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyTokenizer_FromFile' filepath='Parser/tokenizer.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-229'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-1303'/>
     </function-decl>
-    <function-decl name='_PyTokenizer_Free' filepath='Parser/tokenizer.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyTokenizer_Free' filepath='Parser/tokenizer.h' line='144' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-1303'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyToken_Free' filepath='Parser/tokenizer.h' line='146' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyToken_Free' filepath='Parser/tokenizer.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-1327'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyToken_Init' filepath='Parser/tokenizer.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyToken_Init' filepath='Parser/tokenizer.h' line='146' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-1327'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyTokenizer_Get' filepath='Parser/tokenizer.h' line='148' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyTokenizer_Get' filepath='Parser/tokenizer.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-1303'/>
       <parameter type-id='type-id-1327'/>
       <return type-id='type-id-8'/>
       <return type-id='type-id-46'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/pegen_errors.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/pegen_errors.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyErr_ProgramDecodedTextObject' mangled-name='_PyErr_ProgramDecodedTextObject' filepath='./Include/cpython/pyerrors.h' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyErr_ProgramDecodedTextObject'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-8'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_Str' mangled-name='PyObject_Str' filepath='./Include/object.h' line='387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Str'>
+    <function-decl name='PyObject_Str' mangled-name='PyObject_Str' filepath='./Include/object.h' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_Str'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
       <return type-id='type-id-14'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/string_parser.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/string_parser.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-252'/>
     <function-decl name='_PyBytes_DecodeEscape' mangled-name='_PyBytes_DecodeEscape' filepath='./Include/cpython/bytesobject.h' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyBytes_DecodeEscape'>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/token.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/token.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-430' size-in-bits='4416' id='type-id-1332'>
       <subrange length='69' type-id='type-id-28' id='type-id-1333'/>
     </array-type-def>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Parser/tokenizer.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Parser/tokenizer.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <qualified-type-def type-id='type-id-84' const='yes' id='type-id-1335'/>
     <pointer-type-def type-id='type-id-1335' size-in-bits='64' id='type-id-1336'/>
     <pointer-type-def type-id='type-id-1336' size-in-bits='64' id='type-id-1337'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyObject_GetAttr' mangled-name='PyObject_GetAttr' filepath='./Include/object.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GetAttr'>
+    <function-decl name='PyObject_GetAttr' mangled-name='PyObject_GetAttr' filepath='./Include/object.h' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyObject_GetAttr'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
       <return type-id='type-id-19'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/Python-ast.c' comp-dir-path='/src' language='LANG_C11'>
-    <function-decl name='PyModule_AddIntConstant' mangled-name='PyModule_AddIntConstant' filepath='./Include/modsupport.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddIntConstant'>
+  <abi-instr address-size='64' path='Python/Python-ast.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
+    <function-decl name='PyModule_AddIntConstant' mangled-name='PyModule_AddIntConstant' filepath='./Include/modsupport.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddIntConstant'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-47'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyInit__ast' mangled-name='PyInit__ast' filepath='Python/Python-ast.c' line='13068' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit__ast'>
+    <function-decl name='PyInit__ast' mangled-name='PyInit__ast' filepath='Python/Python-ast.c' line='13062' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit__ast'>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/Python-tokenize.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/Python-tokenize.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='PyErr_SyntaxLocationObject' mangled-name='PyErr_SyntaxLocationObject' filepath='./Include/cpython/pyerrors.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyErr_SyntaxLocationObject'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyModule_AddType' mangled-name='PyModule_AddType' filepath='./Include/modsupport.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddType'>
+    <function-decl name='PyModule_AddType' mangled-name='PyModule_AddType' filepath='./Include/modsupport.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddType'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyTokenizer_FromReadline' filepath='Python/../Parser/tokenizer.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyTokenizer_FromReadline' filepath='Python/../Parser/tokenizer.h' line='141' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/_warnings.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/_warnings.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_IsInterpreterFinalizing' mangled-name='_Py_IsInterpreterFinalizing' filepath='./Include/cpython/pylifecycle.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_IsInterpreterFinalizing'>
       <parameter type-id='type-id-20'/>
       <return type-id='type-id-8'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyModule_AddObjectRef' mangled-name='PyModule_AddObjectRef' filepath='./Include/modsupport.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddObjectRef'>
+    <function-decl name='PyModule_AddObjectRef' mangled-name='PyModule_AddObjectRef' filepath='./Include/modsupport.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddObjectRef'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-12'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/assemble.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/assemble.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyCompile_ConstCacheMergeOne' filepath='./Include/internal/pycore_compile.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-233'/>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/ast_opt.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/ast_opt.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyAST_GetDocString' filepath='./Include/internal/pycore_ast.h' line='917' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-500'/>
       <return type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/bltinmodule.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/bltinmodule.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <pointer-type-def type-id='type-id-1150' size-in-bits='64' id='type-id-1338'/>
     <var-decl name='PyFilter_Type' type-id='type-id-256' mangled-name='PyFilter_Type' visibility='default' filepath='./Include/bltinmodule.h' line='7' column='1' elf-symbol-id='PyFilter_Type'/>
     <var-decl name='PyMap_Type' type-id='type-id-256' mangled-name='PyMap_Type' visibility='default' filepath='./Include/bltinmodule.h' line='8' column='1' elf-symbol-id='PyMap_Type'/>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyAnextAwaitable_New' filepath='Python/bltinmodule.c' line='1642' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='PyAnextAwaitable_New' filepath='Python/bltinmodule.c' line='1664' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/bootstrap_hash.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/bootstrap_hash.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_fstat' mangled-name='_Py_fstat' filepath='./Include/internal/pycore_fileutils.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_fstat'>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-51'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/ceval.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/ceval.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyEval_SetProfile' mangled-name='_PyEval_SetProfile' filepath='./Include/cpython/ceval.h' line='7' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyEval_SetProfile'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-764'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_PyFrame_FastToLocalsWithError' filepath='./Include/internal/pycore_frame.h' line='230' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyFrame_GetLocals' filepath='./Include/internal/pycore_frame.h' line='230' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-374'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='_PyFrame_FastToLocalsWithError' filepath='./Include/internal/pycore_frame.h' line='233' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-374'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_PyThreadState_PushFrame' filepath='./Include/internal/pycore_frame.h' line='248' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyThreadState_PushFrame' filepath='./Include/internal/pycore_frame.h' line='251' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-19'/>
       <return type-id='type-id-374'/>
     </function-decl>
-    <function-decl name='_PyThreadState_PopFrame' filepath='./Include/internal/pycore_frame.h' line='250' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyThreadState_PopFrame' filepath='./Include/internal/pycore_frame.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-374'/>
       <return type-id='type-id-46'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_Py_call_instrumentation' filepath='./Include/internal/pycore_instruments.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_call_instrumentation' filepath='./Include/internal/pycore_instruments.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-848'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_Py_call_instrumentation_line' filepath='./Include/internal/pycore_instruments.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_call_instrumentation_line' filepath='./Include/internal/pycore_instruments.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-848'/>
       <parameter type-id='type-id-848'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_Py_call_instrumentation_instruction' filepath='./Include/internal/pycore_instruments.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_call_instrumentation_instruction' filepath='./Include/internal/pycore_instruments.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-848'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_Py_call_instrumentation_jump' filepath='./Include/internal/pycore_instruments.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_call_instrumentation_jump' filepath='./Include/internal/pycore_instruments.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-848'/>
       <return type-id='type-id-848'/>
     </function-decl>
-    <function-decl name='_Py_call_instrumentation_arg' filepath='./Include/internal/pycore_instruments.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_call_instrumentation_arg' filepath='./Include/internal/pycore_instruments.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_Py_call_instrumentation_2args' filepath='./Include/internal/pycore_instruments.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_call_instrumentation_2args' filepath='./Include/internal/pycore_instruments.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_Py_call_instrumentation_exc0' filepath='./Include/internal/pycore_instruments.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_call_instrumentation_exc0' filepath='./Include/internal/pycore_instruments.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-848'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='_Py_call_instrumentation_exc2' filepath='./Include/internal/pycore_instruments.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_call_instrumentation_exc2' filepath='./Include/internal/pycore_instruments.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-365'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='Py_GetRecursionLimit' mangled-name='Py_GetRecursionLimit' filepath='Python/ceval.c' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_GetRecursionLimit'>
+    <function-decl name='Py_GetRecursionLimit' mangled-name='Py_GetRecursionLimit' filepath='Python/ceval.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_GetRecursionLimit'>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='Py_SetRecursionLimit' mangled-name='Py_SetRecursionLimit' filepath='Python/ceval.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_SetRecursionLimit'>
-      <parameter type-id='type-id-8' name='new_limit' filepath='Python/ceval.c' line='240' column='1'/>
+    <function-decl name='Py_SetRecursionLimit' mangled-name='Py_SetRecursionLimit' filepath='Python/ceval.c' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_SetRecursionLimit'>
+      <parameter type-id='type-id-8' name='new_limit' filepath='Python/ceval.c' line='243' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyEval_EvalFrame' mangled-name='PyEval_EvalFrame' filepath='Python/ceval.c' line='576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_EvalFrame'>
-      <parameter type-id='type-id-365' name='f' filepath='Python/ceval.c' line='576' column='1'/>
+    <function-decl name='PyEval_EvalFrame' mangled-name='PyEval_EvalFrame' filepath='Python/ceval.c' line='579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_EvalFrame'>
+      <parameter type-id='type-id-365' name='f' filepath='Python/ceval.c' line='579' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyEval_EvalFrameEx' mangled-name='PyEval_EvalFrameEx' filepath='Python/ceval.c' line='584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_EvalFrameEx'>
-      <parameter type-id='type-id-365' name='f' filepath='Python/ceval.c' line='584' column='1'/>
-      <parameter type-id='type-id-8' name='throwflag' filepath='Python/ceval.c' line='584' column='1'/>
+    <function-decl name='PyEval_EvalFrameEx' mangled-name='PyEval_EvalFrameEx' filepath='Python/ceval.c' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_EvalFrameEx'>
+      <parameter type-id='type-id-365' name='f' filepath='Python/ceval.c' line='587' column='1'/>
+      <parameter type-id='type-id-8' name='throwflag' filepath='Python/ceval.c' line='587' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyThreadState_EnterTracing' mangled-name='PyThreadState_EnterTracing' filepath='Python/ceval.c' line='2085' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThreadState_EnterTracing'>
-      <parameter type-id='type-id-177' name='tstate' filepath='Python/ceval.c' line='2085' column='1'/>
+    <function-decl name='PyThreadState_EnterTracing' mangled-name='PyThreadState_EnterTracing' filepath='Python/ceval.c' line='2097' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThreadState_EnterTracing'>
+      <parameter type-id='type-id-177' name='tstate' filepath='Python/ceval.c' line='2097' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyThreadState_LeaveTracing' mangled-name='PyThreadState_LeaveTracing' filepath='Python/ceval.c' line='2092' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThreadState_LeaveTracing'>
-      <parameter type-id='type-id-177' name='tstate' filepath='Python/ceval.c' line='2092' column='1'/>
+    <function-decl name='PyThreadState_LeaveTracing' mangled-name='PyThreadState_LeaveTracing' filepath='Python/ceval.c' line='2104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThreadState_LeaveTracing'>
+      <parameter type-id='type-id-177' name='tstate' filepath='Python/ceval.c' line='2104' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyEval_SetProfile' mangled-name='PyEval_SetProfile' filepath='Python/ceval.c' line='2116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SetProfile'>
-      <parameter type-id='type-id-764' name='func' filepath='Python/ceval.c' line='2116' column='1'/>
-      <parameter type-id='type-id-2' name='arg' filepath='Python/ceval.c' line='2116' column='1'/>
+    <function-decl name='PyEval_SetProfile' mangled-name='PyEval_SetProfile' filepath='Python/ceval.c' line='2128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SetProfile'>
+      <parameter type-id='type-id-764' name='func' filepath='Python/ceval.c' line='2128' column='1'/>
+      <parameter type-id='type-id-2' name='arg' filepath='Python/ceval.c' line='2128' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyEval_SetProfileAllThreads' mangled-name='PyEval_SetProfileAllThreads' filepath='Python/ceval.c' line='2126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SetProfileAllThreads'>
-      <parameter type-id='type-id-764' name='func' filepath='Python/ceval.c' line='2126' column='1'/>
-      <parameter type-id='type-id-2' name='arg' filepath='Python/ceval.c' line='2126' column='1'/>
+    <function-decl name='PyEval_SetProfileAllThreads' mangled-name='PyEval_SetProfileAllThreads' filepath='Python/ceval.c' line='2138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SetProfileAllThreads'>
+      <parameter type-id='type-id-764' name='func' filepath='Python/ceval.c' line='2138' column='1'/>
+      <parameter type-id='type-id-2' name='arg' filepath='Python/ceval.c' line='2138' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyEval_SetTrace' mangled-name='PyEval_SetTrace' filepath='Python/ceval.c' line='2147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SetTrace'>
-      <parameter type-id='type-id-764' name='func' filepath='Python/ceval.c' line='2147' column='1'/>
-      <parameter type-id='type-id-2' name='arg' filepath='Python/ceval.c' line='2147' column='1'/>
+    <function-decl name='PyEval_SetTrace' mangled-name='PyEval_SetTrace' filepath='Python/ceval.c' line='2159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SetTrace'>
+      <parameter type-id='type-id-764' name='func' filepath='Python/ceval.c' line='2159' column='1'/>
+      <parameter type-id='type-id-2' name='arg' filepath='Python/ceval.c' line='2159' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyEval_SetTraceAllThreads' mangled-name='PyEval_SetTraceAllThreads' filepath='Python/ceval.c' line='2157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SetTraceAllThreads'>
-      <parameter type-id='type-id-764' name='func' filepath='Python/ceval.c' line='2157' column='1'/>
-      <parameter type-id='type-id-2' name='arg' filepath='Python/ceval.c' line='2157' column='1'/>
+    <function-decl name='PyEval_SetTraceAllThreads' mangled-name='PyEval_SetTraceAllThreads' filepath='Python/ceval.c' line='2169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_SetTraceAllThreads'>
+      <parameter type-id='type-id-764' name='func' filepath='Python/ceval.c' line='2169' column='1'/>
+      <parameter type-id='type-id-2' name='arg' filepath='Python/ceval.c' line='2169' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyEval_GetFrame' mangled-name='PyEval_GetFrame' filepath='Python/ceval.c' line='2245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_GetFrame'>
+    <function-decl name='PyEval_GetFrame' mangled-name='PyEval_GetFrame' filepath='Python/ceval.c' line='2257' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_GetFrame'>
       <return type-id='type-id-365'/>
     </function-decl>
-    <function-decl name='_PyEval_GetBuiltinId' mangled-name='_PyEval_GetBuiltinId' filepath='Python/ceval.c' line='2291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyEval_GetBuiltinId'>
-      <parameter type-id='type-id-309' name='name' filepath='Python/ceval.c' line='2291' column='1'/>
+    <function-decl name='_PyEval_GetBuiltinId' mangled-name='_PyEval_GetBuiltinId' filepath='Python/ceval.c' line='2303' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyEval_GetBuiltinId'>
+      <parameter type-id='type-id-309' name='name' filepath='Python/ceval.c' line='2303' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='PyEval_GetLocals' mangled-name='PyEval_GetLocals' filepath='Python/ceval.c' line='2309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_GetLocals'>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyEval_GetFuncName' mangled-name='PyEval_GetFuncName' filepath='Python/ceval.c' line='2346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_GetFuncName'>
-      <parameter type-id='type-id-2' name='func' filepath='Python/ceval.c' line='2346' column='1'/>
+    <function-decl name='PyEval_GetFuncName' mangled-name='PyEval_GetFuncName' filepath='Python/ceval.c' line='2371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_GetFuncName'>
+      <parameter type-id='type-id-2' name='func' filepath='Python/ceval.c' line='2371' column='1'/>
       <return type-id='type-id-12'/>
     </function-decl>
-    <function-decl name='PyEval_GetFuncDesc' mangled-name='PyEval_GetFuncDesc' filepath='Python/ceval.c' line='2359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_GetFuncDesc'>
-      <parameter type-id='type-id-2' name='func' filepath='Python/ceval.c' line='2359' column='1'/>
+    <function-decl name='PyEval_GetFuncDesc' mangled-name='PyEval_GetFuncDesc' filepath='Python/ceval.c' line='2384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyEval_GetFuncDesc'>
+      <parameter type-id='type-id-2' name='func' filepath='Python/ceval.c' line='2384' column='1'/>
       <return type-id='type-id-12'/>
     </function-decl>
-    <function-decl name='PyUnstable_Eval_RequestCodeExtraIndex' mangled-name='PyUnstable_Eval_RequestCodeExtraIndex' filepath='Python/ceval.c' line='2731' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_Eval_RequestCodeExtraIndex'>
-      <parameter type-id='type-id-397' name='free' filepath='Python/ceval.c' line='2731' column='1'/>
+    <function-decl name='PyUnstable_Eval_RequestCodeExtraIndex' mangled-name='PyUnstable_Eval_RequestCodeExtraIndex' filepath='Python/ceval.c' line='2756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyUnstable_Eval_RequestCodeExtraIndex'>
+      <parameter type-id='type-id-397' name='free' filepath='Python/ceval.c' line='2756' column='1'/>
       <return type-id='type-id-14'/>
     </function-decl>
-    <function-decl name='Py_EnterRecursiveCall' mangled-name='Py_EnterRecursiveCall' filepath='Python/ceval.c' line='2747' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_EnterRecursiveCall'>
-      <parameter type-id='type-id-12' name='where' filepath='Python/ceval.c' line='2747' column='1'/>
+    <function-decl name='Py_EnterRecursiveCall' mangled-name='Py_EnterRecursiveCall' filepath='Python/ceval.c' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_EnterRecursiveCall'>
+      <parameter type-id='type-id-12' name='where' filepath='Python/ceval.c' line='2772' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='Py_LeaveRecursiveCall' mangled-name='Py_LeaveRecursiveCall' filepath='Python/ceval.c' line='2752' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_LeaveRecursiveCall'>
+    <function-decl name='Py_LeaveRecursiveCall' mangled-name='Py_LeaveRecursiveCall' filepath='Python/ceval.c' line='2777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_LeaveRecursiveCall'>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/ceval_gil.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/ceval_gil.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <union-decl name='pthread_mutexattr_t' size-in-bits='32' naming-typedef-id='type-id-1339' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='32' column='1' id='type-id-1340'>
       <data-member access='public'>
-        <var-decl name='__size' type-id='type-id-619' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='34' column='1'/>
+        <var-decl name='__size' type-id='type-id-620' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='34' column='1'/>
       </data-member>
       <data-member access='public'>
         <var-decl name='__align' type-id='type-id-8' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='35' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/codecs.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/codecs.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='Py_hexdigits' type-id='type-id-12' mangled-name='Py_hexdigits' visibility='default' filepath='./Include/codecs.h' line='242' column='1' elf-symbol-id='Py_hexdigits'/>
     <function-decl name='PyCodec_Register' mangled-name='PyCodec_Register' filepath='Python/codecs.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyCodec_Register'>
       <parameter type-id='type-id-2' name='search_function' filepath='Python/codecs.c' line='36' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/compile.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/compile.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-1351' size-in-bits='1344' id='type-id-1352'>
       <subrange length='21' type-id='type-id-28' id='type-id-670'/>
     </array-type-def>
     <function-decl name='_PyOpcode_num_popped' filepath='Python/opcode_metadata.h' line='7' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-8'/>
-      <parameter type-id='type-id-614'/>
+      <parameter type-id='type-id-615'/>
       <return type-id='type-id-8'/>
     </function-decl>
     <function-decl name='_PyOpcode_num_pushed' filepath='Python/opcode_metadata.h' line='403' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-8'/>
-      <parameter type-id='type-id-614'/>
+      <parameter type-id='type-id-615'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/context.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/context.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PyContext_Type' type-id='type-id-256' mangled-name='PyContext_Type' visibility='default' filepath='./Include/cpython/context.h' line='8' column='1' elf-symbol-id='PyContext_Type'/>
     <var-decl name='PyContextVar_Type' type-id='type-id-256' mangled-name='PyContextVar_Type' visibility='default' filepath='./Include/cpython/context.h' line='11' column='1' elf-symbol-id='PyContextVar_Type'/>
     <var-decl name='PyContextToken_Type' type-id='type-id-256' mangled-name='PyContextToken_Type' visibility='default' filepath='./Include/cpython/context.h' line='14' column='1' elf-symbol-id='PyContextToken_Type'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/deepfreeze/deepfreeze.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/deepfreeze/deepfreeze.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyStaticCode_Fini' filepath='./Include/internal/pycore_code.h' line='251' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-328'/>
       <return type-id='type-id-46'/>
     </function-decl>
     <var-decl name='_Py_next_func_version' type-id='type-id-352' visibility='default' filepath='./Include/internal/pycore_code.h' line='463' column='1'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/errors.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/errors.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_fopen_obj' mangled-name='_Py_fopen_obj' filepath='./Include/cpython/fileutils.h' line='6' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_fopen_obj'>
       <parameter type-id='type-id-2'/>
       <parameter type-id='type-id-12'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/fileutils.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/fileutils.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='__mbstate_t' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-1400' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h' line='13' column='1' id='type-id-1401'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h' line='15' column='1'/>
         <var-decl name='__wch' type-id='type-id-95' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h' line='18' column='1'/>
       </data-member>
       <data-member access='public'>
-        <var-decl name='__wchb' type-id='type-id-619' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h' line='19' column='1'/>
+        <var-decl name='__wchb' type-id='type-id-620' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h' line='19' column='1'/>
       </data-member>
     </union-decl>
     <typedef-decl name='__mbstate_t' type-id='type-id-1401' filepath='/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h' line='21' column='1' id='type-id-1400'/>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/flowgraph.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/flowgraph.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyCompile_EnsureArrayLargeEnough' filepath='./Include/internal/pycore_compile.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-253'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/formatter_unicode.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/formatter_unicode.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' filepath='/usr/include/locale.h' line='51' column='1' id='type-id-1407'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='decimal_point' type-id='type-id-15' visibility='default' filepath='/usr/include/locale.h' line='55' column='1'/>
       <return type-id='type-id-1408'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/frame.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/frame.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyFrame_New_NoTrack' filepath='./Include/internal/pycore_frame.h' line='29' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-328'/>
       <return type-id='type-id-365'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/frozen.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/frozen.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='_frozen' size-in-bits='256' is-struct='yes' visibility='default' filepath='./Include/cpython/import.h' line='32' column='1' id='type-id-1409'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='name' type-id='type-id-12' visibility='default' filepath='./Include/cpython/import.h' line='33' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/frozenmain.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/frozenmain.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='PyStatus' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-54' visibility='default' filepath='./Include/cpython/initconfig.h' line='10' column='1' id='type-id-1415'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='_type' type-id='type-id-994' visibility='default' filepath='./Include/cpython/initconfig.h' line='15' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/getargs.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/getargs.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='PyArg_Parse' mangled-name='PyArg_Parse' filepath='Python/getargs.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyArg_Parse'>
       <parameter type-id='type-id-2' name='args' filepath='Python/getargs.c' line='99' column='1'/>
       <parameter type-id='type-id-12' name='format' filepath='Python/getargs.c' line='99' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/getcompiler.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/getcompiler.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='Py_GetCompiler' mangled-name='Py_GetCompiler' filepath='Python/getcompiler.c' line='24' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Py_GetCompiler'>
       <return type-id='type-id-12'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/getopt.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/getopt.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_PyOS_opterr' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_getopt.h' line='8' column='1'/>
     <var-decl name='_PyOS_optind' type-id='type-id-14' visibility='default' filepath='./Include/internal/pycore_getopt.h' line='9' column='1'/>
     <var-decl name='_PyOS_optarg' type-id='type-id-16' visibility='default' filepath='./Include/internal/pycore_getopt.h' line='10' column='1'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/getversion.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/getversion.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <qualified-type-def type-id='type-id-28' const='yes' id='type-id-1416'/>
     <var-decl name='Py_Version' type-id='type-id-1416' mangled-name='Py_Version' visibility='default' filepath='./Include/pylifecycle.h' line='66' column='1' elf-symbol-id='Py_Version'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/hamt.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/hamt.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_PyHamt_Type' type-id='type-id-256' visibility='default' filepath='./Include/internal/pycore_hamt.h' line='23' column='1'/>
     <var-decl name='_PyHamt_ArrayNode_Type' type-id='type-id-256' visibility='default' filepath='./Include/internal/pycore_hamt.h' line='24' column='1'/>
     <var-decl name='_PyHamt_BitmapNode_Type' type-id='type-id-256' visibility='default' filepath='./Include/internal/pycore_hamt.h' line='25' column='1'/>
     <var-decl name='_PyHamtValues_Type' type-id='type-id-256' visibility='default' filepath='./Include/internal/pycore_hamt.h' line='28' column='1'/>
     <var-decl name='_PyHamtItems_Type' type-id='type-id-256' visibility='default' filepath='./Include/internal/pycore_hamt.h' line='29' column='1'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/hashtable.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/hashtable.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <typedef-decl name='_Py_hashtable_foreach_func' type-id='type-id-1417' filepath='./Include/internal/pycore_hashtable.h' line='96' column='1' id='type-id-1418'/>
     <pointer-type-def type-id='type-id-917' size-in-bits='64' id='type-id-1419'/>
     <qualified-type-def type-id='type-id-910' const='yes' id='type-id-1420'/>
       <return type-id='type-id-8'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/import.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/import.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <enum-decl name='_PyTime_round_t' naming-typedef-id='type-id-1423' filepath='./Include/cpython/pytime.h' line='70' column='1' id='type-id-1424'>
       <underlying-type type-id='type-id-24'/>
       <enumerator name='_PyTime_ROUND_FLOOR' value='0'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/initconfig.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/initconfig.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='_PyArgv' size-in-bits='256' is-struct='yes' visibility='default' filepath='./Include/internal/pycore_initconfig.h' line='64' column='1' id='type-id-1426'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='argc' type-id='type-id-14' visibility='default' filepath='./Include/internal/pycore_initconfig.h' line='65' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/instrumentation.c' comp-dir-path='/src' language='LANG_C11'>
-    <var-decl name='_PyInstrumentation_MISSING' type-id='type-id-345' visibility='default' filepath='./Include/internal/pycore_instruments.h' line='102' column='1'/>
-    <var-decl name='_PyInstrumentation_DISABLE' type-id='type-id-345' visibility='default' filepath='./Include/internal/pycore_instruments.h' line='103' column='1'/>
+  <abi-instr address-size='64' path='Python/instrumentation.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
+    <var-decl name='_PyInstrumentation_MISSING' type-id='type-id-345' visibility='default' filepath='./Include/internal/pycore_instruments.h' line='103' column='1'/>
+    <var-decl name='_PyInstrumentation_DISABLE' type-id='type-id-345' visibility='default' filepath='./Include/internal/pycore_instruments.h' line='104' column='1'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/intrinsics.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/intrinsics.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-1444' size-in-bits='768' id='type-id-1445'>
-      <subrange length='12' type-id='type-id-28' id='type-id-653'/>
+      <subrange length='12' type-id='type-id-28' id='type-id-654'/>
     </array-type-def>
     <array-type-def dimensions='1' type-id='type-id-1444' size-in-bits='infinite' id='type-id-1446'>
       <subrange length='infinite' id='type-id-225'/>
     <pointer-type-def type-id='type-id-1455' size-in-bits='64' id='type-id-1452'/>
     <qualified-type-def type-id='type-id-1451' const='yes' id='type-id-1444'/>
     <qualified-type-def type-id='type-id-1453' const='yes' id='type-id-1447'/>
-    <function-decl name='_PyFrame_LocalsToFast' filepath='./Include/internal/pycore_frame.h' line='233' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyFrame_LocalsToFast' filepath='./Include/internal/pycore_frame.h' line='236' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-46'/>
       <return type-id='type-id-2'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/legacy_tracing.c' comp-dir-path='/src' language='LANG_C11'>
-    <typedef-decl name='_PyMonitoringEventSet' type-id='type-id-352' filepath='./Include/internal/pycore_instruments.h' line='47' column='1' id='type-id-1456'/>
-    <function-decl name='_PyMonitoring_RegisterCallback' filepath='./Include/internal/pycore_instruments.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'>
+  <abi-instr address-size='64' path='Python/legacy_tracing.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
+    <typedef-decl name='_PyMonitoringEventSet' type-id='type-id-352' filepath='./Include/internal/pycore_instruments.h' line='48' column='1' id='type-id-1456'/>
+    <function-decl name='_PyMonitoring_RegisterCallback' filepath='./Include/internal/pycore_instruments.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='_PyMonitoring_SetEvents' filepath='./Include/internal/pycore_instruments.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_PyMonitoring_SetEvents' filepath='./Include/internal/pycore_instruments.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-8'/>
       <parameter type-id='type-id-1456'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='_Py_Instrumentation_GetLine' filepath='./Include/internal/pycore_instruments.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
+    <function-decl name='_Py_Instrumentation_GetLine' filepath='./Include/internal/pycore_instruments.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-328'/>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/marshal.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/marshal.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-116' size-in-bits='192' id='type-id-1457'>
-      <subrange length='3' type-id='type-id-28' id='type-id-630'/>
+      <subrange length='3' type-id='type-id-28' id='type-id-631'/>
     </array-type-def>
     <class-decl name='stat' size-in-bits='1152' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/struct_stat.h' line='26' column='1' id='type-id-1458'>
       <data-member access='public' layout-offset-in-bits='0'>
       <parameter type-id='type-id-8' name='version' filepath='Python/marshal.c' line='648' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyMarshal_ReadShortFromFile' mangled-name='PyMarshal_ReadShortFromFile' filepath='Python/marshal.c' line='1522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_ReadShortFromFile'>
-      <parameter type-id='type-id-229' name='fp' filepath='Python/marshal.c' line='1522' column='1'/>
+    <function-decl name='PyMarshal_ReadShortFromFile' mangled-name='PyMarshal_ReadShortFromFile' filepath='Python/marshal.c' line='1532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_ReadShortFromFile'>
+      <parameter type-id='type-id-229' name='fp' filepath='Python/marshal.c' line='1532' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyMarshal_ReadLongFromFile' mangled-name='PyMarshal_ReadLongFromFile' filepath='Python/marshal.c' line='1538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_ReadLongFromFile'>
-      <parameter type-id='type-id-229' name='fp' filepath='Python/marshal.c' line='1538' column='1'/>
+    <function-decl name='PyMarshal_ReadLongFromFile' mangled-name='PyMarshal_ReadLongFromFile' filepath='Python/marshal.c' line='1548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_ReadLongFromFile'>
+      <parameter type-id='type-id-229' name='fp' filepath='Python/marshal.c' line='1548' column='1'/>
       <return type-id='type-id-47'/>
     </function-decl>
-    <function-decl name='PyMarshal_ReadLastObjectFromFile' mangled-name='PyMarshal_ReadLastObjectFromFile' filepath='Python/marshal.c' line='1574' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_ReadLastObjectFromFile'>
-      <parameter type-id='type-id-229' name='fp' filepath='Python/marshal.c' line='1574' column='1'/>
+    <function-decl name='PyMarshal_ReadLastObjectFromFile' mangled-name='PyMarshal_ReadLastObjectFromFile' filepath='Python/marshal.c' line='1584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_ReadLastObjectFromFile'>
+      <parameter type-id='type-id-229' name='fp' filepath='Python/marshal.c' line='1584' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyMarshal_ReadObjectFromFile' mangled-name='PyMarshal_ReadObjectFromFile' filepath='Python/marshal.c' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_ReadObjectFromFile'>
-      <parameter type-id='type-id-229' name='fp' filepath='Python/marshal.c' line='1599' column='1'/>
+    <function-decl name='PyMarshal_ReadObjectFromFile' mangled-name='PyMarshal_ReadObjectFromFile' filepath='Python/marshal.c' line='1609' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_ReadObjectFromFile'>
+      <parameter type-id='type-id-229' name='fp' filepath='Python/marshal.c' line='1609' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyMarshal_WriteObjectToString' mangled-name='PyMarshal_WriteObjectToString' filepath='Python/marshal.c' line='1640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_WriteObjectToString'>
-      <parameter type-id='type-id-2' name='x' filepath='Python/marshal.c' line='1640' column='1'/>
-      <parameter type-id='type-id-8' name='version' filepath='Python/marshal.c' line='1640' column='1'/>
+    <function-decl name='PyMarshal_WriteObjectToString' mangled-name='PyMarshal_WriteObjectToString' filepath='Python/marshal.c' line='1650' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_WriteObjectToString'>
+      <parameter type-id='type-id-2' name='x' filepath='Python/marshal.c' line='1650' column='1'/>
+      <parameter type-id='type-id-8' name='version' filepath='Python/marshal.c' line='1650' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyMarshal_Init' mangled-name='PyMarshal_Init' filepath='Python/marshal.c' line='1890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_Init'>
+    <function-decl name='PyMarshal_Init' mangled-name='PyMarshal_Init' filepath='Python/marshal.c' line='1900' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyMarshal_Init'>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/modsupport.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/modsupport.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_convert_optional_to_ssize_t' mangled-name='_Py_convert_optional_to_ssize_t' filepath='Python/modsupport.c' line='16' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_convert_optional_to_ssize_t'>
       <parameter type-id='type-id-2' name='obj' filepath='Python/modsupport.c' line='16' column='1'/>
       <parameter type-id='type-id-22' name='result' filepath='Python/modsupport.c' line='16' column='1'/>
       <parameter type-id='type-id-306' name='va' filepath='Python/modsupport.c' line='536' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='PyModule_AddObject' mangled-name='PyModule_AddObject' filepath='Python/modsupport.c' line='661' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddObject'>
-      <parameter type-id='type-id-2' name='mod' filepath='Python/modsupport.c' line='661' column='1'/>
-      <parameter type-id='type-id-12' name='name' filepath='Python/modsupport.c' line='661' column='1'/>
-      <parameter type-id='type-id-2' name='value' filepath='Python/modsupport.c' line='661' column='1'/>
+    <function-decl name='_PyModule_Add' mangled-name='_PyModule_Add' filepath='Python/modsupport.c' line='656' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyModule_Add'>
+      <parameter type-id='type-id-2' name='mod' filepath='Python/modsupport.c' line='656' column='1'/>
+      <parameter type-id='type-id-12' name='name' filepath='Python/modsupport.c' line='656' column='1'/>
+      <parameter type-id='type-id-2' name='value' filepath='Python/modsupport.c' line='656' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='PyModule_AddObject' mangled-name='PyModule_AddObject' filepath='Python/modsupport.c' line='664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddObject'>
+      <parameter type-id='type-id-2' name='mod' filepath='Python/modsupport.c' line='664' column='1'/>
+      <parameter type-id='type-id-12' name='name' filepath='Python/modsupport.c' line='664' column='1'/>
+      <parameter type-id='type-id-2' name='value' filepath='Python/modsupport.c' line='664' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyModule_AddStringConstant' mangled-name='PyModule_AddStringConstant' filepath='Python/modsupport.c' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddStringConstant'>
-      <parameter type-id='type-id-2' name='m' filepath='Python/modsupport.c' line='683' column='1'/>
-      <parameter type-id='type-id-12' name='name' filepath='Python/modsupport.c' line='683' column='1'/>
-      <parameter type-id='type-id-12' name='value' filepath='Python/modsupport.c' line='683' column='1'/>
+    <function-decl name='PyModule_AddStringConstant' mangled-name='PyModule_AddStringConstant' filepath='Python/modsupport.c' line='680' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyModule_AddStringConstant'>
+      <parameter type-id='type-id-2' name='m' filepath='Python/modsupport.c' line='680' column='1'/>
+      <parameter type-id='type-id-12' name='name' filepath='Python/modsupport.c' line='680' column='1'/>
+      <parameter type-id='type-id-12' name='value' filepath='Python/modsupport.c' line='680' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/mysnprintf.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/mysnprintf.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='vsnprintf' filepath='/usr/include/stdio.h' line='382' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-15'/>
       <parameter type-id='type-id-19'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pathconfig.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/pathconfig.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_wreadlink' mangled-name='_Py_wreadlink' filepath='./Include/internal/pycore_fileutils.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_wreadlink'>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-52'/>
       <return type-id='type-id-52'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/perf_trampoline.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/perf_trampoline.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='_Py_perfmap_callbacks' type-id='type-id-1463' visibility='default' filepath='./Include/internal/pycore_ceval.h' line='80' column='1'/>
     <function-decl name='mprotect' filepath='/usr/include/x86_64-linux-gnu/sys/mman.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-22'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/preconfig.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/preconfig.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_CoerceLegacyLocale' mangled-name='_Py_CoerceLegacyLocale' filepath='./Include/cpython/pylifecycle.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_CoerceLegacyLocale'>
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-8'/>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pyctype.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/pyctype.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-382' size-in-bits='2048' id='type-id-1464'>
       <subrange length='256' type-id='type-id-28' id='type-id-62'/>
     </array-type-def>
     <var-decl name='_Py_ctype_tolower' type-id='type-id-1464' mangled-name='_Py_ctype_tolower' visibility='default' filepath='./Include/cpython/pyctype.h' line='29' column='1' elf-symbol-id='_Py_ctype_tolower'/>
     <var-decl name='_Py_ctype_toupper' type-id='type-id-1464' mangled-name='_Py_ctype_toupper' visibility='default' filepath='./Include/cpython/pyctype.h' line='30' column='1' elf-symbol-id='_Py_ctype_toupper'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pyhash.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/pyhash.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='128' id='type-id-1467'>
       <subrange length='16' type-id='type-id-28' id='type-id-57'/>
     </array-type-def>
       <return type-id='type-id-305'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pylifecycle.c' comp-dir-path='/src' language='LANG_C11'>
-    <class-decl name='PyInterpreterConfig' size-in-bits='224' is-struct='yes' naming-typedef-id='type-id-1481' visibility='default' filepath='./Include/cpython/initconfig.h' line='251' column='1' id='type-id-1482'>
+  <abi-instr address-size='64' path='Python/pylifecycle.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
+    <class-decl name='PyInterpreterConfig' size-in-bits='224' is-struct='yes' naming-typedef-id='type-id-1481' visibility='default' filepath='./Include/cpython/pylifecycle.h' line='72' column='1' id='type-id-1482'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <var-decl name='use_main_obmalloc' type-id='type-id-8' visibility='default' filepath='./Include/cpython/initconfig.h' line='253' column='1'/>
+        <var-decl name='use_main_obmalloc' type-id='type-id-8' visibility='default' filepath='./Include/cpython/pylifecycle.h' line='74' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <var-decl name='allow_fork' type-id='type-id-8' visibility='default' filepath='./Include/cpython/initconfig.h' line='254' column='1'/>
+        <var-decl name='allow_fork' type-id='type-id-8' visibility='default' filepath='./Include/cpython/pylifecycle.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <var-decl name='allow_exec' type-id='type-id-8' visibility='default' filepath='./Include/cpython/initconfig.h' line='255' column='1'/>
+        <var-decl name='allow_exec' type-id='type-id-8' visibility='default' filepath='./Include/cpython/pylifecycle.h' line='76' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
-        <var-decl name='allow_threads' type-id='type-id-8' visibility='default' filepath='./Include/cpython/initconfig.h' line='256' column='1'/>
+        <var-decl name='allow_threads' type-id='type-id-8' visibility='default' filepath='./Include/cpython/pylifecycle.h' line='77' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
-        <var-decl name='allow_daemon_threads' type-id='type-id-8' visibility='default' filepath='./Include/cpython/initconfig.h' line='257' column='1'/>
+        <var-decl name='allow_daemon_threads' type-id='type-id-8' visibility='default' filepath='./Include/cpython/pylifecycle.h' line='78' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
-        <var-decl name='check_multi_interp_extensions' type-id='type-id-8' visibility='default' filepath='./Include/cpython/initconfig.h' line='258' column='1'/>
+        <var-decl name='check_multi_interp_extensions' type-id='type-id-8' visibility='default' filepath='./Include/cpython/pylifecycle.h' line='79' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
-        <var-decl name='gil' type-id='type-id-8' visibility='default' filepath='./Include/cpython/initconfig.h' line='259' column='1'/>
+        <var-decl name='gil' type-id='type-id-8' visibility='default' filepath='./Include/cpython/pylifecycle.h' line='80' column='1'/>
       </data-member>
     </class-decl>
-    <typedef-decl name='PyInterpreterConfig' type-id='type-id-1482' filepath='./Include/cpython/initconfig.h' line='260' column='1' id='type-id-1481'/>
+    <typedef-decl name='PyInterpreterConfig' type-id='type-id-1482' filepath='./Include/cpython/pylifecycle.h' line='81' column='1' id='type-id-1481'/>
     <class-decl name='_PyPerf_Callbacks' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-1463' visibility='default' filepath='./Include/internal/pycore_ceval.h' line='63' column='1' id='type-id-1483'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='init_state' type-id='type-id-816' visibility='default' filepath='./Include/internal/pycore_ceval.h' line='65' column='1'/>
       <return type-id='type-id-1486'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pystate.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/pystate.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <pointer-type-def type-id='type-id-821' size-in-bits='64' id='type-id-1498'/>
     <pointer-type-def type-id='type-id-852' size-in-bits='64' id='type-id-1499'/>
     <qualified-type-def type-id='type-id-19' const='yes' id='type-id-1500'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pystrcmp.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/pystrcmp.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='PyOS_mystricmp' mangled-name='PyOS_mystricmp' filepath='Python/pystrcmp.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyOS_mystricmp'>
       <parameter type-id='type-id-12' name='s1' filepath='Python/pystrcmp.c' line='22' column='1'/>
       <parameter type-id='type-id-12' name='s2' filepath='Python/pystrcmp.c' line='22' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pystrhex.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/pystrhex.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_Py_strhex' mangled-name='_Py_strhex' filepath='Python/pystrhex.c' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Py_strhex'>
       <parameter type-id='type-id-12' name='argbuf' filepath='Python/pystrhex.c' line='148' column='1'/>
       <parameter type-id='type-id-246' name='arglen' filepath='Python/pystrhex.c' line='148' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pythonrun.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/pythonrun.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='PyAST_mod2obj' filepath='./Include/internal/pycore_ast.h' line='905' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-468'/>
       <return type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/pytime.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/pytime.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <class-decl name='_Py_clock_info_t' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-1501' visibility='default' filepath='./Include/cpython/pytime.h' line='240' column='1' id='type-id-1502'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='implementation' type-id='type-id-12' visibility='default' filepath='./Include/cpython/pytime.h' line='241' column='1'/>
       <return type-id='type-id-788'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/specialize.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/specialize.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyDictKeys_GetVersionForCurrentState' filepath='./Include/internal/pycore_dict.h' line='40' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-20'/>
       <parameter type-id='type-id-346'/>
       <return type-id='type-id-2'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/suggestions.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/suggestions.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyCode_GetVarnames' filepath='./Include/internal/pycore_code.h' line='206' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-328'/>
       <return type-id='type-id-2'/>
       <return type-id='type-id-14'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/symtable.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/symtable.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <var-decl name='PySTEntry_Type' type-id='type-id-256' visibility='default' filepath='./Include/internal/pycore_symtable.h' line='92' column='1'/>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/thread.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/thread.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='256' id='type-id-1512'>
       <subrange length='32' type-id='type-id-28' id='type-id-60'/>
     </array-type-def>
       <parameter type-id='type-id-22' name='arg' filepath='Python/thread_pthread.h' line='238' column='1'/>
       <return type-id='type-id-28'/>
     </function-decl>
-    <function-decl name='PyThread_acquire_lock_timed' mangled-name='PyThread_acquire_lock_timed' filepath='Python/thread_pthread.h' line='422' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_acquire_lock_timed'>
-      <parameter type-id='type-id-799' name='lock' filepath='Python/thread_pthread.h' line='422' column='1'/>
-      <parameter type-id='type-id-378' name='microseconds' filepath='Python/thread_pthread.h' line='422' column='1'/>
-      <parameter type-id='type-id-8' name='intr_flag' filepath='Python/thread_pthread.h' line='423' column='1'/>
+    <function-decl name='PyThread_acquire_lock_timed' mangled-name='PyThread_acquire_lock_timed' filepath='Python/thread_pthread.h' line='430' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_acquire_lock_timed'>
+      <parameter type-id='type-id-799' name='lock' filepath='Python/thread_pthread.h' line='430' column='1'/>
+      <parameter type-id='type-id-378' name='microseconds' filepath='Python/thread_pthread.h' line='430' column='1'/>
+      <parameter type-id='type-id-8' name='intr_flag' filepath='Python/thread_pthread.h' line='431' column='1'/>
       <return type-id='type-id-1516'/>
     </function-decl>
-    <function-decl name='PyThread_create_key' mangled-name='PyThread_create_key' filepath='Python/thread_pthread.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_create_key'>
+    <function-decl name='PyThread_create_key' mangled-name='PyThread_create_key' filepath='Python/thread_pthread.h' line='809' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_create_key'>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyThread_delete_key' mangled-name='PyThread_delete_key' filepath='Python/thread_pthread.h' line='821' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_delete_key'>
-      <parameter type-id='type-id-8' name='key' filepath='Python/thread_pthread.h' line='821' column='1'/>
-      <return type-id='type-id-46'/>
-    </function-decl>
-    <function-decl name='PyThread_delete_key_value' mangled-name='PyThread_delete_key_value' filepath='Python/thread_pthread.h' line='829' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_delete_key_value'>
+    <function-decl name='PyThread_delete_key' mangled-name='PyThread_delete_key' filepath='Python/thread_pthread.h' line='829' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_delete_key'>
       <parameter type-id='type-id-8' name='key' filepath='Python/thread_pthread.h' line='829' column='1'/>
       <return type-id='type-id-46'/>
     </function-decl>
-    <function-decl name='PyThread_set_key_value' mangled-name='PyThread_set_key_value' filepath='Python/thread_pthread.h' line='837' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_set_key_value'>
+    <function-decl name='PyThread_delete_key_value' mangled-name='PyThread_delete_key_value' filepath='Python/thread_pthread.h' line='837' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_delete_key_value'>
       <parameter type-id='type-id-8' name='key' filepath='Python/thread_pthread.h' line='837' column='1'/>
-      <parameter type-id='type-id-22' name='value' filepath='Python/thread_pthread.h' line='837' column='1'/>
+      <return type-id='type-id-46'/>
+    </function-decl>
+    <function-decl name='PyThread_set_key_value' mangled-name='PyThread_set_key_value' filepath='Python/thread_pthread.h' line='845' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_set_key_value'>
+      <parameter type-id='type-id-8' name='key' filepath='Python/thread_pthread.h' line='845' column='1'/>
+      <parameter type-id='type-id-22' name='value' filepath='Python/thread_pthread.h' line='845' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
-    <function-decl name='PyThread_get_key_value' mangled-name='PyThread_get_key_value' filepath='Python/thread_pthread.h' line='848' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_get_key_value'>
-      <parameter type-id='type-id-8' name='key' filepath='Python/thread_pthread.h' line='848' column='1'/>
+    <function-decl name='PyThread_get_key_value' mangled-name='PyThread_get_key_value' filepath='Python/thread_pthread.h' line='856' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_get_key_value'>
+      <parameter type-id='type-id-8' name='key' filepath='Python/thread_pthread.h' line='856' column='1'/>
       <return type-id='type-id-22'/>
     </function-decl>
-    <function-decl name='PyThread_ReInitTLS' mangled-name='PyThread_ReInitTLS' filepath='Python/thread_pthread.h' line='859' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_ReInitTLS'>
+    <function-decl name='PyThread_ReInitTLS' mangled-name='PyThread_ReInitTLS' filepath='Python/thread_pthread.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyThread_ReInitTLS'>
       <return type-id='type-id-46'/>
     </function-decl>
     <function-type size-in-bits='64' id='type-id-1533'>
       <return type-id='type-id-22'/>
     </function-type>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/traceback.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/traceback.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyObject_CallMethodFormat' filepath='./Include/internal/pycore_call.h' line='33' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-177'/>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-46'/>
     </function-decl>
   </abi-instr>
-  <abi-instr address-size='64' path='Python/tracemalloc.c' comp-dir-path='/src' language='LANG_C11'>
+  <abi-instr address-size='64' path='Python/tracemalloc.c' comp-dir-path='/home/runner/work/cpython/cpython' language='LANG_C11'>
     <function-decl name='_PyTraceMalloc_Init' mangled-name='_PyTraceMalloc_Init' filepath='Python/tracemalloc.c' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PyTraceMalloc_Init'>
       <return type-id='type-id-8'/>
     </function-decl>
index 7449a98e4326e8827c778c22e8662b2724b20c01..565b3942ad2d45deca440e9a341bbdf60f779eb2 100644 (file)
@@ -10,9 +10,9 @@ extern "C" {
 
 
 /* Count of all "real" monitoring events (not derived from other events) */
-#define _PY_MONITORING_UNGROUPED_EVENTS 14
+#define _PY_MONITORING_UNGROUPED_EVENTS 15
 /* Count of all  monitoring events */
-#define _PY_MONITORING_EVENTS 16
+#define _PY_MONITORING_EVENTS 17
 
 /* Table of which tools are active for each monitored event. */
 typedef struct _Py_Monitors {
index 9fb3952227af18cc3a2dc566d3672267df56373d..cfa5d09a4704f85bb96f73f644c1af968fd0fc6c 100644 (file)
@@ -36,12 +36,13 @@ extern "C" {
 #define PY_MONITORING_EVENT_EXCEPTION_HANDLED 11
 #define PY_MONITORING_EVENT_PY_UNWIND 12
 #define PY_MONITORING_EVENT_PY_THROW 13
+#define PY_MONITORING_EVENT_RERAISE 14
 
 
 /* Ancilliary events */
 
-#define PY_MONITORING_EVENT_C_RETURN 14
-#define PY_MONITORING_EVENT_C_RAISE 15
+#define PY_MONITORING_EVENT_C_RETURN 15
+#define PY_MONITORING_EVENT_C_RAISE 16
 
 
 typedef uint32_t _PyMonitoringEventSet;
index ef4a79aefd646b47eec566bdb79e2d527656bd6b..8bf95a73d7db933625985e33efef7274c84c84d9 100644 (file)
@@ -8,7 +8,7 @@ import sys
 import textwrap
 import types
 import unittest
-
+import asyncio
 
 PAIR = (0,1)
 
@@ -243,7 +243,6 @@ class MonitoringEventsBase(MonitoringTestBase):
             expected = func.events
         self.assertEqual(events, expected)
 
-
 class MonitoringEventsTest(MonitoringEventsBase, unittest.TestCase):
 
     def test_just_pass(self):
@@ -632,7 +631,7 @@ class ExceptionRecorder:
 
 class CheckEvents(MonitoringTestBase, unittest.TestCase):
 
-    def check_events(self, func, expected, tool=TEST_TOOL, recorders=(ExceptionRecorder,)):
+    def get_events(self, func, tool, recorders):
         try:
             self.assertEqual(sys.monitoring._all_events(), {})
             event_list = []
@@ -646,19 +645,63 @@ class CheckEvents(MonitoringTestBase, unittest.TestCase):
             sys.monitoring.set_events(tool, 0)
             for recorder in recorders:
                 sys.monitoring.register_callback(tool, recorder.event_type, None)
-            self.assertEqual(event_list, expected)
+            return event_list
         finally:
             sys.monitoring.set_events(tool, 0)
             for recorder in recorders:
                 sys.monitoring.register_callback(tool, recorder.event_type, None)
 
+    def check_events(self, func, expected, tool=TEST_TOOL, recorders=(ExceptionRecorder,)):
+        events = self.get_events(func, tool, recorders)
+        if events != expected:
+            print(events, file = sys.stderr)
+        self.assertEqual(events, expected)
+
+    def check_balanced(self, func, recorders):
+        events = self.get_events(func, TEST_TOOL, recorders)
+        self.assertEqual(len(events)%2, 0)
+        for r, h in zip(events[::2],events[1::2]):
+            r0 = r[0]
+            self.assertIn(r0, ("raise", "reraise"))
+            h0 = h[0]
+            self.assertIn(h0, ("handled", "unwind"))
+
+
+
 class StopiterationRecorder(ExceptionRecorder):
 
     event_type = E.STOP_ITERATION
 
-class ExceptionMontoringTest(CheckEvents):
+class ReraiseRecorder(ExceptionRecorder):
+
+    event_type = E.RERAISE
+
+    def __call__(self, code, offset, exc):
+        self.events.append(("reraise", type(exc)))
+
+class UnwindRecorder(ExceptionRecorder):
+
+    event_type = E.PY_UNWIND
+
+    def __call__(self, *args):
+        self.events.append(("unwind", None))
+
+class ExceptionHandledRecorder(ExceptionRecorder):
+
+    event_type = E.EXCEPTION_HANDLED
+
+    def __call__(self, code, offset, exc):
+        self.events.append(("handled", type(exc)))
 
-    recorder = ExceptionRecorder
+class ExceptionMonitoringTest(CheckEvents):
+
+
+    exception_recorders = (
+        ExceptionRecorder,
+        ReraiseRecorder,
+        ExceptionHandledRecorder,
+        UnwindRecorder
+    )
 
     def test_simple_try_except(self):
 
@@ -672,6 +715,8 @@ class ExceptionMontoringTest(CheckEvents):
 
         self.check_events(func1, [("raise", KeyError)])
 
+    def test_implicit_stop_iteration(self):
+
         def gen():
             yield 1
             return 2
@@ -682,6 +727,117 @@ class ExceptionMontoringTest(CheckEvents):
 
         self.check_events(implicit_stop_iteration, [("raise", StopIteration)], recorders=(StopiterationRecorder,))
 
+    initial = [
+        ("raise", ZeroDivisionError),
+        ("handled", ZeroDivisionError)
+    ]
+
+    reraise = [
+        ("reraise", ZeroDivisionError),
+        ("handled", ZeroDivisionError)
+    ]
+
+    def test_explicit_reraise(self):
+
+        def func():
+            try:
+                try:
+                    1/0
+                except:
+                    raise
+            except:
+                pass
+
+        self.check_balanced(
+            func,
+            recorders = self.exception_recorders)
+
+    def test_explicit_reraise_named(self):
+
+        def func():
+            try:
+                try:
+                    1/0
+                except Exception as ex:
+                    raise
+            except:
+                pass
+
+        self.check_balanced(
+            func,
+            recorders = self.exception_recorders)
+
+    def test_implicit_reraise(self):
+
+        def func():
+            try:
+                try:
+                    1/0
+                except ValueError:
+                    pass
+            except:
+                pass
+
+        self.check_balanced(
+            func,
+            recorders = self.exception_recorders)
+
+
+    def test_implicit_reraise_named(self):
+
+        def func():
+            try:
+                try:
+                    1/0
+                except ValueError as ex:
+                    pass
+            except:
+                pass
+
+        self.check_balanced(
+            func,
+            recorders = self.exception_recorders)
+
+    def test_try_finally(self):
+
+        def func():
+            try:
+                try:
+                    1/0
+                finally:
+                    pass
+            except:
+                pass
+
+        self.check_balanced(
+            func,
+            recorders = self.exception_recorders)
+
+    def test_async_for(self):
+
+        def func():
+
+            async def async_generator():
+                for i in range(1):
+                    raise ZeroDivisionError
+                    yield i
+
+            async def async_loop():
+                try:
+                    async for item in async_generator():
+                        pass
+                except Exception:
+                    pass
+
+            try:
+                async_loop().send(None)
+            except StopIteration:
+                pass
+
+        self.check_balanced(
+            func,
+            recorders = self.exception_recorders)
+
 class LineRecorder:
 
     event_type = E.LINE
@@ -733,12 +889,12 @@ class TestManyEvents(CheckEvents):
             line3 = 3
 
         self.check_events(func1, recorders = MANY_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('call', 'func1', sys.monitoring.MISSING),
             ('line', 'func1', 1),
             ('line', 'func1', 2),
             ('line', 'func1', 3),
-            ('line', 'check_events', 11),
+            ('line', 'get_events', 11),
             ('call', 'set_events', 2)])
 
     def test_c_call(self):
@@ -749,14 +905,14 @@ class TestManyEvents(CheckEvents):
             line3 = 3
 
         self.check_events(func2, recorders = MANY_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('call', 'func2', sys.monitoring.MISSING),
             ('line', 'func2', 1),
             ('line', 'func2', 2),
             ('call', 'append', [2]),
             ('C return', 'append', [2]),
             ('line', 'func2', 3),
-            ('line', 'check_events', 11),
+            ('line', 'get_events', 11),
             ('call', 'set_events', 2)])
 
     def test_try_except(self):
@@ -770,7 +926,7 @@ class TestManyEvents(CheckEvents):
             line = 6
 
         self.check_events(func3, recorders = MANY_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('call', 'func3', sys.monitoring.MISSING),
             ('line', 'func3', 1),
             ('line', 'func3', 2),
@@ -779,7 +935,7 @@ class TestManyEvents(CheckEvents):
             ('line', 'func3', 4),
             ('line', 'func3', 5),
             ('line', 'func3', 6),
-            ('line', 'check_events', 11),
+            ('line', 'get_events', 11),
             ('call', 'set_events', 2)])
 
 class InstructionRecorder:
@@ -791,7 +947,7 @@ class InstructionRecorder:
 
     def __call__(self, code, offset):
         # Filter out instructions in check_events to lower noise
-        if code.co_name != "check_events":
+        if code.co_name != "get_events":
             self.events.append(("instruction", code.co_name, offset))
 
 
@@ -808,7 +964,7 @@ class TestLineAndInstructionEvents(CheckEvents):
             line3 = 3
 
         self.check_events(func1, recorders = LINE_AND_INSTRUCTION_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('line', 'func1', 1),
             ('instruction', 'func1', 2),
             ('instruction', 'func1', 4),
@@ -819,7 +975,7 @@ class TestLineAndInstructionEvents(CheckEvents):
             ('instruction', 'func1', 10),
             ('instruction', 'func1', 12),
             ('instruction', 'func1', 14),
-            ('line', 'check_events', 11)])
+            ('line', 'get_events', 11)])
 
     def test_c_call(self):
 
@@ -829,7 +985,7 @@ class TestLineAndInstructionEvents(CheckEvents):
             line3 = 3
 
         self.check_events(func2, recorders = LINE_AND_INSTRUCTION_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('line', 'func2', 1),
             ('instruction', 'func2', 2),
             ('instruction', 'func2', 4),
@@ -843,7 +999,7 @@ class TestLineAndInstructionEvents(CheckEvents):
             ('instruction', 'func2', 40),
             ('instruction', 'func2', 42),
             ('instruction', 'func2', 44),
-            ('line', 'check_events', 11)])
+            ('line', 'get_events', 11)])
 
     def test_try_except(self):
 
@@ -856,7 +1012,7 @@ class TestLineAndInstructionEvents(CheckEvents):
             line = 6
 
         self.check_events(func3, recorders = LINE_AND_INSTRUCTION_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('line', 'func3', 1),
             ('instruction', 'func3', 2),
             ('line', 'func3', 2),
@@ -876,7 +1032,7 @@ class TestLineAndInstructionEvents(CheckEvents):
             ('instruction', 'func3', 30),
             ('instruction', 'func3', 32),
             ('instruction', 'func3', 34),
-            ('line', 'check_events', 11)])
+            ('line', 'get_events', 11)])
 
     def test_with_restart(self):
         def func1():
@@ -885,7 +1041,7 @@ class TestLineAndInstructionEvents(CheckEvents):
             line3 = 3
 
         self.check_events(func1, recorders = LINE_AND_INSTRUCTION_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('line', 'func1', 1),
             ('instruction', 'func1', 2),
             ('instruction', 'func1', 4),
@@ -896,12 +1052,12 @@ class TestLineAndInstructionEvents(CheckEvents):
             ('instruction', 'func1', 10),
             ('instruction', 'func1', 12),
             ('instruction', 'func1', 14),
-            ('line', 'check_events', 11)])
+            ('line', 'get_events', 11)])
 
         sys.monitoring.restart_events()
 
         self.check_events(func1, recorders = LINE_AND_INSTRUCTION_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('line', 'func1', 1),
             ('instruction', 'func1', 2),
             ('instruction', 'func1', 4),
@@ -912,7 +1068,7 @@ class TestLineAndInstructionEvents(CheckEvents):
             ('instruction', 'func1', 10),
             ('instruction', 'func1', 12),
             ('instruction', 'func1', 14),
-            ('line', 'check_events', 11)])
+            ('line', 'get_events', 11)])
 
 class TestInstallIncrementallly(MonitoringTestBase, unittest.TestCase):
 
@@ -1114,7 +1270,7 @@ class TestBranchAndJumpEvents(CheckEvents):
             ('branch', 'func', 2, 2)])
 
         self.check_events(func, recorders = JUMP_BRANCH_AND_LINE_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('line', 'func', 1),
             ('line', 'func', 2),
             ('branch', 'func', 2, 2),
@@ -1130,7 +1286,7 @@ class TestBranchAndJumpEvents(CheckEvents):
             ('jump', 'func', 4, 2),
             ('line', 'func', 2),
             ('branch', 'func', 2, 2),
-            ('line', 'check_events', 11)])
+            ('line', 'get_events', 11)])
 
     def test_except_star(self):
 
@@ -1149,7 +1305,7 @@ class TestBranchAndJumpEvents(CheckEvents):
 
 
         self.check_events(func, recorders = JUMP_BRANCH_AND_LINE_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('line', 'func', 1),
             ('line', 'func', 2),
             ('line', 'func', 3),
@@ -1160,10 +1316,10 @@ class TestBranchAndJumpEvents(CheckEvents):
             ('jump', 'func', 5, 5),
             ('jump', 'func', 5, '[offset=114]'),
             ('branch', 'func', '[offset=120]', '[offset=122]'),
-            ('line', 'check_events', 11)])
+            ('line', 'get_events', 11)])
 
         self.check_events(func, recorders = FLOW_AND_LINE_RECORDERS, expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('line', 'func', 1),
             ('line', 'func', 2),
             ('line', 'func', 3),
@@ -1177,7 +1333,7 @@ class TestBranchAndJumpEvents(CheckEvents):
             ('jump', 'func', 5, '[offset=114]'),
             ('branch', 'func', '[offset=120]', '[offset=122]'),
             ('return', None),
-            ('line', 'check_events', 11)])
+            ('line', 'get_events', 11)])
 
 class TestLoadSuperAttr(CheckEvents):
     RECORDERS = CallRecorder, LineRecorder, CRaiseRecorder, CReturnRecorder
@@ -1229,7 +1385,7 @@ class TestLoadSuperAttr(CheckEvents):
         """
         d = self._exec_super(codestr, optimized)
         expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('call', 'f', sys.monitoring.MISSING),
             ('line', 'f', 1),
             ('call', 'method', d["b"]),
@@ -1242,7 +1398,7 @@ class TestLoadSuperAttr(CheckEvents):
             ('call', 'method', 1),
             ('line', 'method', 1),
             ('line', 'method', 1),
-            ('line', 'check_events', 11),
+            ('line', 'get_events', 11),
             ('call', 'set_events', 2),
         ]
         return d["f"], expected
@@ -1280,7 +1436,7 @@ class TestLoadSuperAttr(CheckEvents):
         """
         d = self._exec_super(codestr, optimized)
         expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('call', 'f', sys.monitoring.MISSING),
             ('line', 'f', 1),
             ('line', 'f', 2),
@@ -1293,7 +1449,7 @@ class TestLoadSuperAttr(CheckEvents):
             ('C raise', 'super', 1),
             ('line', 'f', 3),
             ('line', 'f', 4),
-            ('line', 'check_events', 11),
+            ('line', 'get_events', 11),
             ('call', 'set_events', 2),
         ]
         return d["f"], expected
@@ -1321,7 +1477,7 @@ class TestLoadSuperAttr(CheckEvents):
         """
         d = self._exec_super(codestr, optimized)
         expected = [
-            ('line', 'check_events', 10),
+            ('line', 'get_events', 10),
             ('call', 'f', sys.monitoring.MISSING),
             ('line', 'f', 1),
             ('call', 'method', d["b"]),
@@ -1330,7 +1486,7 @@ class TestLoadSuperAttr(CheckEvents):
             ('C return', 'super', sys.monitoring.MISSING),
             ('line', 'method', 2),
             ('line', 'method', 1),
-            ('line', 'check_events', 11),
+            ('line', 'get_events', 11),
             ('call', 'set_events', 2)
         ]
         return d["f"], expected
@@ -1355,7 +1511,7 @@ class TestLoadSuperAttr(CheckEvents):
         def get_expected(name, call_method, ns):
             repr_arg = 0 if name == "int" else sys.monitoring.MISSING
             return [
-                ('line', 'check_events', 10),
+                ('line', 'get_events', 10),
                 ('call', 'f', sys.monitoring.MISSING),
                 ('line', 'f', 1),
                 ('call', 'method', ns["c"]),
@@ -1368,7 +1524,7 @@ class TestLoadSuperAttr(CheckEvents):
                         ('C return', '__repr__', repr_arg),
                     ] if call_method else []
                 ),
-                ('line', 'check_events', 11),
+                ('line', 'get_events', 11),
                 ('call', 'set_events', 2),
             ]
 
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-07-26-12-18-10.gh-issue-106897.EsGurc.rst b/Misc/NEWS.d/next/Core and Builtins/2023-07-26-12-18-10.gh-issue-106897.EsGurc.rst
new file mode 100644 (file)
index 0000000..52c49c3
--- /dev/null
@@ -0,0 +1,3 @@
+Add a ``RERAISE`` event to ``sys.monitoring``, which occurs when an
+exception is reraised, either explicitly by a plain ``raise`` statement, or
+implicitly in an ``except`` or ``finally`` block.
index b914afa07fba40250a6e7b970aecd11a2a7ee3d9..adfa5ce00b6a0429e52a8a6e425b2c2c2562fcbd 100644 (file)
@@ -612,7 +612,11 @@ dummy_func(
                 exc = args[0];
                 /* fall through */
             case 0:
-                ERROR_IF(do_raise(tstate, exc, cause), exception_unwind);
+                if (do_raise(tstate, exc, cause)) {
+                    assert(oparg == 0);
+                    monitor_reraise(tstate, frame, next_instr-1);
+                    goto exception_unwind;
+                }
                 break;
             default:
                 _PyErr_SetString(tstate, PyExc_SystemError,
@@ -944,6 +948,7 @@ dummy_func(
             assert(exc && PyExceptionInstance_Check(exc));
             Py_INCREF(exc);
             _PyErr_SetRaisedException(tstate, exc);
+            monitor_reraise(tstate, frame, next_instr-1);
             goto exception_unwind;
         }
 
@@ -955,6 +960,7 @@ dummy_func(
             else {
                 Py_INCREF(exc);
                 _PyErr_SetRaisedException(tstate, exc);
+                monitor_reraise(tstate, frame, next_instr-1);
                 goto exception_unwind;
             }
         }
@@ -969,6 +975,7 @@ dummy_func(
             }
             else {
                 _PyErr_SetRaisedException(tstate, Py_NewRef(exc_value));
+                monitor_reraise(tstate, frame, next_instr-1);
                 goto exception_unwind;
             }
         }
index 72d679a4e3f537d74191968f2ab12bcec1da06a8..899f135bdd635a3c2b8edd2a9214d5fc7dfecf8e 100644 (file)
@@ -185,6 +185,9 @@ lltrace_resume_frame(_PyInterpreterFrame *frame)
 static void monitor_raise(PyThreadState *tstate,
                  _PyInterpreterFrame *frame,
                  _Py_CODEUNIT *instr);
+static void monitor_reraise(PyThreadState *tstate,
+                 _PyInterpreterFrame *frame,
+                 _Py_CODEUNIT *instr);
 static int monitor_stop_iteration(PyThreadState *tstate,
                  _PyInterpreterFrame *frame,
                  _Py_CODEUNIT *instr);
@@ -923,7 +926,6 @@ error:
             }
         }
         monitor_raise(tstate, frame, next_instr-1);
-
 exception_unwind:
         {
             /* We can't use frame->f_lasti here, as RERAISE may have set it */
@@ -2037,6 +2039,16 @@ monitor_raise(PyThreadState *tstate, _PyInterpreterFrame *frame,
     do_monitor_exc(tstate, frame, instr, PY_MONITORING_EVENT_RAISE);
 }
 
+static void
+monitor_reraise(PyThreadState *tstate, _PyInterpreterFrame *frame,
+              _Py_CODEUNIT *instr)
+{
+    if (no_tools_for_event(tstate, frame, PY_MONITORING_EVENT_RERAISE)) {
+        return;
+    }
+    do_monitor_exc(tstate, frame, instr, PY_MONITORING_EVENT_RERAISE);
+}
+
 static int
 monitor_stop_iteration(PyThreadState *tstate, _PyInterpreterFrame *frame,
                        _Py_CODEUNIT *instr)
index 281c8b5e5245bc8d899550494048225298101b34..d5c048a881235ef23f0742ede0adf211db59c0e6 100644 (file)
                 exc = args[0];
                 /* fall through */
             case 0:
-                if (do_raise(tstate, exc, cause)) { STACK_SHRINK(oparg); goto exception_unwind; }
+                if (do_raise(tstate, exc, cause)) {
+                    assert(oparg == 0);
+                    monitor_reraise(tstate, frame, next_instr-1);
+                    goto exception_unwind;
+                }
                 break;
             default:
                 _PyErr_SetString(tstate, PyExc_SystemError,
                 break;
             }
             if (true) { STACK_SHRINK(oparg); goto error; }
-            #line 908 "Python/generated_cases.c.h"
+            #line 912 "Python/generated_cases.c.h"
         }
 
         TARGET(INTERPRETER_EXIT) {
             PyObject *retval = stack_pointer[-1];
-            #line 626 "Python/bytecodes.c"
+            #line 630 "Python/bytecodes.c"
             assert(frame == &entry_frame);
             assert(_PyFrame_IsIncomplete(frame));
             STACK_SHRINK(1);  // Since we're not going to DISPATCH()
             assert(!_PyErr_Occurred(tstate));
             _Py_LeaveRecursiveCallTstate(tstate);
             return retval;
-            #line 924 "Python/generated_cases.c.h"
+            #line 928 "Python/generated_cases.c.h"
         }
 
         TARGET(RETURN_VALUE) {
             PyObject *retval = stack_pointer[-1];
-            #line 639 "Python/bytecodes.c"
+            #line 643 "Python/bytecodes.c"
             STACK_SHRINK(1);
             assert(EMPTY());
             _PyFrame_SetStackPointer(frame, stack_pointer);
             frame->prev_instr += frame->return_offset;
             _PyFrame_StackPush(frame, retval);
             goto resume_frame;
-            #line 942 "Python/generated_cases.c.h"
+            #line 946 "Python/generated_cases.c.h"
         }
 
         TARGET(INSTRUMENTED_RETURN_VALUE) {
             PyObject *retval = stack_pointer[-1];
-            #line 654 "Python/bytecodes.c"
+            #line 658 "Python/bytecodes.c"
             int err = _Py_call_instrumentation_arg(
                     tstate, PY_MONITORING_EVENT_PY_RETURN,
                     frame, next_instr-1, retval);
             frame->prev_instr += frame->return_offset;
             _PyFrame_StackPush(frame, retval);
             goto resume_frame;
-            #line 964 "Python/generated_cases.c.h"
+            #line 968 "Python/generated_cases.c.h"
         }
 
         TARGET(RETURN_CONST) {
-            #line 673 "Python/bytecodes.c"
+            #line 677 "Python/bytecodes.c"
             PyObject *retval = GETITEM(frame->f_code->co_consts, oparg);
             Py_INCREF(retval);
             assert(EMPTY());
             frame->prev_instr += frame->return_offset;
             _PyFrame_StackPush(frame, retval);
             goto resume_frame;
-            #line 982 "Python/generated_cases.c.h"
+            #line 986 "Python/generated_cases.c.h"
         }
 
         TARGET(INSTRUMENTED_RETURN_CONST) {
-            #line 689 "Python/bytecodes.c"
+            #line 693 "Python/bytecodes.c"
             PyObject *retval = GETITEM(frame->f_code->co_consts, oparg);
             int err = _Py_call_instrumentation_arg(
                     tstate, PY_MONITORING_EVENT_PY_RETURN,
             frame->prev_instr += frame->return_offset;
             _PyFrame_StackPush(frame, retval);
             goto resume_frame;
-            #line 1004 "Python/generated_cases.c.h"
+            #line 1008 "Python/generated_cases.c.h"
         }
 
         TARGET(GET_AITER) {
             PyObject *obj = stack_pointer[-1];
             PyObject *iter;
-            #line 709 "Python/bytecodes.c"
+            #line 713 "Python/bytecodes.c"
             unaryfunc getter = NULL;
             PyTypeObject *type = Py_TYPE(obj);
 
                               "'async for' requires an object with "
                               "__aiter__ method, got %.100s",
                               type->tp_name);
-            #line 1023 "Python/generated_cases.c.h"
+            #line 1027 "Python/generated_cases.c.h"
                 Py_DECREF(obj);
-            #line 722 "Python/bytecodes.c"
+            #line 726 "Python/bytecodes.c"
                 if (true) goto pop_1_error;
             }
 
             iter = (*getter)(obj);
-            #line 1030 "Python/generated_cases.c.h"
+            #line 1034 "Python/generated_cases.c.h"
             Py_DECREF(obj);
-            #line 727 "Python/bytecodes.c"
+            #line 731 "Python/bytecodes.c"
             if (iter == NULL) goto pop_1_error;
 
             if (Py_TYPE(iter)->tp_as_async == NULL ||
                 Py_DECREF(iter);
                 if (true) goto pop_1_error;
             }
-            #line 1045 "Python/generated_cases.c.h"
+            #line 1049 "Python/generated_cases.c.h"
             stack_pointer[-1] = iter;
             DISPATCH();
         }
         TARGET(GET_ANEXT) {
             PyObject *aiter = stack_pointer[-1];
             PyObject *awaitable;
-            #line 742 "Python/bytecodes.c"
+            #line 746 "Python/bytecodes.c"
             unaryfunc getter = NULL;
             PyObject *next_iter = NULL;
             PyTypeObject *type = Py_TYPE(aiter);
                 }
             }
 
-            #line 1097 "Python/generated_cases.c.h"
+            #line 1101 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = awaitable;
             PREDICT(LOAD_CONST);
             PREDICTED(GET_AWAITABLE);
             PyObject *iterable = stack_pointer[-1];
             PyObject *iter;
-            #line 789 "Python/bytecodes.c"
+            #line 793 "Python/bytecodes.c"
             iter = _PyCoro_GetAwaitableIter(iterable);
 
             if (iter == NULL) {
                 format_awaitable_error(tstate, Py_TYPE(iterable), oparg);
             }
 
-            #line 1115 "Python/generated_cases.c.h"
+            #line 1119 "Python/generated_cases.c.h"
             Py_DECREF(iterable);
-            #line 796 "Python/bytecodes.c"
+            #line 800 "Python/bytecodes.c"
 
             if (iter != NULL && PyCoro_CheckExact(iter)) {
                 PyObject *yf = _PyGen_yf((PyGenObject*)iter);
 
             if (iter == NULL) goto pop_1_error;
 
-            #line 1135 "Python/generated_cases.c.h"
+            #line 1139 "Python/generated_cases.c.h"
             stack_pointer[-1] = iter;
             PREDICT(LOAD_CONST);
             DISPATCH();
             PyObject *v = stack_pointer[-1];
             PyObject *receiver = stack_pointer[-2];
             PyObject *retval;
-            #line 822 "Python/bytecodes.c"
+            #line 826 "Python/bytecodes.c"
             #if ENABLE_SPECIALIZATION
             _PySendCache *cache = (_PySendCache *)next_instr;
             if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) {
                 }
             }
             Py_DECREF(v);
-            #line 1194 "Python/generated_cases.c.h"
+            #line 1198 "Python/generated_cases.c.h"
             stack_pointer[-1] = retval;
             next_instr += 1;
             DISPATCH();
         TARGET(SEND_GEN) {
             PyObject *v = stack_pointer[-1];
             PyObject *receiver = stack_pointer[-2];
-            #line 871 "Python/bytecodes.c"
+            #line 875 "Python/bytecodes.c"
             DEOPT_IF(tstate->interp->eval_frame, SEND);
             PyGenObject *gen = (PyGenObject *)receiver;
             DEOPT_IF(Py_TYPE(gen) != &PyGen_Type &&
             tstate->exc_info = &gen->gi_exc_state;
             JUMPBY(INLINE_CACHE_ENTRIES_SEND);
             DISPATCH_INLINED(gen_frame);
-            #line 1219 "Python/generated_cases.c.h"
+            #line 1223 "Python/generated_cases.c.h"
         }
 
         TARGET(INSTRUMENTED_YIELD_VALUE) {
             PyObject *retval = stack_pointer[-1];
-            #line 889 "Python/bytecodes.c"
+            #line 893 "Python/bytecodes.c"
             assert(frame != &entry_frame);
             PyGenObject *gen = _PyFrame_GetGenerator(frame);
             gen->gi_frame_state = FRAME_SUSPENDED;
             gen_frame->previous = NULL;
             _PyFrame_StackPush(frame, retval);
             goto resume_frame;
-            #line 1241 "Python/generated_cases.c.h"
+            #line 1245 "Python/generated_cases.c.h"
         }
 
         TARGET(YIELD_VALUE) {
             PyObject *retval = stack_pointer[-1];
-            #line 908 "Python/bytecodes.c"
+            #line 912 "Python/bytecodes.c"
             // NOTE: It's important that YIELD_VALUE never raises an exception!
             // The compiler treats any exception raised here as a failed close()
             // or throw() call.
             gen_frame->previous = NULL;
             _PyFrame_StackPush(frame, retval);
             goto resume_frame;
-            #line 1262 "Python/generated_cases.c.h"
+            #line 1266 "Python/generated_cases.c.h"
         }
 
         TARGET(POP_EXCEPT) {
             PyObject *exc_value = stack_pointer[-1];
-            #line 926 "Python/bytecodes.c"
+            #line 930 "Python/bytecodes.c"
             _PyErr_StackItem *exc_info = tstate->exc_info;
             Py_XSETREF(exc_info->exc_value, exc_value);
-            #line 1270 "Python/generated_cases.c.h"
+            #line 1274 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
         TARGET(RERAISE) {
             PyObject *exc = stack_pointer[-1];
             PyObject **values = (stack_pointer - (1 + oparg));
-            #line 931 "Python/bytecodes.c"
+            #line 935 "Python/bytecodes.c"
             assert(oparg >= 0 && oparg <= 2);
             if (oparg) {
                 PyObject *lasti = values[0];
             assert(exc && PyExceptionInstance_Check(exc));
             Py_INCREF(exc);
             _PyErr_SetRaisedException(tstate, exc);
+            monitor_reraise(tstate, frame, next_instr-1);
             goto exception_unwind;
-            #line 1296 "Python/generated_cases.c.h"
+            #line 1301 "Python/generated_cases.c.h"
         }
 
         TARGET(END_ASYNC_FOR) {
             PyObject *exc = stack_pointer[-1];
             PyObject *awaitable = stack_pointer[-2];
-            #line 951 "Python/bytecodes.c"
+            #line 956 "Python/bytecodes.c"
             assert(exc && PyExceptionInstance_Check(exc));
             if (PyErr_GivenExceptionMatches(exc, PyExc_StopAsyncIteration)) {
-            #line 1305 "Python/generated_cases.c.h"
+            #line 1310 "Python/generated_cases.c.h"
                 Py_DECREF(awaitable);
                 Py_DECREF(exc);
-            #line 954 "Python/bytecodes.c"
+            #line 959 "Python/bytecodes.c"
             }
             else {
                 Py_INCREF(exc);
                 _PyErr_SetRaisedException(tstate, exc);
+                monitor_reraise(tstate, frame, next_instr-1);
                 goto exception_unwind;
             }
-            #line 1315 "Python/generated_cases.c.h"
+            #line 1321 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             DISPATCH();
         }
             PyObject *sub_iter = stack_pointer[-3];
             PyObject *none;
             PyObject *value;
-            #line 963 "Python/bytecodes.c"
+            #line 969 "Python/bytecodes.c"
             assert(throwflag);
             assert(exc_value && PyExceptionInstance_Check(exc_value));
             if (PyErr_GivenExceptionMatches(exc_value, PyExc_StopIteration)) {
                 value = Py_NewRef(((PyStopIterationObject *)exc_value)->value);
-            #line 1331 "Python/generated_cases.c.h"
+            #line 1337 "Python/generated_cases.c.h"
                 Py_DECREF(sub_iter);
                 Py_DECREF(last_sent_val);
                 Py_DECREF(exc_value);
-            #line 968 "Python/bytecodes.c"
+            #line 974 "Python/bytecodes.c"
                 none = Py_None;
             }
             else {
                 _PyErr_SetRaisedException(tstate, Py_NewRef(exc_value));
+                monitor_reraise(tstate, frame, next_instr-1);
                 goto exception_unwind;
             }
-            #line 1342 "Python/generated_cases.c.h"
+            #line 1349 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = value;
             stack_pointer[-2] = none;
 
         TARGET(LOAD_ASSERTION_ERROR) {
             PyObject *value;
-            #line 977 "Python/bytecodes.c"
+            #line 984 "Python/bytecodes.c"
             value = Py_NewRef(PyExc_AssertionError);
-            #line 1353 "Python/generated_cases.c.h"
+            #line 1360 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = value;
             DISPATCH();
 
         TARGET(LOAD_BUILD_CLASS) {
             PyObject *bc;
-            #line 981 "Python/bytecodes.c"
+            #line 988 "Python/bytecodes.c"
             if (PyDict_CheckExact(BUILTINS())) {
                 bc = _PyDict_GetItemWithError(BUILTINS(),
                                               &_Py_ID(__build_class__));
                     if (true) goto error;
                 }
             }
-            #line 1383 "Python/generated_cases.c.h"
+            #line 1390 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = bc;
             DISPATCH();
 
         TARGET(STORE_NAME) {
             PyObject *v = stack_pointer[-1];
-            #line 1006 "Python/bytecodes.c"
+            #line 1013 "Python/bytecodes.c"
             PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             PyObject *ns = LOCALS();
             int err;
             if (ns == NULL) {
                 _PyErr_Format(tstate, PyExc_SystemError,
                               "no locals found when storing %R", name);
-            #line 1398 "Python/generated_cases.c.h"
+            #line 1405 "Python/generated_cases.c.h"
                 Py_DECREF(v);
-            #line 1013 "Python/bytecodes.c"
+            #line 1020 "Python/bytecodes.c"
                 if (true) goto pop_1_error;
             }
             if (PyDict_CheckExact(ns))
                 err = PyDict_SetItem(ns, name, v);
             else
                 err = PyObject_SetItem(ns, name, v);
-            #line 1407 "Python/generated_cases.c.h"
+            #line 1414 "Python/generated_cases.c.h"
             Py_DECREF(v);
-            #line 1020 "Python/bytecodes.c"
+            #line 1027 "Python/bytecodes.c"
             if (err) goto pop_1_error;
-            #line 1411 "Python/generated_cases.c.h"
+            #line 1418 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
 
         TARGET(DELETE_NAME) {
-            #line 1024 "Python/bytecodes.c"
+            #line 1031 "Python/bytecodes.c"
             PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             PyObject *ns = LOCALS();
             int err;
                                      name);
                 goto error;
             }
-            #line 1434 "Python/generated_cases.c.h"
+            #line 1441 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
             PREDICTED(UNPACK_SEQUENCE);
             static_assert(INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE == 1, "incorrect cache size");
             PyObject *seq = stack_pointer[-1];
-            #line 1050 "Python/bytecodes.c"
+            #line 1057 "Python/bytecodes.c"
             #if ENABLE_SPECIALIZATION
             _PyUnpackSequenceCache *cache = (_PyUnpackSequenceCache *)next_instr;
             if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) {
             #endif  /* ENABLE_SPECIALIZATION */
             PyObject **top = stack_pointer + oparg - 1;
             int res = unpack_iterable(tstate, seq, oparg, -1, top);
-            #line 1455 "Python/generated_cases.c.h"
+            #line 1462 "Python/generated_cases.c.h"
             Py_DECREF(seq);
-            #line 1063 "Python/bytecodes.c"
+            #line 1070 "Python/bytecodes.c"
             if (res == 0) goto pop_1_error;
-            #line 1459 "Python/generated_cases.c.h"
+            #line 1466 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             STACK_GROW(oparg);
             next_instr += 1;
         TARGET(UNPACK_SEQUENCE_TWO_TUPLE) {
             PyObject *seq = stack_pointer[-1];
             PyObject **values = stack_pointer - (1);
-            #line 1067 "Python/bytecodes.c"
+            #line 1074 "Python/bytecodes.c"
             DEOPT_IF(!PyTuple_CheckExact(seq), UNPACK_SEQUENCE);
             DEOPT_IF(PyTuple_GET_SIZE(seq) != 2, UNPACK_SEQUENCE);
             assert(oparg == 2);
             STAT_INC(UNPACK_SEQUENCE, hit);
             values[0] = Py_NewRef(PyTuple_GET_ITEM(seq, 1));
             values[1] = Py_NewRef(PyTuple_GET_ITEM(seq, 0));
-            #line 1476 "Python/generated_cases.c.h"
+            #line 1483 "Python/generated_cases.c.h"
             Py_DECREF(seq);
             STACK_SHRINK(1);
             STACK_GROW(oparg);
         TARGET(UNPACK_SEQUENCE_TUPLE) {
             PyObject *seq = stack_pointer[-1];
             PyObject **values = stack_pointer - (1);
-            #line 1077 "Python/bytecodes.c"
+            #line 1084 "Python/bytecodes.c"
             DEOPT_IF(!PyTuple_CheckExact(seq), UNPACK_SEQUENCE);
             DEOPT_IF(PyTuple_GET_SIZE(seq) != oparg, UNPACK_SEQUENCE);
             STAT_INC(UNPACK_SEQUENCE, hit);
             for (int i = oparg; --i >= 0; ) {
                 *values++ = Py_NewRef(items[i]);
             }
-            #line 1495 "Python/generated_cases.c.h"
+            #line 1502 "Python/generated_cases.c.h"
             Py_DECREF(seq);
             STACK_SHRINK(1);
             STACK_GROW(oparg);
         TARGET(UNPACK_SEQUENCE_LIST) {
             PyObject *seq = stack_pointer[-1];
             PyObject **values = stack_pointer - (1);
-            #line 1088 "Python/bytecodes.c"
+            #line 1095 "Python/bytecodes.c"
             DEOPT_IF(!PyList_CheckExact(seq), UNPACK_SEQUENCE);
             DEOPT_IF(PyList_GET_SIZE(seq) != oparg, UNPACK_SEQUENCE);
             STAT_INC(UNPACK_SEQUENCE, hit);
             for (int i = oparg; --i >= 0; ) {
                 *values++ = Py_NewRef(items[i]);
             }
-            #line 1514 "Python/generated_cases.c.h"
+            #line 1521 "Python/generated_cases.c.h"
             Py_DECREF(seq);
             STACK_SHRINK(1);
             STACK_GROW(oparg);
 
         TARGET(UNPACK_EX) {
             PyObject *seq = stack_pointer[-1];
-            #line 1099 "Python/bytecodes.c"
+            #line 1106 "Python/bytecodes.c"
             int totalargs = 1 + (oparg & 0xFF) + (oparg >> 8);
             PyObject **top = stack_pointer + totalargs - 1;
             int res = unpack_iterable(tstate, seq, oparg & 0xFF, oparg >> 8, top);
-            #line 1528 "Python/generated_cases.c.h"
+            #line 1535 "Python/generated_cases.c.h"
             Py_DECREF(seq);
-            #line 1103 "Python/bytecodes.c"
+            #line 1110 "Python/bytecodes.c"
             if (res == 0) goto pop_1_error;
-            #line 1532 "Python/generated_cases.c.h"
+            #line 1539 "Python/generated_cases.c.h"
             STACK_GROW((oparg & 0xFF) + (oparg >> 8));
             DISPATCH();
         }
             PyObject *owner = stack_pointer[-1];
             PyObject *v = stack_pointer[-2];
             uint16_t counter = read_u16(&next_instr[0].cache);
-            #line 1114 "Python/bytecodes.c"
+            #line 1121 "Python/bytecodes.c"
             #if ENABLE_SPECIALIZATION
             if (ADAPTIVE_COUNTER_IS_ZERO(counter)) {
                 PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             #endif  /* ENABLE_SPECIALIZATION */
             PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             int err = PyObject_SetAttr(owner, name, v);
-            #line 1559 "Python/generated_cases.c.h"
+            #line 1566 "Python/generated_cases.c.h"
             Py_DECREF(v);
             Py_DECREF(owner);
-            #line 1130 "Python/bytecodes.c"
+            #line 1137 "Python/bytecodes.c"
             if (err) goto pop_2_error;
-            #line 1564 "Python/generated_cases.c.h"
+            #line 1571 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             next_instr += 4;
             DISPATCH();
 
         TARGET(DELETE_ATTR) {
             PyObject *owner = stack_pointer[-1];
-            #line 1134 "Python/bytecodes.c"
+            #line 1141 "Python/bytecodes.c"
             PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             int err = PyObject_SetAttr(owner, name, (PyObject *)NULL);
-            #line 1575 "Python/generated_cases.c.h"
+            #line 1582 "Python/generated_cases.c.h"
             Py_DECREF(owner);
-            #line 1137 "Python/bytecodes.c"
+            #line 1144 "Python/bytecodes.c"
             if (err) goto pop_1_error;
-            #line 1579 "Python/generated_cases.c.h"
+            #line 1586 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
 
         TARGET(STORE_GLOBAL) {
             PyObject *v = stack_pointer[-1];
-            #line 1141 "Python/bytecodes.c"
+            #line 1148 "Python/bytecodes.c"
             PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             int err = PyDict_SetItem(GLOBALS(), name, v);
-            #line 1589 "Python/generated_cases.c.h"
+            #line 1596 "Python/generated_cases.c.h"
             Py_DECREF(v);
-            #line 1144 "Python/bytecodes.c"
+            #line 1151 "Python/bytecodes.c"
             if (err) goto pop_1_error;
-            #line 1593 "Python/generated_cases.c.h"
+            #line 1600 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
 
         TARGET(DELETE_GLOBAL) {
-            #line 1148 "Python/bytecodes.c"
+            #line 1155 "Python/bytecodes.c"
             PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             int err;
             err = PyDict_DelItem(GLOBALS(), name);
                 }
                 goto error;
             }
-            #line 1611 "Python/generated_cases.c.h"
+            #line 1618 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
             PyObject *_tmp_1;
             {
                 PyObject *locals;
-                #line 1162 "Python/bytecodes.c"
+                #line 1169 "Python/bytecodes.c"
                 locals = LOCALS();
                 if (locals == NULL) {
                     _PyErr_SetString(tstate, PyExc_SystemError,
                     if (true) goto error;
                 }
                 Py_INCREF(locals);
-                #line 1627 "Python/generated_cases.c.h"
+                #line 1634 "Python/generated_cases.c.h"
                 _tmp_1 = locals;
             }
             STACK_GROW(1);
             PyObject *_tmp_1;
             {
                 PyObject *locals;
-                #line 1162 "Python/bytecodes.c"
+                #line 1169 "Python/bytecodes.c"
                 locals = LOCALS();
                 if (locals == NULL) {
                     _PyErr_SetString(tstate, PyExc_SystemError,
                     if (true) goto error;
                 }
                 Py_INCREF(locals);
-                #line 1647 "Python/generated_cases.c.h"
+                #line 1654 "Python/generated_cases.c.h"
                 _tmp_1 = locals;
             }
             {
                 PyObject *mod_or_class_dict = _tmp_1;
                 PyObject *v;
-                #line 1174 "Python/bytecodes.c"
+                #line 1181 "Python/bytecodes.c"
                 PyObject *name = GETITEM(frame->f_code->co_names, oparg);
                 if (PyDict_CheckExact(mod_or_class_dict)) {
                     v = PyDict_GetItemWithError(mod_or_class_dict, name);
                         }
                     }
                 }
-                #line 1710 "Python/generated_cases.c.h"
+                #line 1717 "Python/generated_cases.c.h"
                 _tmp_1 = v;
             }
             STACK_GROW(1);
             {
                 PyObject *mod_or_class_dict = _tmp_1;
                 PyObject *v;
-                #line 1174 "Python/bytecodes.c"
+                #line 1181 "Python/bytecodes.c"
                 PyObject *name = GETITEM(frame->f_code->co_names, oparg);
                 if (PyDict_CheckExact(mod_or_class_dict)) {
                     v = PyDict_GetItemWithError(mod_or_class_dict, name);
                         }
                     }
                 }
-                #line 1780 "Python/generated_cases.c.h"
+                #line 1787 "Python/generated_cases.c.h"
                 _tmp_1 = v;
             }
             stack_pointer[-1] = _tmp_1;
             static_assert(INLINE_CACHE_ENTRIES_LOAD_GLOBAL == 4, "incorrect cache size");
             PyObject *null = NULL;
             PyObject *v;
-            #line 1243 "Python/bytecodes.c"
+            #line 1250 "Python/bytecodes.c"
             #if ENABLE_SPECIALIZATION
             _PyLoadGlobalCache *cache = (_PyLoadGlobalCache *)next_instr;
             if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) {
                 }
             }
             null = NULL;
-            #line 1844 "Python/generated_cases.c.h"
+            #line 1851 "Python/generated_cases.c.h"
             STACK_GROW(1);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = v;
             PyObject *res;
             uint16_t index = read_u16(&next_instr[1].cache);
             uint16_t version = read_u16(&next_instr[2].cache);
-            #line 1297 "Python/bytecodes.c"
+            #line 1304 "Python/bytecodes.c"
             DEOPT_IF(!PyDict_CheckExact(GLOBALS()), LOAD_GLOBAL);
             PyDictObject *dict = (PyDictObject *)GLOBALS();
             DEOPT_IF(dict->ma_keys->dk_version != version, LOAD_GLOBAL);
             Py_INCREF(res);
             STAT_INC(LOAD_GLOBAL, hit);
             null = NULL;
-            #line 1869 "Python/generated_cases.c.h"
+            #line 1876 "Python/generated_cases.c.h"
             STACK_GROW(1);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             uint16_t index = read_u16(&next_instr[1].cache);
             uint16_t mod_version = read_u16(&next_instr[2].cache);
             uint16_t bltn_version = read_u16(&next_instr[3].cache);
-            #line 1310 "Python/bytecodes.c"
+            #line 1317 "Python/bytecodes.c"
             DEOPT_IF(!PyDict_CheckExact(GLOBALS()), LOAD_GLOBAL);
             DEOPT_IF(!PyDict_CheckExact(BUILTINS()), LOAD_GLOBAL);
             PyDictObject *mdict = (PyDictObject *)GLOBALS();
             Py_INCREF(res);
             STAT_INC(LOAD_GLOBAL, hit);
             null = NULL;
-            #line 1899 "Python/generated_cases.c.h"
+            #line 1906 "Python/generated_cases.c.h"
             STACK_GROW(1);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
         }
 
         TARGET(DELETE_FAST) {
-            #line 1327 "Python/bytecodes.c"
+            #line 1334 "Python/bytecodes.c"
             PyObject *v = GETLOCAL(oparg);
             if (v == NULL) goto unbound_local_error;
             SETLOCAL(oparg, NULL);
-            #line 1913 "Python/generated_cases.c.h"
+            #line 1920 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(MAKE_CELL) {
-            #line 1333 "Python/bytecodes.c"
+            #line 1340 "Python/bytecodes.c"
             // "initial" is probably NULL but not if it's an arg (or set
             // via PyFrame_LocalsToFast() before MAKE_CELL has run).
             PyObject *initial = GETLOCAL(oparg);
                 goto resume_with_error;
             }
             SETLOCAL(oparg, cell);
-            #line 1927 "Python/generated_cases.c.h"
+            #line 1934 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(DELETE_DEREF) {
-            #line 1344 "Python/bytecodes.c"
+            #line 1351 "Python/bytecodes.c"
             PyObject *cell = GETLOCAL(oparg);
             PyObject *oldobj = PyCell_GET(cell);
             // Can't use ERROR_IF here.
             }
             PyCell_SET(cell, NULL);
             Py_DECREF(oldobj);
-            #line 1943 "Python/generated_cases.c.h"
+            #line 1950 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(LOAD_FROM_DICT_OR_DEREF) {
             PyObject *class_dict = stack_pointer[-1];
             PyObject *value;
-            #line 1357 "Python/bytecodes.c"
+            #line 1364 "Python/bytecodes.c"
             PyObject *name;
             assert(class_dict);
             assert(oparg >= 0 && oparg < frame->f_code->co_nlocalsplus);
                 }
                 Py_INCREF(value);
             }
-            #line 1985 "Python/generated_cases.c.h"
+            #line 1992 "Python/generated_cases.c.h"
             stack_pointer[-1] = value;
             DISPATCH();
         }
 
         TARGET(LOAD_DEREF) {
             PyObject *value;
-            #line 1394 "Python/bytecodes.c"
+            #line 1401 "Python/bytecodes.c"
             PyObject *cell = GETLOCAL(oparg);
             value = PyCell_GET(cell);
             if (value == NULL) {
                 if (true) goto error;
             }
             Py_INCREF(value);
-            #line 2000 "Python/generated_cases.c.h"
+            #line 2007 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = value;
             DISPATCH();
 
         TARGET(STORE_DEREF) {
             PyObject *v = stack_pointer[-1];
-            #line 1404 "Python/bytecodes.c"
+            #line 1411 "Python/bytecodes.c"
             PyObject *cell = GETLOCAL(oparg);
             PyObject *oldobj = PyCell_GET(cell);
             PyCell_SET(cell, v);
             Py_XDECREF(oldobj);
-            #line 2013 "Python/generated_cases.c.h"
+            #line 2020 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
 
         TARGET(COPY_FREE_VARS) {
-            #line 1411 "Python/bytecodes.c"
+            #line 1418 "Python/bytecodes.c"
             /* Copy closure variables to free variables */
             PyCodeObject *co = frame->f_code;
             assert(PyFunction_Check(frame->f_funcobj));
                 PyObject *o = PyTuple_GET_ITEM(closure, i);
                 frame->localsplus[offset + i] = Py_NewRef(o);
             }
-            #line 2030 "Python/generated_cases.c.h"
+            #line 2037 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(BUILD_STRING) {
             PyObject **pieces = (stack_pointer - oparg);
             PyObject *str;
-            #line 1424 "Python/bytecodes.c"
+            #line 1431 "Python/bytecodes.c"
             str = _PyUnicode_JoinArray(&_Py_STR(empty), pieces, oparg);
-            #line 2039 "Python/generated_cases.c.h"
+            #line 2046 "Python/generated_cases.c.h"
             for (int _i = oparg; --_i >= 0;) {
                 Py_DECREF(pieces[_i]);
             }
-            #line 1426 "Python/bytecodes.c"
+            #line 1433 "Python/bytecodes.c"
             if (str == NULL) { STACK_SHRINK(oparg); goto error; }
-            #line 2045 "Python/generated_cases.c.h"
+            #line 2052 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_GROW(1);
             stack_pointer[-1] = str;
         TARGET(BUILD_TUPLE) {
             PyObject **values = (stack_pointer - oparg);
             PyObject *tup;
-            #line 1430 "Python/bytecodes.c"
+            #line 1437 "Python/bytecodes.c"
             tup = _PyTuple_FromArraySteal(values, oparg);
             if (tup == NULL) { STACK_SHRINK(oparg); goto error; }
-            #line 2058 "Python/generated_cases.c.h"
+            #line 2065 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_GROW(1);
             stack_pointer[-1] = tup;
         TARGET(BUILD_LIST) {
             PyObject **values = (stack_pointer - oparg);
             PyObject *list;
-            #line 1435 "Python/bytecodes.c"
+            #line 1442 "Python/bytecodes.c"
             list = _PyList_FromArraySteal(values, oparg);
             if (list == NULL) { STACK_SHRINK(oparg); goto error; }
-            #line 2071 "Python/generated_cases.c.h"
+            #line 2078 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_GROW(1);
             stack_pointer[-1] = list;
         TARGET(LIST_EXTEND) {
             PyObject *iterable = stack_pointer[-1];
             PyObject *list = stack_pointer[-(2 + (oparg-1))];
-            #line 1440 "Python/bytecodes.c"
+            #line 1447 "Python/bytecodes.c"
             PyObject *none_val = _PyList_Extend((PyListObject *)list, iterable);
             if (none_val == NULL) {
                 if (_PyErr_ExceptionMatches(tstate, PyExc_TypeError) &&
                           "Value after * must be an iterable, not %.200s",
                           Py_TYPE(iterable)->tp_name);
                 }
-            #line 2092 "Python/generated_cases.c.h"
+            #line 2099 "Python/generated_cases.c.h"
                 Py_DECREF(iterable);
-            #line 1451 "Python/bytecodes.c"
+            #line 1458 "Python/bytecodes.c"
                 if (true) goto pop_1_error;
             }
             assert(Py_IsNone(none_val));
-            #line 2098 "Python/generated_cases.c.h"
+            #line 2105 "Python/generated_cases.c.h"
             Py_DECREF(iterable);
             STACK_SHRINK(1);
             DISPATCH();
         TARGET(SET_UPDATE) {
             PyObject *iterable = stack_pointer[-1];
             PyObject *set = stack_pointer[-(2 + (oparg-1))];
-            #line 1458 "Python/bytecodes.c"
+            #line 1465 "Python/bytecodes.c"
             int err = _PySet_Update(set, iterable);
-            #line 2109 "Python/generated_cases.c.h"
+            #line 2116 "Python/generated_cases.c.h"
             Py_DECREF(iterable);
-            #line 1460 "Python/bytecodes.c"
+            #line 1467 "Python/bytecodes.c"
             if (err < 0) goto pop_1_error;
-            #line 2113 "Python/generated_cases.c.h"
+            #line 2120 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
         TARGET(BUILD_SET) {
             PyObject **values = (stack_pointer - oparg);
             PyObject *set;
-            #line 1464 "Python/bytecodes.c"
+            #line 1471 "Python/bytecodes.c"
             set = PySet_New(NULL);
             if (set == NULL)
                 goto error;
                 Py_DECREF(set);
                 if (true) { STACK_SHRINK(oparg); goto error; }
             }
-            #line 2136 "Python/generated_cases.c.h"
+            #line 2143 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_GROW(1);
             stack_pointer[-1] = set;
         TARGET(BUILD_MAP) {
             PyObject **values = (stack_pointer - oparg*2);
             PyObject *map;
-            #line 1481 "Python/bytecodes.c"
+            #line 1488 "Python/bytecodes.c"
             map = _PyDict_FromItems(
                     values, 2,
                     values+1, 2,
             if (map == NULL)
                 goto error;
 
-            #line 2154 "Python/generated_cases.c.h"
+            #line 2161 "Python/generated_cases.c.h"
             for (int _i = oparg*2; --_i >= 0;) {
                 Py_DECREF(values[_i]);
             }
-            #line 1489 "Python/bytecodes.c"
+            #line 1496 "Python/bytecodes.c"
             if (map == NULL) { STACK_SHRINK(oparg*2); goto error; }
-            #line 2160 "Python/generated_cases.c.h"
+            #line 2167 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg*2);
             STACK_GROW(1);
             stack_pointer[-1] = map;
         }
 
         TARGET(SETUP_ANNOTATIONS) {
-            #line 1493 "Python/bytecodes.c"
+            #line 1500 "Python/bytecodes.c"
             int err;
             PyObject *ann_dict;
             if (LOCALS() == NULL) {
                     Py_DECREF(ann_dict);
                 }
             }
-            #line 2208 "Python/generated_cases.c.h"
+            #line 2215 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
             PyObject *keys = stack_pointer[-1];
             PyObject **values = (stack_pointer - (1 + oparg));
             PyObject *map;
-            #line 1535 "Python/bytecodes.c"
+            #line 1542 "Python/bytecodes.c"
             if (!PyTuple_CheckExact(keys) ||
                 PyTuple_GET_SIZE(keys) != (Py_ssize_t)oparg) {
                 _PyErr_SetString(tstate, PyExc_SystemError,
             map = _PyDict_FromItems(
                     &PyTuple_GET_ITEM(keys, 0), 1,
                     values, 1, oparg);
-            #line 2226 "Python/generated_cases.c.h"
+            #line 2233 "Python/generated_cases.c.h"
             for (int _i = oparg; --_i >= 0;) {
                 Py_DECREF(values[_i]);
             }
             Py_DECREF(keys);
-            #line 1545 "Python/bytecodes.c"
+            #line 1552 "Python/bytecodes.c"
             if (map == NULL) { STACK_SHRINK(oparg); goto pop_1_error; }
-            #line 2233 "Python/generated_cases.c.h"
+            #line 2240 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             stack_pointer[-1] = map;
             DISPATCH();
 
         TARGET(DICT_UPDATE) {
             PyObject *update = stack_pointer[-1];
-            #line 1549 "Python/bytecodes.c"
+            #line 1556 "Python/bytecodes.c"
             PyObject *dict = PEEK(oparg + 1);  // update is still on the stack
             if (PyDict_Update(dict, update) < 0) {
                 if (_PyErr_ExceptionMatches(tstate, PyExc_AttributeError)) {
                                     "'%.200s' object is not a mapping",
                                     Py_TYPE(update)->tp_name);
                 }
-            #line 2249 "Python/generated_cases.c.h"
+            #line 2256 "Python/generated_cases.c.h"
                 Py_DECREF(update);
-            #line 1557 "Python/bytecodes.c"
+            #line 1564 "Python/bytecodes.c"
                 if (true) goto pop_1_error;
             }
-            #line 2254 "Python/generated_cases.c.h"
+            #line 2261 "Python/generated_cases.c.h"
             Py_DECREF(update);
             STACK_SHRINK(1);
             DISPATCH();
 
         TARGET(DICT_MERGE) {
             PyObject *update = stack_pointer[-1];
-            #line 1563 "Python/bytecodes.c"
+            #line 1570 "Python/bytecodes.c"
             PyObject *dict = PEEK(oparg + 1);  // update is still on the stack
 
             if (_PyDict_MergeEx(dict, update, 2) < 0) {
                 format_kwargs_error(tstate, PEEK(3 + oparg), update);
-            #line 2267 "Python/generated_cases.c.h"
+            #line 2274 "Python/generated_cases.c.h"
                 Py_DECREF(update);
-            #line 1568 "Python/bytecodes.c"
+            #line 1575 "Python/bytecodes.c"
                 if (true) goto pop_1_error;
             }
-            #line 2272 "Python/generated_cases.c.h"
+            #line 2279 "Python/generated_cases.c.h"
             Py_DECREF(update);
             STACK_SHRINK(1);
             PREDICT(CALL_FUNCTION_EX);
         TARGET(MAP_ADD) {
             PyObject *value = stack_pointer[-1];
             PyObject *key = stack_pointer[-2];
-            #line 1575 "Python/bytecodes.c"
+            #line 1582 "Python/bytecodes.c"
             PyObject *dict = PEEK(oparg + 2);  // key, value are still on the stack
             assert(PyDict_CheckExact(dict));
             /* dict[key] = value */
             // Do not DECREF INPUTS because the function steals the references
             if (_PyDict_SetItem_Take2((PyDictObject *)dict, key, value) != 0) goto pop_2_error;
-            #line 2288 "Python/generated_cases.c.h"
+            #line 2295 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             PREDICT(JUMP_BACKWARD);
             DISPATCH();
         }
 
         TARGET(INSTRUMENTED_LOAD_SUPER_ATTR) {
-            #line 1584 "Python/bytecodes.c"
+            #line 1591 "Python/bytecodes.c"
             _PySuperAttrCache *cache = (_PySuperAttrCache *)next_instr;
             // cancel out the decrement that will happen in LOAD_SUPER_ATTR; we
             // don't want to specialize instrumented instructions
             INCREMENT_ADAPTIVE_COUNTER(cache->counter);
             GO_TO_INSTRUCTION(LOAD_SUPER_ATTR);
-            #line 2301 "Python/generated_cases.c.h"
+            #line 2308 "Python/generated_cases.c.h"
         }
 
         TARGET(LOAD_SUPER_ATTR) {
             PyObject *global_super = stack_pointer[-3];
             PyObject *res2 = NULL;
             PyObject *res;
-            #line 1598 "Python/bytecodes.c"
+            #line 1605 "Python/bytecodes.c"
             PyObject *name = GETITEM(frame->f_code->co_names, oparg >> 2);
             int load_method = oparg & 1;
             #if ENABLE_SPECIALIZATION
                     }
                 }
             }
-            #line 2354 "Python/generated_cases.c.h"
+            #line 2361 "Python/generated_cases.c.h"
             Py_DECREF(global_super);
             Py_DECREF(class);
             Py_DECREF(self);
-            #line 1640 "Python/bytecodes.c"
+            #line 1647 "Python/bytecodes.c"
             if (super == NULL) goto pop_3_error;
             res = PyObject_GetAttr(super, name);
             Py_DECREF(super);
             if (res == NULL) goto pop_3_error;
-            #line 2363 "Python/generated_cases.c.h"
+            #line 2370 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             PyObject *global_super = stack_pointer[-3];
             PyObject *res2 = NULL;
             PyObject *res;
-            #line 1647 "Python/bytecodes.c"
+            #line 1654 "Python/bytecodes.c"
             assert(!(oparg & 1));
             DEOPT_IF(global_super != (PyObject *)&PySuper_Type, LOAD_SUPER_ATTR);
             DEOPT_IF(!PyType_Check(class), LOAD_SUPER_ATTR);
             STAT_INC(LOAD_SUPER_ATTR, hit);
             PyObject *name = GETITEM(frame->f_code->co_names, oparg >> 2);
             res = _PySuper_Lookup((PyTypeObject *)class, self, name, NULL);
-            #line 2385 "Python/generated_cases.c.h"
+            #line 2392 "Python/generated_cases.c.h"
             Py_DECREF(global_super);
             Py_DECREF(class);
             Py_DECREF(self);
-            #line 1654 "Python/bytecodes.c"
+            #line 1661 "Python/bytecodes.c"
             if (res == NULL) goto pop_3_error;
-            #line 2391 "Python/generated_cases.c.h"
+            #line 2398 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             PyObject *global_super = stack_pointer[-3];
             PyObject *res2;
             PyObject *res;
-            #line 1658 "Python/bytecodes.c"
+            #line 1665 "Python/bytecodes.c"
             assert(oparg & 1);
             DEOPT_IF(global_super != (PyObject *)&PySuper_Type, LOAD_SUPER_ATTR);
             DEOPT_IF(!PyType_Check(class), LOAD_SUPER_ATTR);
                 res = res2;
                 res2 = NULL;
             }
-            #line 2429 "Python/generated_cases.c.h"
+            #line 2436 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             stack_pointer[-2] = res2;
             PyObject *owner = stack_pointer[-1];
             PyObject *res2 = NULL;
             PyObject *res;
-            #line 1697 "Python/bytecodes.c"
+            #line 1704 "Python/bytecodes.c"
             #if ENABLE_SPECIALIZATION
             _PyAttrCache *cache = (_PyAttrCache *)next_instr;
             if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) {
 
                        NULL | meth | arg1 | ... | argN
                     */
-            #line 2477 "Python/generated_cases.c.h"
+            #line 2484 "Python/generated_cases.c.h"
                     Py_DECREF(owner);
-            #line 1731 "Python/bytecodes.c"
+            #line 1738 "Python/bytecodes.c"
                     if (meth == NULL) goto pop_1_error;
                     res2 = NULL;
                     res = meth;
             else {
                 /* Classic, pushes one value. */
                 res = PyObject_GetAttr(owner, name);
-            #line 2488 "Python/generated_cases.c.h"
+            #line 2495 "Python/generated_cases.c.h"
                 Py_DECREF(owner);
-            #line 1740 "Python/bytecodes.c"
+            #line 1747 "Python/bytecodes.c"
                 if (res == NULL) goto pop_1_error;
             }
-            #line 2493 "Python/generated_cases.c.h"
+            #line 2500 "Python/generated_cases.c.h"
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; }
             PyObject *res;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint16_t index = read_u16(&next_instr[3].cache);
-            #line 1745 "Python/bytecodes.c"
+            #line 1752 "Python/bytecodes.c"
             PyTypeObject *tp = Py_TYPE(owner);
             assert(type_version != 0);
             DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR);
             STAT_INC(LOAD_ATTR, hit);
             Py_INCREF(res);
             res2 = NULL;
-            #line 2520 "Python/generated_cases.c.h"
+            #line 2527 "Python/generated_cases.c.h"
             Py_DECREF(owner);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             PyObject *res;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint16_t index = read_u16(&next_instr[3].cache);
-            #line 1761 "Python/bytecodes.c"
+            #line 1768 "Python/bytecodes.c"
             DEOPT_IF(!PyModule_CheckExact(owner), LOAD_ATTR);
             PyDictObject *dict = (PyDictObject *)((PyModuleObject *)owner)->md_dict;
             assert(dict != NULL);
             STAT_INC(LOAD_ATTR, hit);
             Py_INCREF(res);
             res2 = NULL;
-            #line 2548 "Python/generated_cases.c.h"
+            #line 2555 "Python/generated_cases.c.h"
             Py_DECREF(owner);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             PyObject *res;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint16_t index = read_u16(&next_instr[3].cache);
-            #line 1777 "Python/bytecodes.c"
+            #line 1784 "Python/bytecodes.c"
             PyTypeObject *tp = Py_TYPE(owner);
             assert(type_version != 0);
             DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR);
             STAT_INC(LOAD_ATTR, hit);
             Py_INCREF(res);
             res2 = NULL;
-            #line 2590 "Python/generated_cases.c.h"
+            #line 2597 "Python/generated_cases.c.h"
             Py_DECREF(owner);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             PyObject *res;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint16_t index = read_u16(&next_instr[3].cache);
-            #line 1807 "Python/bytecodes.c"
+            #line 1814 "Python/bytecodes.c"
             PyTypeObject *tp = Py_TYPE(owner);
             assert(type_version != 0);
             DEOPT_IF(tp->tp_version_tag != type_version, LOAD_ATTR);
             STAT_INC(LOAD_ATTR, hit);
             Py_INCREF(res);
             res2 = NULL;
-            #line 2615 "Python/generated_cases.c.h"
+            #line 2622 "Python/generated_cases.c.h"
             Py_DECREF(owner);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             PyObject *res;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             PyObject *descr = read_obj(&next_instr[5].cache);
-            #line 1820 "Python/bytecodes.c"
+            #line 1827 "Python/bytecodes.c"
 
             DEOPT_IF(!PyType_Check(cls), LOAD_ATTR);
             DEOPT_IF(((PyTypeObject *)cls)->tp_version_tag != type_version,
             res = descr;
             assert(res != NULL);
             Py_INCREF(res);
-            #line 2642 "Python/generated_cases.c.h"
+            #line 2649 "Python/generated_cases.c.h"
             Py_DECREF(cls);
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint32_t func_version = read_u32(&next_instr[3].cache);
             PyObject *fget = read_obj(&next_instr[5].cache);
-            #line 1835 "Python/bytecodes.c"
+            #line 1842 "Python/bytecodes.c"
             DEOPT_IF(tstate->interp->eval_frame, LOAD_ATTR);
 
             PyTypeObject *cls = Py_TYPE(owner);
             JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR);
             frame->return_offset = 0;
             DISPATCH_INLINED(new_frame);
-            #line 2680 "Python/generated_cases.c.h"
+            #line 2687 "Python/generated_cases.c.h"
         }
 
         TARGET(LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN) {
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint32_t func_version = read_u32(&next_instr[3].cache);
             PyObject *getattribute = read_obj(&next_instr[5].cache);
-            #line 1861 "Python/bytecodes.c"
+            #line 1868 "Python/bytecodes.c"
             DEOPT_IF(tstate->interp->eval_frame, LOAD_ATTR);
             PyTypeObject *cls = Py_TYPE(owner);
             DEOPT_IF(cls->tp_version_tag != type_version, LOAD_ATTR);
             JUMPBY(INLINE_CACHE_ENTRIES_LOAD_ATTR);
             frame->return_offset = 0;
             DISPATCH_INLINED(new_frame);
-            #line 2714 "Python/generated_cases.c.h"
+            #line 2721 "Python/generated_cases.c.h"
         }
 
         TARGET(STORE_ATTR_INSTANCE_VALUE) {
             PyObject *value = stack_pointer[-2];
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint16_t index = read_u16(&next_instr[3].cache);
-            #line 1889 "Python/bytecodes.c"
+            #line 1896 "Python/bytecodes.c"
             PyTypeObject *tp = Py_TYPE(owner);
             assert(type_version != 0);
             DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR);
                 Py_DECREF(old_value);
             }
             Py_DECREF(owner);
-            #line 2740 "Python/generated_cases.c.h"
+            #line 2747 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             next_instr += 4;
             DISPATCH();
             PyObject *value = stack_pointer[-2];
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint16_t hint = read_u16(&next_instr[3].cache);
-            #line 1909 "Python/bytecodes.c"
+            #line 1916 "Python/bytecodes.c"
             PyTypeObject *tp = Py_TYPE(owner);
             assert(type_version != 0);
             DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR);
             /* PEP 509 */
             dict->ma_version_tag = new_version;
             Py_DECREF(owner);
-            #line 2790 "Python/generated_cases.c.h"
+            #line 2797 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             next_instr += 4;
             DISPATCH();
             PyObject *value = stack_pointer[-2];
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint16_t index = read_u16(&next_instr[3].cache);
-            #line 1950 "Python/bytecodes.c"
+            #line 1957 "Python/bytecodes.c"
             PyTypeObject *tp = Py_TYPE(owner);
             assert(type_version != 0);
             DEOPT_IF(tp->tp_version_tag != type_version, STORE_ATTR);
             *(PyObject **)addr = value;
             Py_XDECREF(old_value);
             Py_DECREF(owner);
-            #line 2811 "Python/generated_cases.c.h"
+            #line 2818 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             next_instr += 4;
             DISPATCH();
             PyObject *right = stack_pointer[-1];
             PyObject *left = stack_pointer[-2];
             PyObject *res;
-            #line 1969 "Python/bytecodes.c"
+            #line 1976 "Python/bytecodes.c"
             #if ENABLE_SPECIALIZATION
             _PyCompareOpCache *cache = (_PyCompareOpCache *)next_instr;
             if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) {
             #endif  /* ENABLE_SPECIALIZATION */
             assert((oparg >> 4) <= Py_GE);
             res = PyObject_RichCompare(left, right, oparg>>4);
-            #line 2836 "Python/generated_cases.c.h"
+            #line 2843 "Python/generated_cases.c.h"
             Py_DECREF(left);
             Py_DECREF(right);
-            #line 1982 "Python/bytecodes.c"
+            #line 1989 "Python/bytecodes.c"
             if (res == NULL) goto pop_2_error;
-            #line 2841 "Python/generated_cases.c.h"
+            #line 2848 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             next_instr += 1;
             PyObject *right = stack_pointer[-1];
             PyObject *left = stack_pointer[-2];
             PyObject *res;
-            #line 1986 "Python/bytecodes.c"
+            #line 1993 "Python/bytecodes.c"
             DEOPT_IF(!PyFloat_CheckExact(left), COMPARE_OP);
             DEOPT_IF(!PyFloat_CheckExact(right), COMPARE_OP);
             STAT_INC(COMPARE_OP, hit);
             _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc);
             _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc);
             res = (sign_ish & oparg) ? Py_True : Py_False;
-            #line 2863 "Python/generated_cases.c.h"
+            #line 2870 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             next_instr += 1;
             PyObject *right = stack_pointer[-1];
             PyObject *left = stack_pointer[-2];
             PyObject *res;
-            #line 2000 "Python/bytecodes.c"
+            #line 2007 "Python/bytecodes.c"
             DEOPT_IF(!PyLong_CheckExact(left), COMPARE_OP);
             DEOPT_IF(!PyLong_CheckExact(right), COMPARE_OP);
             DEOPT_IF(!_PyLong_IsCompact((PyLongObject *)left), COMPARE_OP);
             _Py_DECREF_SPECIALIZED(left, (destructor)PyObject_Free);
             _Py_DECREF_SPECIALIZED(right, (destructor)PyObject_Free);
             res = (sign_ish & oparg) ? Py_True : Py_False;
-            #line 2889 "Python/generated_cases.c.h"
+            #line 2896 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             next_instr += 1;
             PyObject *right = stack_pointer[-1];
             PyObject *left = stack_pointer[-2];
             PyObject *res;
-            #line 2018 "Python/bytecodes.c"
+            #line 2025 "Python/bytecodes.c"
             DEOPT_IF(!PyUnicode_CheckExact(left), COMPARE_OP);
             DEOPT_IF(!PyUnicode_CheckExact(right), COMPARE_OP);
             STAT_INC(COMPARE_OP, hit);
             assert((oparg & 0xf) == COMPARISON_NOT_EQUALS || (oparg & 0xf) == COMPARISON_EQUALS);
             assert(COMPARISON_NOT_EQUALS + 1 == COMPARISON_EQUALS);
             res = ((COMPARISON_NOT_EQUALS + eq) & oparg) ? Py_True : Py_False;
-            #line 2912 "Python/generated_cases.c.h"
+            #line 2919 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             next_instr += 1;
             PyObject *right = stack_pointer[-1];
             PyObject *left = stack_pointer[-2];
             PyObject *b;
-            #line 2032 "Python/bytecodes.c"
+            #line 2039 "Python/bytecodes.c"
             int res = Py_Is(left, right) ^ oparg;
-            #line 2925 "Python/generated_cases.c.h"
+            #line 2932 "Python/generated_cases.c.h"
             Py_DECREF(left);
             Py_DECREF(right);
-            #line 2034 "Python/bytecodes.c"
+            #line 2041 "Python/bytecodes.c"
             b = res ? Py_True : Py_False;
-            #line 2930 "Python/generated_cases.c.h"
+            #line 2937 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = b;
             DISPATCH();
             PyObject *right = stack_pointer[-1];
             PyObject *left = stack_pointer[-2];
             PyObject *b;
-            #line 2038 "Python/bytecodes.c"
+            #line 2045 "Python/bytecodes.c"
             int res = PySequence_Contains(right, left);
-            #line 2942 "Python/generated_cases.c.h"
+            #line 2949 "Python/generated_cases.c.h"
             Py_DECREF(left);
             Py_DECREF(right);
-            #line 2040 "Python/bytecodes.c"
+            #line 2047 "Python/bytecodes.c"
             if (res < 0) goto pop_2_error;
             b = (res ^ oparg) ? Py_True : Py_False;
-            #line 2948 "Python/generated_cases.c.h"
+            #line 2955 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = b;
             DISPATCH();
             PyObject *exc_value = stack_pointer[-2];
             PyObject *rest;
             PyObject *match;
-            #line 2045 "Python/bytecodes.c"
+            #line 2052 "Python/bytecodes.c"
             if (check_except_star_type_valid(tstate, match_type) < 0) {
-            #line 2961 "Python/generated_cases.c.h"
+            #line 2968 "Python/generated_cases.c.h"
                 Py_DECREF(exc_value);
                 Py_DECREF(match_type);
-            #line 2047 "Python/bytecodes.c"
+            #line 2054 "Python/bytecodes.c"
                 if (true) goto pop_2_error;
             }
 
             rest = NULL;
             int res = exception_group_match(exc_value, match_type,
                                             &match, &rest);
-            #line 2972 "Python/generated_cases.c.h"
+            #line 2979 "Python/generated_cases.c.h"
             Py_DECREF(exc_value);
             Py_DECREF(match_type);
-            #line 2055 "Python/bytecodes.c"
+            #line 2062 "Python/bytecodes.c"
             if (res < 0) goto pop_2_error;
 
             assert((match == NULL) == (rest == NULL));
             if (!Py_IsNone(match)) {
                 PyErr_SetHandledException(match);
             }
-            #line 2984 "Python/generated_cases.c.h"
+            #line 2991 "Python/generated_cases.c.h"
             stack_pointer[-1] = match;
             stack_pointer[-2] = rest;
             DISPATCH();
             PyObject *right = stack_pointer[-1];
             PyObject *left = stack_pointer[-2];
             PyObject *b;
-            #line 2066 "Python/bytecodes.c"
+            #line 2073 "Python/bytecodes.c"
             assert(PyExceptionInstance_Check(left));
             if (check_except_type_valid(tstate, right) < 0) {
-            #line 2997 "Python/generated_cases.c.h"
+            #line 3004 "Python/generated_cases.c.h"
                  Py_DECREF(right);
-            #line 2069 "Python/bytecodes.c"
+            #line 2076 "Python/bytecodes.c"
                  if (true) goto pop_1_error;
             }
 
             int res = PyErr_GivenExceptionMatches(left, right);
-            #line 3004 "Python/generated_cases.c.h"
+            #line 3011 "Python/generated_cases.c.h"
             Py_DECREF(right);
-            #line 2074 "Python/bytecodes.c"
+            #line 2081 "Python/bytecodes.c"
             b = res ? Py_True : Py_False;
-            #line 3008 "Python/generated_cases.c.h"
+            #line 3015 "Python/generated_cases.c.h"
             stack_pointer[-1] = b;
             DISPATCH();
         }
             PyObject *fromlist = stack_pointer[-1];
             PyObject *level = stack_pointer[-2];
             PyObject *res;
-            #line 2078 "Python/bytecodes.c"
+            #line 2085 "Python/bytecodes.c"
             PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             res = import_name(tstate, frame, name, fromlist, level);
-            #line 3020 "Python/generated_cases.c.h"
+            #line 3027 "Python/generated_cases.c.h"
             Py_DECREF(level);
             Py_DECREF(fromlist);
-            #line 2081 "Python/bytecodes.c"
+            #line 2088 "Python/bytecodes.c"
             if (res == NULL) goto pop_2_error;
-            #line 3025 "Python/generated_cases.c.h"
+            #line 3032 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             DISPATCH();
         TARGET(IMPORT_FROM) {
             PyObject *from = stack_pointer[-1];
             PyObject *res;
-            #line 2085 "Python/bytecodes.c"
+            #line 2092 "Python/bytecodes.c"
             PyObject *name = GETITEM(frame->f_code->co_names, oparg);
             res = import_from(tstate, from, name);
             if (res == NULL) goto error;
-            #line 3038 "Python/generated_cases.c.h"
+            #line 3045 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = res;
             DISPATCH();
         }
 
         TARGET(JUMP_FORWARD) {
-            #line 2091 "Python/bytecodes.c"
+            #line 2098 "Python/bytecodes.c"
             JUMPBY(oparg);
-            #line 3047 "Python/generated_cases.c.h"
+            #line 3054 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(JUMP_BACKWARD) {
             PREDICTED(JUMP_BACKWARD);
-            #line 2095 "Python/bytecodes.c"
+            #line 2102 "Python/bytecodes.c"
             assert(oparg < INSTR_OFFSET());
             JUMPBY(-oparg);
-            #line 3056 "Python/generated_cases.c.h"
+            #line 3063 "Python/generated_cases.c.h"
             CHECK_EVAL_BREAKER();
             DISPATCH();
         }
         TARGET(POP_JUMP_IF_FALSE) {
             PREDICTED(POP_JUMP_IF_FALSE);
             PyObject *cond = stack_pointer[-1];
-            #line 2101 "Python/bytecodes.c"
+            #line 2108 "Python/bytecodes.c"
             if (Py_IsFalse(cond)) {
                 JUMPBY(oparg);
             }
             else if (!Py_IsTrue(cond)) {
                 int err = PyObject_IsTrue(cond);
-            #line 3070 "Python/generated_cases.c.h"
+            #line 3077 "Python/generated_cases.c.h"
                 Py_DECREF(cond);
-            #line 2107 "Python/bytecodes.c"
+            #line 2114 "Python/bytecodes.c"
                 if (err == 0) {
                     JUMPBY(oparg);
                 }
                     if (err < 0) goto pop_1_error;
                 }
             }
-            #line 3080 "Python/generated_cases.c.h"
+            #line 3087 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
 
         TARGET(POP_JUMP_IF_TRUE) {
             PyObject *cond = stack_pointer[-1];
-            #line 2117 "Python/bytecodes.c"
+            #line 2124 "Python/bytecodes.c"
             if (Py_IsTrue(cond)) {
                 JUMPBY(oparg);
             }
             else if (!Py_IsFalse(cond)) {
                 int err = PyObject_IsTrue(cond);
-            #line 3093 "Python/generated_cases.c.h"
+            #line 3100 "Python/generated_cases.c.h"
                 Py_DECREF(cond);
-            #line 2123 "Python/bytecodes.c"
+            #line 2130 "Python/bytecodes.c"
                 if (err > 0) {
                     JUMPBY(oparg);
                 }
                     if (err < 0) goto pop_1_error;
                 }
             }
-            #line 3103 "Python/generated_cases.c.h"
+            #line 3110 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
 
         TARGET(POP_JUMP_IF_NOT_NONE) {
             PyObject *value = stack_pointer[-1];
-            #line 2133 "Python/bytecodes.c"
+            #line 2140 "Python/bytecodes.c"
             if (!Py_IsNone(value)) {
-            #line 3112 "Python/generated_cases.c.h"
+            #line 3119 "Python/generated_cases.c.h"
                 Py_DECREF(value);
-            #line 2135 "Python/bytecodes.c"
+            #line 2142 "Python/bytecodes.c"
                 JUMPBY(oparg);
             }
-            #line 3117 "Python/generated_cases.c.h"
+            #line 3124 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
 
         TARGET(POP_JUMP_IF_NONE) {
             PyObject *value = stack_pointer[-1];
-            #line 2140 "Python/bytecodes.c"
+            #line 2147 "Python/bytecodes.c"
             if (Py_IsNone(value)) {
                 JUMPBY(oparg);
             }
             else {
-            #line 3129 "Python/generated_cases.c.h"
+            #line 3136 "Python/generated_cases.c.h"
                 Py_DECREF(value);
-            #line 2145 "Python/bytecodes.c"
+            #line 2152 "Python/bytecodes.c"
             }
-            #line 3133 "Python/generated_cases.c.h"
+            #line 3140 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             DISPATCH();
         }
 
         TARGET(JUMP_BACKWARD_NO_INTERRUPT) {
-            #line 2149 "Python/bytecodes.c"
+            #line 2156 "Python/bytecodes.c"
             /* This bytecode is used in the `yield from` or `await` loop.
              * If there is an interrupt, we want it handled in the innermost
              * generator or coroutine, so we deliberately do not check it here.
              * (see bpo-30039).
              */
             JUMPBY(-oparg);
-            #line 3146 "Python/generated_cases.c.h"
+            #line 3153 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(GET_LEN) {
             PyObject *obj = stack_pointer[-1];
             PyObject *len_o;
-            #line 2158 "Python/bytecodes.c"
+            #line 2165 "Python/bytecodes.c"
             // PUSH(len(TOS))
             Py_ssize_t len_i = PyObject_Length(obj);
             if (len_i < 0) goto error;
             len_o = PyLong_FromSsize_t(len_i);
             if (len_o == NULL) goto error;
-            #line 3159 "Python/generated_cases.c.h"
+            #line 3166 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = len_o;
             DISPATCH();
             PyObject *type = stack_pointer[-2];
             PyObject *subject = stack_pointer[-3];
             PyObject *attrs;
-            #line 2166 "Python/bytecodes.c"
+            #line 2173 "Python/bytecodes.c"
             // Pop TOS and TOS1. Set TOS to a tuple of attributes on success, or
             // None on failure.
             assert(PyTuple_CheckExact(names));
             attrs = match_class(tstate, subject, type, oparg, names);
-            #line 3175 "Python/generated_cases.c.h"
+            #line 3182 "Python/generated_cases.c.h"
             Py_DECREF(subject);
             Py_DECREF(type);
             Py_DECREF(names);
-            #line 2171 "Python/bytecodes.c"
+            #line 2178 "Python/bytecodes.c"
             if (attrs) {
                 assert(PyTuple_CheckExact(attrs));  // Success!
             }
                 if (_PyErr_Occurred(tstate)) goto pop_3_error;
                 attrs = Py_None;  // Failure!
             }
-            #line 3187 "Python/generated_cases.c.h"
+            #line 3194 "Python/generated_cases.c.h"
             STACK_SHRINK(2);
             stack_pointer[-1] = attrs;
             DISPATCH();
         TARGET(MATCH_MAPPING) {
             PyObject *subject = stack_pointer[-1];
             PyObject *res;
-            #line 2181 "Python/bytecodes.c"
+            #line 2188 "Python/bytecodes.c"
             int match = Py_TYPE(subject)->tp_flags & Py_TPFLAGS_MAPPING;
             res = match ? Py_True : Py_False;
-            #line 3199 "Python/generated_cases.c.h"
+            #line 3206 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = res;
             PREDICT(POP_JUMP_IF_FALSE);
         TARGET(MATCH_SEQUENCE) {
             PyObject *subject = stack_pointer[-1];
             PyObject *res;
-            #line 2187 "Python/bytecodes.c"
+            #line 2194 "Python/bytecodes.c"
             int match = Py_TYPE(subject)->tp_flags & Py_TPFLAGS_SEQUENCE;
             res = match ? Py_True : Py_False;
-            #line 3212 "Python/generated_cases.c.h"
+            #line 3219 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = res;
             PREDICT(POP_JUMP_IF_FALSE);
             PyObject *keys = stack_pointer[-1];
             PyObject *subject = stack_pointer[-2];
             PyObject *values_or_none;
-            #line 2193 "Python/bytecodes.c"
+            #line 2200 "Python/bytecodes.c"
             // On successful match, PUSH(values). Otherwise, PUSH(None).
             values_or_none = match_keys(tstate, subject, keys);
             if (values_or_none == NULL) goto error;
-            #line 3227 "Python/generated_cases.c.h"
+            #line 3234 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = values_or_none;
             DISPATCH();
         TARGET(GET_ITER) {
             PyObject *iterable = stack_pointer[-1];
             PyObject *iter;
-            #line 2199 "Python/bytecodes.c"
+            #line 2206 "Python/bytecodes.c"
             /* before: [obj]; after [getiter(obj)] */
             iter = PyObject_GetIter(iterable);
-            #line 3239 "Python/generated_cases.c.h"
+            #line 3246 "Python/generated_cases.c.h"
             Py_DECREF(iterable);
-            #line 2202 "Python/bytecodes.c"
+            #line 2209 "Python/bytecodes.c"
             if (iter == NULL) goto pop_1_error;
-            #line 3243 "Python/generated_cases.c.h"
+            #line 3250 "Python/generated_cases.c.h"
             stack_pointer[-1] = iter;
             DISPATCH();
         }
         TARGET(GET_YIELD_FROM_ITER) {
             PyObject *iterable = stack_pointer[-1];
             PyObject *iter;
-            #line 2206 "Python/bytecodes.c"
+            #line 2213 "Python/bytecodes.c"
             /* before: [obj]; after [getiter(obj)] */
             if (PyCoro_CheckExact(iterable)) {
                 /* `iterable` is a coroutine */
                 if (iter == NULL) {
                     goto error;
                 }
-            #line 3274 "Python/generated_cases.c.h"
+            #line 3281 "Python/generated_cases.c.h"
                 Py_DECREF(iterable);
-            #line 2229 "Python/bytecodes.c"
+            #line 2236 "Python/bytecodes.c"
             }
-            #line 3278 "Python/generated_cases.c.h"
+            #line 3285 "Python/generated_cases.c.h"
             stack_pointer[-1] = iter;
             PREDICT(LOAD_CONST);
             DISPATCH();
             static_assert(INLINE_CACHE_ENTRIES_FOR_ITER == 1, "incorrect cache size");
             PyObject *iter = stack_pointer[-1];
             PyObject *next;
-            #line 2248 "Python/bytecodes.c"
+            #line 2255 "Python/bytecodes.c"
             #if ENABLE_SPECIALIZATION
             _PyForIterCache *cache = (_PyForIterCache *)next_instr;
             if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) {
                 DISPATCH();
             }
             // Common case: no jump, leave it to the code generator
-            #line 3320 "Python/generated_cases.c.h"
+            #line 3327 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = next;
             next_instr += 1;
         }
 
         TARGET(INSTRUMENTED_FOR_ITER) {
-            #line 2281 "Python/bytecodes.c"
+            #line 2288 "Python/bytecodes.c"
             _Py_CODEUNIT *here = next_instr-1;
             _Py_CODEUNIT *target;
             PyObject *iter = TOP();
                 target = next_instr + INLINE_CACHE_ENTRIES_FOR_ITER + oparg + 1;
             }
             INSTRUMENTED_JUMP(here, target, PY_MONITORING_EVENT_BRANCH);
-            #line 3354 "Python/generated_cases.c.h"
+            #line 3361 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(FOR_ITER_LIST) {
             PyObject *iter = stack_pointer[-1];
             PyObject *next;
-            #line 2309 "Python/bytecodes.c"
+            #line 2316 "Python/bytecodes.c"
             DEOPT_IF(Py_TYPE(iter) != &PyListIter_Type, FOR_ITER);
             _PyListIterObject *it = (_PyListIterObject *)iter;
             STAT_INC(FOR_ITER, hit);
             DISPATCH();
         end_for_iter_list:
             // Common case: no jump, leave it to the code generator
-            #line 3381 "Python/generated_cases.c.h"
+            #line 3388 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = next;
             next_instr += 1;
         TARGET(FOR_ITER_TUPLE) {
             PyObject *iter = stack_pointer[-1];
             PyObject *next;
-            #line 2331 "Python/bytecodes.c"
+            #line 2338 "Python/bytecodes.c"
             _PyTupleIterObject *it = (_PyTupleIterObject *)iter;
             DEOPT_IF(Py_TYPE(it) != &PyTupleIter_Type, FOR_ITER);
             STAT_INC(FOR_ITER, hit);
             DISPATCH();
         end_for_iter_tuple:
             // Common case: no jump, leave it to the code generator
-            #line 3411 "Python/generated_cases.c.h"
+            #line 3418 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = next;
             next_instr += 1;
         TARGET(FOR_ITER_RANGE) {
             PyObject *iter = stack_pointer[-1];
             PyObject *next;
-            #line 2353 "Python/bytecodes.c"
+            #line 2360 "Python/bytecodes.c"
             _PyRangeIterObject *r = (_PyRangeIterObject *)iter;
             DEOPT_IF(Py_TYPE(r) != &PyRangeIter_Type, FOR_ITER);
             STAT_INC(FOR_ITER, hit);
             if (next == NULL) {
                 goto error;
             }
-            #line 3439 "Python/generated_cases.c.h"
+            #line 3446 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = next;
             next_instr += 1;
 
         TARGET(FOR_ITER_GEN) {
             PyObject *iter = stack_pointer[-1];
-            #line 2373 "Python/bytecodes.c"
+            #line 2380 "Python/bytecodes.c"
             DEOPT_IF(tstate->interp->eval_frame, FOR_ITER);
             PyGenObject *gen = (PyGenObject *)iter;
             DEOPT_IF(Py_TYPE(gen) != &PyGen_Type, FOR_ITER);
             assert(next_instr[oparg].op.code == END_FOR ||
                    next_instr[oparg].op.code == INSTRUMENTED_END_FOR);
             DISPATCH_INLINED(gen_frame);
-            #line 3464 "Python/generated_cases.c.h"
+            #line 3471 "Python/generated_cases.c.h"
         }
 
         TARGET(BEFORE_ASYNC_WITH) {
             PyObject *mgr = stack_pointer[-1];
             PyObject *exit;
             PyObject *res;
-            #line 2391 "Python/bytecodes.c"
+            #line 2398 "Python/bytecodes.c"
             PyObject *enter = _PyObject_LookupSpecial(mgr, &_Py_ID(__aenter__));
             if (enter == NULL) {
                 if (!_PyErr_Occurred(tstate)) {
                 Py_DECREF(enter);
                 goto error;
             }
-            #line 3494 "Python/generated_cases.c.h"
+            #line 3501 "Python/generated_cases.c.h"
             Py_DECREF(mgr);
-            #line 2414 "Python/bytecodes.c"
+            #line 2421 "Python/bytecodes.c"
             res = _PyObject_CallNoArgs(enter);
             Py_DECREF(enter);
             if (res == NULL) {
                 Py_DECREF(exit);
                 if (true) goto pop_1_error;
             }
-            #line 3503 "Python/generated_cases.c.h"
+            #line 3510 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = res;
             stack_pointer[-2] = exit;
             PyObject *mgr = stack_pointer[-1];
             PyObject *exit;
             PyObject *res;
-            #line 2424 "Python/bytecodes.c"
+            #line 2431 "Python/bytecodes.c"
             /* pop the context manager, push its __exit__ and the
              * value returned from calling its __enter__
              */
                 Py_DECREF(enter);
                 goto error;
             }
-            #line 3541 "Python/generated_cases.c.h"
+            #line 3548 "Python/generated_cases.c.h"
             Py_DECREF(mgr);
-            #line 2450 "Python/bytecodes.c"
+            #line 2457 "Python/bytecodes.c"
             res = _PyObject_CallNoArgs(enter);
             Py_DECREF(enter);
             if (res == NULL) {
                 Py_DECREF(exit);
                 if (true) goto pop_1_error;
             }
-            #line 3550 "Python/generated_cases.c.h"
+            #line 3557 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = res;
             stack_pointer[-2] = exit;
             PyObject *lasti = stack_pointer[-3];
             PyObject *exit_func = stack_pointer[-4];
             PyObject *res;
-            #line 2459 "Python/bytecodes.c"
+            #line 2466 "Python/bytecodes.c"
             /* At the top of the stack are 4 values:
                - val: TOP = exc_info()
                - unused: SECOND = previous exception
             res = PyObject_Vectorcall(exit_func, stack + 1,
                     3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
             if (res == NULL) goto error;
-            #line 3583 "Python/generated_cases.c.h"
+            #line 3590 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = res;
             DISPATCH();
         TARGET(PUSH_EXC_INFO) {
             PyObject *new_exc = stack_pointer[-1];
             PyObject *prev_exc;
-            #line 2482 "Python/bytecodes.c"
+            #line 2489 "Python/bytecodes.c"
             _PyErr_StackItem *exc_info = tstate->exc_info;
             if (exc_info->exc_value != NULL) {
                 prev_exc = exc_info->exc_value;
             }
             assert(PyExceptionInstance_Check(new_exc));
             exc_info->exc_value = Py_NewRef(new_exc);
-            #line 3602 "Python/generated_cases.c.h"
+            #line 3609 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = new_exc;
             stack_pointer[-2] = prev_exc;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             uint32_t keys_version = read_u32(&next_instr[3].cache);
             PyObject *descr = read_obj(&next_instr[5].cache);
-            #line 2494 "Python/bytecodes.c"
+            #line 2501 "Python/bytecodes.c"
             /* Cached method object */
             PyTypeObject *self_cls = Py_TYPE(self);
             assert(type_version != 0);
             assert(_PyType_HasFeature(Py_TYPE(res2), Py_TPFLAGS_METHOD_DESCRIPTOR));
             res = self;
             assert(oparg & 1);
-            #line 3633 "Python/generated_cases.c.h"
+            #line 3640 "Python/generated_cases.c.h"
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; }
             PyObject *res;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             PyObject *descr = read_obj(&next_instr[5].cache);
-            #line 2513 "Python/bytecodes.c"
+            #line 2520 "Python/bytecodes.c"
             PyTypeObject *self_cls = Py_TYPE(self);
             DEOPT_IF(self_cls->tp_version_tag != type_version, LOAD_ATTR);
             assert(self_cls->tp_dictoffset == 0);
             res2 = Py_NewRef(descr);
             res = self;
             assert(oparg & 1);
-            #line 3657 "Python/generated_cases.c.h"
+            #line 3664 "Python/generated_cases.c.h"
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; }
             PyObject *res;
             uint32_t type_version = read_u32(&next_instr[1].cache);
             PyObject *descr = read_obj(&next_instr[5].cache);
-            #line 2525 "Python/bytecodes.c"
+            #line 2532 "Python/bytecodes.c"
             PyTypeObject *self_cls = Py_TYPE(self);
             DEOPT_IF(self_cls->tp_version_tag != type_version, LOAD_ATTR);
             Py_ssize_t dictoffset = self_cls->tp_dictoffset;
             res2 = Py_NewRef(descr);
             res = self;
             assert(oparg & 1);
-            #line 3685 "Python/generated_cases.c.h"
+            #line 3692 "Python/generated_cases.c.h"
             STACK_GROW(((oparg & 1) ? 1 : 0));
             stack_pointer[-1] = res;
             if (oparg & 1) { stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))] = res2; }
         }
 
         TARGET(KW_NAMES) {
-            #line 2541 "Python/bytecodes.c"
+            #line 2548 "Python/bytecodes.c"
             assert(kwnames == NULL);
             assert(oparg < PyTuple_GET_SIZE(frame->f_code->co_consts));
             kwnames = GETITEM(frame->f_code->co_consts, oparg);
-            #line 3698 "Python/generated_cases.c.h"
+            #line 3705 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(INSTRUMENTED_CALL) {
-            #line 2547 "Python/bytecodes.c"
+            #line 2554 "Python/bytecodes.c"
             int is_meth = PEEK(oparg+2) != NULL;
             int total_args = oparg + is_meth;
             PyObject *function = PEEK(total_args + 1);
             _PyCallCache *cache = (_PyCallCache *)next_instr;
             INCREMENT_ADAPTIVE_COUNTER(cache->counter);
             GO_TO_INSTRUCTION(CALL);
-            #line 3716 "Python/generated_cases.c.h"
+            #line 3723 "Python/generated_cases.c.h"
         }
 
         TARGET(CALL) {
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2592 "Python/bytecodes.c"
+            #line 2599 "Python/bytecodes.c"
             int is_meth = method != NULL;
             int total_args = oparg;
             if (is_meth) {
                 Py_DECREF(args[i]);
             }
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 3808 "Python/generated_cases.c.h"
+            #line 3815 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
         TARGET(CALL_BOUND_METHOD_EXACT_ARGS) {
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
-            #line 2680 "Python/bytecodes.c"
+            #line 2687 "Python/bytecodes.c"
             DEOPT_IF(method != NULL, CALL);
             DEOPT_IF(Py_TYPE(callable) != &PyMethod_Type, CALL);
             STAT_INC(CALL, hit);
             PEEK(oparg + 2) = Py_NewRef(meth);  // method
             Py_DECREF(callable);
             GO_TO_INSTRUCTION(CALL_PY_EXACT_ARGS);
-            #line 3830 "Python/generated_cases.c.h"
+            #line 3837 "Python/generated_cases.c.h"
         }
 
         TARGET(CALL_PY_EXACT_ARGS) {
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             uint32_t func_version = read_u32(&next_instr[1].cache);
-            #line 2692 "Python/bytecodes.c"
+            #line 2699 "Python/bytecodes.c"
             assert(kwnames == NULL);
             DEOPT_IF(tstate->interp->eval_frame, CALL);
             int is_meth = method != NULL;
             JUMPBY(INLINE_CACHE_ENTRIES_CALL);
             frame->return_offset = 0;
             DISPATCH_INLINED(new_frame);
-            #line 3865 "Python/generated_cases.c.h"
+            #line 3872 "Python/generated_cases.c.h"
         }
 
         TARGET(CALL_PY_WITH_DEFAULTS) {
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             uint32_t func_version = read_u32(&next_instr[1].cache);
-            #line 2720 "Python/bytecodes.c"
+            #line 2727 "Python/bytecodes.c"
             assert(kwnames == NULL);
             DEOPT_IF(tstate->interp->eval_frame, CALL);
             int is_meth = method != NULL;
             JUMPBY(INLINE_CACHE_ENTRIES_CALL);
             frame->return_offset = 0;
             DISPATCH_INLINED(new_frame);
-            #line 3909 "Python/generated_cases.c.h"
+            #line 3916 "Python/generated_cases.c.h"
         }
 
         TARGET(CALL_NO_KW_TYPE_1) {
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *null = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2758 "Python/bytecodes.c"
+            #line 2765 "Python/bytecodes.c"
             assert(kwnames == NULL);
             assert(oparg == 1);
             DEOPT_IF(null != NULL, CALL);
             res = Py_NewRef(Py_TYPE(obj));
             Py_DECREF(obj);
             Py_DECREF(&PyType_Type);  // I.e., callable
-            #line 3927 "Python/generated_cases.c.h"
+            #line 3934 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *null = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2770 "Python/bytecodes.c"
+            #line 2777 "Python/bytecodes.c"
             assert(kwnames == NULL);
             assert(oparg == 1);
             DEOPT_IF(null != NULL, CALL);
             Py_DECREF(arg);
             Py_DECREF(&PyUnicode_Type);  // I.e., callable
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 3951 "Python/generated_cases.c.h"
+            #line 3958 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *null = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2784 "Python/bytecodes.c"
+            #line 2791 "Python/bytecodes.c"
             assert(kwnames == NULL);
             assert(oparg == 1);
             DEOPT_IF(null != NULL, CALL);
             Py_DECREF(arg);
             Py_DECREF(&PyTuple_Type);  // I.e., tuple
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 3976 "Python/generated_cases.c.h"
+            #line 3983 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2798 "Python/bytecodes.c"
+            #line 2805 "Python/bytecodes.c"
             int is_meth = method != NULL;
             int total_args = oparg;
             if (is_meth) {
             }
             Py_DECREF(tp);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4012 "Python/generated_cases.c.h"
+            #line 4019 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2823 "Python/bytecodes.c"
+            #line 2830 "Python/bytecodes.c"
             /* Builtin METH_O functions */
             assert(kwnames == NULL);
             int is_meth = method != NULL;
             Py_DECREF(arg);
             Py_DECREF(callable);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4054 "Python/generated_cases.c.h"
+            #line 4061 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2854 "Python/bytecodes.c"
+            #line 2861 "Python/bytecodes.c"
             /* Builtin METH_FASTCALL functions, without keywords */
             assert(kwnames == NULL);
             int is_meth = method != NULL;
                    'invalid'). In those cases an exception is set, so we must
                    handle it.
                 */
-            #line 4100 "Python/generated_cases.c.h"
+            #line 4107 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2889 "Python/bytecodes.c"
+            #line 2896 "Python/bytecodes.c"
             /* Builtin METH_FASTCALL | METH_KEYWORDS functions */
             int is_meth = method != NULL;
             int total_args = oparg;
             }
             Py_DECREF(callable);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4146 "Python/generated_cases.c.h"
+            #line 4153 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2924 "Python/bytecodes.c"
+            #line 2931 "Python/bytecodes.c"
             assert(kwnames == NULL);
             /* len(o) */
             int is_meth = method != NULL;
             Py_DECREF(callable);
             Py_DECREF(arg);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4185 "Python/generated_cases.c.h"
+            #line 4192 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject *callable = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 2951 "Python/bytecodes.c"
+            #line 2958 "Python/bytecodes.c"
             assert(kwnames == NULL);
             /* isinstance(o, o2) */
             int is_meth = method != NULL;
             Py_DECREF(cls);
             Py_DECREF(callable);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4225 "Python/generated_cases.c.h"
+            #line 4232 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject **args = (stack_pointer - oparg);
             PyObject *self = stack_pointer[-(1 + oparg)];
             PyObject *method = stack_pointer[-(2 + oparg)];
-            #line 2981 "Python/bytecodes.c"
+            #line 2988 "Python/bytecodes.c"
             assert(kwnames == NULL);
             assert(oparg == 1);
             assert(method != NULL);
             JUMPBY(INLINE_CACHE_ENTRIES_CALL + 1);
             assert(next_instr[-1].op.code == POP_TOP);
             DISPATCH();
-            #line 4255 "Python/generated_cases.c.h"
+            #line 4262 "Python/generated_cases.c.h"
         }
 
         TARGET(CALL_NO_KW_METHOD_DESCRIPTOR_O) {
             PyObject **args = (stack_pointer - oparg);
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 3001 "Python/bytecodes.c"
+            #line 3008 "Python/bytecodes.c"
             assert(kwnames == NULL);
             int is_meth = method != NULL;
             int total_args = oparg;
             Py_DECREF(arg);
             Py_DECREF(callable);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4293 "Python/generated_cases.c.h"
+            #line 4300 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject **args = (stack_pointer - oparg);
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 3035 "Python/bytecodes.c"
+            #line 3042 "Python/bytecodes.c"
             int is_meth = method != NULL;
             int total_args = oparg;
             if (is_meth) {
             }
             Py_DECREF(callable);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4335 "Python/generated_cases.c.h"
+            #line 4342 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject **args = (stack_pointer - oparg);
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 3067 "Python/bytecodes.c"
+            #line 3074 "Python/bytecodes.c"
             assert(kwnames == NULL);
             assert(oparg == 0 || oparg == 1);
             int is_meth = method != NULL;
             Py_DECREF(self);
             Py_DECREF(callable);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4377 "Python/generated_cases.c.h"
+            #line 4384 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             PyObject **args = (stack_pointer - oparg);
             PyObject *method = stack_pointer[-(2 + oparg)];
             PyObject *res;
-            #line 3099 "Python/bytecodes.c"
+            #line 3106 "Python/bytecodes.c"
             assert(kwnames == NULL);
             int is_meth = method != NULL;
             int total_args = oparg;
             }
             Py_DECREF(callable);
             if (res == NULL) { STACK_SHRINK(oparg); goto pop_2_error; }
-            #line 4418 "Python/generated_cases.c.h"
+            #line 4425 "Python/generated_cases.c.h"
             STACK_SHRINK(oparg);
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
         }
 
         TARGET(INSTRUMENTED_CALL_FUNCTION_EX) {
-            #line 3130 "Python/bytecodes.c"
+            #line 3137 "Python/bytecodes.c"
             GO_TO_INSTRUCTION(CALL_FUNCTION_EX);
-            #line 4430 "Python/generated_cases.c.h"
+            #line 4437 "Python/generated_cases.c.h"
         }
 
         TARGET(CALL_FUNCTION_EX) {
             PyObject *callargs = stack_pointer[-(1 + ((oparg & 1) ? 1 : 0))];
             PyObject *func = stack_pointer[-(2 + ((oparg & 1) ? 1 : 0))];
             PyObject *result;
-            #line 3134 "Python/bytecodes.c"
+            #line 3141 "Python/bytecodes.c"
             // DICT_MERGE is called before this opcode if there are kwargs.
             // It converts all dict subtypes in kwargs into regular dicts.
             assert(kwargs == NULL || PyDict_CheckExact(kwargs));
                 }
                 result = PyObject_Call(func, callargs, kwargs);
             }
-            #line 4501 "Python/generated_cases.c.h"
+            #line 4508 "Python/generated_cases.c.h"
             Py_DECREF(func);
             Py_DECREF(callargs);
             Py_XDECREF(kwargs);
-            #line 3196 "Python/bytecodes.c"
+            #line 3203 "Python/bytecodes.c"
             assert(PEEK(3 + (oparg & 1)) == NULL);
             if (result == NULL) { STACK_SHRINK(((oparg & 1) ? 1 : 0)); goto pop_3_error; }
-            #line 4508 "Python/generated_cases.c.h"
+            #line 4515 "Python/generated_cases.c.h"
             STACK_SHRINK(((oparg & 1) ? 1 : 0));
             STACK_SHRINK(2);
             stack_pointer[-1] = result;
             PyObject *kwdefaults = (oparg & 0x02) ? stack_pointer[-(1 + ((oparg & 0x08) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0))] : NULL;
             PyObject *defaults = (oparg & 0x01) ? stack_pointer[-(1 + ((oparg & 0x08) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0) + ((oparg & 0x01) ? 1 : 0))] : NULL;
             PyObject *func;
-            #line 3206 "Python/bytecodes.c"
+            #line 3213 "Python/bytecodes.c"
 
             PyFunctionObject *func_obj = (PyFunctionObject *)
                 PyFunction_New(codeobj, GLOBALS());
 
             func_obj->func_version = ((PyCodeObject *)codeobj)->co_version;
             func = (PyObject *)func_obj;
-            #line 4552 "Python/generated_cases.c.h"
+            #line 4559 "Python/generated_cases.c.h"
             STACK_SHRINK(((oparg & 0x01) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x08) ? 1 : 0));
             stack_pointer[-1] = func;
             DISPATCH();
         }
 
         TARGET(RETURN_GENERATOR) {
-            #line 3237 "Python/bytecodes.c"
+            #line 3244 "Python/bytecodes.c"
             assert(PyFunction_Check(frame->f_funcobj));
             PyFunctionObject *func = (PyFunctionObject *)frame->f_funcobj;
             PyGenObject *gen = (PyGenObject *)_Py_MakeCoro(func);
             frame = cframe.current_frame = prev;
             _PyFrame_StackPush(frame, (PyObject *)gen);
             goto resume_frame;
-            #line 4580 "Python/generated_cases.c.h"
+            #line 4587 "Python/generated_cases.c.h"
         }
 
         TARGET(BUILD_SLICE) {
             PyObject *stop = stack_pointer[-(1 + ((oparg == 3) ? 1 : 0))];
             PyObject *start = stack_pointer[-(2 + ((oparg == 3) ? 1 : 0))];
             PyObject *slice;
-            #line 3260 "Python/bytecodes.c"
+            #line 3267 "Python/bytecodes.c"
             slice = PySlice_New(start, stop, step);
-            #line 4590 "Python/generated_cases.c.h"
+            #line 4597 "Python/generated_cases.c.h"
             Py_DECREF(start);
             Py_DECREF(stop);
             Py_XDECREF(step);
-            #line 3262 "Python/bytecodes.c"
+            #line 3269 "Python/bytecodes.c"
             if (slice == NULL) { STACK_SHRINK(((oparg == 3) ? 1 : 0)); goto pop_2_error; }
-            #line 4596 "Python/generated_cases.c.h"
+            #line 4603 "Python/generated_cases.c.h"
             STACK_SHRINK(((oparg == 3) ? 1 : 0));
             STACK_SHRINK(1);
             stack_pointer[-1] = slice;
             PyObject *fmt_spec = ((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? stack_pointer[-((((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0))] : NULL;
             PyObject *value = stack_pointer[-(1 + (((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0))];
             PyObject *result;
-            #line 3266 "Python/bytecodes.c"
+            #line 3273 "Python/bytecodes.c"
             /* Handles f-string value formatting. */
             PyObject *(*conv_fn)(PyObject *);
             int which_conversion = oparg & FVC_MASK;
             Py_DECREF(value);
             Py_XDECREF(fmt_spec);
             if (result == NULL) { STACK_SHRINK((((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0)); goto pop_1_error; }
-            #line 4642 "Python/generated_cases.c.h"
+            #line 4649 "Python/generated_cases.c.h"
             STACK_SHRINK((((oparg & FVS_MASK) == FVS_HAVE_SPEC) ? 1 : 0));
             stack_pointer[-1] = result;
             DISPATCH();
         TARGET(COPY) {
             PyObject *bottom = stack_pointer[-(1 + (oparg-1))];
             PyObject *top;
-            #line 3303 "Python/bytecodes.c"
+            #line 3310 "Python/bytecodes.c"
             assert(oparg > 0);
             top = Py_NewRef(bottom);
-            #line 4654 "Python/generated_cases.c.h"
+            #line 4661 "Python/generated_cases.c.h"
             STACK_GROW(1);
             stack_pointer[-1] = top;
             DISPATCH();
             PyObject *rhs = stack_pointer[-1];
             PyObject *lhs = stack_pointer[-2];
             PyObject *res;
-            #line 3308 "Python/bytecodes.c"
+            #line 3315 "Python/bytecodes.c"
             #if ENABLE_SPECIALIZATION
             _PyBinaryOpCache *cache = (_PyBinaryOpCache *)next_instr;
             if (ADAPTIVE_COUNTER_IS_ZERO(cache->counter)) {
             assert((unsigned)oparg < Py_ARRAY_LENGTH(binary_ops));
             assert(binary_ops[oparg]);
             res = binary_ops[oparg](lhs, rhs);
-            #line 4681 "Python/generated_cases.c.h"
+            #line 4688 "Python/generated_cases.c.h"
             Py_DECREF(lhs);
             Py_DECREF(rhs);
-            #line 3323 "Python/bytecodes.c"
+            #line 3330 "Python/bytecodes.c"
             if (res == NULL) goto pop_2_error;
-            #line 4686 "Python/generated_cases.c.h"
+            #line 4693 "Python/generated_cases.c.h"
             STACK_SHRINK(1);
             stack_pointer[-1] = res;
             next_instr += 1;
         TARGET(SWAP) {
             PyObject *top = stack_pointer[-1];
             PyObject *bottom = stack_pointer[-(2 + (oparg-2))];
-            #line 3328 "Python/bytecodes.c"
+            #line 3335 "Python/bytecodes.c"
             assert(oparg >= 2);
-            #line 4698 "Python/generated_cases.c.h"
+            #line 4705 "Python/generated_cases.c.h"
             stack_pointer[-1] = bottom;
             stack_pointer[-(2 + (oparg-2))] = top;
             DISPATCH();
         }
 
         TARGET(INSTRUMENTED_INSTRUCTION) {
-            #line 3332 "Python/bytecodes.c"
+            #line 3339 "Python/bytecodes.c"
             int next_opcode = _Py_call_instrumentation_instruction(
                 tstate, frame, next_instr-1);
             if (next_opcode < 0) goto error;
             assert(next_opcode > 0 && next_opcode < 256);
             opcode = next_opcode;
             DISPATCH_GOTO();
-            #line 4717 "Python/generated_cases.c.h"
+            #line 4724 "Python/generated_cases.c.h"
         }
 
         TARGET(INSTRUMENTED_JUMP_FORWARD) {
-            #line 3346 "Python/bytecodes.c"
+            #line 3353 "Python/bytecodes.c"
             INSTRUMENTED_JUMP(next_instr-1, next_instr+oparg, PY_MONITORING_EVENT_JUMP);
-            #line 4723 "Python/generated_cases.c.h"
+            #line 4730 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(INSTRUMENTED_JUMP_BACKWARD) {
-            #line 3350 "Python/bytecodes.c"
+            #line 3357 "Python/bytecodes.c"
             INSTRUMENTED_JUMP(next_instr-1, next_instr-oparg, PY_MONITORING_EVENT_JUMP);
-            #line 4730 "Python/generated_cases.c.h"
+            #line 4737 "Python/generated_cases.c.h"
             CHECK_EVAL_BREAKER();
             DISPATCH();
         }
 
         TARGET(INSTRUMENTED_POP_JUMP_IF_TRUE) {
-            #line 3355 "Python/bytecodes.c"
+            #line 3362 "Python/bytecodes.c"
             PyObject *cond = POP();
             int err = PyObject_IsTrue(cond);
             Py_DECREF(cond);
             assert(err == 0 || err == 1);
             int offset = err*oparg;
             INSTRUMENTED_JUMP(here, next_instr + offset, PY_MONITORING_EVENT_BRANCH);
-            #line 4745 "Python/generated_cases.c.h"
+            #line 4752 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(INSTRUMENTED_POP_JUMP_IF_FALSE) {
-            #line 3366 "Python/bytecodes.c"
+            #line 3373 "Python/bytecodes.c"
             PyObject *cond = POP();
             int err = PyObject_IsTrue(cond);
             Py_DECREF(cond);
             assert(err == 0 || err == 1);
             int offset = (1-err)*oparg;
             INSTRUMENTED_JUMP(here, next_instr + offset, PY_MONITORING_EVENT_BRANCH);
-            #line 4759 "Python/generated_cases.c.h"
+            #line 4766 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(INSTRUMENTED_POP_JUMP_IF_NONE) {
-            #line 3377 "Python/bytecodes.c"
+            #line 3384 "Python/bytecodes.c"
             PyObject *value = POP();
             _Py_CODEUNIT *here = next_instr-1;
             int offset;
                 offset = 0;
             }
             INSTRUMENTED_JUMP(here, next_instr + offset, PY_MONITORING_EVENT_BRANCH);
-            #line 4776 "Python/generated_cases.c.h"
+            #line 4783 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(INSTRUMENTED_POP_JUMP_IF_NOT_NONE) {
-            #line 3391 "Python/bytecodes.c"
+            #line 3398 "Python/bytecodes.c"
             PyObject *value = POP();
             _Py_CODEUNIT *here = next_instr-1;
             int offset;
                  offset = oparg;
             }
             INSTRUMENTED_JUMP(here, next_instr + offset, PY_MONITORING_EVENT_BRANCH);
-            #line 4793 "Python/generated_cases.c.h"
+            #line 4800 "Python/generated_cases.c.h"
             DISPATCH();
         }
 
         TARGET(EXTENDED_ARG) {
-            #line 3405 "Python/bytecodes.c"
+            #line 3412 "Python/bytecodes.c"
             assert(oparg);
             opcode = next_instr->op.code;
             oparg = oparg << 8 | next_instr->op.arg;
             PRE_DISPATCH_GOTO();
             DISPATCH_GOTO();
-            #line 4804 "Python/generated_cases.c.h"
+            #line 4811 "Python/generated_cases.c.h"
         }
 
         TARGET(CACHE) {
-            #line 3413 "Python/bytecodes.c"
+            #line 3420 "Python/bytecodes.c"
             assert(0 && "Executing a cache.");
             Py_UNREACHABLE();
-            #line 4811 "Python/generated_cases.c.h"
+            #line 4818 "Python/generated_cases.c.h"
         }
 
         TARGET(RESERVED) {
-            #line 3418 "Python/bytecodes.c"
+            #line 3425 "Python/bytecodes.c"
             assert(0 && "Executing RESERVED instruction.");
             Py_UNREACHABLE();
-            #line 4818 "Python/generated_cases.c.h"
+            #line 4825 "Python/generated_cases.c.h"
         }
index 2fd3344b555a9316b35b97368e264f664a734b9d..37933ffbd89b5958d22a12a6ed122e99ba29f093 100644 (file)
@@ -2037,6 +2037,7 @@ static const char *const event_names [] = {
     [PY_MONITORING_EVENT_C_RETURN] = "C_RETURN",
     [PY_MONITORING_EVENT_PY_THROW] = "PY_THROW",
     [PY_MONITORING_EVENT_RAISE] = "RAISE",
+    [PY_MONITORING_EVENT_RERAISE] = "RERAISE",
     [PY_MONITORING_EVENT_EXCEPTION_HANDLED] = "EXCEPTION_HANDLED",
     [PY_MONITORING_EVENT_C_RAISE] = "C_RAISE",
     [PY_MONITORING_EVENT_PY_UNWIND] = "PY_UNWIND",